public String getCommand() { return command(); }
public static void toJSON(OutputWriter jsonWriter, ExecTask execTask) { BaseTaskRepresenter.toJSON(jsonWriter, execTask); jsonWriter.add("command", execTask.command()); if (execTask.getArgList().isEmpty()) { jsonWriter.addIfNotNull("args", execTask.getArgs()); } else { List<String> arguments = execTask.getArgList().stream().map(Argument::getValue).collect(Collectors.toList()); jsonWriter.addChildList("arguments", arguments); } jsonWriter.addIfNotNull("working_directory", execTask.workingDirectory()); }
public static void toJSON(OutputWriter jsonWriter, ExecTask execTask) { BaseTaskRepresenter.toJSON(jsonWriter, execTask); jsonWriter.add("command", execTask.command()); if (execTask.getArgList().isEmpty()) { jsonWriter.addIfNotNull("args", execTask.getArgs()); } else { List<String> arguments = execTask.getArgList().stream().map(Argument::getValue).collect(Collectors.toList()); jsonWriter.addChildList("arguments", arguments); } jsonWriter.addIfNotNull("working_directory", execTask.workingDirectory()); }
@Test public void shouldReturnCommandTaskAttributes(){ ExecTask task = new ExecTask("ls", "-laht", "src/build"); assertThat(task.command(),is("ls")); assertThat(task.arguments(), is("-laht")); assertThat(task.workingDirectory(), is("src/build")); }
@Override public Builder createBuilder(BuilderFactory builderFactory, ExecTask task, Pipeline pipeline, UpstreamPipelineResolver pipelineResolver) { String workingDir = task.workingDirectory(); String command = task.command(); File newWorkingDir = workingDir == null ? pipeline.defaultWorkingFolder() : new File( applyBaseDirIfRelativeAndNormalize(pipeline.defaultWorkingFolder(), new File(workingDir))); Builder builder = builderFactory.builderFor(task.cancelTask(), pipeline, pipelineResolver); String description = task.describe(); if (!task.getArgList().isEmpty()) { return new CommandBuilderWithArgList(command, task.getArgList().toStringArray(), newWorkingDir, task.getConditions(), builder, description); } else { return new CommandBuilder(command, task.getArgs(), newWorkingDir, task.getConditions(), builder, description); } } }
@Test public void shouldNullOutWorkingDirectoryIfGivenBlank() { ExecTask exec = new ExecTask("ls", "-la", "foo"); exec.setConfigAttributes(m(ExecTask.COMMAND, "", ExecTask.ARGS, "", ExecTask.WORKING_DIR, "")); assertThat(exec.command(), is("")); assertThat(exec.getArgs(), is("")); assertThat(exec.workingDirectory(), is(nullValue())); }
public static Builder builderFor(ExecTask task) { Builder cancelTask = null; if (task.cancelTask() != null) { cancelTask = builderFor((ExecTask) task.cancelTask()); } return new CommandBuilderWithArgList(task.command(), task.getArgList().toStringArray(), new File(task.workingDirectory()), task.getConditions(), cancelTask, task.describe()); }
@Test public void shouldNotSetAttributesWhenKeysNotPresentInAttributeMap() throws Exception { ExecTask exec = new ExecTask(); exec.setConfigAttributes(m(ExecTask.COMMAND, "ls", ExecTask.ARGS, "-la", ExecTask.WORKING_DIR, "my_dir")); exec.setConfigAttributes(m());//Key is not present assertThat(exec.command(), is("ls")); assertThat(exec.getArgs(), is("-la")); assertThat(exec.workingDirectory(), is("my_dir")); }
@Test public void shouldNotSetArgsIfTheValueIsBlank() throws Exception { ExecTask exec = new ExecTask(); exec.setConfigAttributes(m(ExecTask.COMMAND, "ls", ExecTask.ARGS, "", ExecTask.WORKING_DIR, "my_dir")); exec.setConfigAttributes(m()); assertThat(exec.command(), is("ls")); assertThat(exec.getArgList().size(), is(0)); assertThat(exec.workingDirectory(), is("my_dir")); }
@Test public void shouldAllowSettingOfConfigAttributes() throws Exception { ExecTask exec = new ExecTask(); exec.setConfigAttributes(m(ExecTask.COMMAND, "ls", ExecTask.ARGS, "-la", ExecTask.WORKING_DIR, "my_dir")); assertThat(exec.command(), is("ls")); assertThat(exec.getArgs(), is("-la")); assertThat(exec.getArgListString(), is("")); assertThat(exec.workingDirectory(), is("my_dir")); exec.setConfigAttributes(m(ExecTask.COMMAND, null, ExecTask.ARGS, null, ExecTask.WORKING_DIR, null)); assertThat(exec.command(), is(nullValue())); assertThat(exec.getArgs(), is("")); assertThat(exec.workingDirectory(), is(nullValue())); exec.setConfigAttributes(m(ExecTask.COMMAND, null, ExecTask.ARG_LIST_STRING, "-l\n-a\npavan's\\n working dir?", ExecTask.WORKING_DIR, null)); assertThat(exec.command(), is(nullValue())); assertThat(exec.getArgListString(), is("-l\n-a\npavan's\\n working dir?")); assertThat(exec.getArgList().size(), is(3)); assertThat(exec.getArgList().get(0), is(new Argument("-l"))); assertThat(exec.getArgList().get(1), is(new Argument("-a"))); assertThat(exec.getArgList().get(2), is(new Argument("pavan's\\n working dir?"))); assertThat(exec.workingDirectory(), is(nullValue())); }