Re: [DISCUSSION] JEP 238: Multi-Version JAR Files

2015-04-14 Thread Hervé BOUTEMY
Le lundi 13 avril 2015 12:19:57 Paul Benedict a écrit :
 This is the example project structure I had in mind:
 
 mvjar-example/
minjava/
  src/main/java
  src/test/java
java7/
  src/main/java
  src/test/java
java8/
  src/main/java
  src/test/java
 
 The minjava and java7 and java8 are not special names (just names to
 denote what kind of Java source is inside). As Herve noted, minjava would
 contain the source minimum Java version; java7 would contain the java
 7-specific sources, and java8 would contain the java 8-specific sources.
like Gary answered, I think that it'll be better if we stick with java#, or j#

And in this example, we'll require another module for the mvjar, that will 
combine result fo every other module

 
 I don't see any added difficulty with regard to testing. If you already
 have code that tests a specific Java X version, just extract that into its
 own test case file and place it in the appropriate project. At most all
 you're doing is minor refactoring.
after thinking at it, true
this module layout is definitely really clear, that's a big advantage!
one thing that it makes really clear is javadoc, too, since javadoc in a mv-
module is a challenge :)

we should try it with plexus-utils, in another branch

 
 This will create three JARs of course (or at least today). I don't see that
 as a big deal since authors may decide to distribute this way where MVJAR
 isn't supported (like pre-Java 9 JVMs).
IMHO, not really, since the minimum version module will contain absolutely 
every classes, but the other modules will contain only a few classes = the few 
code that is rewritten to take advantage of newer JDK

Compatibility with old jdks that do not support mvjar is built into mvjar JEP: 
a JVM that does not support mvjar extension will see minimum version modules 
(and useless content in /META-INF/versions/)

notice that every module will ave its own GAV coordinates: the last mvjar 
module will have the end-user coordinates, where every JDK-version-specific 
module will have an artifactId = artifactId-java# (that's a generic convention 
we should try to push forward)

 However, if we can bind up all the
 jars into one in a post-processing phrase, you can then meet the MVJAR
 specification.
 
 PS: I really don't know if an mvjar type is necessary. Honestly, I hope
 it's not. I thought it was needed in the beginning, but am not sure
 anymore. Opinions appreciated.
I don't know if the merging will require a dedicated packaging: we'll see 
later

now it's time to test on plexus-utils: givent this idea doesn't involve much 
new things in maven, I'm pretty sure we can make it full functional!

I'll try to do it tonight if nobody beats me at it

Regards,

Hervé

 
 
 
 Cheers,
 Paul
 
 On Mon, Apr 13, 2015 at 1:28 AM, nicolas de loof nicolas.del...@gmail.com
 
 wrote:
  I expect we could run the unit test suite on JDK 6 / 7 / 8 in parallel
  with
  7/8 specific code being used for the JDK that do support them, so I wonder
  such a multi-module setup would work in this scenario, or would need yet
  another maven module for tests :'(
  
  2015-04-12 23:33 GMT+02:00 Hervé BOUTEMY herve.bout...@free.fr:
   Le samedi 11 avril 2015 21:42:50 Paul Benedict a écrit :
I've been giving this subject lots of thought in some of spare time.
  
  IMO,
  
the most straightforward way of meeting the requirement of the MVJAR
is
   
   to
   
break up one's JAR project into separate modules. One module would
   
   contain
   
the version independent code, and then other modules would be per Java
version.
   
   more precisely: the first module would contain the source for minimum
  
  Java
  
   version: sometimes, it will contain code that won't run with later JRE
   
This kind of slicing is necessary because you do need different
kinds of compiler directives (like -source), different JREs to run
unit
tests differently, and most importantly, the different JREs to allow
debugging according to the Java version you want to test.

The other piece that doesn't yet exist is a way to bundle the modules
   
   into
   
one jar. Perhaps this can be accomplished by introducing a new mvjar
Maven type.
   
   I didn't imagine this scenario: no Maven plugins updates nor IDE, just
  
  a
  
   new
   feature to merge multiple modules into on MV jar
   
   interesting idea, in fact: this would seriously reduce the impact on
   tooling,
   even if the result is less compact, ie creates a lot of Maven modules
   
   and I am wondering what unit tests will look like for additional
  
  versions:
   the
   good thing is that they can be tweaked easily. Then bad thing is that we
   may
   end up in copy/pasting them
   
   Regards,
   
   Hervé
   
Paul


Cheers,
Paul

On Sat, Apr 11, 2015 at 9:37 AM, Hervé BOUTEMY herve.bout...@free.fr

wrote:
 Le samedi 11 avril 2015 15:35:02 Kristian Rosenvold a 

[RESULT] [VOTE] Release Apache Maven Verifier Plugin version 1.1

2015-04-14 Thread Karl Heinz Marbaise

Hi,

The vote has passed with the following result:

+1 (binding): Karl Heinz Marbaise, Hervé Boutemy, Oliver Lamy
+1 (non binding): none

I will promote the artifacts to the central repo.

Kind regards
Karl Heinz Marbaise

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



Re: [VOTE] Release Apache Maven Verifier Plugin version 1.1

2015-04-14 Thread Karl Heinz Marbaise

Hi,

I need one more binding VOTE ?

Kind regards
Karl Heinz Marbaise
On 4/10/15 8:07 PM, Karl Heinz Marbaise wrote:

Hi,

We solved 4 issues:
https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12318120version=12331744


There are still a couple of issues left in JIRA:
https://issues.apache.org/jira/issues/?jql=project+%3D+MVERIFIER+AND+status+%3D+Open+ORDER+BY+priority+DESC


Staging repo:
https://repository.apache.org/content/repositories/maven-1166

https://repository.apache.org/content/repositories/maven-1166/org/apache/maven/plugins/maven-verifier-plugin/1.1/maven-verifier-plugin-1.1-source-release.zip


Source release checksum(s):
maven-verifier-plugin-1.1-source-release.zip sha1:
68b08332b15e464b524d6c899f733c167a9ab3ab

Staging site:
http://maven.apache.org/plugins-archives/maven-verifier-plugin-LATEST/

Guide to testing staged releases:
http://maven.apache.org/guides/development/guide-testing-releases.html

Vote open for 72 hours.

[ ] +1
[ ] +0
[ ] -1

Kind regards
Karl Heinz Marbaise

-
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



Re: Maven Web Site

2015-04-14 Thread Olivier Lamy
On 14 April 2015 at 16:11, Hervé BOUTEMY herve.bout...@free.fr wrote:

 wow, impressive!


Definitely agree!!!



 what I don't like is that it does not use my wide screen, which is not
 great
 on some key pages like http://maven.matsuo-it.com/#/plugins/index.html


I wonder what sort of resolution you're using?? :-)

I wonder if it could be possible to have atfix for left menu? and a mix of
atfix and scroll spy for right one?
See http://getbootstrap.com/javascript/#scrollspy and
http://getbootstrap.com/javascript/#affix






 but there are a lot of great ideas that proves people can create great
 skins!

 Regarding Jekyll and asciidoctor, I have in my todo list to draw a picture
 of
 how maven-site-plugin currently uses reports, Doxia and Doxia SiteTools to
 render a site with a skin
 I'm convinced we can replace Doxia SiteTools without wreaking havoc
 What I still don't know is if Jekyll and/or asciidoctor know about a
 notion of
 skin, ie reusable template

 I will be offline for somthing like 3 weeks: I hope to draw a first draft
 of the
 picture to let time thinking about its improvement during my vacation :)

 Then for the current skins rd, I won't be available at the moment

 But definitely, it's something really interesting: I don't know if we have
 something like a skins-community to share skins
 Nothing at http://maven.apache.org/skins/index.html
 But
 http://maven.apache.org/plugins/maven-site-plugin/examples/creatingskins.html
 links Examples of Existing Skins to
 http://docs.codehaus.org/display/MAVENUSER/Maven+Skins

 Notice this is a Codehaus MAVENUSER Confluence content, that will disappear
 when Codehaus shuts down: seems like we'll need to migrate at least part of
 it, I don't know how, to ASF...
 And I hope we can have external contributors on ASF Confluence: once again
 I
 don't know

 I'll try to see what I can do before going offline...

 Regards,

 Hervé

 Le mardi 14 avril 2015 00:58:16 Marek Romanowski a écrit :
  Hi,
  I saw Karl's mail about Maven Web Site and I've decided to post some
  questions to you all.
 
  A few months ago I was thinking about how hard would it be to provide
  modern theme for maven generated sites. I wanted to have full project
  documentation within project, ideally generated with standard maven
 tools.
  Documentation should be usable on mobile devices, and extremely data
  centric, without any distracting parts.
 
  First I've found reflow skin, and basing on it I've created clone that
 uses
  Bootstrap 3.3 - http://tunguski.github.io/msb3-maven-skin (not deployed
 in
  maven central).
 
  But I found working with custom maven site generation extremely hard,
  especially when you compare it to tools like Jekyll.
 
  So I started a research project asking how hard would it be to create
  totally new theme without changing default maven site generation. I've
  created proof of concept visible here: http://maven.matsuo-it.com. Full
  source code is availible on github:
  https://github.com/tunguski/angular-boostrapize-maven-site.
 
  Generally it is starndard maven site data, but themed using bootstrap
 3.3.
  It uses Angular 1.4 for data extraction (from original site), adding
  dynamic elements like menu generation, scroll to top etc. At this point
 it
  probably won't index in search engines at all.
 
  Goals achieved in most part:
  * it looks and works really well on all kinds of devices
  * it has themes changed in seconds - you may choose a skin and
 highlighting
  theme (upper right corner of the screen)
  * it creates additional menu builded from headers in page content
  * it unifies theme for sites created with default and fluido skin
  * it tries to provide fresh view on javadocs and java sources (it's far
  from perfect)
  * it adds simple search of artifacts from search.maven.org
  * it provides proof of concept for dynamic report basing on maven web
 site
  data - broken links report:
  http://maven.matsuo-it.com/#/_views/reports/linkage.html
 
  Main things that are broken are in-page anchors, no images, breadcrumb
 and
  page title generation (all listed in readme.md).
 
  Ok, after that very long introduction I'd like to ask you what do you
 think
  about this simple rd. I'm especially interested in:
 
  * What do you think about these themes and layout in context of maven
 site?
  * Would it be useful for Maven community in any part if some specific
  things were finnished? If yes, what could be done?
 
 
 
  Kind Regards,
  Marek Romanowski.
 
 
  ps.: As it is my first mail on this list, I'd like to thank you all for
  outstanding work you are doing!


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




-- 
Olivier Lamy
http://twitter.com/olamy | http://linkedin.com/in/olamy


Re: Maven Web Site

2015-04-14 Thread Hervé BOUTEMY
wow, impressive!

what I don't like is that it does not use my wide screen, which is not great 
on some key pages like http://maven.matsuo-it.com/#/plugins/index.html

but there are a lot of great ideas that proves people can create great skins!

Regarding Jekyll and asciidoctor, I have in my todo list to draw a picture of 
how maven-site-plugin currently uses reports, Doxia and Doxia SiteTools to 
render a site with a skin
I'm convinced we can replace Doxia SiteTools without wreaking havoc
What I still don't know is if Jekyll and/or asciidoctor know about a notion of 
skin, ie reusable template

I will be offline for somthing like 3 weeks: I hope to draw a first draft of 
the 
picture to let time thinking about its improvement during my vacation :)

Then for the current skins rd, I won't be available at the moment

But definitely, it's something really interesting: I don't know if we have 
something like a skins-community to share skins
Nothing at http://maven.apache.org/skins/index.html
But 
http://maven.apache.org/plugins/maven-site-plugin/examples/creatingskins.html 
links Examples of Existing Skins to 
http://docs.codehaus.org/display/MAVENUSER/Maven+Skins

Notice this is a Codehaus MAVENUSER Confluence content, that will disappear 
when Codehaus shuts down: seems like we'll need to migrate at least part of 
it, I don't know how, to ASF...
And I hope we can have external contributors on ASF Confluence: once again I 
don't know

I'll try to see what I can do before going offline...

Regards,

Hervé

Le mardi 14 avril 2015 00:58:16 Marek Romanowski a écrit :
 Hi,
 I saw Karl's mail about Maven Web Site and I've decided to post some
 questions to you all.
 
 A few months ago I was thinking about how hard would it be to provide
 modern theme for maven generated sites. I wanted to have full project
 documentation within project, ideally generated with standard maven tools.
 Documentation should be usable on mobile devices, and extremely data
 centric, without any distracting parts.
 
 First I've found reflow skin, and basing on it I've created clone that uses
 Bootstrap 3.3 - http://tunguski.github.io/msb3-maven-skin (not deployed in
 maven central).
 
 But I found working with custom maven site generation extremely hard,
 especially when you compare it to tools like Jekyll.
 
 So I started a research project asking how hard would it be to create
 totally new theme without changing default maven site generation. I've
 created proof of concept visible here: http://maven.matsuo-it.com. Full
 source code is availible on github:
 https://github.com/tunguski/angular-boostrapize-maven-site.
 
 Generally it is starndard maven site data, but themed using bootstrap 3.3.
 It uses Angular 1.4 for data extraction (from original site), adding
 dynamic elements like menu generation, scroll to top etc. At this point it
 probably won't index in search engines at all.
 
 Goals achieved in most part:
 * it looks and works really well on all kinds of devices
 * it has themes changed in seconds - you may choose a skin and highlighting
 theme (upper right corner of the screen)
 * it creates additional menu builded from headers in page content
 * it unifies theme for sites created with default and fluido skin
 * it tries to provide fresh view on javadocs and java sources (it's far
 from perfect)
 * it adds simple search of artifacts from search.maven.org
 * it provides proof of concept for dynamic report basing on maven web site
 data - broken links report:
 http://maven.matsuo-it.com/#/_views/reports/linkage.html
 
 Main things that are broken are in-page anchors, no images, breadcrumb and
 page title generation (all listed in readme.md).
 
 Ok, after that very long introduction I'd like to ask you what do you think
 about this simple rd. I'm especially interested in:
 
 * What do you think about these themes and layout in context of maven site?
 * Would it be useful for Maven community in any part if some specific
 things were finnished? If yes, what could be done?
 
 
 
 Kind Regards,
 Marek Romanowski.
 
 
 ps.: As it is my first mail on this list, I'd like to thank you all for
 outstanding work you are doing!


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



Re: Maven Web Site

2015-04-14 Thread Hervé BOUTEMY
Le mardi 14 avril 2015 16:34:18 Olivier Lamy a écrit :
 On 14 April 2015 at 16:11, Hervé BOUTEMY herve.bout...@free.fr wrote:
  wow, impressive!
 
 Definitely agree!!!
 
  what I don't like is that it does not use my wide screen, which is not
  great
  on some key pages like http://maven.matsuo-it.com/#/plugins/index.html
 
 I wonder what sort of resolution you're using?? :-)
no secret: 1920x1200 = good screen for a desktop,
I'm sure some laptops are not that far, isn't it?

What resolution do other devs have?

And in fact, whatever the resolution is, nowadays we have wide screens: I 
don't like when a layout just don't use it :)

 
 I wonder if it could be possible to have atfix for left menu? and a mix of
 atfix and scroll spy for right one?
 See http://getbootstrap.com/javascript/#scrollspy and
 http://getbootstrap.com/javascript/#affix
 
  but there are a lot of great ideas that proves people can create great
  skins!
  
  Regarding Jekyll and asciidoctor, I have in my todo list to draw a picture
  of
  how maven-site-plugin currently uses reports, Doxia and Doxia SiteTools to
  render a site with a skin
  I'm convinced we can replace Doxia SiteTools without wreaking havoc
  What I still don't know is if Jekyll and/or asciidoctor know about a
  notion of
  skin, ie reusable template
  
  I will be offline for somthing like 3 weeks: I hope to draw a first draft
  of the
  picture to let time thinking about its improvement during my vacation :)
  
  Then for the current skins rd, I won't be available at the moment
  
  But definitely, it's something really interesting: I don't know if we have
  something like a skins-community to share skins
  Nothing at http://maven.apache.org/skins/index.html
  But
  http://maven.apache.org/plugins/maven-site-plugin/examples/creatingskins.h
  tml links Examples of Existing Skins to
  http://docs.codehaus.org/display/MAVENUSER/Maven+Skins
  
  Notice this is a Codehaus MAVENUSER Confluence content, that will
  disappear
  when Codehaus shuts down: seems like we'll need to migrate at least part
  of
  it, I don't know how, to ASF...
  And I hope we can have external contributors on ASF Confluence: once again
  I
  don't know
  
  I'll try to see what I can do before going offline...
  
  Regards,
  
  Hervé
  
  Le mardi 14 avril 2015 00:58:16 Marek Romanowski a écrit :
   Hi,
   I saw Karl's mail about Maven Web Site and I've decided to post some
   questions to you all.
   
   A few months ago I was thinking about how hard would it be to provide
   modern theme for maven generated sites. I wanted to have full project
   documentation within project, ideally generated with standard maven
  
  tools.
  
   Documentation should be usable on mobile devices, and extremely data
   centric, without any distracting parts.
   
   First I've found reflow skin, and basing on it I've created clone that
  
  uses
  
   Bootstrap 3.3 - http://tunguski.github.io/msb3-maven-skin (not deployed
  
  in
  
   maven central).
   
   But I found working with custom maven site generation extremely hard,
   especially when you compare it to tools like Jekyll.
   
   So I started a research project asking how hard would it be to create
   totally new theme without changing default maven site generation. I've
   created proof of concept visible here: http://maven.matsuo-it.com. Full
   source code is availible on github:
   https://github.com/tunguski/angular-boostrapize-maven-site.
   
   Generally it is starndard maven site data, but themed using bootstrap
  
  3.3.
  
   It uses Angular 1.4 for data extraction (from original site), adding
   dynamic elements like menu generation, scroll to top etc. At this point
  
  it
  
   probably won't index in search engines at all.
   
   Goals achieved in most part:
   * it looks and works really well on all kinds of devices
   * it has themes changed in seconds - you may choose a skin and
  
  highlighting
  
   theme (upper right corner of the screen)
   * it creates additional menu builded from headers in page content
   * it unifies theme for sites created with default and fluido skin
   * it tries to provide fresh view on javadocs and java sources (it's far
   from perfect)
   * it adds simple search of artifacts from search.maven.org
   * it provides proof of concept for dynamic report basing on maven web
  
  site
  
   data - broken links report:
   http://maven.matsuo-it.com/#/_views/reports/linkage.html
   
   Main things that are broken are in-page anchors, no images, breadcrumb
  
  and
  
   page title generation (all listed in readme.md).
   
   Ok, after that very long introduction I'd like to ask you what do you
  
  think
  
   about this simple rd. I'm especially interested in:
   
   * What do you think about these themes and layout in context of maven
  
  site?
  
   * Would it be useful for Maven community in any part if some specific
   things were finnished? If yes, what could be done?
   
   
   
   Kind Regards,
   Marek 

Re: Maven Web Site

2015-04-14 Thread Olivier Lamy
On 14 April 2015 at 16:50, Hervé BOUTEMY herve.bout...@free.fr wrote:

 Le mardi 14 avril 2015 16:34:18 Olivier Lamy a écrit :
  On 14 April 2015 at 16:11, Hervé BOUTEMY herve.bout...@free.fr wrote:
   wow, impressive!
 
  Definitely agree!!!
 
   what I don't like is that it does not use my wide screen, which is not
   great
   on some key pages like http://maven.matsuo-it.com/#/plugins/index.html
 
  I wonder what sort of resolution you're using?? :-)
 no secret: 1920x1200 = good screen for a desktop,
 I'm sure some laptops are not that far, isn't it?

 What resolution do other devs have?


Something a bit similar except laptop have smaller screens.
Anyway that's not the problem :-)



 And in fact, whatever the resolution is, nowadays we have wide screens: I
 don't like when a layout just don't use it :)


Perso I don't think a big page ( with a screen full of text, images etc..)
is useful neither human readable.
Here we talk about documentation so users just want to find the information
ASAP.
And sometimes (IMHO) in pages fully fill in the screen it's just a pain.
But hopefully it turns to be a pattern/tendency for a lot of web sites
(even the most used web site in the world use it :-) )
Again that's a personal opinion :-)



 
  I wonder if it could be possible to have atfix for left menu? and a mix
 of
  atfix and scroll spy for right one?
  See http://getbootstrap.com/javascript/#scrollspy and
  http://getbootstrap.com/javascript/#affix
 
   but there are a lot of great ideas that proves people can create great
   skins!
  
   Regarding Jekyll and asciidoctor, I have in my todo list to draw a
 picture
   of
   how maven-site-plugin currently uses reports, Doxia and Doxia
 SiteTools to
   render a site with a skin
   I'm convinced we can replace Doxia SiteTools without wreaking havoc
   What I still don't know is if Jekyll and/or asciidoctor know about a
   notion of
   skin, ie reusable template
  
   I will be offline for somthing like 3 weeks: I hope to draw a first
 draft
   of the
   picture to let time thinking about its improvement during my vacation
 :)
  
   Then for the current skins rd, I won't be available at the moment
  
   But definitely, it's something really interesting: I don't know if we
 have
   something like a skins-community to share skins
   Nothing at http://maven.apache.org/skins/index.html
   But
  
 http://maven.apache.org/plugins/maven-site-plugin/examples/creatingskins.h
   tml links Examples of Existing Skins to
   http://docs.codehaus.org/display/MAVENUSER/Maven+Skins
  
   Notice this is a Codehaus MAVENUSER Confluence content, that will
   disappear
   when Codehaus shuts down: seems like we'll need to migrate at least
 part
   of
   it, I don't know how, to ASF...
   And I hope we can have external contributors on ASF Confluence: once
 again
   I
   don't know
  
   I'll try to see what I can do before going offline...
  
   Regards,
  
   Hervé
  
   Le mardi 14 avril 2015 00:58:16 Marek Romanowski a écrit :
Hi,
I saw Karl's mail about Maven Web Site and I've decided to post some
questions to you all.
   
A few months ago I was thinking about how hard would it be to provide
modern theme for maven generated sites. I wanted to have full project
documentation within project, ideally generated with standard maven
  
   tools.
  
Documentation should be usable on mobile devices, and extremely data
centric, without any distracting parts.
   
First I've found reflow skin, and basing on it I've created clone
 that
  
   uses
  
Bootstrap 3.3 - http://tunguski.github.io/msb3-maven-skin (not
 deployed
  
   in
  
maven central).
   
But I found working with custom maven site generation extremely hard,
especially when you compare it to tools like Jekyll.
   
So I started a research project asking how hard would it be to create
totally new theme without changing default maven site generation.
 I've
created proof of concept visible here: http://maven.matsuo-it.com.
 Full
source code is availible on github:
https://github.com/tunguski/angular-boostrapize-maven-site.
   
Generally it is starndard maven site data, but themed using bootstrap
  
   3.3.
  
It uses Angular 1.4 for data extraction (from original site), adding
dynamic elements like menu generation, scroll to top etc. At this
 point
  
   it
  
probably won't index in search engines at all.
   
Goals achieved in most part:
* it looks and works really well on all kinds of devices
* it has themes changed in seconds - you may choose a skin and
  
   highlighting
  
theme (upper right corner of the screen)
* it creates additional menu builded from headers in page content
* it unifies theme for sites created with default and fluido skin
* it tries to provide fresh view on javadocs and java sources (it's
 far
from perfect)
* it adds simple search of artifacts from search.maven.org
* it provides 

Re: [VOTE] Release Apache Maven Verifier Plugin version 1.1

2015-04-14 Thread Olivier Lamy
+1

On 14 April 2015 at 16:16, Karl Heinz Marbaise khmarba...@gmx.de wrote:

 Hi,

 I need one more binding VOTE ?

 Kind regards
 Karl Heinz Marbaise
 On 4/10/15 8:07 PM, Karl Heinz Marbaise wrote:

 Hi,

 We solved 4 issues:
 https://issues.apache.org/jira/secure/ReleaseNote.jspa?
 projectId=12318120version=12331744


 There are still a couple of issues left in JIRA:
 https://issues.apache.org/jira/issues/?jql=project+%3D+
 MVERIFIER+AND+status+%3D+Open+ORDER+BY+priority+DESC


 Staging repo:
 https://repository.apache.org/content/repositories/maven-1166

 https://repository.apache.org/content/repositories/maven-
 1166/org/apache/maven/plugins/maven-verifier-plugin/1.1/
 maven-verifier-plugin-1.1-source-release.zip


 Source release checksum(s):
 maven-verifier-plugin-1.1-source-release.zip sha1:
 68b08332b15e464b524d6c899f733c167a9ab3ab

 Staging site:
 http://maven.apache.org/plugins-archives/maven-verifier-plugin-LATEST/

 Guide to testing staged releases:
 http://maven.apache.org/guides/development/guide-testing-releases.html

 Vote open for 72 hours.

 [ ] +1
 [ ] +0
 [ ] -1

 Kind regards
 Karl Heinz Marbaise

 -
 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




-- 
Olivier Lamy
http://twitter.com/olamy | http://linkedin.com/in/olamy


Re: [DISCUSSION] JEP 238: Multi-Version JAR Files

2015-04-14 Thread Stephen Connolly
Yes net beans does support it, jesse Glick (who is a net beans fanboy...
Because he used to be a net beans developer) foisted a JDK 6 for src/main
and JDK 8 for src/test on us at work... Where we all are left cursing
IntelliJ for not supporting same

On Tuesday, April 14, 2015, Milos Kleint mkle...@gmail.com wrote:

 afaik netbeans does support it (having different source/target level for
 test and main source) Not from the UI, but if you have your compiler plugin
 setup properly, it will take it into account.

 Milos

 On Sat, Apr 11, 2015 at 11:35 PM, Kristian Rosenvold 
 kristian.rosenv...@gmail.com javascript:; wrote:

  Technically we support main scoped sources in java6 and test
  scoped sources in java7 today, but the feature is largely unusable
  since IDE support is totally missing. Even IntelliJ does not support
  it (https://youtrack.jetbrains.com/issue/IDEA-85478 and other issues)
  :(
 
  There might be some hope of gaining some kind of traction to both
  source and main-level support of multi-language-level modules. Maybe
  something like (src/main/java and src/test/java = default language
  level) while src/[main|test]/java-8 would be a specific language
  level. This sounds infinitely cool, but also like a great can of worms
  :) I assume minimum compiler requirement would be java-8 for a project
  with src/main/java-8 ?
 
  K
 
 
  2015-04-11 15:11 GMT+02:00 Hervé BOUTEMY herve.bout...@free.fr
 javascript:;:
   Le samedi 11 avril 2015 10:54:34 Kristian Rosenvold a écrit :
   IDE support for multiple source trees seems quite far off ?
   IDE support for current situation, where we mix multiple Java API
  versions in
   one single source tree, is even more far off!
  
   With separate source trees, IDE support starts like we are at the
 moment
  = no
   IDE support
  
   but IDEs that want to do something about it have a chance: that's the
 big
   difference IMHO
  
   Regards,
  
   Hervé
  
  
   Kristian
  
   2015-04-11 8:51 GMT+02:00 Hervé BOUTEMY herve.bout...@free.fr
 javascript:;:
Hi,
   
Yesterday at DevoxxFR, Carlos Sanchez, Arnaud Héritier, Nicolas de
  Loof
and me met Brian Goetz and discussed about the objective of JEP 238
  and
what we could get from such a feature.
   
Having a face to face explanation in front of a white board gave
interesting ideas: then, *as library maintainer*, I tried to modifiy
plexus-utils code to use MVJAR for Java 7 enhancement that are
  currently
triggerred through reflection
   
   
Here is the result [1]:
   
I extracted 2 little xxxMv classes containing only the few methods
  that
had to be enhanced when runing on Java 7, replacing the
   
if (Java7Detector.isJava7()) {
   
  // java 7
   
} else {
   
 // Java 5
   
}
   
stanza with the default Java 5 code in the main src/main/java source
  tree
and Java 7 reimplementation in src/main/java-7 source tree
   
and I did cleanup: removed Java7Detector and moved NioFiles to this
  java-7
specific source tree
   
   
the result is a main src/main/java source tree that can be compiled
  with
JDK 5 and a src/main/java-7 source tree that is minimal to be
 compiled
with JDK 7
   
   
I still didn't try to update pom.xml to see what
  maven-compiler-plugin and
maven-jar-plugin configurations could look like.
   
and I don't know if javac will be enhanced to do the 2 compilations
  in 1
command like javac -target 1.5 src/main/java -target 1.7
  src/main/java-7
or if it'l have to launch 2 javac one after the other
   
I didn't look at maven-jar-plugin to see if it uses jar command
 that
will be enhanced to mix multiple target/classes or if it uses
 JarFile
class then will need to code the mix
   
and I don't know if javac will have tru crossplatform compilation
  option,
to avoid using 2 JDKs (ie JDK 5 for compiling java 5 code and being
  sure
there is no Java 7 API reference, and JDK 7 for the java 7 part)
   
   
I see there will be impact on tooling, and if javac does a part of
 the
job,
this will be a lot easier to implement at Maven level
   
   
But at the moment, my objective was not from Maven point of view but
library developper point of view: show a real world case of how an
existing library could be refactored to use the feature, expecting
  that
the new source code would be easier to maintain
   
   
WDYT?
   
Regards,
   
Hervé
   
   
   
   
[1]
   
 
 https://github.com/codehaus-plexus/plexus-utils/tree/jep-238/src/main/jav
a-7/org/codehaus/plexus/util
Le jeudi 19 mars 2015 23:38:32 Robert Scholte a écrit :
Hi,
   
we've been asked to give our opinion on the JEP 238: Multi-Version
  JAR
Files
   
Here's a quote from Rory O'Donnels e-mail:
---
   
  It's goal is to extend the JAR file format to allow multiple, JDK
   
release-specific versions of class
   
   

[RESULT] [VOTE] Release Apache Maven JavaDoc Plugin version 2.10.3

2015-04-14 Thread Karl Heinz Marbaise

Hi,

The vote has passed with the following result:

+1 (binding): Hervé Boutemy, Karl Heinz Marbaise, Olivier Lamy
+1 (non binding): none

I will promote the artifacts to the central repo.

Kind regards
Karl Heinz Marbaise

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



Re: [DISCUSSION] JEP 238: Multi-Version JAR Files

2015-04-14 Thread Arnaud Héritier
On Mon, Apr 13, 2015 at 11:16 PM, Jörg Schaible joerg.schai...@gmx.de
wrote:

 Hi Arnaud,

 Arnaud Héritier wrote:

  In short/middle term the lack of IDE integration isn't a real problem for
  now.
  Like Brian said, they know that users won't use such feature before
  several years.
  The runtime part providing the compatibility for the JRE should be
  backported to Java 8 but only Java 9 JDK will provide required tools to
  create such jars.
  The goal to involve build tools ASAP is to validate the technical
  feasibility to integrate such new feature before J9 is out (and not to
  wait for its delivery to do it - and complain when it will be too late)

 You can already use several executions for the compiler plugin to create a
 jar file with classes targeting different JDKs. That's what XStream does
 for
 years already.


yes exactly. But to be user friendly we'll have to provide something easy
to setup. Not 100 lines of XML



 The challenge is that you have multiple class files with same name.


Yes. AFAIU for now it will be several call of javac with a new option for
the targeted platform
1 call of javac with java 7 for example and then a call of javac with the
result of J7 build + sources for 8 + option for the J8 platform target 



  What we need to do here is to imagine how it will be in 2/3? years when
  we'll start to have developers using a JDK9 who'll want to provide
  librairies compatible (and optimized) for previous JREs.
 
  For me (in my dreams) it should clearly be in only one module and thus
  probably with additional sources directories. The compiler plugin should
  hide (in one or several steps) the compilation of sources and the jar
  packaging should discover if it has to create a mvjar or not

 You have different use cases here. One time you have one Java source that
 will behave different depending against which runtime libs you have
 compiled
 (e.g. a different overloaded method is used). In another scenario your Java
 code actually differs.

 So, for Maven there might be several src folders ... or you have
 annotations
 at types, methods and/or fields indicating the target runtime.

 However, the result should be a jar file that allows a client to write code
 that is indifferent of the multiple versions of a class. Wait ... maybe the
 client will have to create a mvjar himself, because the different versions
 also result in different versions of his own code (think about JDBC api)
 ...?


I remember about the JDBC API breakage (it was in J5 ?) but what mvjar
wants to cover is that case of an api which doesn't change across
implemented platforms (only the implementation itself). If the API changes
this is another problem.



 IMHO, mvjars will create a bigger maintenance mess than the current
 solutions.


I don't know. I think it really depends if your are provider or consumer of
mvjars. If you are consumer you may imagine to not have to manually switch
anymore between several implementations (using classifiers ) and it
gives you the ability to do the selection at runtime and not at build time.
As producer I agree that it won't be easy if tools (Build, IDE) aren't
providing a good/simple support. That's why Oracle (Brian) is trying to
involve us.



 - Jörg


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




-- 
-
Arnaud Héritier
http://aheritier.net
Mail/GTalk: aheritier AT gmail DOT com
Twitter/Skype : aheritier


Re: [DISCUSSION] JEP 238: Multi-Version JAR Files

2015-04-14 Thread Arnaud Héritier
On Tue, Apr 14, 2015 at 8:29 AM, Hervé BOUTEMY herve.bout...@free.fr
wrote:

 Le lundi 13 avril 2015 12:19:57 Paul Benedict a écrit :
  This is the example project structure I had in mind:
 
  mvjar-example/
 minjava/
   src/main/java
   src/test/java
 java7/
   src/main/java
   src/test/java
 java8/
   src/main/java
   src/test/java
 
  The minjava and java7 and java8 are not special names (just names
 to
  denote what kind of Java source is inside). As Herve noted, minjava
 would
  contain the source minimum Java version; java7 would contain the java
  7-specific sources, and java8 would contain the java 8-specific
 sources.
 like Gary answered, I think that it'll be better if we stick with java#,
 or j#

 And in this example, we'll require another module for the mvjar, that will
 combine result fo every other module



I really hate when maven enforces us to create modules for its own
technical reasons. (And I know I'm not the only one)



 
  I don't see any added difficulty with regard to testing. If you already
  have code that tests a specific Java X version, just extract that into
 its
  own test case file and place it in the appropriate project. At most all
  you're doing is minor refactoring.
 after thinking at it, true
 this module layout is definitely really clear, that's a big advantage!
 one thing that it makes really clear is javadoc, too, since javadoc in a
 mv-
 module is a challenge :)

 we should try it with plexus-utils, in another branch

 
  This will create three JARs of course (or at least today). I don't see
 that
  as a big deal since authors may decide to distribute this way where MVJAR
  isn't supported (like pre-Java 9 JVMs).
 IMHO, not really, since the minimum version module will contain absolutely
 every classes, but the other modules will contain only a few classes = the
 few
 code that is rewritten to take advantage of newer JDK

 Compatibility with old jdks that do not support mvjar is built into mvjar
 JEP:
 a JVM that does not support mvjar extension will see minimum version
 modules
 (and useless content in /META-INF/versions/)

 notice that every module will ave its own GAV coordinates: the last mvjar
 module will have the end-user coordinates, where every JDK-version-specific
 module will have an artifactId = artifactId-java# (that's a generic
 convention
 we should try to push forward)

  However, if we can bind up all the
  jars into one in a post-processing phrase, you can then meet the MVJAR
  specification.
 
  PS: I really don't know if an mvjar type is necessary. Honestly, I hope
  it's not. I thought it was needed in the beginning, but am not sure
  anymore. Opinions appreciated.
 I don't know if the merging will require a dedicated packaging: we'll see
 later

 now it's time to test on plexus-utils: givent this idea doesn't involve
 much
 new things in maven, I'm pretty sure we can make it full functional!

 I'll try to do it tonight if nobody beats me at it

 Regards,

 Hervé

 
 
 
  Cheers,
  Paul
 
  On Mon, Apr 13, 2015 at 1:28 AM, nicolas de loof 
 nicolas.del...@gmail.com
 
  wrote:
   I expect we could run the unit test suite on JDK 6 / 7 / 8 in parallel
   with
   7/8 specific code being used for the JDK that do support them, so I
 wonder
   such a multi-module setup would work in this scenario, or would need
 yet
   another maven module for tests :'(
  
   2015-04-12 23:33 GMT+02:00 Hervé BOUTEMY herve.bout...@free.fr:
Le samedi 11 avril 2015 21:42:50 Paul Benedict a écrit :
 I've been giving this subject lots of thought in some of spare
 time.
  
   IMO,
  
 the most straightforward way of meeting the requirement of the
 MVJAR
 is
   
to
   
 break up one's JAR project into separate modules. One module would
   
contain
   
 the version independent code, and then other modules would be per
 Java
 version.
   
more precisely: the first module would contain the source for minimum
  
   Java
  
version: sometimes, it will contain code that won't run with later
 JRE
   
 This kind of slicing is necessary because you do need different
 kinds of compiler directives (like -source), different JREs to run
 unit
 tests differently, and most importantly, the different JREs to
 allow
 debugging according to the Java version you want to test.

 The other piece that doesn't yet exist is a way to bundle the
 modules
   
into
   
 one jar. Perhaps this can be accomplished by introducing a new
 mvjar
 Maven type.
   
I didn't imagine this scenario: no Maven plugins updates nor IDE,
 just
  
   a
  
new
feature to merge multiple modules into on MV jar
   
interesting idea, in fact: this would seriously reduce the impact on
tooling,
even if the result is less compact, ie creates a lot of Maven modules
   
and I am wondering what unit tests will look like for additional
  
   versions:
the
good thing is that they 

Re: [DISCUSSION] JEP 238: Multi-Version JAR Files

2015-04-14 Thread Stephen Connolly
Actually this is worse. This would be Maven forcing us to create modules
because IDEs do not support different JDK levels for source code paths in
the one module

On 14 April 2015 at 09:32, Arnaud Héritier aherit...@gmail.com wrote:

 On Tue, Apr 14, 2015 at 8:29 AM, Hervé BOUTEMY herve.bout...@free.fr
 wrote:

  Le lundi 13 avril 2015 12:19:57 Paul Benedict a écrit :
   This is the example project structure I had in mind:
  
   mvjar-example/
  minjava/
src/main/java
src/test/java
  java7/
src/main/java
src/test/java
  java8/
src/main/java
src/test/java
  
   The minjava and java7 and java8 are not special names (just names
  to
   denote what kind of Java source is inside). As Herve noted, minjava
  would
   contain the source minimum Java version; java7 would contain the java
   7-specific sources, and java8 would contain the java 8-specific
  sources.
  like Gary answered, I think that it'll be better if we stick with java#,
  or j#
 
  And in this example, we'll require another module for the mvjar, that
 will
  combine result fo every other module
 


 I really hate when maven enforces us to create modules for its own
 technical reasons. (And I know I'm not the only one)


 
  
   I don't see any added difficulty with regard to testing. If you already
   have code that tests a specific Java X version, just extract that into
  its
   own test case file and place it in the appropriate project. At most all
   you're doing is minor refactoring.
  after thinking at it, true
  this module layout is definitely really clear, that's a big advantage!
  one thing that it makes really clear is javadoc, too, since javadoc in a
  mv-
  module is a challenge :)
 
  we should try it with plexus-utils, in another branch
 
  
   This will create three JARs of course (or at least today). I don't see
  that
   as a big deal since authors may decide to distribute this way where
 MVJAR
   isn't supported (like pre-Java 9 JVMs).
  IMHO, not really, since the minimum version module will contain
 absolutely
  every classes, but the other modules will contain only a few classes =
 the
  few
  code that is rewritten to take advantage of newer JDK
 
  Compatibility with old jdks that do not support mvjar is built into mvjar
  JEP:
  a JVM that does not support mvjar extension will see minimum version
  modules
  (and useless content in /META-INF/versions/)
 
  notice that every module will ave its own GAV coordinates: the last mvjar
  module will have the end-user coordinates, where every
 JDK-version-specific
  module will have an artifactId = artifactId-java# (that's a generic
  convention
  we should try to push forward)
 
   However, if we can bind up all the
   jars into one in a post-processing phrase, you can then meet the MVJAR
   specification.
  
   PS: I really don't know if an mvjar type is necessary. Honestly, I
 hope
   it's not. I thought it was needed in the beginning, but am not sure
   anymore. Opinions appreciated.
  I don't know if the merging will require a dedicated packaging: we'll see
  later
 
  now it's time to test on plexus-utils: givent this idea doesn't involve
  much
  new things in maven, I'm pretty sure we can make it full functional!
 
  I'll try to do it tonight if nobody beats me at it
 
  Regards,
 
  Hervé
 
  
  
  
   Cheers,
   Paul
  
   On Mon, Apr 13, 2015 at 1:28 AM, nicolas de loof 
  nicolas.del...@gmail.com
  
   wrote:
I expect we could run the unit test suite on JDK 6 / 7 / 8 in
 parallel
with
7/8 specific code being used for the JDK that do support them, so I
  wonder
such a multi-module setup would work in this scenario, or would need
  yet
another maven module for tests :'(
   
2015-04-12 23:33 GMT+02:00 Hervé BOUTEMY herve.bout...@free.fr:
 Le samedi 11 avril 2015 21:42:50 Paul Benedict a écrit :
  I've been giving this subject lots of thought in some of spare
  time.
   
IMO,
   
  the most straightforward way of meeting the requirement of the
  MVJAR
  is

 to

  break up one's JAR project into separate modules. One module
 would

 contain

  the version independent code, and then other modules would be per
  Java
  version.

 more precisely: the first module would contain the source for
 minimum
   
Java
   
 version: sometimes, it will contain code that won't run with later
  JRE

  This kind of slicing is necessary because you do need different
  kinds of compiler directives (like -source), different JREs to
 run
  unit
  tests differently, and most importantly, the different JREs to
  allow
  debugging according to the Java version you want to test.
 
  The other piece that doesn't yet exist is a way to bundle the
  modules

 into

  one jar. Perhaps this can be accomplished by introducing a new
  mvjar
  Maven type.

 I didn't imagine this scenario: no 

Re: [DISCUSSION] JEP 238: Multi-Version JAR Files

2015-04-14 Thread Arnaud Héritier
For now yes it is probably the only solution but the JCP should work with
IDE teams to have this solved.
I don't want to see Maven doing crappy stuffs because of IDEs
There are already a lot of limitations in IDE (at least some of them)
compared to Maven like the ability to have several classpaths
Maven must propose something easy/clean to manage mvjars and should allow a
degraded mode (perhaps with several modules) to allow to use any IDE (the
time they didn't natively support it).

WDYT ?

On Tue, Apr 14, 2015 at 12:53 PM, Stephen Connolly 
stephen.alan.conno...@gmail.com wrote:

 Actually this is worse. This would be Maven forcing us to create modules
 because IDEs do not support different JDK levels for source code paths in
 the one module

 On 14 April 2015 at 09:32, Arnaud Héritier aherit...@gmail.com wrote:

  On Tue, Apr 14, 2015 at 8:29 AM, Hervé BOUTEMY herve.bout...@free.fr
  wrote:
 
   Le lundi 13 avril 2015 12:19:57 Paul Benedict a écrit :
This is the example project structure I had in mind:
   
mvjar-example/
   minjava/
 src/main/java
 src/test/java
   java7/
 src/main/java
 src/test/java
   java8/
 src/main/java
 src/test/java
   
The minjava and java7 and java8 are not special names (just
 names
   to
denote what kind of Java source is inside). As Herve noted, minjava
   would
contain the source minimum Java version; java7 would contain the
 java
7-specific sources, and java8 would contain the java 8-specific
   sources.
   like Gary answered, I think that it'll be better if we stick with
 java#,
   or j#
  
   And in this example, we'll require another module for the mvjar, that
  will
   combine result fo every other module
  
 
 
  I really hate when maven enforces us to create modules for its own
  technical reasons. (And I know I'm not the only one)
 
 
  
   
I don't see any added difficulty with regard to testing. If you
 already
have code that tests a specific Java X version, just extract that
 into
   its
own test case file and place it in the appropriate project. At most
 all
you're doing is minor refactoring.
   after thinking at it, true
   this module layout is definitely really clear, that's a big advantage!
   one thing that it makes really clear is javadoc, too, since javadoc in
 a
   mv-
   module is a challenge :)
  
   we should try it with plexus-utils, in another branch
  
   
This will create three JARs of course (or at least today). I don't
 see
   that
as a big deal since authors may decide to distribute this way where
  MVJAR
isn't supported (like pre-Java 9 JVMs).
   IMHO, not really, since the minimum version module will contain
  absolutely
   every classes, but the other modules will contain only a few classes =
  the
   few
   code that is rewritten to take advantage of newer JDK
  
   Compatibility with old jdks that do not support mvjar is built into
 mvjar
   JEP:
   a JVM that does not support mvjar extension will see minimum version
   modules
   (and useless content in /META-INF/versions/)
  
   notice that every module will ave its own GAV coordinates: the last
 mvjar
   module will have the end-user coordinates, where every
  JDK-version-specific
   module will have an artifactId = artifactId-java# (that's a generic
   convention
   we should try to push forward)
  
However, if we can bind up all the
jars into one in a post-processing phrase, you can then meet the
 MVJAR
specification.
   
PS: I really don't know if an mvjar type is necessary. Honestly, I
  hope
it's not. I thought it was needed in the beginning, but am not sure
anymore. Opinions appreciated.
   I don't know if the merging will require a dedicated packaging: we'll
 see
   later
  
   now it's time to test on plexus-utils: givent this idea doesn't involve
   much
   new things in maven, I'm pretty sure we can make it full functional!
  
   I'll try to do it tonight if nobody beats me at it
  
   Regards,
  
   Hervé
  
   
   
   
Cheers,
Paul
   
On Mon, Apr 13, 2015 at 1:28 AM, nicolas de loof 
   nicolas.del...@gmail.com
   
wrote:
 I expect we could run the unit test suite on JDK 6 / 7 / 8 in
  parallel
 with
 7/8 specific code being used for the JDK that do support them, so I
   wonder
 such a multi-module setup would work in this scenario, or would
 need
   yet
 another maven module for tests :'(

 2015-04-12 23:33 GMT+02:00 Hervé BOUTEMY herve.bout...@free.fr:
  Le samedi 11 avril 2015 21:42:50 Paul Benedict a écrit :
   I've been giving this subject lots of thought in some of spare
   time.

 IMO,

   the most straightforward way of meeting the requirement of the
   MVJAR
   is
 
  to
 
   break up one's JAR project into separate modules. One module
  would
 
  contain
 
   the version independent code, and then other modules would be
 per
  

Re: [DISCUSSION] JEP 238: Multi-Version JAR Files

2015-04-14 Thread Jörg Schaible
Hi Arnaud,

Arnaud Héritier wrote:

 On Mon, Apr 13, 2015 at 11:16 PM, Jörg Schaible joerg.schai...@gmx.de
 wrote:

[snip]

 IMHO, mvjars will create a bigger maintenance mess than the current
 solutions.

 
 I don't know. I think it really depends if your are provider or consumer
 of mvjars. If you are consumer you may imagine to not have to manually
 switch anymore between several implementations (using classifiers )
 and it gives you the ability to do the selection at runtime and not at
 build time. As producer I agree that it won't be easy if tools (Build,
 IDE) aren't providing a good/simple support. That's why Oracle (Brian) is
 trying to involve us.

Actually my biggest fear is for such a feature that some people will find 
*very* creative ways to use it. Therefore I hope that mvjars will be 
consequently restricted e.g. they should not be allowed to provide changes 
in the API for different versions. Better safe than sorry.

- Jörg


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



Re: [DISCUSSION] JEP 238: Multi-Version JAR Files

2015-04-14 Thread Arnaud Héritier
On Tue, Apr 14, 2015 at 11:55 AM, Jörg Schaible 
joerg.schai...@swisspost.com wrote:

 Hi Arnaud,

 Arnaud Héritier wrote:

  On Mon, Apr 13, 2015 at 11:16 PM, Jörg Schaible joerg.schai...@gmx.de
  wrote:

 [snip]

  IMHO, mvjars will create a bigger maintenance mess than the current
  solutions.
 
 
  I don't know. I think it really depends if your are provider or consumer
  of mvjars. If you are consumer you may imagine to not have to manually
  switch anymore between several implementations (using classifiers )
  and it gives you the ability to do the selection at runtime and not at
  build time. As producer I agree that it won't be easy if tools (Build,
  IDE) aren't providing a good/simple support. That's why Oracle (Brian) is
  trying to involve us.

 Actually my biggest fear is for such a feature that some people will find
 *very* creative ways to use it. Therefore I hope that mvjars will be
 consequently restricted e.g. they should not be allowed to provide changes
 in the API for different versions. Better safe than sorry.



yes, totally agree. For me it should be the case. As far as I understood
the compiler should allow only to override a class or a method with a
more optimized code. It shouldn't allow to add something (but I don't know
how they'll do. Perhaps they'll allow only new private methods/fields)



 - Jörg


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




-- 
-
Arnaud Héritier
http://aheritier.net
Mail/GTalk: aheritier AT gmail DOT com
Twitter/Skype : aheritier


Re: [DISCUSSION] JEP 238: Multi-Version JAR Files

2015-04-14 Thread Paul Benedict
In addition, even if IDEs were to support the MVJAR spec, that doesn't
answer how Maven should natively answer the spec. Relying on IDE support
isn't a good total answer, but it is a good complimentary answer. Maven
just has to answer it with configuration and command line tooling too.


Cheers,
Paul

On Tue, Apr 14, 2015 at 10:14 AM, Carlos Sanchez car...@apache.org wrote:

 My 0.02

 The current approach to use multiple modules, poms,... is a pita and
 mvjar would fix that, while bringing new interesting problems such as
 testing the possible combinations. But that is ok.

 Lack of IDE support shouldn't stop us, if it is useful for maven users
 that may push the IDEs

 If the Maven user wants to use mvjar by putting sources in
 src/main/java8 src/main/java9 or whatever convention we decide, then
 the compiler, jar,... plugins should transparently handle all the
 necessary compilations and packaging without extra pom configuration.
 If they decide to stick with multimodule, they can still do that.

 So if we are ok with the plugins recognizing these mvjar projects then
 it is left for someone to implement some jira issues in the best way
 possible while retaining backwards compatibility.

 Cheers


 On Tue, Apr 14, 2015 at 4:50 PM, Paul Benedict pbened...@apache.org
 wrote:
  I don't see this as forcing to create modules. This is purely a
 packaging
  issue, not a programming issue. Rather than providing distinct jars per
 the
  Java version you're targeting (which people have done for years when
  needed), you're just binding things up at the end. Forget this is about
 the
  MVJAR initiative because this is just how you would solve this minus the
  special packaging.
 
 
  Cheers,
  Paul
 
  On Tue, Apr 14, 2015 at 5:53 AM, Stephen Connolly 
  stephen.alan.conno...@gmail.com wrote:
 
  Actually this is worse. This would be Maven forcing us to create modules
  because IDEs do not support different JDK levels for source code paths
 in
  the one module
 
  On 14 April 2015 at 09:32, Arnaud Héritier aherit...@gmail.com wrote:
 
   On Tue, Apr 14, 2015 at 8:29 AM, Hervé BOUTEMY herve.bout...@free.fr
 
   wrote:
  
Le lundi 13 avril 2015 12:19:57 Paul Benedict a écrit :
 This is the example project structure I had in mind:

 mvjar-example/
minjava/
  src/main/java
  src/test/java
java7/
  src/main/java
  src/test/java
java8/
  src/main/java
  src/test/java

 The minjava and java7 and java8 are not special names (just
  names
to
 denote what kind of Java source is inside). As Herve noted,
 minjava
would
 contain the source minimum Java version; java7 would contain the
  java
 7-specific sources, and java8 would contain the java 8-specific
sources.
like Gary answered, I think that it'll be better if we stick with
  java#,
or j#
   
And in this example, we'll require another module for the mvjar,
 that
   will
combine result fo every other module
   
  
  
   I really hate when maven enforces us to create modules for its own
   technical reasons. (And I know I'm not the only one)
  
  
   

 I don't see any added difficulty with regard to testing. If you
  already
 have code that tests a specific Java X version, just extract that
  into
its
 own test case file and place it in the appropriate project. At
 most
  all
 you're doing is minor refactoring.
after thinking at it, true
this module layout is definitely really clear, that's a big
 advantage!
one thing that it makes really clear is javadoc, too, since javadoc
 in
  a
mv-
module is a challenge :)
   
we should try it with plexus-utils, in another branch
   

 This will create three JARs of course (or at least today). I don't
  see
that
 as a big deal since authors may decide to distribute this way
 where
   MVJAR
 isn't supported (like pre-Java 9 JVMs).
IMHO, not really, since the minimum version module will contain
   absolutely
every classes, but the other modules will contain only a few
 classes =
   the
few
code that is rewritten to take advantage of newer JDK
   
Compatibility with old jdks that do not support mvjar is built into
  mvjar
JEP:
a JVM that does not support mvjar extension will see minimum version
modules
(and useless content in /META-INF/versions/)
   
notice that every module will ave its own GAV coordinates: the last
  mvjar
module will have the end-user coordinates, where every
   JDK-version-specific
module will have an artifactId = artifactId-java# (that's a generic
convention
we should try to push forward)
   
 However, if we can bind up all the
 jars into one in a post-processing phrase, you can then meet the
  MVJAR
 specification.

 PS: I really don't know if an mvjar type is necessary.
 Honestly, I
   hope
 it's not. I thought it was needed in the 

Re: [DISCUSSION] JEP 238: Multi-Version JAR Files

2015-04-14 Thread Jeff MAURY
On Tue, Apr 14, 2015 at 10:32 AM, Arnaud Héritier aherit...@gmail.com
wrote:

 On Tue, Apr 14, 2015 at 8:29 AM, Hervé BOUTEMY herve.bout...@free.fr
 wrote:

  Le lundi 13 avril 2015 12:19:57 Paul Benedict a écrit :
   This is the example project structure I had in mind:
  
   mvjar-example/
  minjava/
src/main/java
src/test/java
  java7/
src/main/java
src/test/java
  java8/
src/main/java
src/test/java
  
   The minjava and java7 and java8 are not special names (just names
  to
   denote what kind of Java source is inside). As Herve noted, minjava
  would
   contain the source minimum Java version; java7 would contain the java
   7-specific sources, and java8 would contain the java 8-specific
  sources.
  like Gary answered, I think that it'll be better if we stick with java#,
  or j#
 
  And in this example, we'll require another module for the mvjar, that
 will
  combine result fo every other module
 


 I really hate when maven enforces us to create modules for its own
 technical reasons. (And I know I'm not the only one)

+1



 
  
   I don't see any added difficulty with regard to testing. If you already
   have code that tests a specific Java X version, just extract that into
  its
   own test case file and place it in the appropriate project. At most all
   you're doing is minor refactoring.
  after thinking at it, true
  this module layout is definitely really clear, that's a big advantage!
  one thing that it makes really clear is javadoc, too, since javadoc in a
  mv-
  module is a challenge :)
 
  we should try it with plexus-utils, in another branch
 
  
   This will create three JARs of course (or at least today). I don't see
  that
   as a big deal since authors may decide to distribute this way where
 MVJAR
   isn't supported (like pre-Java 9 JVMs).
  IMHO, not really, since the minimum version module will contain
 absolutely
  every classes, but the other modules will contain only a few classes =
 the
  few
  code that is rewritten to take advantage of newer JDK
 
  Compatibility with old jdks that do not support mvjar is built into mvjar
  JEP:
  a JVM that does not support mvjar extension will see minimum version
  modules
  (and useless content in /META-INF/versions/)
 
  notice that every module will ave its own GAV coordinates: the last mvjar
  module will have the end-user coordinates, where every
 JDK-version-specific
  module will have an artifactId = artifactId-java# (that's a generic
  convention
  we should try to push forward)
 
   However, if we can bind up all the
   jars into one in a post-processing phrase, you can then meet the MVJAR
   specification.
  
   PS: I really don't know if an mvjar type is necessary. Honestly, I
 hope
   it's not. I thought it was needed in the beginning, but am not sure
   anymore. Opinions appreciated.
  I don't know if the merging will require a dedicated packaging: we'll see
  later
 
  now it's time to test on plexus-utils: givent this idea doesn't involve
  much
  new things in maven, I'm pretty sure we can make it full functional!
 
  I'll try to do it tonight if nobody beats me at it
 
  Regards,
 
  Hervé
 
  
  
  
   Cheers,
   Paul
  
   On Mon, Apr 13, 2015 at 1:28 AM, nicolas de loof 
  nicolas.del...@gmail.com
  
   wrote:
I expect we could run the unit test suite on JDK 6 / 7 / 8 in
 parallel
with
7/8 specific code being used for the JDK that do support them, so I
  wonder
such a multi-module setup would work in this scenario, or would need
  yet
another maven module for tests :'(
   
2015-04-12 23:33 GMT+02:00 Hervé BOUTEMY herve.bout...@free.fr:
 Le samedi 11 avril 2015 21:42:50 Paul Benedict a écrit :
  I've been giving this subject lots of thought in some of spare
  time.
   
IMO,
   
  the most straightforward way of meeting the requirement of the
  MVJAR
  is

 to

  break up one's JAR project into separate modules. One module
 would

 contain

  the version independent code, and then other modules would be per
  Java
  version.

 more precisely: the first module would contain the source for
 minimum
   
Java
   
 version: sometimes, it will contain code that won't run with later
  JRE

  This kind of slicing is necessary because you do need different
  kinds of compiler directives (like -source), different JREs to
 run
  unit
  tests differently, and most importantly, the different JREs to
  allow
  debugging according to the Java version you want to test.
 
  The other piece that doesn't yet exist is a way to bundle the
  modules

 into

  one jar. Perhaps this can be accomplished by introducing a new
  mvjar
  Maven type.

 I didn't imagine this scenario: no Maven plugins updates nor IDE,
  just
   
a
   
 new
 feature to merge multiple modules into on MV jar

 interesting idea, in fact: 

Re: [DISCUSSION] JEP 238: Multi-Version JAR Files

2015-04-14 Thread Paul Benedict
I don't see this as forcing to create modules. This is purely a packaging
issue, not a programming issue. Rather than providing distinct jars per the
Java version you're targeting (which people have done for years when
needed), you're just binding things up at the end. Forget this is about the
MVJAR initiative because this is just how you would solve this minus the
special packaging.


Cheers,
Paul

On Tue, Apr 14, 2015 at 5:53 AM, Stephen Connolly 
stephen.alan.conno...@gmail.com wrote:

 Actually this is worse. This would be Maven forcing us to create modules
 because IDEs do not support different JDK levels for source code paths in
 the one module

 On 14 April 2015 at 09:32, Arnaud Héritier aherit...@gmail.com wrote:

  On Tue, Apr 14, 2015 at 8:29 AM, Hervé BOUTEMY herve.bout...@free.fr
  wrote:
 
   Le lundi 13 avril 2015 12:19:57 Paul Benedict a écrit :
This is the example project structure I had in mind:
   
mvjar-example/
   minjava/
 src/main/java
 src/test/java
   java7/
 src/main/java
 src/test/java
   java8/
 src/main/java
 src/test/java
   
The minjava and java7 and java8 are not special names (just
 names
   to
denote what kind of Java source is inside). As Herve noted, minjava
   would
contain the source minimum Java version; java7 would contain the
 java
7-specific sources, and java8 would contain the java 8-specific
   sources.
   like Gary answered, I think that it'll be better if we stick with
 java#,
   or j#
  
   And in this example, we'll require another module for the mvjar, that
  will
   combine result fo every other module
  
 
 
  I really hate when maven enforces us to create modules for its own
  technical reasons. (And I know I'm not the only one)
 
 
  
   
I don't see any added difficulty with regard to testing. If you
 already
have code that tests a specific Java X version, just extract that
 into
   its
own test case file and place it in the appropriate project. At most
 all
you're doing is minor refactoring.
   after thinking at it, true
   this module layout is definitely really clear, that's a big advantage!
   one thing that it makes really clear is javadoc, too, since javadoc in
 a
   mv-
   module is a challenge :)
  
   we should try it with plexus-utils, in another branch
  
   
This will create three JARs of course (or at least today). I don't
 see
   that
as a big deal since authors may decide to distribute this way where
  MVJAR
isn't supported (like pre-Java 9 JVMs).
   IMHO, not really, since the minimum version module will contain
  absolutely
   every classes, but the other modules will contain only a few classes =
  the
   few
   code that is rewritten to take advantage of newer JDK
  
   Compatibility with old jdks that do not support mvjar is built into
 mvjar
   JEP:
   a JVM that does not support mvjar extension will see minimum version
   modules
   (and useless content in /META-INF/versions/)
  
   notice that every module will ave its own GAV coordinates: the last
 mvjar
   module will have the end-user coordinates, where every
  JDK-version-specific
   module will have an artifactId = artifactId-java# (that's a generic
   convention
   we should try to push forward)
  
However, if we can bind up all the
jars into one in a post-processing phrase, you can then meet the
 MVJAR
specification.
   
PS: I really don't know if an mvjar type is necessary. Honestly, I
  hope
it's not. I thought it was needed in the beginning, but am not sure
anymore. Opinions appreciated.
   I don't know if the merging will require a dedicated packaging: we'll
 see
   later
  
   now it's time to test on plexus-utils: givent this idea doesn't involve
   much
   new things in maven, I'm pretty sure we can make it full functional!
  
   I'll try to do it tonight if nobody beats me at it
  
   Regards,
  
   Hervé
  
   
   
   
Cheers,
Paul
   
On Mon, Apr 13, 2015 at 1:28 AM, nicolas de loof 
   nicolas.del...@gmail.com
   
wrote:
 I expect we could run the unit test suite on JDK 6 / 7 / 8 in
  parallel
 with
 7/8 specific code being used for the JDK that do support them, so I
   wonder
 such a multi-module setup would work in this scenario, or would
 need
   yet
 another maven module for tests :'(

 2015-04-12 23:33 GMT+02:00 Hervé BOUTEMY herve.bout...@free.fr:
  Le samedi 11 avril 2015 21:42:50 Paul Benedict a écrit :
   I've been giving this subject lots of thought in some of spare
   time.

 IMO,

   the most straightforward way of meeting the requirement of the
   MVJAR
   is
 
  to
 
   break up one's JAR project into separate modules. One module
  would
 
  contain
 
   the version independent code, and then other modules would be
 per
   Java
   version.
 
  more precisely: the first module would contain the source 

Re: [DISCUSSION] JEP 238: Multi-Version JAR Files

2015-04-14 Thread Carlos Sanchez
My 0.02

The current approach to use multiple modules, poms,... is a pita and
mvjar would fix that, while bringing new interesting problems such as
testing the possible combinations. But that is ok.

Lack of IDE support shouldn't stop us, if it is useful for maven users
that may push the IDEs

If the Maven user wants to use mvjar by putting sources in
src/main/java8 src/main/java9 or whatever convention we decide, then
the compiler, jar,... plugins should transparently handle all the
necessary compilations and packaging without extra pom configuration.
If they decide to stick with multimodule, they can still do that.

So if we are ok with the plugins recognizing these mvjar projects then
it is left for someone to implement some jira issues in the best way
possible while retaining backwards compatibility.

Cheers


On Tue, Apr 14, 2015 at 4:50 PM, Paul Benedict pbened...@apache.org wrote:
 I don't see this as forcing to create modules. This is purely a packaging
 issue, not a programming issue. Rather than providing distinct jars per the
 Java version you're targeting (which people have done for years when
 needed), you're just binding things up at the end. Forget this is about the
 MVJAR initiative because this is just how you would solve this minus the
 special packaging.


 Cheers,
 Paul

 On Tue, Apr 14, 2015 at 5:53 AM, Stephen Connolly 
 stephen.alan.conno...@gmail.com wrote:

 Actually this is worse. This would be Maven forcing us to create modules
 because IDEs do not support different JDK levels for source code paths in
 the one module

 On 14 April 2015 at 09:32, Arnaud Héritier aherit...@gmail.com wrote:

  On Tue, Apr 14, 2015 at 8:29 AM, Hervé BOUTEMY herve.bout...@free.fr
  wrote:
 
   Le lundi 13 avril 2015 12:19:57 Paul Benedict a écrit :
This is the example project structure I had in mind:
   
mvjar-example/
   minjava/
 src/main/java
 src/test/java
   java7/
 src/main/java
 src/test/java
   java8/
 src/main/java
 src/test/java
   
The minjava and java7 and java8 are not special names (just
 names
   to
denote what kind of Java source is inside). As Herve noted, minjava
   would
contain the source minimum Java version; java7 would contain the
 java
7-specific sources, and java8 would contain the java 8-specific
   sources.
   like Gary answered, I think that it'll be better if we stick with
 java#,
   or j#
  
   And in this example, we'll require another module for the mvjar, that
  will
   combine result fo every other module
  
 
 
  I really hate when maven enforces us to create modules for its own
  technical reasons. (And I know I'm not the only one)
 
 
  
   
I don't see any added difficulty with regard to testing. If you
 already
have code that tests a specific Java X version, just extract that
 into
   its
own test case file and place it in the appropriate project. At most
 all
you're doing is minor refactoring.
   after thinking at it, true
   this module layout is definitely really clear, that's a big advantage!
   one thing that it makes really clear is javadoc, too, since javadoc in
 a
   mv-
   module is a challenge :)
  
   we should try it with plexus-utils, in another branch
  
   
This will create three JARs of course (or at least today). I don't
 see
   that
as a big deal since authors may decide to distribute this way where
  MVJAR
isn't supported (like pre-Java 9 JVMs).
   IMHO, not really, since the minimum version module will contain
  absolutely
   every classes, but the other modules will contain only a few classes =
  the
   few
   code that is rewritten to take advantage of newer JDK
  
   Compatibility with old jdks that do not support mvjar is built into
 mvjar
   JEP:
   a JVM that does not support mvjar extension will see minimum version
   modules
   (and useless content in /META-INF/versions/)
  
   notice that every module will ave its own GAV coordinates: the last
 mvjar
   module will have the end-user coordinates, where every
  JDK-version-specific
   module will have an artifactId = artifactId-java# (that's a generic
   convention
   we should try to push forward)
  
However, if we can bind up all the
jars into one in a post-processing phrase, you can then meet the
 MVJAR
specification.
   
PS: I really don't know if an mvjar type is necessary. Honestly, I
  hope
it's not. I thought it was needed in the beginning, but am not sure
anymore. Opinions appreciated.
   I don't know if the merging will require a dedicated packaging: we'll
 see
   later
  
   now it's time to test on plexus-utils: givent this idea doesn't involve
   much
   new things in maven, I'm pretty sure we can make it full functional!
  
   I'll try to do it tonight if nobody beats me at it
  
   Regards,
  
   Hervé
  
   
   
   
Cheers,
Paul
   
On Mon, Apr 13, 2015 at 1:28 AM, nicolas de loof 
   nicolas.del...@gmail.com
   
wrote:
 

Re: Maven Web Site

2015-04-14 Thread Mark Derricutt
On 14 Apr 2015, at 18:34, Olivier Lamy wrote:

 wow, impressive!
 Definitely agree!!!

A third on that! That's tempting me to _actually_ use maven sites.

-- 
Mark Derricutt
http://www.theoryinpractice.net
http://www.chaliceofblood.net
http://plus.google.com/+MarkDerricutt
http://twitter.com/talios
http://facebook.com/mderricutt


signature.asc
Description: OpenPGP digital signature


Re: Maven Web Site

2015-04-14 Thread Mark Derricutt
On 14 Apr 2015, at 18:50, Hervé BOUTEMY wrote:

 no secret: 1920x1200 = good screen for a desktop,

Do you always run your browser full screen?  I don't.

-- 
Mark Derricutt
http://www.theoryinpractice.net
http://www.chaliceofblood.net
http://plus.google.com/+MarkDerricutt
http://twitter.com/talios
http://facebook.com/mderricutt


signature.asc
Description: OpenPGP digital signature


[GitHub] maven-scm pull request: SCM-706 finer-grained handling of file ren...

2015-04-14 Thread sergei-ivanov
GitHub user sergei-ivanov opened a pull request:

https://github.com/apache/maven-scm/pull/31

SCM-706 finer-grained handling of file rename status for gitexe provider...

..., rename source is not added to the set of files for commit operation 
anymore

This is an actualisation of the original Darryl L. Miles's patch from 
[SCM-706](https://issues.apache.org/jira/browse/SCM-706).
All tests for gitexe provider are passing locally.
I've also confirmed locally that it fixes the `release-with-pom` behaviour 
in `maven-release-plugin` under git.

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/sergei-ivanov/maven-scm master

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/maven-scm/pull/31.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #31


commit 8b8db484f0d800bcfbbe35e821a8b34435e09683
Author: Sergei Ivanov sergei_iva...@mail.ru
Date:   2015-04-15T00:42:35Z

SCM-706 finer-grained handling of file rename status for gitexe provider, 
rename source is not added to the set of files for commit operation anymore




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

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