public static object GetTargets(IParameters parameters) { var machineName = parameters.Required <string>("machineName"); var remoteOne = new PrintTask(Output) { Description = machineName }; var two = new PrintTask(Output) { Description = parameters.Required <string>("two") }; var remoteBounce = new RemoteBounce(); RemoteBounceArguments remoteOneArgs = remoteBounce.ArgumentsForTargets(new { RemoteOne = remoteOne }); Task <IEnumerable <string> > machines = new [] { "machine1", "machine2" }; var one = machines.SelectTasks(machine => new RemoteExec { BounceArguments = remoteOneArgs.WithParameter(machineName.WithValue(machine)), Machine = machine, }); return(remoteBounce.WithRemoteTargets(new { One = one, Two = two, })); }
public static object Targets(IParameters parameters) { var stage = parameters.Required <string>("stage"); var machine = parameters.Required <string>("machine"); var deployService = new Copy { FromPath = "service", ToPath = machine.WhenBuilt(m => String.Format(@"c:\deployments\install\{0}\service", m)), }; var deployWeb = new Copy { FromPath = "web", ToPath = machine.WhenBuilt(m => String.Format(@"c:\deployments\install\{0}\web", m)), }; var remoteMachineOne = GetRemoteMachine(stage, machine, "one"); var remoteMachineTwo = GetRemoteMachine(stage, machine, "two"); Task <IEnumerable <RemoteMachine> > serviceMachines = new[] { remoteMachineOne, remoteMachineTwo }; Task <IEnumerable <RemoteMachine> > webMachines = new[] { remoteMachineTwo }; var deployArchive = new StagedDeployArchive(stage, "archive"); var service = deployArchive.Add("service", "service", deployService).WithRemoteDeploy(serviceMachines.SelectTasks(m => m.DeployTargets("Service"))); var web = deployArchive.Add("web", "web", deployWeb).WithRemoteDeploy(webMachines.SelectTasks(m => m.DeployTargets("Web"))); return(new { Service = service, Web = web, }); }
public static object GetTargets(IParameters parameters) { var remoteOne = new PrintTask(Output) { Description = parameters.Required <string>("hack") }; var two = new PrintTask(Output) { Description = parameters.Required <string>("two") }; var remoteBounce = new RemoteBounce(); RemoteBounceArguments remoteOneArgs = remoteBounce.ArgumentsForTargets(new { RemoteOne = remoteOne }); var one = new RemoteExec { BounceArguments = remoteOneArgs, Machine = parameters.Required <string>("machine"), }; return(remoteBounce.WithRemoteTargets(new { One = one, Two = two, })); }
public static object Targets(IParameters parameters) { var stage = parameters.Required<string>("stage"); var machine = parameters.Required<string>("machine"); var deployService = new Copy { FromPath = "service", ToPath = machine.WhenBuilt(m => String.Format(@"c:\deployments\install\{0}\service", m)), }; var deployWeb = new Copy { FromPath = "web", ToPath = machine.WhenBuilt(m => String.Format(@"c:\deployments\install\{0}\web", m)), }; var remoteMachineOne = GetRemoteMachine(stage, machine, "one"); var remoteMachineTwo = GetRemoteMachine(stage, machine, "two"); Task<IEnumerable<RemoteMachine>> serviceMachines = new[] {remoteMachineOne, remoteMachineTwo}; Task<IEnumerable<RemoteMachine>> webMachines = new[] {remoteMachineTwo}; var deployArchive = new StagedDeployArchive(stage, "archive"); var service = deployArchive.Add("service", "service", deployService).WithRemoteDeploy(serviceMachines.SelectTasks(m => m.DeployTargets("Service"))); var web = deployArchive.Add("web", "web", deployWeb).WithRemoteDeploy(webMachines.SelectTasks(m => m.DeployTargets("Web"))); return new { Service = service, Web = web, }; }
public static object RealTargets(IParameters buildParameters) { var version = buildParameters.Required<string>("version"); var git = new GitCheckout { Repository = "git://github.com/refractalize/bounce.git", Directory = "tmp2", }; var solution = new VisualStudioSolution { SolutionPath = "Bounce.sln", }; var frameworkProject = solution.Projects["Bounce.Framework"]; var downloadsDir = new CleanDirectory { Path = "Downloads", }; var frameworkZip = new ZipFile { Directory = frameworkProject.WhenBuilt(() => Path.GetDirectoryName(frameworkProject.OutputFile.Value)), ZipFileName = downloadsDir.Files[version.WhenBuilt(() => string.Format("Bounce.Framework.{0}.zip", version.Value))], }; var downloads = new All(frameworkZip, new GitTag {Directory = ".", Tag = version.WhenBuilt(() => "v" + version.Value)}); return new { Tests = new NUnitTests { DllPaths = solution.Projects.Select(p => p.OutputFile), }, Downloads = downloads, }; }
public static object GetTargets(IParameters parameters) { var sol = new VisualStudioSolution { SolutionPath = "stuff.sln" }; var env = parameters.Required <string>("env").Switch( "test", Print(sol.Projects["cats"].OutputFile), "stage", Print("this is test"), "live", Print("this is test")); var one = new PrintTask(Output) { Description = "*------------*one" }; var two = new PrintTask(Output) { Description = "*------------*two" }; return(new { One = one, Two = two, Three = env, }); }
public static object GetTargets(IParameters parameters) { var one = new PrintTask(Output) { Description = parameters.Required <string>("one") }; var two = new PrintTask(Output) { Description = parameters.Required <string>("two") }; return(new { One = one, Two = two, }); }
public static object GetTargets(IParameters parameters) { var one = new FakeTask {Dependencies = new [] {new TaskDependency (parameters.Required<int>("port"))}}; var two = new FakeTask {Dependencies = new [] {new TaskDependency (parameters.Default("name", "Some Web Site"))}}; return new { One = one, Two = two, }; }
public static object GetTargets(IParameters parameters) { var machineName = parameters.Required<string>("machineName"); var remoteOne = new PrintTask(Output) {Description = machineName}; var two = new PrintTask(Output) {Description = parameters.Required<string>("two")}; var remoteBounce = new RemoteBounce(); RemoteBounceArguments remoteOneArgs = remoteBounce.ArgumentsForTargets(new { RemoteOne = remoteOne }); Task<IEnumerable<string>> machines = new [] {"machine1", "machine2"}; var one = machines.SelectTasks(machine => new RemoteExec { BounceArguments = remoteOneArgs.WithParameter(machineName.WithValue(machine)), Machine = machine, }); return remoteBounce.WithRemoteTargets(new { One = one, Two = two, }); }
public static object GetTargets(IParameters parameters) { var one = new FakeTask { Dependencies = new [] { new TaskDependency(parameters.Required <int>("port")) } }; var two = new FakeTask { Dependencies = new [] { new TaskDependency(parameters.Default("name", "Some Web Site")) } }; return(new { One = one, Two = two, }); }
public static object RealTargets(IParameters buildParameters) { var version = buildParameters.Required <string>("version"); var git = new GitCheckout { Repository = "git://github.com/refractalize/bounce.git", Directory = "tmp2", }; var asmInfoWithVersion = new RewriteFile { FilePath = "SolutionAssemblyInfo.cs", Rewriter = RewriteVersion(version), }; var solution = new VisualStudioSolution { SolutionPath = "Bounce.sln", DependsOn = new [] { asmInfoWithVersion } }; var frameworkProject = solution.Projects["Bounce.Framework"]; var downloadsDir = new CleanDirectory { Path = "Downloads", }; var frameworkZip = new ZipFile { Directory = frameworkProject.WhenBuilt(() => Path.GetDirectoryName(frameworkProject.OutputFile.Value)), ZipFileName = downloadsDir.Files[version.WhenBuilt(() => string.Format("Bounce.Framework.{0}.zip", version.Value))], }; var gitTag = new GitTag { Directory = ".", Tag = version.WhenBuilt(() => "v" + version.Value) }; var downloads = new All(frameworkZip, gitTag); return(new { Tests = new NUnitTests { DllPaths = solution.Projects.Select(p => p.OutputFile), }, Downloads = downloads, RewriteAsmInfo = asmInfoWithVersion, }); }
public static object GetTargets(IParameters parameters) { var one = new PrintTask(Output) { Description = parameters.Required<string>("one") }; var two = new PrintTask(Output) { Description = parameters.Required<string>("two") }; return new { One = one, Two = two, }; }
public static object GetTargets(IParameters parameters) { var remoteOne = new PrintTask(Output) {Description = parameters.Required<string>("hack")}; var two = new PrintTask(Output) {Description = parameters.Required<string>("two")}; var remoteBounce = new RemoteBounce(); RemoteBounceArguments remoteOneArgs = remoteBounce.ArgumentsForTargets(new { RemoteOne = remoteOne }); var one = new RemoteExec { BounceArguments = remoteOneArgs, Machine = parameters.Required<string>("machine"), }; return remoteBounce.WithRemoteTargets(new { One = one, Two = two, }); }