in fact, it's sad to require JDK 9 to compile to Java 7 and not support 
compiling directly with JDK 7

Perhaps the most simple action will be to check that JDK 8 or 9 is not used 
for crosscompilation to Java 7 or less, since it is not reliable

Regards,

Hervé

Le lundi 27 juillet 2015 20:07:10 Robert Scholte a écrit :
> Hi Hervé,
> 
> there's no such thing as version specific configuration. And I don't think
> it is really an issue.
> With almost every new major version come new javac arguments, such as -s
> for JDK6, -profile for JDK8.
> 
> IMHO it is up to the user to specify the release value and add an enforcer
> rule to require JDK9.
> However, when using toolchains, it is easy to get the version.
> 
> thanks,
> Robert
> 
> Op Mon, 27 Jul 2015 13:23:44 +0200 schreef Hervé BOUTEMY
> 
> <herve.bout...@free.fr>:
> > I tested the new -release flag and it works like a charm: not only is it
> > easier
> > to use (1 flag instead of 3 = source/target/bootclasspath), but it
> > avoids the
> > famous covariance problem previously found [1] (and that happens with
> > JDK 9
> > when not using this new -release flag)
> > 
> > 
> > Then I think it's important to add support for this flag in a future
> > maven-
> > compiler-plugin version.
> > 
> > Striclty adding this option should not be a problem.
> > But the problem I see is that once a build is configured with this flag,
> > you
> > *must* use a JDK 9+ to build: I don't see how to make the flag used only
> > when
> > available.
> > 
> > Any idea?
> > 
> > Regards,
> > 
> > Hervé
> > 
> > 
> > [1] https://gist.github.com/AlainODea/1375759b8720a3f9f094
> > 
> > Le vendredi 17 juillet 2015 19:39:22 Arnaud Héritier a écrit :
> >> Hi all,
> >> 
> >> 
> >> FYI Paul Sandoz forwarded us this email if you don't follow the
> >> jdk9-dev ML
> >> 
> >> ==
> >> 
> >> Hi,
> >> 
> >> In case you are not monitoring this alias.
> >> 
> >> This is likely relevant to not just to MRJARs but also to maven java
> >> compiler support and the sniffer/conformance plugins etc.
> >> 
> >> Paul.
> >> 
> >> Begin forwarded message:
> >> 
> >> *From: *joe darcy <joe.da...@oracle.com>
> >> *Subject: **New feature in JDK 9 builds: javac -release $VERSION*
> >> *Date: *July 13, 2015 5:50:54 AM GMT+02:00
> >> *To: *"jdk9-...@openjdk.java.net" <jdk9-...@openjdk.java.net>
> >> 
> >> Hello,
> >> 
> >> As of JDK 9 b72 [1], a feature recently pushed by Jan Lahoda is now
> >> available: the javac -release command line option.
> >> 
> >> This feature was developed under JEP 247: Compile for Older Platform
> >> Versions [2]. In brief, to use javac to cross-compile to an older
> >> release
> >> of the platform it is not sufficient to just set the -source and -target
> >> options to the older value; the bootclasspath must also be set to
> >> correspond to the older release too. [3] Setting the bootclass was often
> >> forgotten and acquiring the needed information could be inconvenient.
> >> 
> >> The -release flag in javac addresses both of these shortcomings. Now
> >> only a
> >> single flag (-release) needs to be set to cross compile compared to
> >> three
> >> flags (-source, -target, -bootclasspath) and the needed information is
> >> included in the JDK. The set of release values follows the same "one
> >> plus
> >> three back" policy now used for the -source and -target options. [4]
> >> Therefore, in JDK 9, the accepted argument values for -release are 6,
> >> 7, 8,
> >> and 9.
> >> 
> >> Feedback on the this feature can be sent to
> >> compiler-...@openjdk.java.net.
> >> 
> >> Cheers,
> >> 
> >> -Joe
> >> 
> >> [1] https://jdk9.java.net/download/
> >> 
> >> [2] http://openjdk.java.net/jeps/247
> >> 
> >> [3] "How to cross-compile for older platform versions,"
> >> https://blogs.oracle.com/darcy/entry/how_to_cross_compile_for
> >> 
> >> [4] JEP 182: Policy for Retiring javac -source and -target Options
> >> http://openjdk.java.net/jeps/182
> >> 
> >> 
> >> On Fri, Jul 10, 2015 at 8:47 AM, Hervé BOUTEMY <herve.bout...@free.fr>
> >> 
> >> wrote:
> >> > Le jeudi 9 juillet 2015 09:48:13 Tibor Digana a écrit :
> >> > > Nice project indeed.
> >> > > Maybe only JRE has the benefit from multi-version JAR, but I cannot
> >> > 
> >> > imaging
> >> > 
> >> > > this feature in ordinal projects.
> >> > 
> >> > +1
> >> > currently, there are not so much projects that produce a different
> >> > artifact for
> >> > different JREs, but there are, even if not the majority
> >> > see the JEP [1] "Motivation" section
> >> > 
> >> > > Who has benefit from writing the code
> >> > > three times if API of module matters. Maybe performance will be
> >> > > different
> >> > > only.
> >> > 
> >> > notice that one of the motivation, apart from the use case you are
> >> > thinking
> >> > to, is that with JDK modularization, there are intends to deprecate
> >> 
> >> some
> >> 
> >> > APIs
> >> > (internal or not): this MVjar will be useful to deal with such type
> >> 
> >> of JDK
> >> 
> >> > evolution (and stop with current problem that any new JDK adds APIs
> >> 
> >> but
> >> 
> >> > never
> >> > ever removes anything)
> >> > This is a long term goal: the feature has to be there, be successful
> >> 
> >> and
> >> 
> >> > prove
> >> > being usable for the most specific libraries before expecting using it
> >> > more to
> >> > support JDK cleanup (in Java 10 or more)
> >> > 
> >> > 
> >> > What I'm satisfied now with the working example is that whatever one
> >> > thinks
> >> > about the feature, Maven is not in the way: there is now a proved
> >> 
> >> recipe
> >> 
> >> > to
> >> > create MVjars if the feature gets added into a JRE, and this base
> >> 
> >> recipe
> >> 
> >> > does
> >> > not require any change in any tool (be it Maven or IDE integration)
> >> > 
> >> > There is IMHO still one issue in the recipe: there is a trick
> >> 
> >> (written by
> >> 
> >> > Paul
> >> > Sandoz, who gave me its initial work) to avoid installing intermediate
> >> > artifacts (to limit the impact of multi-modules, since intermediate
> >> > artifacts
> >> > don't really have any meaning). I didn't try to deploy the current
> >> 
> >> demo,
> >> 
> >> > but I
> >> > fear it currently would fail: I suppose that's my next test now the
> >> 
> >> the
> >> 
> >> > mvjar
> >> > is great (thanks to Robert's help :) )
> >> > 
> >> > Regards,
> >> > 
> >> > Hervé
> >> > 
> >> > 
> >> > [1] http://openjdk.java.net/jeps/238
> >> > 
> >> > > On Thu, Jul 9, 2015 at 1:08 AM, Hervé BOUTEMY [via Maven] <
> >> > > 
> >> > > ml-node+s40175n5839659...@n5.nabble.com> wrote:
> >> > > > Hi,
> >> > > > 
> >> > > > In april, we had a discussion about Multi-Version JAR Files.
> >> > > > 
> >> > > > Since then, we worked to create a sample project built with
> >> 
> >> Maven, to
> >> 
> >> > see
> >> > 
> >> > > > how
> >> > > > Maven configuration would currently look like, before trying to
> >> 
> >> create
> >> 
> >> > new
> >> > 
> >> > > > features to make more compact configuration and avoid
> >> 
> >> multi-modules
> >> 
> >> > > > creation.
> >> > > > 
> >> > > > Here is the result:
> >> > > > https://github.com/hboutemy/maven-jep238
> >> > > > 
> >> > > > AFAIK, the result of this code is a valid MVJar, and this gives a
> >> 
> >> good
> >> 
> >> > > > overview of a basic Maven recipe to make MVJars.
> >> > > > 
> >> > > > There is one limitation I have with assembly in the last module: I
> >> > 
> >> > can't
> >> > 
> >> > > > exclude /META-INF content from every versioned content (ie avoid
> >> > > > /META-
> >> > > > INF/versions/*/META-INF in final MVJar).
> >> > > > 
> >> > > > Is it me or excludes don't work as expected in assembly plugin?
> >> > > > 
> >> > > > Regards,
> >> > > > 
> >> > > > Hervé
> >> 
> >> ---------------------------------------------------------------------
> >> 
> >> > > > To unsubscribe, e-mail: [hidden email]
> >> > > > <http:///user/SendEmail.jtp?type=node&node=5839659&i=0>
> >> > > > For additional commands, e-mail: [hidden email]
> >> > > > <http:///user/SendEmail.jtp?type=node&node=5839659&i=1>
> >> > > > 
> >> > > > 
> >> > > > 
> >> > > > ------------------------------
> >> > > > 
> >> > > >  If you reply to this email, your message will be added to the
> >> > 
> >> > discussion
> >> > 
> >> > > > below:
> >> http://maven.40175.n5.nabble.com/DISCUSSION-JEP-238-Multi-Version-JAR-Fil
> >> e
> >> 
> >> > > > s-tp5839659.html>
> >> > > > 
> >> > > >  To start a new topic under Maven Developers, email
> >> > > > 
> >> > > > ml-node+s40175n142166...@n5.nabble.com
> >> > > > To unsubscribe from Maven Developers, click here
> >> > > > <
> >> 
> >> http://maven.40175.n5.nabble.com/template/NamlServlet.jtp?macro=unsubscri
> >> 
> >> 
> >> be_by_code&node=142166&code=dGlib3JkaWdhbmFAYXBhY2hlLm9yZ3wxNDIxNjZ8LTI4O
> >> T
> >> 
> >> > > > Q5MjEwMg==> .
> >> > > > NAML
> >> > > > <
> >> 
> >> http://maven.40175.n5.nabble.com/template/NamlServlet.jtp?macro=macro_vie
> >> 
> >> 
> >> wer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.Bas
> >> i
> >> 
> >> 
> >> cNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.templ
> >> a
> >> 
> >> 
> >> te.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-ins
> >> t
> >> 
> >> 
> >> ant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml
> >> >
> >> 
> >> > > --
> >> 
> >> > > View this message in context:
> >> http://maven.40175.n5.nabble.com/Re-DISCUSSION-JEP-238-Multi-Version-JAR-> 
> >> >> F
> >> 
> >> > i
> >> > 
> >> > > les-tp5839680.html Sent from the Maven Developers mailing list
> >> 
> >> archive
> >> 
> >> > > at
> >> > > Nabble.com.
> >> > 
> >> > ---------------------------------------------------------------------
> >> > 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