public Task antTask() { if (isAntTask()) { return task; } return new AntTask(); }
public static void toJSON(OutputWriter jsonWriter, AntTask antTask) { BaseTaskRepresenter.toJSON(jsonWriter, antTask); jsonWriter.add("working_directory", antTask.workingDirectory()); jsonWriter.add("build_file", antTask.getBuildFile()); jsonWriter.add("target", antTask.getTarget()); }
@Override public Builder createBuilder(BuilderFactory builderFactory, AntTask task, Pipeline pipeline, UpstreamPipelineResolver resolver) { String newWorkingDir = FileUtil.join(pipeline.defaultWorkingFolder(), task.workingDirectory()); String argument = task.arguments(); Builder cancelBuilder = builderFactory.builderFor(task.cancelTask(), pipeline, resolver); return new CommandBuilder("ant", argument, new File(newWorkingDir), task.getConditions(), cancelBuilder, task.describe(), "BUILD FAILED"); } }
private AntTask antTask(final String buildFile, final String target, final String workingDir) { AntTask antTask = new AntTask(); antTask.setBuildFile(buildFile); antTask.setWorkingDirectory(workingDir); antTask.setTarget(target); return antTask; }
@Test public void shouldGiveArgumentsIncludingBuildfileAndTarget(){ AntTask task = new AntTask(); task.setBuildFile("build/build.xml"); task.setTarget("compile"); assertThat(task.arguments(), is("-f \"build/build.xml\" compile")); } }
@Test public void shouldNotSetTasksIfNoTasksGiven() throws Exception { config = new JobConfig(); AntTask task = new AntTask(); task.setTarget("hello"); config.addTask(task); config.setConfigAttributes(m()); AntTask taskAfterUpdate = (AntTask) config.getTasks().get(0); assertThat(taskAfterUpdate.getTarget(), is("hello")); assertThat(config.getTasks().size(), is(1)); config.setConfigAttributes(m(JobConfig.TASKS, null)); assertThat(config.getTasks().size(), is(0)); }
@Test public void antTaskShouldNormalizeBuildFile() throws Exception { AntTask task = new AntTask(); task.setBuildFile("pavan\\build.xml"); assertThat(task.arguments(), containsString("\"pavan/build.xml\"")); }
@Test public void shouldValidateTree(){ String pipelineName = "p1"; PipelineConfig pipelineConfig = GoConfigMother.configWithPipelines(pipelineName).pipelineConfigByName(new CaseInsensitiveString(pipelineName)); StageConfig stageConfig = pipelineConfig.getStages().get(0); JobConfig jobConfig = stageConfig.getJobs().get(0); AbstractTask execTask = new ExecTask("ls", "-la", "42"); AntTask antTask = new AntTask(); antTask.setWorkingDirectory("/abc"); execTask.setCancelTask(antTask); PipelineConfigSaveValidationContext context = PipelineConfigSaveValidationContext.forChain(true, "group", pipelineConfig, stageConfig, jobConfig); assertThat(execTask.validateTree(context), is(false)); assertThat(antTask.errors().isEmpty(), is(false)); assertThat(antTask.errors().get(AntTask.WORKING_DIRECTORY).size(), is(1)); assertThat(antTask.errors().get(AntTask.WORKING_DIRECTORY).contains("Task of job 'job' in stage 'stage' of pipeline 'p1' has path '/abc' which is outside the working directory."), is(true)); }
@Test public void shouldSetConfigAttributesForBuiltinTask() throws Exception { HashMap attributes = new HashMap(); attributes.put(Tasks.TASK_OPTIONS, "ant"); attributes.put("ant", antTaskAttribs("build.xml", "test", "foo")); TaskFactory taskFactory = mock(TaskFactory.class); AntTask antTask = new AntTask(); when(taskFactory.taskInstanceFor(antTask.getTaskType())).thenReturn(antTask); Tasks tasks = new Tasks(); Tasks spy = spy(tasks); spy.setConfigAttributes(attributes, taskFactory); assertThat(spy.size(), is(1)); assertThat(spy.get(0), is(antTask("build.xml", "test", "foo"))); }
public static CruiseConfig pipelineHavingJob(String pipelineName, String stageName, String jobPlanName, String filePath, String directoryPath) { CruiseConfig config = new BasicCruiseConfig(); config.server().setArtifactsDir("logs"); JobConfig job = new JobConfig(jobPlanName); String workingDir = new File("testdata/" + CruiseConfig.WORKING_BASE_DIR + stageName).getPath(); AntTask task = new AntTask(); task.setWorkingDirectory(workingDir); job.addTask(task); final BuildArtifactConfig artifactFile = new BuildArtifactConfig(); artifactFile.setSource(filePath); job.artifactConfigs().add(artifactFile); BuildArtifactConfig artifactDir = new BuildArtifactConfig(); artifactFile.setSource(directoryPath); job.artifactConfigs().add(artifactDir); PipelineConfig pipelineConfig = new PipelineConfig(new CaseInsensitiveString(pipelineName), new MaterialConfigs(new SvnMaterialConfig("file:///foo", null, null, false)), new StageConfig( new CaseInsensitiveString(stageName), new JobConfigs(job))); config.addPipeline(BasicPipelineConfigs.DEFAULT_GROUP, pipelineConfig); return config; }
@Test public void shouldReturnCommandAndWorkingDir(){ antTask.setWorkingDirectory("lib"); assertThat(antTask.command(),is("ant")); assertThat(antTask.workingDirectory(), is("lib")); }
@Test public void describeTest() throws Exception { antTask.setBuildFile("build.xml"); antTask.setTarget("test"); antTask.setWorkingDirectory("lib"); assertThat(antTask.describe(), is("ant -f \"build.xml\" test (workingDirectory: lib)")); }
@Test public void shouldSetBuildFileWhenAvailable() throws Exception { String target = "target"; String buildXml = "build.xml"; antTask.setBuildFile(buildXml); antTask.setTarget(target); assertThat(antTask.arguments(), is("-f \"" + buildXml + "\" " + target)); String distBuildXml = "build/dist.xml"; antTask.setBuildFile(distBuildXml); assertThat(antTask.arguments(), is("-f \"" + distBuildXml + "\" " + target)); }
@Test public void shouldLoadAntBuilder() throws Exception { CruiseConfig cruiseConfig = xmlLoader.loadConfigHolder(CONFIG_WITH_ANT_BUILDER).config; JobConfig plan = cruiseConfig.jobConfigByName("pipeline1", "mingle", "cardlist", true); assertThat(plan.tasks(), iterableWithSize(1)); AntTask builder = (AntTask) plan.tasks().first(); assertThat(builder.getTarget(), is("all")); final ArtifactConfigs cardListArtifacts = cruiseConfig.jobConfigByName("pipeline1", "mingle", "cardlist", true).artifactConfigs(); assertThat(cardListArtifacts.size(), is(1)); ArtifactConfig artifactConfigPlan = cardListArtifacts.get(0); assertThat(artifactConfigPlan.getArtifactType(), is(ArtifactType.test)); }
@Test public void shouldNotSetTargetOnBuilderWhenNotSet() throws Exception { assertThat(antTask.arguments(), is("")); }
private static void addTask(JobConfig jobConfig) { jobConfig.setVariables(EnvironmentVariablesConfigMother.environmentVariables()); AntTask task = new AntTask(); task.setBuildFile("build-file"); task.setTarget("target"); task.setWorkingDirectory("working-directory"); jobConfig.addTask(task); }
@Before public void setup() throws Exception { antTask = new AntTask(); }