1+ library chapter07.generator;
2+
3+ import 'dart:io' ;
4+ import 'package:di/generator.dart' as di_generator;
5+ import 'package:angular/tools/expression_extractor.dart' as ng_generator;
6+
7+ main () {
8+ var dartSdkPath = Platform .environment['DART_SDK' ];
9+ if (dartSdkPath == null || dartSdkPath.isEmpty) {
10+ throw 'export DART_SDK=/path/to/dart/sdk' ;
11+ }
12+ var entryPointDartFile = 'web/main.dart' ;
13+ var injectablesAnnotations = 'angular.core.NgComponent,'
14+ 'angular.core.NgController,'
15+ 'angular.core.NgDirective,'
16+ 'angular.core.NgFilter,'
17+ 'injectable.InjectableService,'
18+ 'angular.core.service.NgInjectableService' ;
19+ var diOutputFile = 'web/di_factories_gen.dart' ;
20+ var packageRoots = 'packages' ;
21+
22+ _runDiGenerator (dartSdkPath, entryPointDartFile, injectablesAnnotations,
23+ diOutputFile, packageRoots);
24+
25+ var htmlRoot = '.' ;
26+ var parserOutputFile = 'web/ng_parser_gen.dart' ;
27+ var parserHeaderFile = 'lib/parser_gen_header.dart' ;
28+ var parserFooterFile = '' ; // we don't need anything in the footer, for now.
29+
30+ _runNgGenerator (entryPointDartFile, htmlRoot, parserHeaderFile,
31+ parserFooterFile, parserOutputFile, packageRoots);
32+ }
33+
34+ _runDiGenerator (dartSdkPath, entryPointDartFile, injectablesAnnotations,
35+ outputFile, packageRoots) {
36+ di_generator.main ([
37+ dartSdkPath,
38+ entryPointDartFile,
39+ injectablesAnnotations,
40+ outputFile,
41+ packageRoots
42+ ]);
43+ }
44+
45+ _runNgGenerator (entryPointDartFile, htmlRoot, parserHeaderFile, parserFooterFile, parserOutputFile, packageRoots) {
46+ ng_generator.main ([
47+ entryPointDartFile,
48+ htmlRoot,
49+ parserHeaderFile,
50+ parserFooterFile,
51+ parserOutputFile,
52+ packageRoots
53+ ]);
54+ }
0 commit comments