maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Scholte (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (MCOMPILER-270) Support release=8 on JDK 9
Date Sun, 18 Dec 2016 19:41:58 GMT

    [ https://issues.apache.org/jira/browse/MCOMPILER-270?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15759326#comment-15759326
] 

Robert Scholte commented on MCOMPILER-270:
------------------------------------------

Removed {{(with fallback on source=8 and target=8 on JDK 8)}} from title, that part wasn't
implemented and isn't going to be. Reason: now it is a 1:1 mapping to the release parameter
of Java9. Other reason: the release-parameter protects you from using newer JDK classes and
methods (see animal-sniffer for details). If we would translate it back source/target due
to an older JDK the developer could have the false impression that he's protected. 
So it's simple the release-parameter

> Support release=8 on JDK 9
> --------------------------
>
>                 Key: MCOMPILER-270
>                 URL: https://issues.apache.org/jira/browse/MCOMPILER-270
>             Project: Maven Compiler Plugin
>          Issue Type: New Feature
>    Affects Versions: 3.5.1
>            Reporter: Geoffrey De Smet
>            Assignee: Robert Scholte
>            Priority: Blocker
>             Fix For: 3.6.0
>
>
> JDK 9 now supports the the follow argument:
> {code}
> javac -release 7
> {code}
> This replaced both `-source 7` and `-target 7`. And it prevents from using methods introduced
in JDK 9 or JDK 8 when compiling for 7 with JDK 9. So `-release 8` basically better in every
way than `-source 7 -target 7`.
>   http://mail.openjdk.java.net/pipermail/jdk9-dev/2015-July/002414.html
> Support this in the maven-compiler plugin, something like:
> {code}
>         <plugin>
>           <artifactId>maven-compiler-plugin</artifactId>
>           <configuration>
>             <release>7</release>
>           </configuration>
>         </plugin>
> {code}
> When compiling with JDK 9, it should just do `javac -release 7`.
> When compiling with JDK 8 or lower, it should fallback to `javac -source 7 -target 7`,
so it behaves exactly like:
> {code}
>         <plugin>
>           <artifactId>maven-compiler-plugin</artifactId>
>           <configuration>
>             <source>7</source>
>             <target>7</target>
>           </configuration>
>         </plugin>
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message