diff --git a/lib/bld/bld-wrapper.jar b/lib/bld/bld-wrapper.jar index ef31ff4..ffdaf71 100644 Binary files a/lib/bld/bld-wrapper.jar and b/lib/bld/bld-wrapper.jar differ diff --git a/lib/bld/bld-wrapper.properties b/lib/bld/bld-wrapper.properties index b07a9cc..cab667f 100644 --- a/lib/bld/bld-wrapper.properties +++ b/lib/bld/bld-wrapper.properties @@ -1,8 +1,8 @@ bld.downloadExtensionJavadoc=false bld.downloadExtensionSources=true -bld.downloadLocation= +bld.extension-pmd=com.uwyn.rife2:bld-pmd:0.9.9 bld.extension-jacoco=com.uwyn.rife2:bld-jacoco-report:0.9.5 -bld.extension-pmd=com.uwyn.rife2:bld-pmd:1.0.1 bld.repositories=MAVEN_CENTRAL,MAVEN_LOCAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES +bld.downloadLocation= bld.sourceDirectories= bld.version=1.9.1 diff --git a/src/bld/java/rife/bld/extension/ExecOperationBuild.java b/src/bld/java/rife/bld/extension/ExecOperationBuild.java index d141cb7..46e4875 100644 --- a/src/bld/java/rife/bld/extension/ExecOperationBuild.java +++ b/src/bld/java/rife/bld/extension/ExecOperationBuild.java @@ -48,7 +48,7 @@ public class ExecOperationBuild extends Project { scope(test) .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 10, 2))) .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 10, 2))) - .include(dependency("org.assertj", "assertj-core", version(3, 26, 0))); + .include(dependency("org.assertj", "assertj-core", version(3, 25, 3))); javadocOperation() .javadocOptions() diff --git a/src/main/java/rife/bld/extension/ExecOperation.java b/src/main/java/rife/bld/extension/ExecOperation.java index aa035c5..af192d0 100644 --- a/src/main/java/rife/bld/extension/ExecOperation.java +++ b/src/main/java/rife/bld/extension/ExecOperation.java @@ -37,7 +37,7 @@ import java.util.logging.Logger; */ public class ExecOperation extends AbstractOperation { private static final Logger LOGGER = Logger.getLogger(ExecOperation.class.getName()); - private final Collection args_ = new ArrayList<>(); + private final List args_ = new ArrayList<>(); private boolean failOnExit_ = true; private BaseProject project_; private int timeout_ = 30; @@ -61,16 +61,6 @@ public class ExecOperation extends AbstractOperation { return this; } - /** - * Returns the command and arguments to be executed. - * - * @return the command and arguments - */ - public Collection command() { - return args_; - } - - /** * Configures the command and arguments to be executed. * @@ -102,7 +92,7 @@ public class ExecOperation extends AbstractOperation { if (workDir.isDirectory()) { var pb = new ProcessBuilder(); pb.inheritIO(); - pb.command(args_.stream().toList()); + pb.command(args_); pb.directory(workDir); if (LOGGER.isLoggable(Level.INFO)) { @@ -147,15 +137,6 @@ public class ExecOperation extends AbstractOperation { return this; } - /** - * Returns whether the operation should fail if the command exit value/status is not 0. - * - * @return {@code true} or {@code false} - */ - public boolean isFailOnExit() { - return failOnExit_; - } - /** * Configure the command timeout. * @@ -167,15 +148,6 @@ public class ExecOperation extends AbstractOperation { return this; } - /** - * Returns the command timeout. - * - * @return the timeout - */ - public int timeout() { - return timeout_; - } - /** * Configures the working directory. * @@ -196,13 +168,4 @@ public class ExecOperation extends AbstractOperation { public ExecOperation workDir(String dir) { return workDir(new File(dir)); } - - /** - * Returns the working directory. - * - * @return the directory - */ - public File workDir() { - return workDir_; - } } diff --git a/src/test/java/rife/bld/extension/ExecOperationTest.java b/src/test/java/rife/bld/extension/ExecOperationTest.java index ee1c06e..d070e15 100644 --- a/src/test/java/rife/bld/extension/ExecOperationTest.java +++ b/src/test/java/rife/bld/extension/ExecOperationTest.java @@ -19,7 +19,6 @@ package rife.bld.extension; import org.junit.jupiter.api.Test; import rife.bld.BaseProject; import rife.bld.Project; -import rife.bld.WebProject; import java.io.File; import java.util.List; @@ -32,10 +31,16 @@ class ExecOperationTest { private static final String FOO = "foo"; @Test - void testCommand() { - var op = new ExecOperation().fromProject(new WebProject()) - .command(FOO, "bar"); - assertThat(op.command()).isEqualTo(List.of(FOO, "bar")); + void testCat() throws Exception { + var tmpFile = new File("hello.tmp"); + tmpFile.deleteOnExit(); + new ExecOperation() + .fromProject(new Project()) + .timeout(10) + .command("touch", tmpFile.getName()) + .execute(); + + assertThat(tmpFile).exists(); } @Test @@ -58,49 +63,32 @@ class ExecOperationTest { @Test void testFailOnExit() { - var op = new ExecOperation() - .fromProject(new BaseProject()) - .command(List.of("cat", FOO)) - .failOnExit(false); - assertThat(op.isFailOnExit()).isFalse(); - assertThatCode(op::execute).doesNotThrowAnyException(); - - op.failOnExit(true); - assertThat(op.isFailOnExit()).isTrue(); + assertThatCode(() -> + new ExecOperation() + .fromProject(new BaseProject()) + .command(List.of("cat", FOO)) + .failOnExit(false) + .execute()).doesNotThrowAnyException(); } @Test void testTimeout() { - var op = new ExecOperation() - .fromProject(new BaseProject()) - .timeout(5) - .command(List.of("sleep", "10")); - assertThat(op.timeout()).isEqualTo(5); - assertThatCode(op::execute).message().contains("timed out"); - } - - @Test - void testTouch() throws Exception { - var tmpFile = new File("hello.tmp"); - tmpFile.deleteOnExit(); - new ExecOperation() - .fromProject(new Project()) - .timeout(10) - .command("touch", tmpFile.getName()) - .execute(); - - assertThat(tmpFile).exists(); + assertThatCode(() -> + new ExecOperation() + .fromProject(new BaseProject()) + .timeout(5) + .command(List.of("sleep", "10")) + .execute()).message().contains("timed out"); } @Test void testWorkDir() { - var workDir = new File(System.getProperty("java.io.tmpdir")); - var op = new ExecOperation() - .fromProject(new BaseProject()) - .command("echo", FOO) - .workDir(workDir); - assertThat(op.workDir()).isEqualTo(workDir); - assertThatCode(op::execute).doesNotThrowAnyException(); + assertThatCode(() -> + new ExecOperation() + .fromProject(new BaseProject()) + .command("echo", FOO) + .workDir(new File(System.getProperty("java.io.tmpdir"))) + .execute()).doesNotThrowAnyException(); } @Test