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

Reply via email to