diff --git a/.github/workflows/bld.yml b/.github/workflows/bld.yml
index f736169..c0ba763 100644
--- a/.github/workflows/bld.yml
+++ b/.github/workflows/bld.yml
@@ -12,12 +12,12 @@ jobs:
steps:
- name: Checkout source repository
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up JDK ${{ matrix.java-version }}
- uses: actions/setup-java@v3
+ uses: actions/setup-java@v4
with:
distribution: "zulu"
java-version: ${{ matrix.java-version }}
diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml
index 2120d4c..e191f6d 100644
--- a/.github/workflows/pages.yml
+++ b/.github/workflows/pages.yml
@@ -30,14 +30,14 @@ jobs:
steps:
- name: Checkout source repository
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up JDK 17
- uses: actions/setup-java@v3
+ uses: actions/setup-java@v4
with:
- distribution: 'zulu'
+ distribution: "zulu"
java-version: 17
- name: Build Javadocs
@@ -50,8 +50,8 @@ jobs:
uses: actions/upload-pages-artifact@v1
with:
# Upload generated Javadocs repository
- path: 'build/javadoc/'
+ path: "build/javadoc/"
- name: Deploy to GitHub Pages
id: deployment
- uses: actions/deploy-pages@v1
\ No newline at end of file
+ uses: actions/deploy-pages@v1
diff --git a/config/pmd.xml b/config/pmd.xml
index c60ff7e..3d3203c 100644
--- a/config/pmd.xml
+++ b/config/pmd.xml
@@ -19,12 +19,13 @@
+
-
+
@@ -34,8 +35,9 @@
-
+
+
@@ -51,8 +53,6 @@
-
-
@@ -106,4 +106,4 @@
-
\ No newline at end of file
+
diff --git a/lib/bld/bld-wrapper.properties b/lib/bld/bld-wrapper.properties
index bce2521..89f7a72 100644
--- a/lib/bld/bld-wrapper.properties
+++ b/lib/bld/bld-wrapper.properties
@@ -1,7 +1,7 @@
bld.downloadExtensionJavadoc=false
bld.downloadExtensionSources=true
-bld.extension-pmd=com.uwyn.rife2:bld-pmd:0.9.7
-bld.extension-jacoco=com.uwyn.rife2:bld-jacoco-report:0.9.3
+bld.extension-pmd=com.uwyn.rife2:bld-pmd:0.9.8
+bld.extension-jacoco=com.uwyn.rife2:bld-jacoco-report:0.9.5
bld.repositories=MAVEN_CENTRAL,MAVEN_LOCAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES
bld.downloadLocation=
bld.sourceDirectories=
diff --git a/src/bld/java/rife/bld/extension/ExecOperationBuild.java b/src/bld/java/rife/bld/extension/ExecOperationBuild.java
index e2d1cad..9d29282 100644
--- a/src/bld/java/rife/bld/extension/ExecOperationBuild.java
+++ b/src/bld/java/rife/bld/extension/ExecOperationBuild.java
@@ -35,13 +35,14 @@ public class ExecOperationBuild extends Project {
public ExecOperationBuild() {
pkg = "rife.bld.extension";
name = "ExecOperation";
- version = version(0, 9, 2);
+ version = version(0, 9, 3);
javaRelease = 17;
+
downloadSources = true;
autoDownloadPurge = true;
- repositories = List.of(MAVEN_CENTRAL, RIFE2_RELEASES);
+ repositories = List.of(MAVEN_CENTRAL, RIFE2_RELEASES);
scope(compile)
.include(dependency("com.uwyn.rife2", "bld", version(1, 9, 0)));
scope(test)
@@ -73,7 +74,7 @@ public class ExecOperationBuild extends Project {
.license(
new PublishLicense()
.name("The Apache License, Version 2.0")
- .url("http://www.apache.org/licenses/LICENSE-2.0.txt")
+ .url("https://www.apache.org/licenses/LICENSE-2.0.txt")
)
.scm(
new PublishScm()
diff --git a/src/main/java/rife/bld/extension/ExecOperation.java b/src/main/java/rife/bld/extension/ExecOperation.java
index 07743c3..56e9658 100644
--- a/src/main/java/rife/bld/extension/ExecOperation.java
+++ b/src/main/java/rife/bld/extension/ExecOperation.java
@@ -38,6 +38,7 @@ public class ExecOperation extends AbstractOperation {
private final List args_ = new ArrayList<>();
private final Set fail_ = new HashSet<>();
private BaseProject project_;
+ private int timeout = 30;
private String workDir_;
/**
@@ -98,7 +99,7 @@ public class ExecOperation extends AbstractOperation {
}
var proc = pb.start();
- var err = proc.waitFor(30, TimeUnit.SECONDS);
+ var err = proc.waitFor(timeout, TimeUnit.SECONDS);
var stdout = readStream(proc.getInputStream());
var stderr = readStream(proc.getErrorStream());
@@ -180,6 +181,17 @@ public class ExecOperation extends AbstractOperation {
return lines;
}
+ /**
+ * Configure the command timeout.
+ *
+ * @param timeout The timeout in seconds
+ * @return this operation instance
+ */
+ public ExecOperation timeout(int timeout) {
+ this.timeout = timeout;
+ return this;
+ }
+
/**
* Configures the working directory.
*
diff --git a/src/test/java/rife/bld/extension/ExecOperationTest.java b/src/test/java/rife/bld/extension/ExecOperationTest.java
index 0746988..207caf9 100644
--- a/src/test/java/rife/bld/extension/ExecOperationTest.java
+++ b/src/test/java/rife/bld/extension/ExecOperationTest.java
@@ -50,6 +50,7 @@ class ExecOperationTest {
tmpFile.deleteOnExit();
new ExecOperation()
.fromProject(new Project())
+ .timeout(10)
.command("touch", tmpFile.getName())
.fail(ExecFail.NORMAL)
.execute();