commons-lang3:3.7 is used in internal tests only, because some tests are
only related to Java 9+, but it has nothing to do with plugin itself.
The plugin shades (re-packages) to another package with lang3:3.5.
The PpidChecker is using it but it does not use the field IS_JAVA_9. It
uses IS_OS_UNIX etc but not the Java Version etc.

We should both extract the jar files where the commons-lang3 was inlined
and repackaged by maven-shade-plugin and check min/max java version.

I run several tests with Java 10 and everything was successful.
I used in-plugin execution, forked mode on Surefire and still positive
result.

Let's check the bytecode now.


On Sun, Feb 18, 2018 at 12:54 PM, Olivier Lamy <ol...@apache.org> wrote:

> There is definitely something I don't understand with this configuration:
> <plugin>
>   <artifactId>maven-surefire-plugin</artifactId>
>   <dependencies>
>     <dependency>
>       <groupId>org.apache.maven.surefire</groupId>
>       <artifactId>surefire-shadefire</artifactId>
>       <version>2.12.4</version> <!-- ${shadedVersion}, but resolved due to
> https://issues.apache.org/jira/browse/MRELEASE-799 -->
>     </dependency>
>     <dependency>
>       <!-- todo remove in version 3.0. Hack only forces to download it into
> an empty local repo. -->
>       <groupId>org.apache.commons</groupId>
>       <artifactId>commons-lang3</artifactId>
>       <version>3.7</version>
>     </dependency>
>   </dependencies>
>   <configuration>
>     <includes>
>       <include>**/JUnit4SuiteTest.java</include>
>     </includes>
>     <!--todo in version 3.0 remove old commons-lang3 and use 3.7+ -->
>     <classpathDependencyExcludes>
>       <classpathDependencyExclude>org.apache.commons:commons-lang3</
> classpathDependencyExclude>
>     </classpathDependencyExcludes>
>     <additionalClasspathElements>
>       <additionalClasspathElement>${maven.repo.local}/org/apache/
> commons/commons-lang3/3.7/commons-lang3-3.7.jar</
> additionalClasspathElement>
>     </additionalClasspathElements>
>   </configuration>
>
>
> you don't need this hack to force download (commons-lang3 is a project
> dependency so it will be downloaded.
> Then you use classpathDependencyExcludes and additionalClasspathElements
> for the same artifact
>  AFICS PpidChecker or SystemUtils use it.
> Please can you explain?
>
>
>
> On 18 February 2018 at 13:58, Olivier Lamy <ol...@apache.org> wrote:
>
> > locally
> >
> >  mvn clean install -Djdk.home=/Library/Java/JavaVirtualMachines/jdk-10.
> jdk/Contents/Home
> > -Djacoco.skip=true
> >
> > Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang3.
> > SystemUtils
> >
> > at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:466)
> >
> > at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:566)
> >
> > at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)
> >
> > at org.apache.maven.surefire.shadefire.booter.
> > IsolatedClassLoader.loadClass(IsolatedClassLoader.java:97)
> >
> > ... 44 more
> >
> > Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang3.
> > SystemUtils
> >
> > at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:466)
> >
> > at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:566)
> >
> > at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)
> >
> > at org.apache.maven.surefire.shadefire.booter.
> > IsolatedClassLoader.loadClass(IsolatedClassLoader.java:97)
> >
> >
> >
> >
> > On 18 February 2018 at 13:44, Tibor Digana <tibordig...@apache.org>
> wrote:
> >
> >> The Jenkins CI was shutdown for several hours. So the HEAD was not
> taken.
> >> I can trigger the build manually.
> >>
> >> Cheers
> >> Tibor
> >>
> >> On Sun, Feb 18, 2018 at 4:39 AM, Tibor Digana <tibordig...@apache.org>
> >> wrote:
> >>
> >> > I will explain again everything.
> >> > Do not worry, please.
> >> >
> >> > The build won't fail if you use -Djdk.home=/path/to/jdk. We don't have
> >> to
> >> > force the users to change JDK if they are fine with 1.6.
> >> > The library commons-lang3:3.7 was especially needed during our testing
> >> but
> >> > not in the main code, therefore Java 1.6 is still fine for this plugin
> >> > because the "os.version" is not read from this library.
> >> > It is also written in README.md on how to build the project. It is
> also
> >> > safe for release plugin.
> >> > The Jenkins CI passed: https://builds.apache.org/job/
> >> > maven-wip/job/maven-surefire/job/SUREFIRE-1463/
> >> > The information in master is old one - not related to current HEAD on
> >> > master.
> >> > The reason is that the libraries can still use javac compiler with
> >> > "-source 1.6" but the integration tests are important, not the
> compiler.
> >> > Did you see this job?
> >> > https://builds.apache.org/job/maven-wip/job/maven-surefire/
> >> > job/SUREFIRE-1463/
> >> >
> >> > Cheers
> >> > Tibor
> >> >
> >> >
> >> > On Sun, Feb 18, 2018 at 4:24 AM, Olivier Lamy <ol...@apache.org>
> wrote:
> >> >
> >> >> and now master fail again with jdk10...
> >> >> Why are you reverting my changes?
> >> >> As said in an email I wanted to have something working with jdk10.
> >> >> So please first discuss on the email thread if you are not happy with
> >> my
> >> >> changes...
> >> >>
> >> >>
> >> >> On 18 February 2018 at 10:36, <tibordig...@apache.org> wrote:
> >> >>
> >> >> > Revert "[SUREFIRE-1473] upgrade commons-lang3 to avoid NPE on
> jdk10"
> >> >> >
> >> >> > This reverts commit 8bcf1f14a8697ef3359d7598fbd8062a687f2d5a.
> >> >> >
> >> >> >
> >> >> > Project: http://git-wip-us.apache.org/
> repos/asf/maven-surefire/repo
> >> >> > Commit: http://git-wip-us.apache.org/repos/asf/maven-surefire/
> >> >> > commit/5e732c6b
> >> >> > Tree: http://git-wip-us.apache.org/repos/asf/maven-surefire/tree/5
> >> >> e732c6b
> >> >> > Diff: http://git-wip-us.apache.org/repos/asf/maven-surefire/diff/5
> >> >> e732c6b
> >> >> >
> >> >> > Branch: refs/heads/master
> >> >> > Commit: 5e732c6b2a87026ac56032cc8b2b7e8e92e6aa7e
> >> >> > Parents: 3c41c55
> >> >> > Author: Tibor17 <tibordig...@apache.org>
> >> >> > Authored: Sun Feb 18 00:13:42 2018 +0100
> >> >> > Committer: Tibor17 <tibordig...@apache.org>
> >> >> > Committed: Sun Feb 18 00:13:42 2018 +0100
> >> >> >
> >> >> > ------------------------------------------------------------
> >> ----------
> >> >> >  pom.xml | 2 +-
> >> >> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >> >> > ------------------------------------------------------------
> >> ----------
> >> >> >
> >> >> >
> >> >> > http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/
> >> >> > 5e732c6b/pom.xml
> >> >> > ------------------------------------------------------------
> >> ----------
> >> >> > diff --git a/pom.xml b/pom.xml
> >> >> > index 2bcb0d7..3592b31 100644
> >> >> > --- a/pom.xml
> >> >> > +++ b/pom.xml
> >> >> > @@ -89,7 +89,7 @@
> >> >> >      <mavenVersion>2.2.1</mavenVersion>
> >> >> >      <!-- <shadedVersion>2.12.4</shadedVersion> commented out due
> to
> >> >> > https://issues.apache.org/jira/browse/MRELEASE-799 -->
> >> >> >      <mavenPluginPluginVersion>3.5</mavenPluginPluginVersion>
> >> >> > -    <commonsLang3Version>3.7</commonsLang3Version>
> >> >> > +    <commonsLang3Version>3.5</commonsLang3Version>
> >> >> >      <commonsIoVersion>2.5</commonsIoVersion>
> >> >> >      <mavenSharedUtilsVersion>0.9</mavenSharedUtilsVersion>
> >> >> >      <powermockVersion>2.0.0-beta.5</powermockVersion>
> >> >> >
> >> >> >
> >> >>
> >> >>
> >> >> --
> >> >> Olivier Lamy
> >> >> http://twitter.com/olamy | http://linkedin.com/in/olamy
> >> >>
> >> >
> >> >
> >>
> >
> >
> >
> > --
> > Olivier Lamy
> > http://twitter.com/olamy | http://linkedin.com/in/olamy
> >
>
>
>
> --
> Olivier Lamy
> http://twitter.com/olamy | http://linkedin.com/in/olamy
>

Reply via email to