anchor.diff:        dockerfile.cmd([]);
   
         final serverMain = p.join(
  -        serverProjectDeps.project.installDirectory.path, 'bin/server.dart');
  +          serverProjectDeps.project.installDirectory.path, 'bin/server.dart');
   
         dockerfile.workDir(serverFiles.workDir);
   
         dockerfile.entryPoint('/usr/bin/dart',
  -        args: concat([
  -          entryPointOptions,
  -          [pathHandler.targetPath(serverMain)]
  -        ]));
  +          args: concat([
  +            entryPointOptions,
  +            [pathHandler.targetPath(serverMain)]
  +          ]));
   
         final saveDirectory =
  -      outputDirectory != null ? outputDirectory : rootDirectory;
  +          outputDirectory != null ? outputDirectory : rootDirectory;
         await dockerfile.save(saveDirectory);
       }
   //      return executeTask('generate Dockerfile', () => foo()
  
positive.code:   DockerCommandsMultiProjectImpl(this._graph);
  
    @override
    Future generateDockerfile(
            String serverProjectName, String clientProjectName,
            {Directory outputDirectory,
            String dartVersion: 'latest',
            Map<String, dynamic> environment: const {},
            Iterable<int> exposePorts: const [],
            Iterable<String> entryPointOptions: const [],
            bool omitClientWhenPathDependencies: true,
            bool setupForPrivateGit: true,
            String targetRootPath: '/app'}) {
        Future foo(JefeProjectGraph graph, Directory rootDirectory) async {
        final serverProjectDeps = graph.forProject(serverProjectName);
        final clientProjectDeps = graph.forProject(clientProjectName);
  
        final dockerfile = new Dockerfile();
  
  
negative.code: 
  import 'package:dockerfile/dockerfile.dart';
  import 'package:jefe/src/git/git.dart';
  import 'package:jefe/src/project/docker_commands.dart';
  import 'package:jefe/src/project/jefe_project.dart';
  import 'package:jefe/src/project/project.dart';
  import 'package:logging/logging.dart';
  import 'package:path/path.dart' as p;
  import 'package:pubspec/pubspec.dart';
  import 'package:quiver/iterables.dart';
  
  Logger _log = new Logger('jefe.project.commands.docker.impl');
  
  abstract class DockerCommandsImpl implements DockerCommands {
    factory DockerCommandsImpl(JefeProjectGraph graph,
        {bool multiProject: true}) {
      // no distinction between multi and single project docker. Always operates
      // at one level
      return new _DockerCommandsMultiProjectImpl(graph);
  