So spring and other scanners scan classes under /META-INF/versions/...
i was unaware of that.
So probably need a major version bump then, so it indicates a major
change, so that consumers treat it as such and test it.

On Sun, 1 Mar 2020 at 17:11, Romain Manni-Bucau <rmannibu...@gmail.com> wrote:
>
> Le dim. 1 mars 2020 à 18:00, John Patrick <nhoj.patr...@gmail.com> a écrit :
>
> > Romain, The 4 commons projects I'm referring to already have
> > Automatic-Module-Name in the Manifest, if that is what you mean by
> > "explicit module name in the manifest".
> >
> > I've been playing around with jdk 1.8, 9, 10, 11, 12, 13 and 14, for
> > about 18 months and not seen the issue you described about needing
> > module-info being in the jar root.
> >
> > Regarding jpms classifier, I don't think that will help transitive
> > dependency, so A project depending upon collections which depends upon
> > codec. So will collections depend upon codec or codec-jpms. From what
> > I've got working I can add module-info without breaking pre java 11
> > users.
> >
>
> Test in j8 apps which didnt upgrade their scanner (spring, xbean,
> reflections, asm and friends, all have version limited to java 8 and not
> multirelease friendly), all are broken and it is one reason why adding
> .class with bytecode version > java 8 is very risky while java 8 apps are
> maintained (and we are still at ~50% of java 8 apps in prod today).
> Best case it requires to upgrade these libs...so all the stack too which is
> not always desired to upgrade a commons dep, worse case there is to upgrade
> possible so dep is forked or dropped.
> Indeed you dont see it in plain javase but commons being "commons", we must
> consider this common case too IMHO.
>
>
> > Peter, I'm trying to do as smaller change as possible to add
> > module-info, and also only using core maven plugins
> >
> > Commons Developers, I'll start raising jira tickets per project, per step.
> >
> > John
> >
> >
> >
> > John
> >
> > On Sun, 1 Mar 2020 at 11:44, Peter Verhas <pe...@verhas.com> wrote:
> > >
> > > I used Jabel, and Maven profiles to generate jvm8 and also jvm11 jars in
> > > the Java::Geci project.
> > >
> > > I also wrote a document about what, why, and how I did it:
> > >
> > >
> > > https://javax0.wordpress.com/2019/11/06/supporting-java-8/
> > >
> > > It may help.
> > >
> > > Peter
> > >
> > >
> > > On Sun, 1 Mar 2020 at 12:38, Romain Manni-Bucau <rmannibu...@gmail.com>
> > > wrote:
> > >
> > > > Hi John,
> > > >
> > > > Didnt check on java 11 ga but in early versions module-info was
> > required to
> > > > be at the root of the jar even if overriden for some version (
> > > > http://openjdk.java.net/jeps/238) so it ends up in the fact that some
> > java
> > > > 8 apps will be broken by this addition and that only doing it in a mjar
> > > > will lead to the same kind of issues + will be likely ignored for other
> > > > apps.
> > > >
> > > > What about doing classified jar "jpms" at the same time than current
> > > > default jar to propose jpms integration early (worse case)?
> > > >
> > > > Alternative to just have an explicit module name in the manifest but no
> > > > module-info also sounds safer to me and still enables to use jpms.
> > > >
> > > > Hope it makes sense.
> > > >
> > > > Le dim. 1 mars 2020 à 12:08, John Patrick <nhoj.patr...@gmail.com> a
> > > > écrit :
> > > >
> > > > > I'm wanting to correctly use Collections and Lang as Java Modules.
> > > > >
> > > > > Looking at the dependencies, I'll need to tackle all four projects.
> > > > >
> > > > > I'm planning on doing the following as if I'm touching the projects I
> > > > > might as well help out;
> > > > > 1) spring clean .gitignore, each project has different list, some
> > > > > documented others not
> > > > > 2) update to hamcrest v2.2
> > > > > 3) update to junit v5.6 (jupiter and vintage)
> > > > > 4) tackle low hanging fruit tests that can quickly be moved to
> > jupiter
> > > > > 5) update maven-dependencies to latest for compiler, jar, install
> > > > > 6) discuss how toolchain should be setup for build tools have access
> > > > > to jdk 1.8 and jdk 11, ideally the same pattern/approach for all
> > > > > commons projects
> > > > > 7) add src/main/java11/module-info.java
> > > > > 8) add toolchain plugin and update compiler plugin to make Multi
> > Release
> > > > > jar
> > > > >
> > > > > my questions are;
> > > > > a) how many jira tickets? one pre project? one per task/pr?
> > > > > b) prepare into new release i.e. commons-collection5
> > > > > c) should i do all my pom changes to a parent pom?
> > > > > d) toolchains developers, how should I document the requirement for
> > > > > developers want to build locally, give example which they need to
> > > > > complete
> > > > > e) toolchains cicd, how should i set that up? i'm use to jenkins and
> > > > > circle ci, not travis or gitflow?
> > > > >
> > > > > I'm doing this for other open source projects and work projects, but
> > > > > can't finish the open source or work projects until the open source
> > > > > dependency projects get fixed. Updating these 4 commons project will
> > > > > unblock about 10 downstream pr's i'm working on.
> > > > >
> > > > > I don't want to break backwards compatibility so don't want to just
> > > > > update to jdk 11, that is why I'm suggesting to use multi release
> > > > > jars, so module-info.java is in META-INF/versions/11/module-info.jar.
> > > > > I don't want to add new features, I just want the module-info so if
> > > > > you are using a newer jdk you can use modules.
> > > > >
> > > > > John
> > > > >
> > > > > ---------------------------------------------------------------------
> > > > > To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> > > > > For additional commands, e-mail: dev-h...@commons.apache.org
> > > > >
> > > > >
> > > >
> > > --
> > > Peter Verhas
> > > pe...@verhas.com
> > > t: +41791542095
> > > skype: verhas
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> > For additional commands, e-mail: dev-h...@commons.apache.org
> >
> >

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to