diff --git a/.github/workflows/bld.yml b/.github/workflows/bld.yml
index 944b4a9..88fdacb 100644
--- a/.github/workflows/bld.yml
+++ b/.github/workflows/bld.yml
@@ -7,7 +7,6 @@ jobs:
strategy:
matrix:
java-version: [ 17, 21, 24 ]
- kotlin-version: [ 1.9.25, 2.0.21, 2.1.20 ]
os: [ ubuntu-latest, windows-latest, macos-latest ]
runs-on: ${{ matrix.os }}
@@ -44,4 +43,4 @@ jobs:
run: ./bld download
- name: Run tests
- run: ./bld compile test
\ No newline at end of file
+ run: ./bld compile test
diff --git a/.idea/misc.xml b/.idea/misc.xml
index dc8f8c0..6fc2b64 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -18,7 +18,7 @@
-
+
\ No newline at end of file
diff --git a/lib/bld/bld-wrapper.properties b/lib/bld/bld-wrapper.properties
index 6278903..43cf409 100644
--- a/lib/bld/bld-wrapper.properties
+++ b/lib/bld/bld-wrapper.properties
@@ -1,6 +1,7 @@
bld.downloadExtensionJavadoc=false
bld.downloadExtensionSources=true
bld.downloadLocation=
+bld.extension-exec=com.uwyn.rife2:bld-exec:1.0.5
bld.extension-pmd=com.uwyn.rife2:bld-pmd:1.2.3
bld.repositories=MAVEN_CENTRAL,MAVEN_LOCAL,RIFE2_RELEASES
bld.sourceDirectories=
diff --git a/src/bld/java/rife/bld/extension/SpringBootBuild.java b/src/bld/java/rife/bld/extension/SpringBootBuild.java
index d243d97..ae8705d 100644
--- a/src/bld/java/rife/bld/extension/SpringBootBuild.java
+++ b/src/bld/java/rife/bld/extension/SpringBootBuild.java
@@ -22,6 +22,9 @@ import rife.bld.publish.PublishDeveloper;
import rife.bld.publish.PublishLicense;
import rife.bld.publish.PublishScm;
+import java.io.File;
+import java.nio.file.Files;
+import java.nio.file.Path;
import java.util.List;
import static rife.bld.dependencies.Repository.*;
@@ -94,4 +97,34 @@ public class SpringBootBuild extends Project {
.ruleSets("config/pmd.xml")
.execute();
}
+
+ @Override
+ public void test() throws Exception {
+ var testResultsDir = "build/test-results/test/";
+ var op = testOperation().fromProject(this);
+ op.testToolOptions().reportsDir(new File(testResultsDir));
+
+ Exception ex = null;
+ try {
+ op.execute();
+ } catch (Exception e) {
+ ex = e;
+ }
+
+ var xunitViewer = new File("/usr/bin/xunit-viewer");
+ if (xunitViewer.exists() && xunitViewer.canExecute()) {
+ var reportsDir = "build/reports/tests/test/";
+
+ Files.createDirectories(Path.of(reportsDir));
+
+ new ExecOperation()
+ .fromProject(this)
+ .command(xunitViewer.getPath(), "-r", testResultsDir, "-o", reportsDir + "index.html")
+ .execute();
+ }
+
+ if (ex != null) {
+ throw ex;
+ }
+ }
}