Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package mojo-executor for openSUSE:Factory checked in at 2022-12-05 18:02:23 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/mojo-executor (Old) and /work/SRC/openSUSE:Factory/.mojo-executor.new.1835 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mojo-executor" Mon Dec 5 18:02:23 2022 rev:3 rq:1040356 version:2.4.0 Changes: -------- --- /work/SRC/openSUSE:Factory/mojo-executor/mojo-executor.changes 2019-11-26 16:59:01.092114633 +0100 +++ /work/SRC/openSUSE:Factory/.mojo-executor.new.1835/mojo-executor.changes 2022-12-05 18:02:44.153083029 +0100 @@ -1,0 +2,10 @@ +Sun Dec 4 14:43:21 UTC 2022 - Dirk Müller <dmuel...@suse.com> + +- update to 2.4.0: + * Dependencies provided by Maven have been moved to the provided scope where + possible + * The plexus-utils dependency must remain in the compile scope due to + MNG-6965. It has been updated to version 3.0.24 to avoid spurious security + vulnerability notifications due to this dependency. + +------------------------------------------------------------------- Old: ---- mojo-executor-parent-2.3.1.tar.gz New: ---- mojo-executor-parent-2.4.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ mojo-executor.spec ++++++ --- /var/tmp/diff_new_pack.WfttRa/_old 2022-12-05 18:02:44.605085490 +0100 +++ /var/tmp/diff_new_pack.WfttRa/_new 2022-12-05 18:02:44.613085533 +0100 @@ -1,7 +1,7 @@ # # spec file for package mojo-executor # -# Copyright (c) 2019 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,13 +17,13 @@ Name: mojo-executor -Version: 2.3.1 +Version: 2.4.0 Release: 0 Summary: Mojo Executor License: Apache-2.0 Group: Development/Libraries/Java -URL: http://timmoore.github.io/mojo-executor/ -Source0: https://github.com/TimMoore/%{name}/archive/%{name}-parent-%{version}.tar.gz +URL: https://mojo-executor.github.io/mojo-executor/ +Source0: https://github.com/mojo-executor/mojo-executor/archive/refs/tags/mojo-executor-parent-%{version}.tar.gz Source1: http://www.apache.org/licenses/LICENSE-2.0 Patch0: mojo-executor-dependency.patch BuildRequires: fdupes ++++++ mojo-executor-parent-2.3.1.tar.gz -> mojo-executor-parent-2.4.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mojo-executor-mojo-executor-parent-2.3.1/.github/workflows/maven.yml new/mojo-executor-mojo-executor-parent-2.4.0/.github/workflows/maven.yml --- old/mojo-executor-mojo-executor-parent-2.3.1/.github/workflows/maven.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/mojo-executor-mojo-executor-parent-2.4.0/.github/workflows/maven.yml 2022-03-10 06:29:04.000000000 +0100 @@ -0,0 +1,77 @@ +# This workflow will build a Java project with Maven +# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven + +name: CI + +on: + push: + branches: main + pull_request: + branches: main + +jobs: + build: + strategy: + fail-fast: false + matrix: + maven: [3.3.1, 3.5.4, 3.6.3, 3.8.1] + # https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-syntax-for-github-actions#jobsjob_idif + if: github.repository == 'mojo-executor/mojo-executor' && github.event_name == 'pull_request' + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Cache local Maven repository + uses: actions/cache@v2 + with: + path: ~/.m2/repository + key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} + restore-keys: | + ${{ runner.os }}-maven- + - name: Set up JDK 11 + uses: actions/setup-java@v1 + with: + java-version: 11 + - name: Set up Maven + uses: stCarolas/setup-maven@v4 + with: + maven-version: ${{ matrix.maven }} + - name: Build with Maven + run: mvn -B -V install + # - name: Setup tmate session + # uses: mxschmitt/action-tmate@v3 + # if: ${{ failure() }} + - name: Codecov + uses: codecov/codecov-action@v1 + + snapshot: + if: github.repository == 'mojo-executor/mojo-executor' && github.event_name == 'push' && github.ref == 'refs/heads/main' + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Cache local Maven repository + uses: actions/cache@v2 + with: + path: ~/.m2/repository + key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} + restore-keys: | + ${{ runner.os }}-maven- + - name: Set up JDK 11 + uses: actions/setup-java@v1 + with: + java-version: 11 + # https://github.com/marketplace/actions/maven-setings-action + - name: Maven Settings + uses: s4u/maven-settings-action@v2 + with: + sonatypeSnapshots: true + githubServer: false + servers: | + [{ + "id": "sonatype-nexus-snapshots", + "username": "${{ secrets.SONATYPE_USERNAME }}", + "password": "${{ secrets.SONATYPE_PASSWORD }}" + }] + - name: Deploy Snapshot + run: mvn -B -V -Dmaven.deploy.skip=releases org.apache.maven.plugins:maven-source-plugin:jar-no-fork deploy + - name: Codecov + uses: codecov/codecov-action@v1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mojo-executor-mojo-executor-parent-2.3.1/.travis.yml new/mojo-executor-mojo-executor-parent-2.4.0/.travis.yml --- old/mojo-executor-mojo-executor-parent-2.3.1/.travis.yml 2019-11-21 10:49:07.000000000 +0100 +++ new/mojo-executor-mojo-executor-parent-2.4.0/.travis.yml 1970-01-01 01:00:00.000000000 +0100 @@ -1,36 +0,0 @@ -# use http://docs.travis-ci.com/user/workers/container-based-infrastructure/ -sudo: false - -language: java -#maven: -# - '3.0.5' -# - '3.5.0' - -jdk: - - openjdk8 - -# cache local Maven repo: http://docs.travis-ci.com/user/caching/ -cache: - directories: - - '$HOME/.m2/repository' - -before_install: - - wget https://archive.apache.org/dist/maven/maven-3/3.0.5/binaries/apache-maven-3.0.5-bin.zip - - unzip -q apache-maven-3.0.5-bin.zip - - wget https://archive.apache.org/dist/maven/maven-3/3.5.0/binaries/apache-maven-3.5.0-bin.zip - - unzip -q apache-maven-3.5.0-bin.zip - -env: - matrix: - - MAVEN=$PWD/apache-maven-3.0.5 - - MAVEN=$PWD/apache-maven-3.5.0 - -install: /bin/true -script: - - echo $JAVA_HOME - - export M2_HOME=$MAVEN - - export PATH=$M2_HOME/bin:$PATH - - mvn --version - - mvn clean install - -after_success: bash <(curl -s https://codecov.io/bash) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mojo-executor-mojo-executor-parent-2.3.1/README.md new/mojo-executor-mojo-executor-parent-2.4.0/README.md --- old/mojo-executor-mojo-executor-parent-2.3.1/README.md 2019-11-21 10:49:07.000000000 +0100 +++ new/mojo-executor-mojo-executor-parent-2.4.0/README.md 2022-03-10 06:29:04.000000000 +0100 @@ -1,4 +1,5 @@ -[](https://travis-ci.org/TimMoore/mojo-executor) +[](https://github.com/mojo-executor/mojo-executor/actions/workflows/maven.yml) +[](https://search.maven.org/artifact/org.twdata.maven/mojo-executor) The Mojo Executor provides a way to to execute other Mojos (plugins) within a Maven plugin, allowing you to easily create Maven plugins that are composed of other plugins. @@ -24,7 +25,7 @@ Nick Cross ---------- -While I am no longer actively using this plugin I am happy to review, assist with contributions, merge PRs and release new versions. I have released the last two versions (2.3.0/2.3.1) rolling up all the various fixes and improvements. +While I am no longer actively using this plugin I am happy to review, assist with contributions, merge PRs and release new versions. I have released the last few versions rolling up all the various fixes and improvements. Cheers, — Nick @@ -34,6 +35,8 @@ News ==== +* 1 Sep 2021 — Mojo Executor 2.3.2 released (by Nick Cross) with various bug fixes and minor improvements +* 21 Nov 2019 — Mojo Executor 2.3.1 released (by Nick Cross) with various bug fixes and minor improvements - 4 May 2017 — Mojo Executor 2.3.0 released (by Nick Cross) with various bug fixes and minor improvements. - 27 Mar 2014 — Mojo Executor 1.5.2 released with support for Maven 2 through 3.1. - 12 Feb 2014 — I'm looking for a new maintainer for this project. If you're interested, please get in touch! @@ -43,9 +46,9 @@ Downloads ========= -You can download the jars, source, and javadocs from Maven central: +You can download the JARs, source, and Javadocs from Maven central: -http://repo2.maven.org/maven2/org/twdata/maven/mojo-executor/ +https://search.maven.org/search?q=g:org.twdata.maven Example Usage ============= @@ -113,7 +116,7 @@ <dependency> <groupId>org.twdata.maven</groupId> <artifactId>mojo-executor</artifactId> - <version>2.3.0</version> + <version>2.3.3</version> </dependency> </dependencies> ``` @@ -141,18 +144,19 @@ Mojo Executor was originally created by [Don Brown][mrdon] (mr...@twdata.org). -It is currently maintained by [Tim Moore][TimMoore] (tmo...@incrementalism.net). +It is currently maintained by [Tim Moore][TimMoore] (tmo...@incrementalism.net) and [Nick Cross][rnc] (ncr...@redhat.com) Thanks to the following contributors, who have provided patches and other assistance: - [Matthew McCullough][matthewmccullough] -- Gili Tzabari (cow...@bbs.darktech.org) — Maven 3 support +- [Gili Tzabari][cowwoc] — Maven 3 support - [Joseph Walton][josephw] — support for both Maven 2 and Maven 3 in the same artifact - [Olivier Lamy][olamy] & [Robert Munteanu][rombert] — Maven 3.1 support - [Jelmer Kuperus][jelmerk] — support for plugin dependencies - [msavelyev][msavelyev] & [Ivan Dyachenko][ivan-dyachenko] — support for attributes in Mojo configuration - [Christof Schoell][cschoell] — Maven 3.1 support in the 1.5.x branch +[rnc]: https://github.com/rnc [mrdon]: https://github.com/mrdon [TimMoore]: https://github.com/TimMoore/ [matthewmccullough]: https://github.com/matthewmccullough @@ -163,5 +167,6 @@ [msavelyev]: https://github.com/msavelyev [ivan-dyachenko]: https://github.com/ivan-dyachenko [cschoell]: https://github.com/cschoell +[cowwoc]: https://github.com/cowwoc [mojo-api]: http://maven.apache.org/developers/mojo-api-specification.html diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mojo-executor-mojo-executor-parent-2.3.1/mojo-executor/pom.xml new/mojo-executor-mojo-executor-parent-2.4.0/mojo-executor/pom.xml --- old/mojo-executor-mojo-executor-parent-2.3.1/mojo-executor/pom.xml 2019-11-21 10:49:07.000000000 +0100 +++ new/mojo-executor-mojo-executor-parent-2.4.0/mojo-executor/pom.xml 2022-03-10 06:29:04.000000000 +0100 @@ -20,7 +20,7 @@ <parent> <groupId>org.twdata.maven</groupId> <artifactId>mojo-executor-parent</artifactId> - <version>2.3.1</version> + <version>2.4.0</version> </parent> <artifactId>mojo-executor</artifactId> @@ -28,21 +28,36 @@ <name>Mojo Executor</name> <dependencies> + <!-- if you use this outside a Maven plugin the following transitive dependencies need to be provided, otherwise they are provided by the Maven Core classloader --> <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-core</artifactId> + <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-model</artifactId> + <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-plugin-api</artifactId> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + <scope>provided</scope> </dependency> <dependency> <groupId>org.codehaus.plexus</groupId> <artifactId>plexus-utils</artifactId> + <scope>compile</scope><!-- use compile scope due to https://issues.apache.org/jira/browse/MNG-6965 --> + </dependency> + <dependency> + <groupId>org.eclipse.sisu</groupId> + <artifactId>org.eclipse.sisu.plexus</artifactId> + <scope>provided</scope> </dependency> <dependency> <groupId>junit</groupId> @@ -61,10 +76,6 @@ </dependency> <dependency> <groupId>org.slf4j</groupId> - <artifactId>slf4j-api</artifactId> - </dependency> - <dependency> - <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <scope>test</scope> </dependency> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mojo-executor-mojo-executor-parent-2.3.1/mojo-executor/src/main/java/org/twdata/maven/mojoexecutor/MavenCompatibilityHelper.java new/mojo-executor-mojo-executor-parent-2.4.0/mojo-executor/src/main/java/org/twdata/maven/mojoexecutor/MavenCompatibilityHelper.java --- old/mojo-executor-mojo-executor-parent-2.3.1/mojo-executor/src/main/java/org/twdata/maven/mojoexecutor/MavenCompatibilityHelper.java 2019-11-21 10:49:07.000000000 +0100 +++ new/mojo-executor-mojo-executor-parent-2.4.0/mojo-executor/src/main/java/org/twdata/maven/mojoexecutor/MavenCompatibilityHelper.java 2022-03-10 06:29:04.000000000 +0100 @@ -34,7 +34,7 @@ import java.util.List; /** - * The <tt>MavenCompatibilityHelper</tt> hides incompatibilities between Maven versions + * The {@code MavenCompatibilityHelper} hides incompatibilities between Maven versions * */ public class MavenCompatibilityHelper { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mojo-executor-mojo-executor-parent-2.3.1/mojo-executor/src/test/java/org/twdata/maven/mojoexecutor/MojoExecutorTest.java new/mojo-executor-mojo-executor-parent-2.4.0/mojo-executor/src/test/java/org/twdata/maven/mojoexecutor/MojoExecutorTest.java --- old/mojo-executor-mojo-executor-parent-2.3.1/mojo-executor/src/test/java/org/twdata/maven/mojoexecutor/MojoExecutorTest.java 2019-11-21 10:49:07.000000000 +0100 +++ new/mojo-executor-mojo-executor-parent-2.4.0/mojo-executor/src/test/java/org/twdata/maven/mojoexecutor/MojoExecutorTest.java 2022-03-10 06:29:04.000000000 +0100 @@ -25,7 +25,6 @@ import org.codehaus.plexus.configuration.xml.XmlPlexusConfiguration; import org.codehaus.plexus.util.xml.Xpp3Dom; import org.eclipse.aether.RepositorySystemSession; -import org.eclipse.aether.repository.RemoteRepository; import org.hamcrest.CoreMatchers; import org.hamcrest.Description; import org.hamcrest.Matcher; @@ -33,20 +32,22 @@ import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; +import org.mockito.AdditionalMatchers; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; import java.util.List; import java.util.Map; +import org.mockito.junit.MockitoJUnitRunner; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.sameInstance; -import static org.mockito.Matchers.anyListOf; -import static org.mockito.Matchers.argThat; -import static org.mockito.Matchers.eq; -import static org.mockito.Matchers.same; +import static org.mockito.ArgumentMatchers.anyList; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.ArgumentMatchers.isNull; +import static org.mockito.ArgumentMatchers.same; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; +import static org.mockito.hamcrest.MockitoHamcrest.argThat; import static org.twdata.maven.mojoexecutor.MojoExecutor.artifactId; import static org.twdata.maven.mojoexecutor.MojoExecutor.attribute; import static org.twdata.maven.mojoexecutor.MojoExecutor.attributes; @@ -92,7 +93,7 @@ dependency("org.apache.maven.plugins", "some-plugin", "1.0") ) )), - anyListOf(RemoteRepository.class), + AdditionalMatchers.or(anyList(), isNull()), same(repositorySession) )).thenReturn(mavenDependencyPluginDescriptor); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mojo-executor-mojo-executor-parent-2.3.1/mojo-executor-maven-plugin/pom.xml new/mojo-executor-mojo-executor-parent-2.4.0/mojo-executor-maven-plugin/pom.xml --- old/mojo-executor-mojo-executor-parent-2.3.1/mojo-executor-maven-plugin/pom.xml 2019-11-21 10:49:07.000000000 +0100 +++ new/mojo-executor-mojo-executor-parent-2.4.0/mojo-executor-maven-plugin/pom.xml 2022-03-10 06:29:04.000000000 +0100 @@ -20,7 +20,7 @@ <parent> <groupId>org.twdata.maven</groupId> <artifactId>mojo-executor-parent</artifactId> - <version>2.3.1</version> + <version>2.4.0</version> </parent> <artifactId>mojo-executor-maven-plugin</artifactId> @@ -34,6 +34,9 @@ testing purposes. </description> + <prerequisites> + <maven>${maven.version}</maven> + </prerequisites> <dependencies> <dependency> <groupId>org.apache.maven</groupId> @@ -43,10 +46,12 @@ <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-model</artifactId> + <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-plugin-api</artifactId> + <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.maven.plugin-tools</groupId> @@ -54,24 +59,32 @@ <scope>provided</scope> </dependency> <dependency> - <groupId>org.codehaus.plexus</groupId> - <artifactId>plexus-utils</artifactId> + <groupId>org.apache.maven</groupId> + <artifactId>maven-embedder</artifactId> + <scope>provided</scope> </dependency> <dependency> - <groupId>${project.groupId}</groupId> - <artifactId>mojo-executor</artifactId> + <groupId>org.codehaus.plexus</groupId> + <artifactId>plexus-utils</artifactId> + <scope>compile</scope><!-- use compile scope due to https://issues.apache.org/jira/browse/MNG-6965 --> </dependency> <dependency> - <groupId>commons-lang</groupId> - <artifactId>commons-lang</artifactId> + <groupId>org.eclipse.sisu</groupId> + <artifactId>org.eclipse.sisu.plexus</artifactId> + <scope>provided</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> + <scope>provided</scope> </dependency> <dependency> - <groupId>org.apache.maven</groupId> - <artifactId>maven-embedder</artifactId> + <groupId>${project.groupId}</groupId> + <artifactId>mojo-executor</artifactId> + </dependency> + <dependency> + <groupId>org.apache.commons</groupId> + <artifactId>commons-lang3</artifactId> </dependency> </dependencies> @@ -94,10 +107,11 @@ <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-invoker-plugin</artifactId> <configuration> - <!-- <debug>true</debug> --> +<!-- <debug>true</debug>--> <cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo> <localRepositoryPath>${project.build.directory}/it-repo</localRepositoryPath> <settingsFile>src/it/settings.xml</settingsFile> + <streamLogsOnFailures>true</streamLogsOnFailures> </configuration> <executions> <execution> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mojo-executor-mojo-executor-parent-2.3.1/mojo-executor-maven-plugin/src/it/mojo-executor-test-project/pom.xml new/mojo-executor-mojo-executor-parent-2.4.0/mojo-executor-maven-plugin/src/it/mojo-executor-test-project/pom.xml --- old/mojo-executor-mojo-executor-parent-2.3.1/mojo-executor-maven-plugin/src/it/mojo-executor-test-project/pom.xml 2019-11-21 10:49:07.000000000 +0100 +++ new/mojo-executor-mojo-executor-parent-2.4.0/mojo-executor-maven-plugin/src/it/mojo-executor-test-project/pom.xml 2022-03-10 06:29:04.000000000 +0100 @@ -32,13 +32,13 @@ <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> - <version>1.7.4</version> + <version>1.7.36</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-nop</artifactId> - <version>1.7.4</version> + <version>1.7.36</version> <scope>runtime</scope> </dependency> <dependency> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mojo-executor-mojo-executor-parent-2.3.1/mojo-executor-maven-plugin/src/it/mojo-executor-test-project/postbuild.groovy new/mojo-executor-mojo-executor-parent-2.4.0/mojo-executor-maven-plugin/src/it/mojo-executor-test-project/postbuild.groovy --- old/mojo-executor-mojo-executor-parent-2.3.1/mojo-executor-maven-plugin/src/it/mojo-executor-test-project/postbuild.groovy 2019-11-21 10:49:07.000000000 +0100 +++ new/mojo-executor-mojo-executor-parent-2.4.0/mojo-executor-maven-plugin/src/it/mojo-executor-test-project/postbuild.groovy 2022-03-10 06:29:04.000000000 +0100 @@ -14,10 +14,12 @@ * limitations under the License. */ File buildLog = new File((String) basedir, "build.log") -return buildLog.getText().contains(""" +def text = buildLog.getText() +text = text.replaceAll("\r\n", "\n") +return text.contains(""" [INFO] The following files have been resolved: [INFO] junit:junit:jar:4.11:test [INFO] org.hamcrest:hamcrest-core:jar:1.3:test -[INFO] org.slf4j:slf4j-api:jar:1.7.4:provided -[INFO] org.slf4j:slf4j-nop:jar:1.7.4:runtime +[INFO] org.slf4j:slf4j-api:jar:1.7.36:provided +[INFO] org.slf4j:slf4j-nop:jar:1.7.36:runtime """); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mojo-executor-mojo-executor-parent-2.3.1/mojo-executor-maven-plugin/src/it/mojo-executor-test-project-blocking/pom.xml new/mojo-executor-mojo-executor-parent-2.4.0/mojo-executor-maven-plugin/src/it/mojo-executor-test-project-blocking/pom.xml --- old/mojo-executor-mojo-executor-parent-2.3.1/mojo-executor-maven-plugin/src/it/mojo-executor-test-project-blocking/pom.xml 1970-01-01 01:00:00.000000000 +0100 +++ new/mojo-executor-mojo-executor-parent-2.4.0/mojo-executor-maven-plugin/src/it/mojo-executor-test-project-blocking/pom.xml 2022-03-10 06:29:04.000000000 +0100 @@ -0,0 +1,81 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright 2008-2013 Don Brown + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + --> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <groupId>org.twdata.maven</groupId> + <artifactId>mojo-executor-test-project-blocking</artifactId> + <version>1.0-SNAPSHOT</version> + + <name>Mojo Executor - Test Project</name> + <description> + Used by the tests for the Mojo Executor Maven Plugin. + </description> + + <dependencies> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + <version>1.7.36</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-nop</artifactId> + <version>1.7.36</version> + <scope>runtime</scope> + </dependency> + <dependency> + <groupId>junit</groupId> + <artifactId>junit-dep</artifactId> + <version>4.11</version> + <scope>test</scope> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.twdata.maven</groupId> + <artifactId>mojo-executor-maven-plugin</artifactId> + <version>@project.version@</version> + <executions> + <execution> + <phase>test</phase> + <goals> + <goal>execute-mojo</goal> + </goals> + <configuration> + <quiet>false</quiet> + <blocking>true</blocking> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-dependency-plugin</artifactId> + <version>2.0</version> + </plugin> + <goal>list</goal> + <configuration> + </configuration> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mojo-executor-mojo-executor-parent-2.3.1/mojo-executor-maven-plugin/src/it/mojo-executor-test-project-blocking/postbuild.groovy new/mojo-executor-mojo-executor-parent-2.4.0/mojo-executor-maven-plugin/src/it/mojo-executor-test-project-blocking/postbuild.groovy --- old/mojo-executor-mojo-executor-parent-2.3.1/mojo-executor-maven-plugin/src/it/mojo-executor-test-project-blocking/postbuild.groovy 1970-01-01 01:00:00.000000000 +0100 +++ new/mojo-executor-mojo-executor-parent-2.4.0/mojo-executor-maven-plugin/src/it/mojo-executor-test-project-blocking/postbuild.groovy 2022-03-10 06:29:04.000000000 +0100 @@ -0,0 +1,25 @@ +/* + * Copyright 2008-2013 Don Brown + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +File buildLog = new File((String) basedir, "build.log") +def text = buildLog.getText() +text = text.replaceAll("\r\n", "\n") +def v1 = text.contains("[INFO] Executing 'org.apache.maven.plugins:maven-dependency-plugin' in blocking mode.") +def v2 = text.contains("""[INFO] The following files have been resolved: +[INFO] junit:junit:jar:4.11:test +[INFO] org.hamcrest:hamcrest-core:jar:1.3:test +[INFO] org.slf4j:slf4j-api:jar:1.7.36:provided +[INFO] org.slf4j:slf4j-nop:jar:1.7.36:runtime"""); +return v1 && v2; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mojo-executor-mojo-executor-parent-2.3.1/mojo-executor-maven-plugin/src/it/mojo-executor-test-project-no-plugin-version/pom.xml new/mojo-executor-mojo-executor-parent-2.4.0/mojo-executor-maven-plugin/src/it/mojo-executor-test-project-no-plugin-version/pom.xml --- old/mojo-executor-mojo-executor-parent-2.3.1/mojo-executor-maven-plugin/src/it/mojo-executor-test-project-no-plugin-version/pom.xml 2019-11-21 10:49:07.000000000 +0100 +++ new/mojo-executor-mojo-executor-parent-2.4.0/mojo-executor-maven-plugin/src/it/mojo-executor-test-project-no-plugin-version/pom.xml 2022-03-10 06:29:04.000000000 +0100 @@ -32,13 +32,13 @@ <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> - <version>1.7.4</version> + <version>1.7.36</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-nop</artifactId> - <version>1.7.4</version> + <version>1.7.36</version> <scope>runtime</scope> </dependency> <dependency> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mojo-executor-mojo-executor-parent-2.3.1/mojo-executor-maven-plugin/src/it/mojo-executor-test-project-no-plugin-version/postbuild.groovy new/mojo-executor-mojo-executor-parent-2.4.0/mojo-executor-maven-plugin/src/it/mojo-executor-test-project-no-plugin-version/postbuild.groovy --- old/mojo-executor-mojo-executor-parent-2.3.1/mojo-executor-maven-plugin/src/it/mojo-executor-test-project-no-plugin-version/postbuild.groovy 2019-11-21 10:49:07.000000000 +0100 +++ new/mojo-executor-mojo-executor-parent-2.4.0/mojo-executor-maven-plugin/src/it/mojo-executor-test-project-no-plugin-version/postbuild.groovy 2022-03-10 06:29:04.000000000 +0100 @@ -14,10 +14,12 @@ * limitations under the License. */ File buildLog = new File((String) basedir, "build.log") -return buildLog.getText().contains(""" +def text = buildLog.getText() +text = text.replaceAll("\r\n", "\n") +return text.contains(""" [INFO] The following files have been resolved: [INFO] junit:junit:jar:4.11:test [INFO] org.hamcrest:hamcrest-core:jar:1.3:test -[INFO] org.slf4j:slf4j-api:jar:1.7.4:provided -[INFO] org.slf4j:slf4j-nop:jar:1.7.4:runtime +[INFO] org.slf4j:slf4j-api:jar:1.7.36:provided +[INFO] org.slf4j:slf4j-nop:jar:1.7.36:runtime """); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mojo-executor-mojo-executor-parent-2.3.1/mojo-executor-maven-plugin/src/it/mojo-executor-test-project-null-maven-project/pom.xml new/mojo-executor-mojo-executor-parent-2.4.0/mojo-executor-maven-plugin/src/it/mojo-executor-test-project-null-maven-project/pom.xml --- old/mojo-executor-mojo-executor-parent-2.3.1/mojo-executor-maven-plugin/src/it/mojo-executor-test-project-null-maven-project/pom.xml 2019-11-21 10:49:07.000000000 +0100 +++ new/mojo-executor-mojo-executor-parent-2.4.0/mojo-executor-maven-plugin/src/it/mojo-executor-test-project-null-maven-project/pom.xml 2022-03-10 06:29:04.000000000 +0100 @@ -32,13 +32,13 @@ <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> - <version>1.7.4</version> + <version>1.7.36</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-nop</artifactId> - <version>1.7.4</version> + <version>1.7.36</version> <scope>runtime</scope> </dependency> <dependency> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mojo-executor-mojo-executor-parent-2.3.1/mojo-executor-maven-plugin/src/it/mojo-executor-test-project-null-maven-project/postbuild.groovy new/mojo-executor-mojo-executor-parent-2.4.0/mojo-executor-maven-plugin/src/it/mojo-executor-test-project-null-maven-project/postbuild.groovy --- old/mojo-executor-mojo-executor-parent-2.3.1/mojo-executor-maven-plugin/src/it/mojo-executor-test-project-null-maven-project/postbuild.groovy 2019-11-21 10:49:07.000000000 +0100 +++ new/mojo-executor-mojo-executor-parent-2.4.0/mojo-executor-maven-plugin/src/it/mojo-executor-test-project-null-maven-project/postbuild.groovy 2022-03-10 06:29:04.000000000 +0100 @@ -14,10 +14,12 @@ * limitations under the License. */ File buildLog = new File((String) basedir, "build.log") -return buildLog.getText().contains(""" +def text = buildLog.getText() +text = text.replaceAll("\r\n", "\n") +return text.contains(""" [INFO] The following files have been resolved: [INFO] junit:junit:jar:4.11:test [INFO] org.hamcrest:hamcrest-core:jar:1.3:test -[INFO] org.slf4j:slf4j-api:jar:1.7.4:provided -[INFO] org.slf4j:slf4j-nop:jar:1.7.4:runtime +[INFO] org.slf4j:slf4j-api:jar:1.7.36:provided +[INFO] org.slf4j:slf4j-nop:jar:1.7.36:runtime """); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mojo-executor-mojo-executor-parent-2.3.1/mojo-executor-maven-plugin/src/it/mojo-executor-test-project-quiet/pom.xml new/mojo-executor-mojo-executor-parent-2.4.0/mojo-executor-maven-plugin/src/it/mojo-executor-test-project-quiet/pom.xml --- old/mojo-executor-mojo-executor-parent-2.3.1/mojo-executor-maven-plugin/src/it/mojo-executor-test-project-quiet/pom.xml 2019-11-21 10:49:07.000000000 +0100 +++ new/mojo-executor-mojo-executor-parent-2.4.0/mojo-executor-maven-plugin/src/it/mojo-executor-test-project-quiet/pom.xml 2022-03-10 06:29:04.000000000 +0100 @@ -32,13 +32,13 @@ <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> - <version>1.7.4</version> + <version>1.7.36</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-nop</artifactId> - <version>1.7.4</version> + <version>1.7.36</version> <scope>runtime</scope> </dependency> <dependency> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mojo-executor-mojo-executor-parent-2.3.1/mojo-executor-maven-plugin/src/it/mojo-executor-test-project-quiet/postbuild.groovy new/mojo-executor-mojo-executor-parent-2.4.0/mojo-executor-maven-plugin/src/it/mojo-executor-test-project-quiet/postbuild.groovy --- old/mojo-executor-mojo-executor-parent-2.3.1/mojo-executor-maven-plugin/src/it/mojo-executor-test-project-quiet/postbuild.groovy 2019-11-21 10:49:07.000000000 +0100 +++ new/mojo-executor-mojo-executor-parent-2.4.0/mojo-executor-maven-plugin/src/it/mojo-executor-test-project-quiet/postbuild.groovy 2022-03-10 06:29:04.000000000 +0100 @@ -14,10 +14,12 @@ * limitations under the License. */ File buildLog = new File((String) basedir, "build.log") -return ! buildLog.getText().contains(""" +def text = buildLog.getText() +text = text.replaceAll("\r\n", "\n") +return ! text.contains(""" [INFO] The following files have been resolved: [INFO] junit:junit:jar:4.11:test [INFO] org.hamcrest:hamcrest-core:jar:1.3:test -[INFO] org.slf4j:slf4j-api:jar:1.7.4:provided -[INFO] org.slf4j:slf4j-nop:jar:1.7.4:runtime +[INFO] org.slf4j:slf4j-api:jar:1.7.36:provided +[INFO] org.slf4j:slf4j-nop:jar:1.7.36:runtime """); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mojo-executor-mojo-executor-parent-2.3.1/mojo-executor-maven-plugin/src/main/java/org/twdata/maven/mojoexecutor/plugin/MojoExecutorMojo.java new/mojo-executor-mojo-executor-parent-2.4.0/mojo-executor-maven-plugin/src/main/java/org/twdata/maven/mojoexecutor/plugin/MojoExecutorMojo.java --- old/mojo-executor-mojo-executor-parent-2.3.1/mojo-executor-maven-plugin/src/main/java/org/twdata/maven/mojoexecutor/plugin/MojoExecutorMojo.java 2019-11-21 10:49:07.000000000 +0100 +++ new/mojo-executor-mojo-executor-parent-2.4.0/mojo-executor-maven-plugin/src/main/java/org/twdata/maven/mojoexecutor/plugin/MojoExecutorMojo.java 2022-03-10 06:29:04.000000000 +0100 @@ -15,7 +15,7 @@ */ package org.twdata.maven.mojoexecutor.plugin; -import org.apache.commons.lang.reflect.FieldUtils; +import org.apache.commons.lang3.reflect.FieldUtils; import org.apache.maven.cli.logging.Slf4jConfiguration; import org.apache.maven.cli.logging.Slf4jConfigurationFactory; import org.apache.maven.execution.MavenSession; @@ -23,17 +23,17 @@ import org.apache.maven.plugin.AbstractMojo; import org.apache.maven.plugin.BuildPluginManager; import org.apache.maven.plugin.MojoExecutionException; -import org.apache.maven.plugins.annotations.Component; -import org.apache.maven.plugins.annotations.LifecyclePhase; -import org.apache.maven.plugins.annotations.Mojo; -import org.apache.maven.plugins.annotations.Parameter; -import org.apache.maven.plugins.annotations.ResolutionScope; +import org.apache.maven.plugins.annotations.*; import org.apache.maven.project.MavenProject; import org.codehaus.plexus.configuration.xml.XmlPlexusConfiguration; import org.codehaus.plexus.logging.Logger; import org.slf4j.ILoggerFactory; import org.slf4j.LoggerFactory; +import java.util.HashSet; +import java.util.Set; + +import static java.lang.String.format; import static org.twdata.maven.mojoexecutor.MojoExecutor.executeMojo; import static org.twdata.maven.mojoexecutor.MojoExecutor.executionEnvironment; import static org.twdata.maven.mojoexecutor.PlexusConfigurationUtils.toXpp3Dom; @@ -42,18 +42,20 @@ * Execute a Mojo using the MojoExecutor. */ @SuppressWarnings("unused") -@Mojo( name = "execute-mojo", defaultPhase = LifecyclePhase.TEST, requiresDependencyResolution = ResolutionScope.TEST) +@Mojo(name = "execute-mojo", defaultPhase = LifecyclePhase.TEST, requiresDependencyResolution = ResolutionScope.TEST) public class MojoExecutorMojo extends AbstractMojo { + private static final Set<String> lockedKeys = new HashSet<>(); + /** * Plugin to execute. */ - @Parameter (required = true) + @Parameter(required = true) private Plugin plugin; /** * Plugin goal to execute. */ - @Parameter (required = true) + @Parameter(required = true) private String goal; /** @@ -65,13 +67,13 @@ /** * The project currently being build. */ - @Parameter( defaultValue = "${project}", readonly = true ) + @Parameter(defaultValue = "${project}", readonly = true) private MavenProject mavenProject; /** * The current Maven session. */ - @Parameter( defaultValue = "${session}", readonly = true ) + @Parameter(defaultValue = "${session}", readonly = true) private MavenSession mavenSession; /** @@ -83,27 +85,63 @@ /** * Disable logging on executed mojos */ - @Parameter ( defaultValue = "false") + @Parameter(defaultValue = "false") private boolean quiet; /** + * Enable thread blocking per plugin GA (groupId & artifactId) + */ + @Parameter(defaultValue = "false") + private boolean blocking; + + /** * Ignore injected maven projetc */ - @Parameter ( defaultValue = "false") + @Parameter(defaultValue = "false") private boolean ignoreMavenProject; public void execute() throws MojoExecutionException { getLog().info("Executing with maven project " + mavenProject + " for session " + mavenSession); - if ( quiet ) - { + if (quiet) { disableLogging(); } + + // Blocking case. + if (blocking) { + final String key = format("%s:%s", plugin.getGroupId(), plugin.getArtifactId()); + + try { + lock(key); + + getLog().info(String.format("Executing '%s' in blocking mode.", key)); + + //Put your code here. + //For different keys it is executed in parallel. + //For equal keys it is executed synchronously. + executeMojoImpl(); + + } catch (InterruptedException e) { + final String failed = "Failed to execute mojo"; + getLog().error(failed, e); + throw new MojoExecutionException(failed, e); + } finally { + unlock(key); + + getLog().info(String.format("Released '%s' block.", key)); + } + } else { + // Non blocking case. + executeMojoImpl(); + } + } + + private void executeMojoImpl() throws MojoExecutionException { executeMojo(plugin, goal, toXpp3Dom(configuration), - (ignoreMavenProject ? - executionEnvironment( mavenSession, pluginManager) : - executionEnvironment( mavenProject, mavenSession, pluginManager))); + (ignoreMavenProject ? + executionEnvironment(mavenSession, pluginManager) : + executionEnvironment(mavenProject, mavenSession, pluginManager))); } private void disableLogging() throws MojoExecutionException { @@ -122,4 +160,19 @@ slf4jConfiguration.setRootLoggerLevel(Slf4jConfiguration.Level.ERROR); slf4jConfiguration.activate(); } + + private void lock(String key) throws InterruptedException { + synchronized (lockedKeys) { + while (!lockedKeys.add(key)) { + lockedKeys.wait(); + } + } + } + + private void unlock(String key) { + synchronized (lockedKeys) { + lockedKeys.remove(key); + lockedKeys.notifyAll(); + } + } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mojo-executor-mojo-executor-parent-2.3.1/pom.xml new/mojo-executor-mojo-executor-parent-2.4.0/pom.xml --- old/mojo-executor-mojo-executor-parent-2.3.1/pom.xml 2019-11-21 10:49:07.000000000 +0100 +++ new/mojo-executor-mojo-executor-parent-2.4.0/pom.xml 2022-03-10 06:29:04.000000000 +0100 @@ -25,7 +25,7 @@ <groupId>org.twdata.maven</groupId> <artifactId>mojo-executor-parent</artifactId> - <version>2.3.1</version> + <version>2.4.0</version> <packaging>pom</packaging> <name>Mojo Executor Parent</name> @@ -33,7 +33,7 @@ The Mojo Executor provides a way to to execute other Mojos (plugins) within a Maven plugin, allowing you to easily create Maven plugins that are composed of other plugins. </description> - <url>http://timmoore.github.com/mojo-executor/</url> + <url>https://mojo-executor.github.io/mojo-executor/</url> <inceptionYear>2008</inceptionYear> <licenses> <license> @@ -60,6 +60,14 @@ <role>Current Maintainer</role> </roles> </developer> + <developer> + <id>rnc</id> + <name>Nick Cross</name> + <email>ncr...@redhat.com</email> + <roles> + <role>Current Maintainer</role> + </roles> + </developer> </developers> <contributors> <contributor> @@ -79,7 +87,7 @@ </contributor> <contributor> <name>Gili Tzabari</name> - <email>cow...@bbs.darktech.org</email> + <email>cowwoc2...@gmail.com</email> </contributor> <contributor> <name>Joseph Walton</name> @@ -93,23 +101,25 @@ </modules> <scm> - <connection>scm:git:git://github.com/TimMoore/mojo-executor.git</connection> - <developerConnection>scm:git:ssh://g...@github.com/TimMoore/mojo-executor.git</developerConnection> - <url>https://github.com/TimMoore/mojo-executor</url> - <tag>mojo-executor-parent-2.3.1</tag> + <connection>scm:git:https://github.com/mojo-executor/mojo-executor.git</connection> + <developerConnection>scm:git:ssh://g...@github.com/mojo-executor/mojo-executor.git</developerConnection> + <url>https://github.com/mojo-executor/mojo-executor</url> + <tag>mojo-executor-parent-2.4.0</tag> </scm> <issueManagement> <system>GitHub</system> - <url>https://github.com/TimMoore/mojo-executor/issues</url> + <url>https://github.com/mojo-executor/mojo-executor/issues</url> </issueManagement> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> - <maven.version>3.5.0</maven.version> + <maven.version>3.3.1</maven.version><!-- this is the minimum Maven distribution being supported --> </properties> <dependencyManagement> <dependencies> + <!-- dependencies exposed from the Maven Core classloader (https://maven.apache.org/guides/mini/guide-maven-classloading.html#2-core-classloader) + exported via https://github.com/apache/maven/blob/maven-3.3.1/maven-core/src/main/resources/META-INF/maven/extension.xml --> <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven</artifactId> @@ -125,17 +135,29 @@ <dependency> <groupId>org.apache.maven.plugin-tools</groupId> <artifactId>maven-plugin-annotations</artifactId> - <version>3.4</version> + <version>3.6.4</version> </dependency> <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-embedder</artifactId> - <version>3.3.1</version> + <version>${maven.version}</version> </dependency> <dependency> <groupId>org.codehaus.plexus</groupId> <artifactId>plexus-utils</artifactId> - <version>2.1</version> + <version>3.0.24</version><!-- should match version exported from Maven: https://github.com/apache/maven/blob/cab6659f9874fa96462afef40fcf6bc033d58c1c/pom.xml#L52 + Using slightly newer (forward-compatible) version to silence warnings from security scanners + --> + </dependency> + <dependency> + <groupId>org.eclipse.sisu</groupId> + <artifactId>org.eclipse.sisu.plexus</artifactId> + <version>0.3.0</version><!-- must match version exported from Maven: https://github.com/apache/maven/blob/cab6659f9874fa96462afef40fcf6bc033d58c1c/pom.xml#L56 --> + </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + <version>1.7.5</version><!-- must match version exported from Maven: https://github.com/apache/maven/blob/cab6659f9874fa96462afef40fcf6bc033d58c1c/pom.xml#L63 --> </dependency> <dependency> @@ -146,35 +168,30 @@ <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> - <version>4.12</version> + <version>4.13.2</version> <scope>test</scope> </dependency> <dependency> <groupId>org.hamcrest</groupId> <artifactId>hamcrest-core</artifactId> - <version>1.3</version> + <version>2.2</version> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> - <version>1.8.5</version> + <version>4.3.1</version> <scope>test</scope> </dependency> <dependency> - <groupId>commons-lang</groupId> - <artifactId>commons-lang</artifactId> - <version>2.5</version> - </dependency> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-api</artifactId> - <version>1.7.25</version> + <groupId>org.apache.commons</groupId> + <artifactId>commons-lang3</artifactId> + <version>3.12.0</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> - <version>1.7.25</version> + <version>1.7.5</version> </dependency> </dependencies> </dependencyManagement> @@ -185,7 +202,7 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> - <version>3.8.1</version> + <version>3.9.0</version> <configuration> <source>1.8</source> <target>1.8</target> @@ -194,22 +211,22 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-plugin-plugin</artifactId> - <version>3.6.0</version> + <version>3.6.4</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-invoker-plugin</artifactId> - <version>3.2.1</version> + <version>3.2.2</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-deploy-plugin</artifactId> - <version>2.8.2</version> + <version>3.0.0-M2</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> - <version>3.1.1</version> + <version>3.3.1</version> <executions> <execution> <id>attach-javadocs</id> @@ -225,12 +242,12 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> - <version>3.1.0</version> + <version>3.2.1</version> </plugin> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> - <version>0.8.4</version> + <version>0.8.7</version> <executions> <execution> <goals> @@ -251,7 +268,7 @@ <plugins> <plugin> <artifactId>maven-enforcer-plugin</artifactId> - <version>3.0.0-M2</version> + <version>3.0.0</version> <executions> <execution> <id>enforce-dependencies</id> @@ -311,7 +328,7 @@ <plugins> <plugin> <artifactId>maven-gpg-plugin</artifactId> - <version>1.6</version> + <version>3.0.1</version> <executions> <execution> <id>sign-artifacts</id>