[jira] [Commented] (MCOMPILER-323) Support multi-release jars

2018-07-13 Thread Hudson (JIRA)


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

Hudson commented on MCOMPILER-323:
--

Build failed in Jenkins: Maven TLP » maven-compiler-plugin » master #34

See 
https://builds.apache.org/job/maven-box/job/maven-compiler-plugin/job/master/34/

> Support multi-release jars
> --
>
> Key: MCOMPILER-323
> URL: https://issues.apache.org/jira/browse/MCOMPILER-323
> Project: Maven Compiler Plugin
>  Issue Type: Improvement
>Reporter: Mike Drob
>Assignee: Robert Scholte
>Priority: Major
> Fix For: 3.7.1
>
>
> Java 9 allows for JRE version specific code in the form of "multi-release 
> jars"
> Older JREs will treat them as normal jars, while newer JREs will load the 
> appropriate specific classes. AFAICT, maven does not currently support this.
> Compiler plugin should automatically detect when there are multiple source 
> levels and set MRJAR=True in the manifest.
> Source directories could potentially be src/main/java, src/main/java9, 
> src/main/java10, etc. These probably need to be configurable as well, or some 
> deeper discussion about what makes sense and is intuitive for users.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (MCOMPILER-323) Support multi-release jars

2018-07-08 Thread Hudson (JIRA)


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

Hudson commented on MCOMPILER-323:
--

Build failed in Jenkins: Maven TLP » maven-compiler-plugin » MCOMPILER-320 #11

See 
https://builds.apache.org/job/maven-box/job/maven-compiler-plugin/job/MCOMPILER-320/11/

> Support multi-release jars
> --
>
> Key: MCOMPILER-323
> URL: https://issues.apache.org/jira/browse/MCOMPILER-323
> Project: Maven Compiler Plugin
>  Issue Type: Improvement
>Reporter: Mike Drob
>Assignee: Robert Scholte
>Priority: Major
> Fix For: 3.7.1
>
>
> Java 9 allows for JRE version specific code in the form of "multi-release 
> jars"
> Older JREs will treat them as normal jars, while newer JREs will load the 
> appropriate specific classes. AFAICT, maven does not currently support this.
> Compiler plugin should automatically detect when there are multiple source 
> levels and set MRJAR=True in the manifest.
> Source directories could potentially be src/main/java, src/main/java9, 
> src/main/java10, etc. These probably need to be configurable as well, or some 
> deeper discussion about what makes sense and is intuitive for users.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (MCOMPILER-323) Support multi-release jars

2018-07-08 Thread Hudson (JIRA)


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

Hudson commented on MCOMPILER-323:
--

Build succeeded in Jenkins: Maven TLP » maven-compiler-plugin » master #33

See 
https://builds.apache.org/job/maven-box/job/maven-compiler-plugin/job/master/33/

> Support multi-release jars
> --
>
> Key: MCOMPILER-323
> URL: https://issues.apache.org/jira/browse/MCOMPILER-323
> Project: Maven Compiler Plugin
>  Issue Type: Improvement
>Reporter: Mike Drob
>Assignee: Robert Scholte
>Priority: Major
>
> Java 9 allows for JRE version specific code in the form of "multi-release 
> jars"
> Older JREs will treat them as normal jars, while newer JREs will load the 
> appropriate specific classes. AFAICT, maven does not currently support this.
> Compiler plugin should automatically detect when there are multiple source 
> levels and set MRJAR=True in the manifest.
> Source directories could potentially be src/main/java, src/main/java9, 
> src/main/java10, etc. These probably need to be configurable as well, or some 
> deeper discussion about what makes sense and is intuitive for users.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (MCOMPILER-323) Support multi-release jars

2018-07-08 Thread Hudson (JIRA)


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

Hudson commented on MCOMPILER-323:
--

Build failed in Jenkins: Maven TLP » maven-compiler-plugin » MCOMPILER-323 #16

See 
https://builds.apache.org/job/maven-box/job/maven-compiler-plugin/job/MCOMPILER-323/16/

> Support multi-release jars
> --
>
> Key: MCOMPILER-323
> URL: https://issues.apache.org/jira/browse/MCOMPILER-323
> Project: Maven Compiler Plugin
>  Issue Type: Improvement
>Reporter: Mike Drob
>Assignee: Robert Scholte
>Priority: Major
>
> Java 9 allows for JRE version specific code in the form of "multi-release 
> jars"
> Older JREs will treat them as normal jars, while newer JREs will load the 
> appropriate specific classes. AFAICT, maven does not currently support this.
> Compiler plugin should automatically detect when there are multiple source 
> levels and set MRJAR=True in the manifest.
> Source directories could potentially be src/main/java, src/main/java9, 
> src/main/java10, etc. These probably need to be configurable as well, or some 
> deeper discussion about what makes sense and is intuitive for users.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (MCOMPILER-323) Support multi-release jars

2018-07-08 Thread Hudson (JIRA)


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

Hudson commented on MCOMPILER-323:
--

Build failed in Jenkins: Maven TLP » maven-compiler-plugin » MCOMPILER-323 #14

See 
https://builds.apache.org/job/maven-box/job/maven-compiler-plugin/job/MCOMPILER-323/14/

> Support multi-release jars
> --
>
> Key: MCOMPILER-323
> URL: https://issues.apache.org/jira/browse/MCOMPILER-323
> Project: Maven Compiler Plugin
>  Issue Type: Improvement
>Reporter: Mike Drob
>Assignee: Robert Scholte
>Priority: Major
>
> Java 9 allows for JRE version specific code in the form of "multi-release 
> jars"
> Older JREs will treat them as normal jars, while newer JREs will load the 
> appropriate specific classes. AFAICT, maven does not currently support this.
> Compiler plugin should automatically detect when there are multiple source 
> levels and set MRJAR=True in the manifest.
> Source directories could potentially be src/main/java, src/main/java9, 
> src/main/java10, etc. These probably need to be configurable as well, or some 
> deeper discussion about what makes sense and is intuitive for users.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (MCOMPILER-323) Support multi-release jars

2018-07-07 Thread Hudson (JIRA)


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

Hudson commented on MCOMPILER-323:
--

Build failed in Jenkins: Maven TLP » maven-compiler-plugin » MCOMPILER-323 #13

See 
https://builds.apache.org/job/maven-box/job/maven-compiler-plugin/job/MCOMPILER-323/13/

> Support multi-release jars
> --
>
> Key: MCOMPILER-323
> URL: https://issues.apache.org/jira/browse/MCOMPILER-323
> Project: Maven Compiler Plugin
>  Issue Type: Improvement
>Reporter: Mike Drob
>Assignee: Robert Scholte
>Priority: Major
>
> Java 9 allows for JRE version specific code in the form of "multi-release 
> jars"
> Older JREs will treat them as normal jars, while newer JREs will load the 
> appropriate specific classes. AFAICT, maven does not currently support this.
> Compiler plugin should automatically detect when there are multiple source 
> levels and set MRJAR=True in the manifest.
> Source directories could potentially be src/main/java, src/main/java9, 
> src/main/java10, etc. These probably need to be configurable as well, or some 
> deeper discussion about what makes sense and is intuitive for users.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (MCOMPILER-323) Support multi-release jars

2018-07-07 Thread Hudson (JIRA)


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

Hudson commented on MCOMPILER-323:
--

Build failed in Jenkins: Maven TLP » maven-compiler-plugin » MCOMPILER-323 #12

See 
https://builds.apache.org/job/maven-box/job/maven-compiler-plugin/job/MCOMPILER-323/12/

> Support multi-release jars
> --
>
> Key: MCOMPILER-323
> URL: https://issues.apache.org/jira/browse/MCOMPILER-323
> Project: Maven Compiler Plugin
>  Issue Type: Improvement
>Reporter: Mike Drob
>Assignee: Robert Scholte
>Priority: Major
>
> Java 9 allows for JRE version specific code in the form of "multi-release 
> jars"
> Older JREs will treat them as normal jars, while newer JREs will load the 
> appropriate specific classes. AFAICT, maven does not currently support this.
> Compiler plugin should automatically detect when there are multiple source 
> levels and set MRJAR=True in the manifest.
> Source directories could potentially be src/main/java, src/main/java9, 
> src/main/java10, etc. These probably need to be configurable as well, or some 
> deeper discussion about what makes sense and is intuitive for users.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (MCOMPILER-323) Support multi-release jars

2018-07-07 Thread Hudson (JIRA)


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

Hudson commented on MCOMPILER-323:
--

Build failed in Jenkins: Maven TLP » maven-compiler-plugin » MCOMPILER-323 #11

See 
https://builds.apache.org/job/maven-box/job/maven-compiler-plugin/job/MCOMPILER-323/11/

> Support multi-release jars
> --
>
> Key: MCOMPILER-323
> URL: https://issues.apache.org/jira/browse/MCOMPILER-323
> Project: Maven Compiler Plugin
>  Issue Type: Improvement
>Reporter: Mike Drob
>Assignee: Robert Scholte
>Priority: Major
>
> Java 9 allows for JRE version specific code in the form of "multi-release 
> jars"
> Older JREs will treat them as normal jars, while newer JREs will load the 
> appropriate specific classes. AFAICT, maven does not currently support this.
> Compiler plugin should automatically detect when there are multiple source 
> levels and set MRJAR=True in the manifest.
> Source directories could potentially be src/main/java, src/main/java9, 
> src/main/java10, etc. These probably need to be configurable as well, or some 
> deeper discussion about what makes sense and is intuitive for users.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (MCOMPILER-323) Support multi-release jars

2018-07-07 Thread Hudson (JIRA)


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

Hudson commented on MCOMPILER-323:
--

Build failed in Jenkins: Maven TLP » maven-compiler-plugin » MCOMPILER-323 #10

See 
https://builds.apache.org/job/maven-box/job/maven-compiler-plugin/job/MCOMPILER-323/10/

> Support multi-release jars
> --
>
> Key: MCOMPILER-323
> URL: https://issues.apache.org/jira/browse/MCOMPILER-323
> Project: Maven Compiler Plugin
>  Issue Type: Improvement
>Reporter: Mike Drob
>Assignee: Robert Scholte
>Priority: Major
>
> Java 9 allows for JRE version specific code in the form of "multi-release 
> jars"
> Older JREs will treat them as normal jars, while newer JREs will load the 
> appropriate specific classes. AFAICT, maven does not currently support this.
> Compiler plugin should automatically detect when there are multiple source 
> levels and set MRJAR=True in the manifest.
> Source directories could potentially be src/main/java, src/main/java9, 
> src/main/java10, etc. These probably need to be configurable as well, or some 
> deeper discussion about what makes sense and is intuitive for users.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (MCOMPILER-323) Support multi-release jars

2018-07-07 Thread Hudson (JIRA)


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

Hudson commented on MCOMPILER-323:
--

Build failed in Jenkins: Maven TLP » maven-compiler-plugin » MCOMPILER-323 #9

See 
https://builds.apache.org/job/maven-box/job/maven-compiler-plugin/job/MCOMPILER-323/9/

> Support multi-release jars
> --
>
> Key: MCOMPILER-323
> URL: https://issues.apache.org/jira/browse/MCOMPILER-323
> Project: Maven Compiler Plugin
>  Issue Type: Improvement
>Reporter: Mike Drob
>Assignee: Robert Scholte
>Priority: Major
>
> Java 9 allows for JRE version specific code in the form of "multi-release 
> jars"
> Older JREs will treat them as normal jars, while newer JREs will load the 
> appropriate specific classes. AFAICT, maven does not currently support this.
> Compiler plugin should automatically detect when there are multiple source 
> levels and set MRJAR=True in the manifest.
> Source directories could potentially be src/main/java, src/main/java9, 
> src/main/java10, etc. These probably need to be configurable as well, or some 
> deeper discussion about what makes sense and is intuitive for users.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (MCOMPILER-323) Support multi-release jars

2018-07-07 Thread Hudson (JIRA)


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

Hudson commented on MCOMPILER-323:
--

Build failed in Jenkins: Maven TLP » maven-compiler-plugin » MCOMPILER-323 #8

See 
https://builds.apache.org/job/maven-box/job/maven-compiler-plugin/job/MCOMPILER-323/8/

> Support multi-release jars
> --
>
> Key: MCOMPILER-323
> URL: https://issues.apache.org/jira/browse/MCOMPILER-323
> Project: Maven Compiler Plugin
>  Issue Type: Improvement
>Reporter: Mike Drob
>Assignee: Robert Scholte
>Priority: Major
>
> Java 9 allows for JRE version specific code in the form of "multi-release 
> jars"
> Older JREs will treat them as normal jars, while newer JREs will load the 
> appropriate specific classes. AFAICT, maven does not currently support this.
> Compiler plugin should automatically detect when there are multiple source 
> levels and set MRJAR=True in the manifest.
> Source directories could potentially be src/main/java, src/main/java9, 
> src/main/java10, etc. These probably need to be configurable as well, or some 
> deeper discussion about what makes sense and is intuitive for users.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (MCOMPILER-323) Support multi-release jars

2018-05-22 Thread Hudson (JIRA)

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

Hudson commented on MCOMPILER-323:
--

Build succeeded in Jenkins: Maven TLP » maven-compiler-plugin » MCOMPILER-323 #3

See 
https://builds.apache.org/job/maven-box/job/maven-compiler-plugin/job/MCOMPILER-323/3/

> Support multi-release jars
> --
>
> Key: MCOMPILER-323
> URL: https://issues.apache.org/jira/browse/MCOMPILER-323
> Project: Maven Compiler Plugin
>  Issue Type: Improvement
>Reporter: Mike Drob
>Assignee: Robert Scholte
>Priority: Major
>
> Java 9 allows for JRE version specific code in the form of "multi-release 
> jars"
> Older JREs will treat them as normal jars, while newer JREs will load the 
> appropriate specific classes. AFAICT, maven does not currently support this.
> Compiler plugin should automatically detect when there are multiple source 
> levels and set MRJAR=True in the manifest.
> Source directories could potentially be src/main/java, src/main/java9, 
> src/main/java10, etc. These probably need to be configurable as well, or some 
> deeper discussion about what makes sense and is intuitive for users.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (MCOMPILER-323) Support multi-release jars

2018-05-18 Thread Hudson (JIRA)

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

Hudson commented on MCOMPILER-323:
--

Build succeeded in Jenkins: Maven TLP » maven-compiler-plugin » MCOMPILER-323 #2

See 
https://builds.apache.org/job/maven-box/job/maven-compiler-plugin/job/MCOMPILER-323/2/

> Support multi-release jars
> --
>
> Key: MCOMPILER-323
> URL: https://issues.apache.org/jira/browse/MCOMPILER-323
> Project: Maven Compiler Plugin
>  Issue Type: Improvement
>Reporter: Mike Drob
>Assignee: Robert Scholte
>Priority: Major
>
> Java 9 allows for JRE version specific code in the form of "multi-release 
> jars"
> Older JREs will treat them as normal jars, while newer JREs will load the 
> appropriate specific classes. AFAICT, maven does not currently support this.
> Compiler plugin should automatically detect when there are multiple source 
> levels and set MRJAR=True in the manifest.
> Source directories could potentially be src/main/java, src/main/java9, 
> src/main/java10, etc. These probably need to be configurable as well, or some 
> deeper discussion about what makes sense and is intuitive for users.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (MCOMPILER-323) Support multi-release jars

2018-05-17 Thread Mike Drob (JIRA)

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

Mike Drob commented on MCOMPILER-323:
-

Mapping the source directories to unique output directories and compiling them 
in a separate pass makes sense to me (as described in his next blog post).

bq. Creating mrjars will be complex and should be avoided
Agree with the first part. Disagree that it needs to be avoided...
That's why folks are coming out and asking for tooling for it. We don't have to 
wait for the unit testing to get easy, or IDE support to get there before we 
figure out how to support MR jars. If we make MR jars possible, then I believe 
that surefire executions and IntelliJ integration and all the other missing 
pieces will follow eventually. As is right now, nobody knows how to take the 
first step.

> Support multi-release jars
> --
>
> Key: MCOMPILER-323
> URL: https://issues.apache.org/jira/browse/MCOMPILER-323
> Project: Maven Compiler Plugin
>  Issue Type: Improvement
>Reporter: Mike Drob
>Priority: Major
>
> Java 9 allows for JRE version specific code in the form of "multi-release 
> jars"
> Older JREs will treat them as normal jars, while newer JREs will load the 
> appropriate specific classes. AFAICT, maven does not currently support this.
> Compiler plugin should automatically detect when there are multiple source 
> levels and set MRJAR=True in the manifest.
> Source directories could potentially be src/main/java, src/main/java9, 
> src/main/java10, etc. These probably need to be configurable as well, or some 
> deeper discussion about what makes sense and is intuitive for users.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (MCOMPILER-323) Support multi-release jars

2018-05-17 Thread Robert Scholte (JIRA)

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

Robert Scholte commented on MCOMPILER-323:
--

I've been inspired by Russels 
http://www.russgold.net/sw/2018/03/looking-for-mr-good-jar/ while improving 
https://github.com/codehaus-plexus/plexus-languages/issues/5 and it works quite 
well. There's only one huge BUT: the fix for plexus-languages works because we 
have a Travis CI-server which verifies multiple Java versions. And this also 
means that the unittests are verified for a specific Java version as well. 
Downside: IDE doesn't understand it and sees it as a duplicate class.
Please take a look at the blog and see what matches your situation best.
Creating mrjars will be complex and should be avoided. However, if you need it 
we should be able to configure several execution blocks properly to reach the 
goal. I'm still interested in the solutions others have. And this should be 
possible without buildhelper-maven-plugin, just maven-compiler-plugin and 
execution-blocks (and ignore the testing part, that's an issue for another 
plugin)



> Support multi-release jars
> --
>
> Key: MCOMPILER-323
> URL: https://issues.apache.org/jira/browse/MCOMPILER-323
> Project: Maven Compiler Plugin
>  Issue Type: Improvement
>Reporter: Mike Drob
>Priority: Major
>
> Java 9 allows for JRE version specific code in the form of "multi-release 
> jars"
> Older JREs will treat them as normal jars, while newer JREs will load the 
> appropriate specific classes. AFAICT, maven does not currently support this.
> Compiler plugin should automatically detect when there are multiple source 
> levels and set MRJAR=True in the manifest.
> Source directories could potentially be src/main/java, src/main/java9, 
> src/main/java10, etc. These probably need to be configurable as well, or some 
> deeper discussion about what makes sense and is intuitive for users.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (MCOMPILER-323) Support multi-release jars

2018-05-17 Thread JIRA

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

Mikaël Geljić commented on MCOMPILER-323:
-

Hi there, I'm adding my vote to this one.

I also don't expect a single compiler execution. What's annoying me is that 
typically those additional source directories are added through the 
build-helper plugin; and the compiler plugin just eats it all and passes that 
to the javac {{sourcepath}} 
({{…/src/main/java:…/src/main/java9:…/target/generated-sources/annotations:}}).

All we have is exclude filters, which may work for {{module-infos}}, but by 
splitting the source dirs we already shift to compile arbitrary java9 sources 
\*with jdk9 apis\*; filtering by package/class-name is not an option, 
especially as with JEP-238 sources are supposed to overlay one another.
Excludes are only relative to source roots and this is what's limiting here.

Would the compiler plugin consider more awareness of source dirs? Or would it 
be kept away as a build-helper plugin concern?

Re: the multi-module approach, I don't buy it, as it generates tons of fuss 
maven-wise and slightly ruins the purpose of the JEP which was to address those 
different artifact coordinates per java target release.

Long term maybe we can come up with high level config/convention to trigger 
multiple compilations & test-runs. Yet for now re: unit-testing, I'd say that's 
as much a concern of separate surefire executions upon src/test/java vs. 
src/test/java9... in case that's what's blocking here. :)

Cheers,
Mika

> Support multi-release jars
> --
>
> Key: MCOMPILER-323
> URL: https://issues.apache.org/jira/browse/MCOMPILER-323
> Project: Maven Compiler Plugin
>  Issue Type: Improvement
>Reporter: Mike Drob
>Priority: Major
>
> Java 9 allows for JRE version specific code in the form of "multi-release 
> jars"
> Older JREs will treat them as normal jars, while newer JREs will load the 
> appropriate specific classes. AFAICT, maven does not currently support this.
> Compiler plugin should automatically detect when there are multiple source 
> levels and set MRJAR=True in the manifest.
> Source directories could potentially be src/main/java, src/main/java9, 
> src/main/java10, etc. These probably need to be configurable as well, or some 
> deeper discussion about what makes sense and is intuitive for users.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (MCOMPILER-323) Support multi-release jars

2018-02-14 Thread Robert Scholte (JIRA)

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

Robert Scholte commented on MCOMPILER-323:
--

If you care less about ensuring all unittests work with the specified Java 
version, you should have a look at 
[https://github.com/RedHatJava9Testing/multi-release.] This is a single Maven 
project setup which generates a multirelease jar.

> Support multi-release jars
> --
>
> Key: MCOMPILER-323
> URL: https://issues.apache.org/jira/browse/MCOMPILER-323
> Project: Maven Compiler Plugin
>  Issue Type: Improvement
>Reporter: Mike Drob
>Priority: Major
>
> Java 9 allows for JRE version specific code in the form of "multi-release 
> jars"
> Older JREs will treat them as normal jars, while newer JREs will load the 
> appropriate specific classes. AFAICT, maven does not currently support this.
> Compiler plugin should automatically detect when there are multiple source 
> levels and set MRJAR=True in the manifest.
> Source directories could potentially be src/main/java, src/main/java9, 
> src/main/java10, etc. These probably need to be configurable as well, or some 
> deeper discussion about what makes sense and is intuitive for users.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (MCOMPILER-323) Support multi-release jars

2018-02-14 Thread Mike Drob (JIRA)

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

Mike Drob commented on MCOMPILER-323:
-

Oh, I see what you're saying.

I don't think it matter if there are multiple execution blocks? One execution 
per language compilation level makes sense. Having to make a multi-module build 
is the part that i find unappealing. Most projects i work on are already 
multi-module, and fairly complex, and adding an extra dance for MR compilation 
would be not be an easy feat.

> Support multi-release jars
> --
>
> Key: MCOMPILER-323
> URL: https://issues.apache.org/jira/browse/MCOMPILER-323
> Project: Maven Compiler Plugin
>  Issue Type: Improvement
>Reporter: Mike Drob
>Priority: Major
>
> Java 9 allows for JRE version specific code in the form of "multi-release 
> jars"
> Older JREs will treat them as normal jars, while newer JREs will load the 
> appropriate specific classes. AFAICT, maven does not currently support this.
> Compiler plugin should automatically detect when there are multiple source 
> levels and set MRJAR=True in the manifest.
> Source directories could potentially be src/main/java, src/main/java9, 
> src/main/java10, etc. These probably need to be configurable as well, or some 
> deeper discussion about what makes sense and is intuitive for users.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (MCOMPILER-323) Support multi-release jars

2018-02-13 Thread Robert Scholte (JIRA)

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

Robert Scholte commented on MCOMPILER-323:
--

I know the purpose and advantages of MR Jars, I'm just not convinced there's a 
clean solution possible with only one execution block

> Support multi-release jars
> --
>
> Key: MCOMPILER-323
> URL: https://issues.apache.org/jira/browse/MCOMPILER-323
> Project: Maven Compiler Plugin
>  Issue Type: Improvement
>Reporter: Mike Drob
>Priority: Major
>
> Java 9 allows for JRE version specific code in the form of "multi-release 
> jars"
> Older JREs will treat them as normal jars, while newer JREs will load the 
> appropriate specific classes. AFAICT, maven does not currently support this.
> Compiler plugin should automatically detect when there are multiple source 
> levels and set MRJAR=True in the manifest.
> Source directories could potentially be src/main/java, src/main/java9, 
> src/main/java10, etc. These probably need to be configurable as well, or some 
> deeper discussion about what makes sense and is intuitive for users.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (MCOMPILER-323) Support multi-release jars

2018-02-13 Thread Mike Drob (JIRA)

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

Mike Drob commented on MCOMPILER-323:
-

MR Jars are useful for example when the old jar uses some Unsafe code and new 
code uses VarHandles but you want to decouple your dev from when the admins are 
going to be upgrading Java versions on the servers.

> Support multi-release jars
> --
>
> Key: MCOMPILER-323
> URL: https://issues.apache.org/jira/browse/MCOMPILER-323
> Project: Maven Compiler Plugin
>  Issue Type: Improvement
>Reporter: Mike Drob
>Priority: Major
>
> Java 9 allows for JRE version specific code in the form of "multi-release 
> jars"
> Older JREs will treat them as normal jars, while newer JREs will load the 
> appropriate specific classes. AFAICT, maven does not currently support this.
> Compiler plugin should automatically detect when there are multiple source 
> levels and set MRJAR=True in the manifest.
> Source directories could potentially be src/main/java, src/main/java9, 
> src/main/java10, etc. These probably need to be configurable as well, or some 
> deeper discussion about what makes sense and is intuitive for users.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (MCOMPILER-323) Support multi-release jars

2018-02-12 Thread Robert Scholte (JIRA)

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

Robert Scholte commented on MCOMPILER-323:
--

I've had a look in the past and came to the conclusion that this would 
introduce way too much magic. Right now every execution blocks will execute the 
java compiler exactly once. A multirelease jar will always require multiple 
java compiler calls.

I still think that multirelease jars should be avoided and only be used when 
there's a very good reason for it. Assuming those projects are experienced 
Maven users, they should be able to resolve it already right now. My biggest 
concern is actually not compiling a MRJAR, but unttesting it with all the Java 
versions.

For that reason [~hboutemy] came with a pattern: 
[https://github.com/hboutemy/maven-jep238]

Downside is that it is a multimodule Maven project, however every module is 
tested with the correct Java version.

If you still think this can be solved properly, I'm all ears.

 

> Support multi-release jars
> --
>
> Key: MCOMPILER-323
> URL: https://issues.apache.org/jira/browse/MCOMPILER-323
> Project: Maven Compiler Plugin
>  Issue Type: Improvement
>Reporter: Mike Drob
>Priority: Major
>
> Java 9 allows for JRE version specific code in the form of "multi-release 
> jars"
> Older JREs will treat them as normal jars, while newer JREs will load the 
> appropriate specific classes. AFAICT, maven does not currently support this.
> Compiler plugin should automatically detect when there are multiple source 
> levels and set MRJAR=True in the manifest.
> Source directories could potentially be src/main/java, src/main/java9, 
> src/main/java10, etc. These probably need to be configurable as well, or some 
> deeper discussion about what makes sense and is intuitive for users.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)