Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
7f7546f
#345: Add Jar Launcher
kaklakariada Jan 19, 2025
a6a114d
Fix starting stream consumer
kaklakariada Jan 26, 2025
ec4ba39
Merge remote-tracking branch 'origin/main' into kaklakariada/issue345
kaklakariada Jun 29, 2025
bf77419
Add builder for JarLauncher
kaklakariada Jul 3, 2025
42740d6
Convert test to integration test
kaklakariada Jul 3, 2025
e79f0f3
Test with latest Java 24
kaklakariada Jul 3, 2025
1976464
Remove ExitGuard annotations
kaklakariada Jul 3, 2025
ee88f30
Adapt tests to Java > 21
kaklakariada Jul 5, 2025
ff7b6bd
Fix integration tests
kaklakariada Jul 5, 2025
4368244
Fix integration tests
kaklakariada Jul 6, 2025
b45e034
Improve test assertions
kaklakariada Jul 7, 2025
03a2870
Enable broken tests
kaklakariada Jul 7, 2025
887aaca
Simplify JarLauncher API
kaklakariada Aug 3, 2025
b8ddf25
Fix sonar warnings
kaklakariada Aug 3, 2025
7723ac3
Merge branch 'main' into kaklakariada/issue345
kaklakariada Nov 9, 2025
6bf24e9
Adapt integration test under windows
kaklakariada Nov 9, 2025
515b381
Fix mockito agent warning
kaklakariada Nov 9, 2025
a739ccc
Define ossindex credentials
kaklakariada Nov 9, 2025
87a916f
Upgrade dependencies
kaklakariada Nov 9, 2025
4fdeeae
Upgrade test dependencies
kaklakariada Nov 9, 2025
dfc1e17
Fix ossindex credentials
kaklakariada Nov 9, 2025
b4054f1
Add debug output for failing test
kaklakariada Nov 9, 2025
0eb1cc7
Add helpful output to assertion message
kaklakariada Nov 9, 2025
1cc04a9
Fix integration test for windows
kaklakariada Nov 9, 2025
545e206
Implement review findings
kaklakariada Nov 16, 2025
b944622
Fix vscode setup
kaklakariada Nov 16, 2025
40efb83
Get aggregated dependency update PRs
kaklakariada Nov 16, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 13 additions & 7 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,17 @@
version: 2
updates:
# - package-ecosystem: "maven"
# directory: "/"
# schedule:
# interval: "monthly"

- package-ecosystem: "github-actions"
directory: "/"
multi-ecosystem-groups:
dependencies:
schedule:
interval: "monthly"

updates:
- package-ecosystem: "github-actions"
directory: "/"
patterns: ["*"]
multi-ecosystem-group: "dependencies"

- package-ecosystem: "maven"
directory: "/"
patterns: ["*"]
multi-ecosystem-group: "dependencies"
8 changes: 8 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ jobs:
include:
- os: ubuntu-latest
java: 21
- os: ubuntu-latest
java: 25

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-os-${{ matrix.os }}-java-${{ matrix.java }}
Expand All @@ -43,6 +45,9 @@ jobs:
distribution: "temurin"
java-version: ${{ matrix.java }}
cache: "maven"
server-id: ossindex
server-username: OSSINDEX_USERNAME
server-password: OSSINDEX_TOKEN

- name: Cache SonarQube packages
if: ${{ env.DEFAULT_OS == matrix.os && env.DEFAULT_JAVA == matrix.java }}
Expand All @@ -56,6 +61,9 @@ jobs:
run: |
mvn --batch-mode -T 1C clean org.jacoco:jacoco-maven-plugin:prepare-agent install \
-Djava.version=${{ matrix.java }}
env:
OSSINDEX_USERNAME: ${{ secrets.OSSINDEX_USERNAME }}
OSSINDEX_TOKEN: ${{ secrets.OSSINDEX_TOKEN }}

- name: Sonar analysis
if: ${{ env.DEFAULT_OS == matrix.os && env.DEFAULT_JAVA == matrix.java && env.SONAR_TOKEN != null }}
Expand Down
1 change: 1 addition & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,5 @@
"connectionId": "itsallcode",
"projectKey": "org.itsallcode.openfasttrace:openfasttrace-root"
},
"java.jdt.ls.vmargs": "-XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xmx4G -Xms100m -Xlog:disable",
}
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,4 @@ public CliException(final String message)
{
super(message);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ public static void main(final String[] args)

/**
* Auxiliary entry point to the command line application that allows
* injection of a
* injection of a {@link DirectoryService}.
*
* @param args
* command line arguments.
Expand All @@ -63,6 +63,7 @@ public static void main(final String[] args, final DirectoryService directorySer
}
}

@SuppressWarnings("java:S1166") // Exceptions are reported to the user
private static CliArguments parseCommandLineArguments(final String[] args,
final DirectoryService directoryService)
{
Expand Down Expand Up @@ -126,6 +127,7 @@ public void run()
}

// [impl->dsn~cli.tracing.exit-status~1]
@SuppressWarnings("java:S1147") // Calling System.exit() intentionally
private static void exit(final ExitStatus exitStatus)
{
System.exit(exitStatus.getCode());
Expand Down

This file was deleted.

9 changes: 8 additions & 1 deletion doc/developer_guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -121,13 +121,20 @@ By default, OFT is built with Java 17.

To build and test with a later version, add argument `-Djava.version=17` to the Maven command.


#### Speedup Build

By default, Maven builds the OFT modules sequentially.

To speed up the build and build modules in parallel, add argument `-T 1C` to the Maven command.

#### Run Single Integration Test

Specify test class via system property `it.test` and module via command line option `-projects`:

```sh
mvn -Dit.test=CliStarterIT failsafe:integration-test -projects product
```

### Run Requirements Tracing

```sh
Expand Down
90 changes: 48 additions & 42 deletions parent/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
<properties>
<revision>4.2.1</revision>
<java.version>17</java.version>
<junit.version>5.12.2</junit.version>
<maven.surefire.version>3.5.3</maven.surefire.version>
<junit.version>6.0.1</junit.version>
<maven.surefire.version>3.5.4</maven.surefire.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<reproducible.build.timestamp>${git.commit.time}</reproducible.build.timestamp>
Expand Down Expand Up @@ -209,7 +209,7 @@
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-junit-jupiter</artifactId>
<version>5.18.0</version>
<version>5.20.0</version>
<scope>test</scope>
</dependency>
<dependency>
Expand All @@ -227,7 +227,7 @@
<dependency>
<groupId>nl.jqno.equalsverifier</groupId>
<artifactId>equalsverifier</artifactId>
<version>4.0</version>
<version>4.2.2</version>
<scope>test</scope>
</dependency>
<dependency>
Expand All @@ -236,34 +236,20 @@
<version>1.4.8</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.exasol</groupId>
<artifactId>maven-project-version-getter</artifactId>
<version>1.2.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.itsallcode</groupId>
<artifactId>simple-process</artifactId>
<version>0.3.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</dependencyManagement>
<profiles>
<profile>
<id>java21</id>
<activation>
<jdk>21</jdk>
<property>
<!-- Prevent activating this profile when running without specifying
-Djava.version.
Tests with JDK 11 fail because it expecteds a class name as value for for
system property "java.security.manager" -->
<name>java.version</name>
<value>21</value>
</property>
</activation>
<properties>
<!-- java.security.manager is required to fix failing tests in TestCliStarter:
UnsupportedOperation The Security Manager is deprecated and will be removed in a future release -->
<!-- EnableDynamicAgentLoading suppresses a warning caused by Mockito dynamically
loading a Java agent:
WARNING: A Java agent has been loaded dynamically
(~/.m2/repository/net/bytebuddy/byte-buddy-agent/1.14.11/byte-buddy-agent-1.14.11.jar)
Dynamic loading of agents will be disallowed by default in a future release -->
<test.args>-Djava.security.manager=allow -XX:+EnableDynamicAgentLoading</test.args>
</properties>
</profile>
</profiles>
<build>
<plugins>
<plugin>
Expand Down Expand Up @@ -309,7 +295,6 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.14.0</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
Expand Down Expand Up @@ -391,6 +376,19 @@
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.9.0</version>
<executions>
<execution>
<goals>
<!-- Define ${org.mockito:mockito-core:jar} property required for Mockito agent loading -->
<goal>properties</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
Expand All @@ -402,7 +400,7 @@
</systemPropertyVariables>
<useModulePath>true</useModulePath>
<argLine>
<!-- Required for Java >= 18 --> ${test.args} </argLine>
<!-- Required for Java >= 18 --> ${test.args} -javaagent:${org.mockito:mockito-core:jar}</argLine>
</configuration>
</plugin>
<plugin>
Expand All @@ -416,7 +414,7 @@
<test.coverage>true</test.coverage>
</systemPropertyVariables>
<useModulePath>true</useModulePath>
<argLine><!-- Required for Java >= 18 --> ${test.args} </argLine>
<argLine><!-- Required for Java >= 18 --> ${test.args} -javaagent:${org.mockito:mockito-core:jar}</argLine>
</configuration>
<executions>
<execution>
Expand All @@ -431,15 +429,15 @@
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>flatten-maven-plugin</artifactId>
<version>1.7.0</version>
<version>1.7.3</version>
<configuration>
<flattenMode>oss</flattenMode> <!-- Use 'oss' mode for Maven Central -->
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>3.5.0</version>
<version>3.6.2</version>
<executions>
<execution>
<id>enforce-maven</id>
Expand Down Expand Up @@ -485,6 +483,9 @@
<groupId>org.sonatype.ossindex.maven</groupId>
<artifactId>ossindex-maven-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<authId>ossindex</authId>
</configuration>
<executions>
<execution>
<id>audit</id>
Expand All @@ -498,7 +499,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-artifact-plugin</artifactId>
<version>3.6.0</version>
<version>3.6.1</version>
<executions>
<execution>
<id>verify-reproducible-build</id>
Expand All @@ -515,7 +516,7 @@
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>2.18.0</version>
<version>2.19.1</version>
</plugin>
<plugin>
<!-- Deployment of this module not required -->
Expand All @@ -532,7 +533,12 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>3.4.1</version>
<version>3.5.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.14.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
Expand All @@ -547,12 +553,12 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>4.0.0-M16</version>
<version>3.21.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.6.0</version>
<version>3.6.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
Expand All @@ -567,7 +573,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.11.2</version>
<version>3.12.0</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
Expand Down Expand Up @@ -638,7 +644,7 @@
<dependency>
<groupId>net.sourceforge.plantuml</groupId>
<artifactId>plantuml</artifactId>
<version>1.2025.0</version>
<version>1.2025.10</version>
</dependency>
</dependencies>
</plugin>
Expand Down
Loading