Romain, that link in Resolver means that our Provider has transitive dependencies. This Surefire's Platform Provider + it's dependencies. Not the JUnit5's provider. Adding engine with another version makes sense to me in current situation. It's similar to what we are doing when we add junit:junit:4.12. My question is whether the Engine should have scope=provided in Surefire's Provider in the future and the user is forced to add it anyway in his POM.
On Wed, Sep 5, 2018 at 9:16 AM Romain Manni-Bucau <rmannibu...@gmail.com> wrote: > Me too but > > https://github.com/apache/maven-surefire/blob/d88ce541f3ba78a12422bdfa35c98cfb5783f9ea/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireDependencyResolver.java#L142 > only handles a single artifact whereas junit5 relies on N > 1 artifacts for > its stack. > > 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 mer. 5 sept. 2018 à 08:23, Dan Tran <dant...@gmail.com> a écrit : > > > " surefire provider forces 1.2.0" this is not good :-) i thought > surefire > > auto detect first one available in classpath > > > > On Tue, Sep 4, 2018 at 11:06 PM Romain Manni-Bucau < > rmannibu...@gmail.com> > > wrote: > > > > > jupiter ;) > > > > > > junit 5 is not jupiter but platform+ engine*s* so it must detect the > full > > > stack and not just the default. A first step can be to detect > > > platform+jupiter+engine but I guess we will get spock, cucumber etc > > engine > > > quickly so being generic can be worth it. In my case I have > > vintage-engine > > > - cause i have junit4 and junit5 extensions and it is broken cause > > vintage > > > uses platform method of the 1.3.0 and the surefire provider forces > 1.2.0. > > > > > > In my proposal, the project dependencies (likely scope test on user > side > > or > > > compile for engine/extension writers) is used and the plugin can > > > override/force some dependencies if needed. Alternative surefire could > > get > > > a specific config for that, not sure it does worth it. > > > > > > Hope it is clearer. > > > > > > 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 mer. 5 sept. 2018 à 07:41, Dan Tran <dant...@gmail.com> a écrit : > > > > > > > Odd, I am under impression surefire auto detect > junit-jupiter-engine > > > at > > > > runtime > > > > > > > > am I missing something? > > > > > > > > -D > > > > > > > > On Tue, Sep 4, 2018 at 10:08 PM Romain Manni-Bucau < > > > rmannibu...@gmail.com> > > > > wrote: > > > > > > > > > It does _NOT_ work and as mentionned you can test on meecrowave > > trying > > > to > > > > > upgrade the version in junit module. > > > > > > > > > > The test classpath build ignores project and plugin dependencies. > It > > > > faked > > > > > working until 5.3.0-RC1 cause no breakage was visible. > > > > > > > > > > When testing, dont forget to use jupiter, vintage engines + > platform > > > > stack, > > > > > otherwise code is compatible with 1.2 which gets loaded. The doc > > > ignores > > > > > the platform and vintage engine and guess it was not tested at all > > > > checking > > > > > the code ;). Not a big deal since it is a "first" release but we > > should > > > > be > > > > > ablz to get it fixed quickly. > > > > > > > > > > > > > > > Le mar. 4 sept. 2018 23:51, Olivier Lamy <ol...@apache.org> a > écrit > > : > > > > > > > > > > > Ok perso I don't mind (it just need to be documented) > > > > > > But the issue is: users are used to simply upgrade their junit > > > > > dependency. > > > > > > > > > > > > > > > > > > On Wed, 5 Sep 2018 at 07:37, Christian Stein <sormu...@gmail.com > > > > > > wrote: > > > > > > > > > > > > > No, it works with Surefire 2.22.0 and JUnit 5.3. > > > > > > > > > > > > > > Just add (or move) the test-runtime dependencies to the > Surefire > > > > plugin > > > > > > > element: > > > > > > > > > > > > > > <build> > > > > > > > <plugins> > > > > > > > <!-- JUnit 5 requires Surefire version 2.22.0 or higher > --> > > > > > > > <plugin> > > > > > > > <artifactId>maven-surefire-plugin</artifactId> > > > > > > > <version>2.22.0</version> > > > > > > > <dependencies> > > > > > > > <dependency> > > > > > > > <groupId>org.junit.jupiter</groupId> > > > > > > > > > > <artifactId>junit-jupiter-engine</artifactId> > > > > > > > <version>5.3.0</version> > > > > > > > </dependency> > > > > > > > </dependencies> > > > > > > > </plugin> > > > > > > > </plugins> > > > > > > > </build> > > > > > > > > > > > > > > > > > > > > > Just checking our sample builds over at JUnit 5. Which do _NOT_ > > do > > > > this > > > > > > at > > > > > > > the moment. > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Sep 4, 2018 at 11:32 PM Olivier Lamy <ol...@apache.org > > > > > > wrote: > > > > > > > > > > > > > > > Hi > > > > > > > > very embarrassing issue which probably worth a quick release! > > > > > > > > Can you create a jira? > > > > > > > > As junit 5.3.0 has just been released, I might be happy to > cut > > > > > 2.22.1 > > > > > > > very > > > > > > > > quickly with only this fix. > > > > > > > > others wdyt? > > > > > > > > > > > > > > > > > > > > > > > > On Wed, 5 Sep 2018 at 06:46, Romain Manni-Bucau < > > > > > rmannibu...@gmail.com > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > Hi guys, > > > > > > > > > > > > > > > > > > Jira seems down so sending a mail. > > > > > > > > > > > > > > > > > > I wanted to upgrade Meecrowave to JUnit 5.3 since it is out > > > but I > > > > > > > > realized > > > > > > > > > the way surefire provider was developped for JUnit 5 was > > > forcing > > > > > the > > > > > > > > > junit-platform-engine even adding it manually in the test > > > > > > dependencies > > > > > > > or > > > > > > > > > plugin dependencies. > > > > > > > > > > > > > > > > > > Side note: I didn't investigated other providers but I > guess > > it > > > > is > > > > > > the > > > > > > > > > exact same but the API breakage are happening less often. > > > > > > > > > > > > > > > > > > I therefore created a PR to fix that -> > > > > > > > > > https://github.com/apache/maven-surefire/pull/193 > > > > > > > > > > > > > > > > > > Note: I didn't upgrade the JUnit 5 version in the same > > release > > > > but > > > > > it > > > > > > > > > should probably be done too in another commit/PR. > > > > > > > > > > > > > > > > > > I wonder if you have release plans which could include > this. > > In > > > > > terms > > > > > > > of > > > > > > > > > issues I have in mind the other thing about JUnit 5 which > > would > > > > be > > > > > > > great > > > > > > > > to > > > > > > > > > add is the support for display names instead of using the > > > > > class+test > > > > > > > > names > > > > > > > > > in the logs and reports but this is less mandatory than > > > previous > > > > > one > > > > > > > > which > > > > > > > > > fails with a NoSuchMethod error when using vintage engine. > > > > > > > > > > > > > > > > > > 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 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > Olivier Lamy > > > > > > > > http://twitter.com/olamy | http://linkedin.com/in/olamy > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > Olivier Lamy > > > > > > http://twitter.com/olamy | http://linkedin.com/in/olamy > > > > > > > > > > > > > > > > > > > > > -- Cheers Tibor