[VOTE] Release Apache Maven Surefire Plugin version 2.22.3

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

[VOTE] Release Apache Maven Surefire Plugin version 2.22.3

Tibor Digana
Hi,

We solved 2 issues:
https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12317927&version=12345472

There are still a couple of issues left in JIRA:
https://issues.apache.org/jira/issues/?jql=project%20%3D%20SUREFIRE%20AND%20status%20%3D%20Open%20ORDER%20BY%20priority%20DESC

Staging repo:
https://repository.apache.org/content/repositories/maven-1572/
https://repository.apache.org/content/repositories/maven-1572/org/apache/maven/surefire/surefire/2.22.3/surefire-2.22.3-source-release.zip

Source release checksum(s):

surefire-2.22.3-source-release.zip sha512::
c1533ed45fd3119d028a4914ca7557acfbfea5218b5536bbafeed4b33845486b976f20b39334e2917636e3739240478ca46bd25a0dc011e5fb2aa85033e9e959
surefire-2.22.3-source-release.zip sha1:
2db957105d2929911927482c8d2198bd6ef718a7


Staging site:
N/A - we do not want to override new site with old versions 2.22.x

Guide to testing staged releases:
http://maven.apache.org/guides/development/guide-testing-releases.html

Vote open for 72 hours.

[ ] +1
[ ] +0
[ ] -1

--
Cheers
Tibor

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: [VOTE] Release Apache Maven Surefire Plugin version 2.22.3

Stephane Nicoll
Thanks but that doesn't really answer my question. That version is picked
up by dependency management of the project as far as I can tell. If a
project does provide an older junit engine version the build will break.

If you meant to "force" a single version then I'd argue that you shouldn't
resolve the one provided in dependency management for the project. I also
find this change quite suspicious in a maintenance release.



On Mon, May 4, 2020 at 5:03 PM Romain Manni-Bucau <[hidden email]>
wrote:

> Hi Stephane,
>
> AFAIK the choice with 2.22 maintenance for now was to keep using a single
> junit5 version as originally and if only support more flexibility with 3.x.
> Think it makes sense for now but if you want to PR 2.22 to backport 3.x
> work I guess it can be discussed too in another thread.
>
> Romain Manni-Bucau
> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> <https://rmannibucau.metawerx.net/> | Old Blog
> <http://rmannibucau.wordpress.com> | Github <
> https://github.com/rmannibucau> |
> LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
> <
> https://www.packtpub.com/application-development/java-ee-8-high-performance
> >
>
>
> Le lun. 4 mai 2020 à 16:35, Stephane Nicoll <[hidden email]> a
> écrit :
>
> > An update. This may be the other fixed issue in that release actually
> > (SUREFIRE-1764). Is JUnit engine 1.6.1 now mandatory? What happens for
> > projects that are using an older JUnit version?
> >
> > On Mon, May 4, 2020 at 3:59 PM Stephane Nicoll <
> [hidden email]>
> > wrote:
> >
> > > I am not sure that SUREFIRE-1679 is fixed. I've ran the Spring Boot
> build
> > > with 2.22.2 and reproduced the error there. Upgrading to this candidate
> > > release and I got this error.
> > >
> > > [ERROR] Failed to execute goal
> > > org.apache.maven.plugins:maven-surefire-plugin:2.22.3:test
> (default-test)
> > > on project spring-boot-configuration-metadata: There are test failures.
> > > [ERROR]
> > > [ERROR] Please refer to
> > >
> >
> /Users/snicoll/workspace/work/spring-boot/2.2.x/spring-boot-project/spring-boot-tools/spring-boot-configuration-metadata/target/surefire-reports
> > > for the individual test results.
> > > [ERROR] Please refer to dump files (if any exist) [date].dump,
> > > [date]-jvmRun[N].dump and [date].dumpstream.
> > > [ERROR] There was an error in the forked process
> > > [ERROR] java.lang.NoClassDefFoundError:
> > > org/junit/platform/engine/EngineDiscoveryListener
> > > [ERROR] org.apache.maven.surefire.booter.SurefireBooterForkException:
> > > There was an error in the forked process
> > > [ERROR] java.lang.NoClassDefFoundError:
> > > org/junit/platform/engine/EngineDiscoveryListener
> > > [ERROR] at
> > >
> >
> org.apache.maven.plugin.surefire.booterclient.ForkStarter.fork(ForkStarter.java:656)
> > > [ERROR] at
> > >
> >
> org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:282)
> > > [ERROR] at
> > >
> >
> org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:245)
> > > [ERROR] at
> > >
> >
> org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeProvider(AbstractSurefireMojo.java:1186)
> > > [ERROR] at
> > >
> >
> org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeAfterPreconditionsChecked(AbstractSurefireMojo.java:1014)
> > > [ERROR] at
> > >
> >
> org.apache.maven.plugin.surefire.AbstractSurefireMojo.execute(AbstractSurefireMojo.java:860)
> > >
> > > See https://github.com/spring-projects/spring-boot/issues/19631
> > >
> > > On Sun, May 3, 2020 at 11:44 PM Tibor Digana <[hidden email]>
> > > wrote:
> > >
> > >> Hi,
> > >>
> > >> We solved 2 issues:
> > >>
> > >>
> >
> https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12317927&version=12345472
> > >>
> > >> There are still a couple of issues left in JIRA:
> > >>
> > >>
> >
> https://issues.apache.org/jira/issues/?jql=project%20%3D%20SUREFIRE%20AND%20status%20%3D%20Open%20ORDER%20BY%20priority%20DESC
> > >>
> > >> Staging repo:
> > >> https://repository.apache.org/content/repositories/maven-1572/
> > >>
> > >>
> >
> https://repository.apache.org/content/repositories/maven-1572/org/apache/maven/surefire/surefire/2.22.3/surefire-2.22.3-source-release.zip
> > >>
> > >> Source release checksum(s):
> > >>
> > >> surefire-2.22.3-source-release.zip sha512::
> > >>
> > >>
> >
> c1533ed45fd3119d028a4914ca7557acfbfea5218b5536bbafeed4b33845486b976f20b39334e2917636e3739240478ca46bd25a0dc011e5fb2aa85033e9e959
> > >> surefire-2.22.3-source-release.zip sha1:
> > >> 2db957105d2929911927482c8d2198bd6ef718a7
> > >>
> > >>
> > >> Staging site:
> > >> N/A - we do not want to override new site with old versions 2.22.x
> > >>
> > >> Guide to testing staged releases:
> > >>
> http://maven.apache.org/guides/development/guide-testing-releases.html
> > >>
> > >> Vote open for 72 hours.
> > >>
> > >> [ ] +1
> > >> [ ] +0
> > >> [ ] -1
> > >>
> > >> --
> > >> Cheers
> > >> Tibor
> > >>
> > >> ---------------------------------------------------------------------
> > >> To unsubscribe, e-mail: [hidden email]
> > >> For additional commands, e-mail: [hidden email]
> > >>
> > >>
> >
>
Reply | Threaded
Open this post in threaded view
|

Re: [VOTE] Release Apache Maven Surefire Plugin version 2.22.3

Romain Manni-Bucau
Hmm, this particular one is quite hard cause (from my window which is not
100% of users indeed) I see more users willing 1.6 (actually I should
phrase it "upgrade to last junit5 when upgrading surefire") than other
cases.
Concretely, older versions will not upgrade surefire generally.
I think we are "just" in a case where you encounter a bug with a release
policy preventing to go to 3.x and this is why you want this particular
case.
Anyone has another view of users? (point being: if we downgrade and break
all users not using spring boot parent we are exactly at the same point so
let's try to avoid that).

So question for me is:

1. Do we stick to that strategy and if so which version do we pick for
2.22.x and do we freeze this version?
1.a. junit 5.6
1.b. junit 5.3
1.c junit 5.5 (aka spring-boot current one AFAIK)
2. Do we backport 3.x strategy (or an enhanced flavor we do in 3.x and
2.22.x)?
3. Do we (just) document junit-platform* must be explicitly set in project
dependencies for 2.22? (side note there: doc/website of 2.22 seems no more
directly accessible online, is it intended since here the config is
different?)
4. Do we just do a 3.0.0? (M4 is proven quite stable now so we could
mitigate coming changes which are not testing provider related I think)

I'd be for 1 (whatever version works) or 3 since it is the least investment
very short term and enables to go with 4 as soon as ready.

Hope it makes sense.

Romain Manni-Bucau
@rmannibucau <https://twitter.com/rmannibucau> |  Blog
<https://rmannibucau.metawerx.net/> | Old Blog
<http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> |
LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
<https://www.packtpub.com/application-development/java-ee-8-high-performance>


Le lun. 4 mai 2020 à 20:42, Stephane Nicoll <[hidden email]> a
écrit :

> OK. With that in mind, I think the surefire plugin shouldn't require a
> newer version of JUnit in a maintenance release that way. I understand it's
> fixed and can lead to problem anyway but there will be less problems if you
> rely on an older version and backward compatiblity if a newer version is
> around. I think we need to weigh what that change brings vs. the impact on
> existing users upgrading to 2.22.3
>
> On Mon, May 4, 2020 at 7:36 PM Romain Manni-Bucau <[hidden email]>
> wrote:
>
> > Yes but with transitive game it is not well positionned in the classpath
> > (once again not saying it is "right", just the way it was done
> originally)
> > and surefire provider dependencies win so it must be redefined to be used
> > in 2.x.
> >
> > Romain Manni-Bucau
> > @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> > <https://rmannibucau.metawerx.net/> | Old Blog
> > <http://rmannibucau.wordpress.com> | Github <
> > https://github.com/rmannibucau> |
> > LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
> > <
> >
> https://www.packtpub.com/application-development/java-ee-8-high-performance
> > >
> >
> >
> > Le lun. 4 mai 2020 à 18:52, Christian Stein <[hidden email]> a
> écrit :
> >
> > > On Mon, May 4, 2020 at 6:45 PM Romain Manni-Bucau <
> [hidden email]
> > >
> > > wrote:
> > >
> > > > Le lun. 4 mai 2020 à 18:30, Stephane Nicoll <
> [hidden email]
> > >
> > > a
> > > > écrit :
> > > >
> > > > ...
> > >
> > > > OK. Why is our build failing with that error if we're importing the
> > JUnit
> > > > > 5.5.2 bom and it does not fail if we're importing the JUnit 5.6.2
> > bom?
> > > > Our
> > > > > test dependencies have "junit-jupiter" in test scope which brings
> the
> > > > > engine.
> > > > >
> > > > > That looks like Surefire is using the user version to me. Anyway,
> if
> > it
> > > > > wasn't we wouldn't have the error above, wouldn't we?
> > > > >
> > > >
> > > > AFAIK you don't import junit-platform-launcher in 1.5.2 so it fails.
> > > > So surefire uses user version but misses one dep which takes in its
> own
> > > > pom.
> > > >
> > > >
> > >
> > >
> >
> https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.5.2/junit-bom-5.5.2.pom
> > >
> > >
> > > contains
> > >
> > > <dependency>
> > > <groupId>org.junit.platform</groupId>
> > > <artifactId>junit-platform-launcher</artifactId>
> > > <version>1.5.2</version>
> > > </dependency>
> > >
> >
>