| Index: pkg/polymer/lib/deploy.dart
 | 
| diff --git a/pkg/polymer/lib/deploy.dart b/pkg/polymer/lib/deploy.dart
 | 
| index c63e74524de13e647acc0adbc14cecb76d900fbc..7cc5dc1ff2e3bce76bb75f2642232094047d27e1 100644
 | 
| --- a/pkg/polymer/lib/deploy.dart
 | 
| +++ b/pkg/polymer/lib/deploy.dart
 | 
| @@ -45,6 +45,8 @@ main(List<String> arguments) {
 | 
|          releaseMode: !args['debug']);
 | 
|      var phases = createDeployPhases(transformOps);
 | 
|      options = new BarbackOptions(phases, outDir,
 | 
| +        // TODO(sigmund): include here also smoke transformer when it's on by
 | 
| +        // default.
 | 
|          packagePhases: {'polymer': phasesForPolymer});
 | 
|    } else {
 | 
|      options = _createTestOptions(
 | 
| @@ -77,6 +79,10 @@ 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.
 | 
| +  var pkgDir = path.join(_findDirWithDir(path.absolute(testDir), 'pkg'), 'pkg');
 | 
| +
 | 
|    var phases = createDeployPhases(new TransformOptions(
 | 
|        entryPoints: [path.relative(testFile, from: pubspecDir)],
 | 
|        directlyIncludeJS: directlyIncludeJS,
 | 
| @@ -84,7 +90,16 @@ BarbackOptions _createTestOptions(String testFile, String outDir,
 | 
|        releaseMode: releaseMode));
 | 
|    return new BarbackOptions(phases, outDir,
 | 
|        currentPackage: packageName,
 | 
| -      packageDirs: {packageName : pubspecDir},
 | 
| +      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,
 | 
| +      },
 | 
| +      // TODO(sigmund): include here also smoke transformer when it's on by
 | 
| +      // default.
 | 
|        packagePhases: {'polymer': phasesForPolymer},
 | 
|        transformTests: true);
 | 
|  }
 | 
| @@ -99,6 +114,16 @@ String _findDirWithFile(String dir, String filename) {
 | 
|    return dir;
 | 
|  }
 | 
|  
 | 
| +String _findDirWithDir(String dir, String subdir) {
 | 
| +  while (!new Directory(path.join(dir, subdir)).existsSync()) {
 | 
| +    var parentDir = path.dirname(dir);
 | 
| +    // If we reached root and failed to find it, bail.
 | 
| +    if (parentDir == dir) return null;
 | 
| +    dir = parentDir;
 | 
| +  }
 | 
| +  return dir;
 | 
| +}
 | 
| +
 | 
|  void _reportErrorAndExit(e, trace) {
 | 
|    print('Uncaught error: $e');
 | 
|    if (trace != null) print(trace);
 | 
| 
 |