Hi Robert,

I have very similar issue in  apache/maven-resolver on my PC.
I don't know if the root cause is identical with the one you described in
your email regarding the parameter mavenOpts and shared environment
variable but I am sure you can reproduce it too.
These are my reprosteps:

1. clone the project apache/maven-resolver
2. use JDK 1.8 in JAVA_HOME
3. run the build "mvn install -P run-its"

The build fails with:

[ERROR] The following builds failed:
The following builds failed:
*  build-and-run-its\pom.xml
*  build-archetype\pom.xml
*  build-ignore-eol\pom.xml

When you open
maven-archetype-plugin/target/it/projects/build-and-run-its/build.log you
will have the error which is typical for JDK7. The issue is that I executed
the build with JDK8.
"Received fatal alert: protocol_version".

Here is my console output:

[INFO] [INFO] --------------------------------[ jar
]---------------------------------
[INFO] [INFO] Downloading from local.central:
file:///C:/vcs/github/maven-archetype/maven-archetype-plugin/target/local-repo/org/apache/maven/plugins/maven-resources-plugin/2.6/maven-resources-plugin-2.6.pom
[INFO] [INFO] Downloading from central:
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-resources-plugin/2.6/maven-resources-plugin-2.6.pom
[INFO] [INFO] 
------------------------------------------------------------------------
[INFO] [INFO] BUILD FAILURE
[INFO] [INFO] 
------------------------------------------------------------------------
[INFO] [INFO] Total time:  1.286 s
[INFO] [INFO] Finished at: 2019-07-26T14:15:54+02:00
[INFO] [INFO] 
------------------------------------------------------------------------
[INFO] [ERROR] Plugin
org.apache.maven.plugins:maven-resources-plugin:2.6 or one of its
dependencies could not be resolved: Failed to read artifact descriptor
for org.apache.maven.plugins:maven-resources-plugin:jar:2.6: Could not
transfer artifact
org.apache.maven.plugins:maven-resources-plugin:pom:2.6 from/to
central (https://repo.maven.apache.org/maven2): Received fatal alert:
protocol_version -> [Help 1]
[INFO] org.apache.maven.plugin.PluginResolutionException: Plugin
org.apache.maven.plugins:maven-resources-plugin:2.6 or one of its
dependencies could not be resolved: Failed to read artifact descriptor
for org.apache.maven.plugins:maven-resources-plugin:jar:2.6
[INFO]     at 
org.apache.maven.plugin.internal.DefaultPluginDependenciesResolver.resolve
(DefaultPluginDependenciesResolver.java:117)
[INFO]     at 
org.apache.maven.plugin.internal.DefaultMavenPluginManager.getPluginDescriptor
(DefaultMavenPluginManager.java:182)






On Fri, Jul 26, 2019 at 1:23 PM Robert Scholte <rfscho...@apache.org> wrote:

> Looks like the same issue as there was with the maven site plugin: the
> failing it was using mavenOpts as well.
> I'm pretty sure that mavenOpts is not isolated and can be changed by any
> other process on the same server.
> Instead one should be using test.properties to pass those properties,
> which are isolated.
>
> Robert
>
> On Thu, 25 Jul 2019 14:20:53 +0200, Tibor Digana <tibordig...@apache.org>
>
> wrote:
>
> > Just one remark from me:
> > I have got successful build with Surefire but it is strange because I
> > cannot explain why my change did it successful ;-) - pls help to
> explain
> > it:
> > https://builds.apache.org/job/maven-box/job/maven-surefire/job/TLS1.2/
> >
> > Before I did this in the configuration of "maven-invoker-plugin":
> > <mavenOpts>-Dhttps.protocols=TLSv1.2</mavenOpts>
> > and the the build always failed on JDK7.
> >
> > Then I pushed a branch named "TLS1.2" and added system property:
> > The build is successful now!. But why? The Maven JVM is a forked process,
> > isn't it?
> > Both, the MAVEN_OPTS and system properties should go to the CLI
> > arguments,
> > right? So there should not be any difference but obviously there is!
> >
> > <properties>
> >     <https.protocols>TLSv1.2</https.protocols>
> > </properties>
> >
> > Thx for clarification in advance!
> > Tibor
> >
> >
> > On Thu, Jul 25, 2019 at 8:38 AM Robert Scholte <rfscho...@apache.org>
> > wrote:
> >
> >> I've invested a lot of time when the TLSv1.2 became a requirement and
> >> this
> >> is the best solution:
> >> - pass https.protocols to plugin configuration when a new JVM is started
> >> (if it is not set, it'll be ignored)
> >> - this is based on the fact that if you have a clean repo you must pass
> >> this value anyway.
> >> - this property must be forward compatible: if TLS1.3 is the new
> >> default,
> >> we should never reduce it to TLSv1.2
> >>
> >> If the UK mirror still allows TLSv1.1, then *that* should be fixed, not
> >> the current configuration of plugins.
> >>
> >> thanks,
> >> Robert
> >>
> >> On Wed, 24 Jul 2019 23:37:31 +0200, Clemens Quoss <clem...@quoss.de>
> >> wrote:
> >>
> >> > Hi Robert,
> >> > well it is already handled in the POM only for JDK 7:
> >> >
> >> > ...
> >> >      <profile>
> >> >        <id>jdk7</id>
> >> >        <activation>
> >> >          <jdk>(,1.7]</jdk>
> >> >        </activation>
> >> >        <build>
> >> >          <plugins>
> >> >            <plugin>
> >> > <groupId>org.apache.maven.plugins</groupId>
> >> > <artifactId>maven-invoker-plugin</artifactId>
> >> >              <configuration>
> >> >                <properties combine.children="merge">
> >> > <https.protocols>${https.protocols}</https.protocols>
> >> > <arguments>-Dhttps.protocols=${https.protocols}</arguments>
> >> >                </properties>
> >> >              </configuration>
> >> >            </plugin>
> >> >          </plugins>
> >> >        </build>
> >> >      </profile>
> >> > ...
> >> >
> >> > Of course, this only takes care of when you release something with the
> >> > plugin using JDK 7.  When building maven-release itself you will have
> >> to
> >> > provide the system property for JDK 7, but not when using UK mirror
> >> ;-)
> >> >
> >> > Cheers, Clemens
> >> >
> >> > Am 24.07.2019 um 23:20 schrieb Robert Scholte:
> >> >> Hi Clemens,
> >> >>
> >> >> We need to stay as close as possible to the real world.
> >> >> With JDK8+ it should work without its being set, so the preferred way
> >> >> it to execute it without the value being set.
> >> >> And this way, once we must move TLS 1.3 we don't have to change all
> >> our
> >> >> tests.
> >> >> Here's how we do it with our Jenkins script[1], only  activate it for
> >> >> Java 7.
> >> >>
> >> >> Robert
> >> >>
> >> >> [1]
> >> >>
> >>
> https://github.com/apache/maven-jenkins-lib/blob/master/vars/asfMavenTlpPlgnBuild.groovy#L128-L131
> >> >>
> >> >> On Wed, 24 Jul 2019 23:03:22 +0200, Clemens Quoss <clem...@quoss.de>
> >> >> wrote:
> >> >>
> >> >>> Hi Robert,
> >> >>> if TLSv1.2 is needed, then why not put it explicitly into the pom in
> >> >>> line 266 [0] instead of using ${https.protocols}?
> >> >>>
> >> >>> Cheers, Clemens
> >> >>>
> >> >>> [0]
> >> >>>
> >>
> https://github.com/apache/maven-release/blob/a94c76f77ef8df1b82e9eef370412ce9b23083a0/maven-release-plugin/pom.xml#L266
> >> >>>
> >> >>> Am 23.07.2019 um 19:33 schrieb Robert Scholte:
> >> >>>> Hi Clemens,
> >> >>>>
> >> >>>> please see
> >> >>>>
> >>
> https://central.sonatype.org/articles/2018/May/04/discontinued-support-for-tlsv11-and-below/
> >> >>>> We'll need to contact Sonatype and verify if they included
> >> >>>> http://uk.maven.org/maven2/  as well (they should...)
> >> >>>>
> >> >>>> However, AFAIK nowadays there's no need anymore to explicitly refer
> >> >>>> to uk, it is already handled by Central CDN
> >> >>>>
> >> >>>> thanks,
> >> >>>> Robert
> >> >>>> On 23-7-2019 00:01:06, Clemens Quoss <clem...@quoss.de> wrote:
> >> >>>> Hi Robert,
> >> >>>> thanks for the insight.  Shouldn't it fail with JDK 7 Update 80
> >> even
> >> >>>> with this parameter since the backport for TLSv1.2 came with Update
> >> >>>> 95 [0]?
> >> >>>> Since when does this requirement exist?  Just checked it:  I'm
> >> using
> >> >>>> UK
> >> >>>> mirror [1].  This works without TLSv1.2. Maybe thats why i didn't
> >> >>>> noticed before.
> >> >>>> But we had problem at work contacting the Atlassian Repo from our
> >> >>>> Nexus
> >> >>>> that ran with JDK 7 Update 80.  In that case we switched back to
> >> JDK 6
> >> >>>> Update 211.
> >> >>>>
> >> >>>> Cheers, Clemens
> >> >>>>
> >> >>>> [0]
> >> >>>>
> >>
> https://stackoverflow.com/questions/49523052/how-to-enable-tlsv1-2-in-java-7u80-client
> >>
> >> >>>> [1] http://uk.maven.org/maven2/
> >> >>>>
> >> >>>> Am 22.07.2019 um 23:45 schrieb Robert Scholte:
> >> >>>>> The plugin is indeed still Java 7 compatible, but that means you
> >> must
> >> >>>>> execute it with -Dhttps.protocols=TLSv1.2 when building it with
> >> JDK
> >> >>>>> 7,
> >> >>>>> otherwise it'll fail because this is a requirement when
> >> downloading
> >> >>>>> from Central.
> >> >>>>> Our CI server scripts already add this argument when running with
> >> >>>>> Java
> >> >>>>> 7, on your local machine it must be done by hand. This is not
> >> >>>>> restricted to the integration tests. Try to remove your local repo
> >> >>>>> and
> >> >>>>> start any project running with Maven and Java 7, it'll fail very
> >> >>>>> fast,
> >> >>>>> i.e. by the first plugin.
> >> >>>>>
> >> >>>>> thanks,
> >> >>>>> Robert
> >> >>>>>
> >> >>>>> On Sun, 14 Jul 2019 11:52:15 +0200, Clemens Quoss
> >> >>>>> wrote:
> >> >>>>>
> >> >>>>>> Hello everyone,
> >> >>>>>>
> >> >>>>>> I have provided a PR for MRELEASE-229 [1] and added some JUnit
> >> tests
> >> >>>>>> recently.
> >> >>>>>>
> >> >>>>>> Now I was wondering if i should provide an IT, too, and had a
> >> look
> >> >>>>>> into it:
> >> >>>>>>
> >> >>>>>> Running
> >> >>>>>>
> >> >>>>>> mvn verify -Prun-its
> >> >>>>>>
> >> >>>>>> with Maven 3.6.1 and JDK 7 Update 80 fails:
> >> >>>>>>
> >> >>>>>> ...
> >> >>>>>>
> >> >>>>>> [INFO] Building: projects\perform\MRELEASE-459\pom.xml
> >> >>>>>> [INFO] run post-build script verify.groovy
> >> >>>>>> [INFO]   The post-build script did not succeed. assert
> >> >>>>>> matcher.find()
> >> >>>>>>          |       |
> >> >>>>>>          |       false
> >> >>>>>>          java.util.regex.Matcher[pattern=\Q[DEBUG] Additional
> >> >>>>>> arguments: \E(?:-Dhttps.protocols=TLSv1.2
> >> >>>>>> )?-P(.+)\Q-DperformRelease=true -f pom.xml\E region=0,154745
> >> >>>>>> lastmatch=]
> >> >>>>>> [INFO]           projects\perform\MRELEASE-459\pom.xml
> >> ............
> >> >>>>>> FAILED (10.4 s)
> >> >>>>>>
> >> >>>>>> ...
> >> >>>>>>
> >> >>>>>> IMHO it has something to do with TLSv1.2 not being backported
> to
> >> JDK
> >> >>>>>> 7 Update 80.  But i may be wrong.
> >> >>>>>>
> >> >>>>>> With JDK 8 Update 212 the tests run successfully.
> >> >>>>>>
> >> >>>>>> My question is:  Should the IT still run with JDK 7?  I thought
> >> so
> >> >>>>>> since maven-release can still be build with it.  If some
> >> versions of
> >> >>>>>> JDKs are not capable of being used for IT, shouldn't the IT run
> >> fail
> >> >>>>>> fast (by enforcing the eligible versions)?
> >> >>>>>>
> >> >>>>>> That was one question I have now redarding the ITs of
> >> maven-release.
> >> >>>>>> I post my other questions in separate mails.
> >> >>>>>>
> >> >>>>>> Regards,
> >> >>>>>>
> >> >>>>>> Clemens
> >> >>>>>>
> >> >>>>>> [1] https://github.com/apache/maven-release/pull/29
> >> >>>>>>
> >> >>>>>>
> >> >>>>>>
> >> >>>>>>
> >> ---------------------------------------------------------------------
> >> >>>>>> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
> >> >>>>>> For additional commands, e-mail: dev-h...@maven.apache.org
> >> >>>>>
> >> ---------------------------------------------------------------------
> >> >>>>> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
> >> >>>>> For additional commands, e-mail: dev-h...@maven.apache.org
> >> >>>>>
> >> >>>>
> >> ---------------------------------------------------------------------
> >> >>>> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
> >> >>>> For additional commands, e-mail: dev-h...@maven.apache.org
> >> >>>>
> >> >>
> >> >> ---------------------------------------------------------------------
> >> >> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
> >> >> For additional commands, e-mail: dev-h...@maven.apache.org
> >> >>
> >> >
> >> > ---------------------------------------------------------------------
> >> > To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
> >> > For additional commands, e-mail: dev-h...@maven.apache.org
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
> >> For additional commands, e-mail: dev-h...@maven.apache.org
> >>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
> For additional commands, e-mail: dev-h...@maven.apache.org
>
>

Reply via email to