diff --git a/.actrc b/.actrc new file mode 100644 index 0000000..17359db --- /dev/null +++ b/.actrc @@ -0,0 +1,2 @@ +-P ubuntu-latest=ghcr.io/catthehacker/ubuntu:act-latest + diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 338783d..576bbde 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -15,16 +15,28 @@ jobs: jdk: ['11'] os: [ubuntu-latest] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4.2.2 - name: Set up JDK ${{ matrix.jdk }} - uses: actions/setup-java@v1 + uses: actions/setup-java@v4.7.1 with: + distribution: 'temurin' java-version: ${{ matrix.jdk }} + - name: Install Maven + run: | + sudo apt-get update + sudo apt-get install -y maven - name: Cache Maven packages - uses: actions/cache@v3 + uses: actions/cache@v4.2.3 with: path: ~/.m2 key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} restore-keys: ${{ runner.os }}-m2 + - name: Cache OWASP NVD data + uses: actions/cache@v4.2.3 + with: + path: ~/.m2/repository/org/owasp/dependency-check-data + key: owasp-nvd-cache-${{ runner.os }} + restore-keys: | + owasp-nvd-cache- - name: Build with Maven run: mvn -B -U verify diff --git a/README.adoc b/README.adoc index 3c108d5..744fdf9 100644 --- a/README.adoc +++ b/README.adoc @@ -4,7 +4,7 @@ Patrick Reinhart :group-name: org.adoptopenjdk.maven.plugins :project-full-path: AdoptOpenJDK/{project-name} :github-branch: master -:jdk-version: 12 +:jdk-version: 11 :jdk-url: https://jdk.java.net/{jdk-version} :adoptopenjdk-url: https://adoptopenjdk.net diff --git a/pom.xml b/pom.xml index 9da6c84..ff8cab5 100644 --- a/pom.xml +++ b/pom.xml @@ -52,10 +52,9 @@ - 4.13.2 3.8.0 4.2 - 3.9.8 + 3.9.11 UTF-8 @@ -79,16 +78,19 @@ org.apache.maven maven-plugin-api ${mavenVersion} + provided org.apache.maven maven-core ${mavenVersion} + provided org.apache.maven maven-model ${mavenVersion} + provided org.apache.maven.plugin-tools @@ -160,36 +162,35 @@ org.apache.maven.plugins maven-clean-plugin - 3.1.0 + 3.5.0 org.apache.maven.plugins maven-compiler-plugin - 3.8.1 + 3.14.0 - 11 - 11 + 11 org.apache.maven.plugins maven-deploy-plugin - 3.0.0-M1 + 3.1.4 org.apache.maven.plugins maven-install-plugin - 3.0.0-M1 + 3.1.4 org.apache.maven.plugins maven-jar-plugin - 3.2.0 + 3.4.2 org.apache.maven.plugins maven-javadoc-plugin - 3.2.0 + 3.11.2 attach-javadocs @@ -202,7 +203,7 @@ org.apache.maven.plugins maven-plugin-plugin - 3.6.0 + 3.15.1 jsplitpkgscan true @@ -211,17 +212,17 @@ org.apache.maven.plugins maven-resources-plugin - 3.2.0 + 3.3.1 org.apache.maven.plugins maven-site-plugin - 3.9.1 + 3.21.0 org.apache.maven.plugins maven-source-plugin - 3.2.1 + 3.3.1 attach-sources @@ -234,17 +235,20 @@ org.apache.maven.plugins maven-surefire-plugin - 3.0.0-M5 + 3.5.3 org.apache.maven.plugins maven-gpg-plugin - 1.6 + 3.2.8 org.owasp dependency-check-maven - 6.1.1 + 12.1.3 + + a1c5057d-457c-4e4f-959d-13c98786a664 + @@ -292,7 +296,7 @@ org.apache.maven.plugins maven-invoker-plugin - 3.2.0 + 3.9.1 true ${project.build.directory}/it diff --git a/src/main/java/org/adoptopenjdk/maven/plugins/JsplitpkgscanMojo.java b/src/main/java/org/adoptopenjdk/maven/plugins/JsplitpkgscanMojo.java index fd5c288..857ee96 100644 --- a/src/main/java/org/adoptopenjdk/maven/plugins/JsplitpkgscanMojo.java +++ b/src/main/java/org/adoptopenjdk/maven/plugins/JsplitpkgscanMojo.java @@ -48,7 +48,7 @@ public class JsplitpkgscanMojo extends AbstractMojo { /** * Execute jsplitpgkscan tool for the projects artifact against all it's dependencies. * - * @throws MojoExecutionException + * @throws MojoExecutionException General exception thrown if the mojo execution fails. */ @Override public void execute() throws MojoExecutionException { diff --git a/src/main/java/org/adoptopenjdk/maven/plugins/OutputParser.java b/src/main/java/org/adoptopenjdk/maven/plugins/OutputParser.java index 37ea35e..2c48be9 100644 --- a/src/main/java/org/adoptopenjdk/maven/plugins/OutputParser.java +++ b/src/main/java/org/adoptopenjdk/maven/plugins/OutputParser.java @@ -10,13 +10,29 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; +/** + * Parses the output of the jsplitpkgscan tool and provides a callback with the results. + * The output is expected to be in a specific format where each line contains a package name + * followed by module details. + */ public class OutputParser { private final BiConsumer> consumer; + /** + * Constructs an OutputParser with a consumer that will handle the parsed results. + * + * @param consumer a BiConsumer that takes a package name and a set of ModuleDetail objects + */ public OutputParser(BiConsumer> consumer) { this.consumer = consumer; } + /** + * Parses the provided output data and invokes the consumer with the package name and module details. + * + * @param outputData the byte array containing the output data to parse + * @throws IOException if an I/O error occurs while reading the output data + */ public void parse(byte[] outputData) throws IOException { Pattern pattern = Pattern.compile("^[\\s]+([0-9]+)[\\s]+(.*)$"); try (BufferedReader reader = new BufferedReader(new InputStreamReader(new ByteArrayInputStream(outputData)))) {