 Chromium Code Reviews
 Chromium Code Reviews Issue 211393006:
  Enables codegen support in polymer  (Closed) 
  Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
    
  
    Issue 211393006:
  Enables codegen support in polymer  (Closed) 
  Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart| Index: pkg/polymer/lib/deploy.dart | 
| diff --git a/pkg/polymer/lib/deploy.dart b/pkg/polymer/lib/deploy.dart | 
| index 8e5f724d10e8204eca85042c7b324d6d759c4dd0..882418c4305b1a1b71093d1e6e0e2a64530300c5 100644 | 
| --- a/pkg/polymer/lib/deploy.dart | 
| +++ b/pkg/polymer/lib/deploy.dart | 
| @@ -27,6 +27,7 @@ import 'package:path/path.dart' as path; | 
| import 'src/build/common.dart' show TransformOptions, phasesForPolymer; | 
| import 'src/build/runner.dart'; | 
| import 'transformer.dart'; | 
| 
Jennifer Messerly
2014/03/27 02:20:32
move up by other package: imports?
 
Siggi Cherem (dart-lang)
2014/03/28 01:04:26
Done.
 | 
| +import 'package:code_transformers/tests.dart' show testingDartSdkDirectory; | 
| main(List<String> arguments) { | 
| var args = _parseArgs(arguments); | 
| @@ -60,8 +61,6 @@ main(List<String> arguments) { | 
| .catchError(_reportErrorAndExit); | 
| } | 
| -createDeployPhases(options) => new PolymerTransformerGroup(options).phases; | 
| - | 
| BarbackOptions _createTestOptions(String testFile, String outDir, | 
| 
Jennifer Messerly
2014/03/27 02:20:32
off topic, but I wonder how long until we can use
 
Siggi Cherem (dart-lang)
2014/03/28 01:04:26
not clear yet. There is still a lot of work to be
 | 
| bool directlyIncludeJS, bool contentSecurityPolicy, bool releaseMode) { | 
| @@ -78,8 +77,8 @@ BarbackOptions _createTestOptions(String testFile, String outDir, | 
| } | 
| var packageName = readCurrentPackageFromPubspec(pubspecDir); | 
| - // Find the dart-root so we can include both polymer and smoke as additional | 
| - // packages whose transformers we need to run. | 
| + // Find the dart-root so we can include all package dependencies and | 
| + // transformers from other packages. | 
| var pkgDir = path.join(_findDirWithDir(path.absolute(testDir), 'pkg'), 'pkg'); | 
| var phases = createDeployPhases(new TransformOptions( | 
| @@ -87,17 +86,17 @@ BarbackOptions _createTestOptions(String testFile, String outDir, | 
| directlyIncludeJS: directlyIncludeJS, | 
| contentSecurityPolicy: contentSecurityPolicy, | 
| releaseMode: releaseMode, | 
| - lint: false)); | 
| + lint: false), sdkDir: testingDartSdkDirectory); | 
| + var dirs = {}; | 
| + // Note: we include all packages in pkg/ to keep things simple. Ideally this | 
| + // should be restricted to the transitive dependencies of this package. | 
| + _subDirs(pkgDir).forEach((p) { dirs[path.basename(p)] = p; }); | 
| + // Note: packageName may be a duplicate of 'polymer', but that's ok (they | 
| + // should be the same value). | 
| + dirs[packageName]= pubspecDir; | 
| return new BarbackOptions(phases, outDir, | 
| currentPackage: packageName, | 
| - packageDirs: { | 
| - 'polymer': path.join(pkgDir, 'polymer'), | 
| - 'smoke': path.join(pkgDir, 'smoke'), | 
| - // packageName may be a duplicate of 'polymer', but that's ok, the | 
| - // following will be the value used in the map (they should also be the | 
| - // same value). | 
| - packageName: pubspecDir, | 
| - }, | 
| + packageDirs: dirs, | 
| // TODO(sigmund): include here also smoke transformer when it's on by | 
| // default. | 
| packagePhases: {'polymer': phasesForPolymer}, | 
| @@ -124,6 +123,11 @@ String _findDirWithDir(String dir, String subdir) { | 
| return dir; | 
| } | 
| +List<String> _subDirs(String dir) => | 
| + new Directory(dir).listSync(recursive: false, followLinks: false) | 
| 
Jennifer Messerly
2014/03/27 02:20:32
fyi -- recursive: false is the default:
https://ap
 
Siggi Cherem (dart-lang)
2014/03/28 01:04:26
thx, done
 | 
| + .where((d) => d is Directory).map((d) => d.path).toList(); | 
| + | 
| + | 
| void _reportErrorAndExit(e, trace) { | 
| print('Uncaught error: $e'); | 
| if (trace != null) print(trace); |