// TODO -- want an end to end test on this mess public virtual void CreateBundle(string destination, DeploymentPlan plan) { var destinationSettings = createDestination(destination); var copier = new DeploymentFileCopier(_system, _settings, destinationSettings); copyFiles(copier, plan); // Need to explode the bottles zip too ExplodeDeployerBottles(destination); _system.DeleteDirectory(_settings.StagingDirectory); }
private static void copyFiles(DeploymentFileCopier copier, DeploymentPlan plan) { LogWriter.Current.Indent(() => { copier.CopyFile(x => x.EnvironmentFile); copier.CopyFile(x => x.ProfileFileNameFor(plan.ProfileName)); plan.Settings.Profile.ProfileDependencyNames.Each(dep => copier.CopyFile(x=> x.ProfileFileNameFor(dep))); plan.BottleNames().Each(name => copier.CopyFile(x => x.BottleFileFor(name))); plan.Recipes.Each(r => copier.CopyFile(x => x.GetRecipeDirectory(r.Name))); }); }