Re: [VOTE] Release Apache Maven Compiler Plugin version 3.13.0

2024-03-17 Thread Sylwester Lachiewicz
+1

On 2024/03/15 07:36:15 Slawomir Jaranowski wrote:
> Hi,
> 
> We solved 10 issues:
> https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12317225&version=12354079
> 
> There are still a couple of issues left in JIRA:
> https://issues.apache.org/jira/issues/?jql=project%20%3D%20MCOMPILER%20AND%20resolution%20%3D%20Unresolved%20ORDER%20BY%20priority%20DESC%2C%20updated%20DESC
> 
> Staging repo:
> https://repository.apache.org/content/repositories/maven-2072/
> https://repository.apache.org/content/repositories/maven-2072/org/apache/maven/plugins/maven-compiler-plugin/3.13.0/maven-compiler-plugin-3.13.0-source-release.zip
> 
> Source release checksum(s):
> maven-compiler-plugin-3.13.0-source-release.zip - SHA-512 :
> 99897c8350e50ba0ad9fcba210dad772d7f9e465358c35752942b71e3c7d2ca54d1e9115cc657130829135f1598a091436463744ef00de0cbee6042862abddf5
> 
> Staging site:
> https://maven.apache.org/plugins-archives/maven-compiler-plugin-LATEST/
> 
> Guide to testing staged releases:
> https://maven.apache.org/guides/development/guide-testing-releases.html
> 
> Vote open for at least 72 hours.
> 
> [ ] +1
> [ ] +0
> [ ] -1
> 
> -- 
> Sławomir Jaranowski
> 

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



Re: [VOTE] Release Apache Maven Assembly Plugin version 3.7.1

2024-03-17 Thread Sylwester Lachiewicz
+1

On 2024/03/15 16:19:45 Tamás Cservenák wrote:
> +1
> 
> Reproducible build OK
> [INFO] Reference build java.version: 21 (from MANIFEST.MF Build-Jdk-Spec)
> [INFO] Reference build os.name: Unix (from pom.properties newline)
> [INFO] Reproducible Build output summary: 7 files ok
> 
> On Fri, Mar 15, 2024 at 8:59 AM Slawomir Jaranowski 
> wrote:
> 
> > Hi,
> >
> > We solved 6 issues:
> >
> > https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12317220&version=12354406
> >
> > There are still a couple of issues left in JIRA:
> >
> > https://issues.apache.org/jira/issues/?jql=project%20%3D%20MASSEMBLY%20AND%20resolution%20%3D%20Unresolved%20ORDER%20BY%20priority%20DESC%2C%20updated%20DESC
> >
> > Staging repo:
> > https://repository.apache.org/content/repositories/maven-2073/
> >
> > https://repository.apache.org/content/repositories/maven-2073/org/apache/maven/plugins/maven-assembly-plugin/3.7.1/maven-assembly-plugin-3.7.1-source-release.zip
> >
> > Source release checksum(s):
> > maven-assembly-plugin-3.7.1-source-release.zip - SHA-512 :
> >
> > 599fb208058b2fea3ea6af6db6e56bd1d2653f8d36061c46c0fb0634f5e7b6fd7eb968fb05754538001ee692c21f4ae4289d040f74a9d327f1a4cd2eba38
> >
> > Staging site:
> > https://maven.apache.org/plugins-archives/maven-assembly-plugin-LATEST/
> >
> > Guide to testing staged releases:
> > https://maven.apache.org/guides/development/guide-testing-releases.html
> >
> > Vote open for at least 72 hours.
> >
> > [ ] +1
> > [ ] +0
> > [ ] -1
> >
> > --
> > Sławomir Jaranowski
> >
> 

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



Re: [VOTE] Release Apache Maven GPG Plugin 3.2.1

2024-03-17 Thread Sylwester Lachiewicz
+1

On 2024/03/16 16:45:25 Slawomir Jaranowski wrote:
> +1
> 
> pt., 15 mar 2024 o 09:25 Tamás Cservenák  napisał(a):
> 
> > Howdy,
> >
> > Note: this is a bugfix release for
> > https://issues.apache.org/jira/browse/MGPG-112
> >
> > We solved 2 issues:
> >
> > https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12317521&version=12354394
> >
> > There are still a couple of issues left in JIRA:
> > https://issues.apache.org/jira/projects/MGPG/issues
> >
> > Staging repo:
> > https://repository.apache.org/content/repositories/maven-2074/
> >
> > Source release checksum SHA512:
> >
> > 19bb9d57b2caec3524ecc3abc8efb818061541874011763c474c0d60608a3b156eb0ad92299bba2a24ba86b8021c2b5d89c2531a918e913453e170dcfa125d1e
> >
> > Staging site:
> > https://maven.apache.org/plugins-archives/maven-gpg-plugin-LATEST/
> >
> > Guide to testing staged releases:
> > https://maven.apache.org/guides/development/guide-testing-releases.html
> >
> > Vote open for at least 72 hours.
> >
> > [ ] +1
> > [ ] +0
> > [ ] -1
> >
> 
> 
> -- 
> Sławomir Jaranowski
> 

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



Re: [VOTE] Release Apache Maven Compiler Plugin version 3.13.0

2024-03-17 Thread Karl Heinz Marbaise

Hi,

+1 from me.

Kind regards
Karl Heinz Marbaise
On 15.03.24 08:36, Slawomir Jaranowski wrote:

Hi,

We solved 10 issues:
https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12317225&version=12354079

There are still a couple of issues left in JIRA:
https://issues.apache.org/jira/issues/?jql=project%20%3D%20MCOMPILER%20AND%20resolution%20%3D%20Unresolved%20ORDER%20BY%20priority%20DESC%2C%20updated%20DESC

Staging repo:
https://repository.apache.org/content/repositories/maven-2072/
https://repository.apache.org/content/repositories/maven-2072/org/apache/maven/plugins/maven-compiler-plugin/3.13.0/maven-compiler-plugin-3.13.0-source-release.zip

Source release checksum(s):
maven-compiler-plugin-3.13.0-source-release.zip - SHA-512 :
99897c8350e50ba0ad9fcba210dad772d7f9e465358c35752942b71e3c7d2ca54d1e9115cc657130829135f1598a091436463744ef00de0cbee6042862abddf5

Staging site:
https://maven.apache.org/plugins-archives/maven-compiler-plugin-LATEST/

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

Vote open for at least 72 hours.

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



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



Re: [VOTE] Release Apache Maven Assembly Plugin version 3.7.1

2024-03-17 Thread Karl Heinz Marbaise

Hi,

+1 from me.

Kind regards
Karl Heinz Marbaise

On 15.03.24 08:58, Slawomir Jaranowski wrote:

Hi,

We solved 6 issues:
https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12317220&version=12354406

There are still a couple of issues left in JIRA:
https://issues.apache.org/jira/issues/?jql=project%20%3D%20MASSEMBLY%20AND%20resolution%20%3D%20Unresolved%20ORDER%20BY%20priority%20DESC%2C%20updated%20DESC

Staging repo:
https://repository.apache.org/content/repositories/maven-2073/
https://repository.apache.org/content/repositories/maven-2073/org/apache/maven/plugins/maven-assembly-plugin/3.7.1/maven-assembly-plugin-3.7.1-source-release.zip

Source release checksum(s):
maven-assembly-plugin-3.7.1-source-release.zip - SHA-512 :
599fb208058b2fea3ea6af6db6e56bd1d2653f8d36061c46c0fb0634f5e7b6fd7eb968fb05754538001ee692c21f4ae4289d040f74a9d327f1a4cd2eba38

Staging site:
https://maven.apache.org/plugins-archives/maven-assembly-plugin-LATEST/

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

Vote open for at least 72 hours.

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




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



Re: [VOTE] Release Apache Maven GPG Plugin 3.2.1

2024-03-17 Thread Karl Heinz Marbaise

Hi,

+1 from me.

Kind regards
Karl Heinz Marbaise
On 15.03.24 09:25, Tamás Cservenák wrote:

Howdy,

Note: this is a bugfix release for
https://issues.apache.org/jira/browse/MGPG-112

We solved 2 issues:
https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12317521&version=12354394

There are still a couple of issues left in JIRA:
https://issues.apache.org/jira/projects/MGPG/issues

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

Source release checksum SHA512:
19bb9d57b2caec3524ecc3abc8efb818061541874011763c474c0d60608a3b156eb0ad92299bba2a24ba86b8021c2b5d89c2531a918e913453e170dcfa125d1e

Staging site:
https://maven.apache.org/plugins-archives/maven-gpg-plugin-LATEST/

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

Vote open for at least 72 hours.

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




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



Notes on maven-compiler-plugin work

2024-03-17 Thread Martin Desruisseaux

Hello all

I'm not yet ready to submit a pull request for the reworked 
maven-compiler-plugin, but I would like to report some details about 
changes that would come, if accepted. This work is for Maven 4 only, the 
plugin for Maven 3 will stay unaffected.


As proposed on GitHub comment [1], I'm modifying the implementation for 
using the standard javax.tools.JavaCompiler interface instead of the 
Plexus compiler. That interface is part of standard JDK since Java 6. It 
seems that the Eclipse compiler provides also an implementation of that 
interface, so compiler independence should be preserved. Forked 
compilation is handled by a custom implementation of that interface. The 
javax.tools.JavaCompiler interface has some methods needed for Java 
modules, for which I saw no direct equivalence in Plexus API. The gap 
may grow larger if future Java versions bring more evolution to the 
compiler API. The standard interface also has a cache mechanism that may 
bring performance improvements (to be verified) when compiling more than 
one set of sources, e.g. for multi-versions. It also opens the door for 
handling source and classes that are not files, for example by doing 
everything in memory (I have no plan to use this features now, but it 
become a possibility for the future).


The way to handle compiler options has been modified. Previously, the 
Maven plugin validated some options before to pass them to the compiler. 
For example, if the  value contains anything else than 
"lines", "vars" or "source", the plugin raised an error. The intend was 
to provide more informative message. But in the javax.tools.JavaCompiler 
interface, there is an API telling us whether an option is supported. 
Therefor, the new plugin version first asks to the compiler whether the 
option is supported, and only if the compiler said "no", the validation 
is performed for producing the error message. Consequently, if the 
compiler claims to support the "-g:foo" option, then the plugin will no 
longer block the use of the "foo" value in  even if the 
plugin does not know that value.


The set of plugin parameters is the same as before: no addition and no 
removal, but there is some deprecation. Of course, what to deprecate or 
not is open to discussion. In the current state of work, the following 
parameters are deprecated but are still working:


 *  (a single String): already replaced by
(a list of Strings) since Maven 3.1.
 * : replaced by ordinary dependencies with
   proc, a new artifact type introduced in Maven 4-alpha13.

The following parameters are marked as deprecated for removal in the 
current state of work. They all became no-op in the new plugin:


 * : the documentation is not really explicit,
   but it seems to be about forcing the use of java.lang.Compiler
   instead of javax.tools.JavaCompiler (it does not seem to be about
   the javac command). The java.lang.Compiler class was deprecated
   since Java 9 and no longer exists in Java 21.
 * : bundling many class files into a single file can
   be considered as the task of separated plugins, for example the JAR
   plugin. Furthermore, this parameter does not fit well in the context
   of Module Source Hierarchy, because the output is not a single JAR.
 * : the way that the javax.tools.JavaCompiler
   API is designed, this parameter does not seem relevant to instances
   of that interface. The parameter may be partially relevant to some
   objects used by JavaCompiler, but not fully (e.g. the "reuseSame"
   parameter value stay inapplicable). I suggest to let those decisions
   as plugin implementation details.
 * : deprecated as a consequence of
deprecation.

The following parameters had their default value modified:

 *  and : removed the default value and added a Javadoc
   saying "As of Java 9, the --release option is preferred." Its
   default value (if any) has not yet been chosen.

Finally, the CompilerMojo and TestCompilerMojo subclasses contained 
magic in their preparePaths(…) method for trying to setup automatically 
some values of --patch-module and --add-reads options. This was done for 
multi-versions and for tests compilation. This magic has been removed 
for now (I will see during the tests if we need to bring back some). To 
avoid black magic or make it more controllable is the whole purpose of 
this effort in improving JPMS support.


I have not yet reached the point where tests can be done. This email is 
only for reporting progress, and see if there is discussion.


    Martin

[1]https://github.com/apache/maven/pull/1401#issuecomment-1974810724


Proposal about source directories

2024-03-17 Thread Martin Desruisseaux

Hello all

I would like to propose a change in the way to specify source directory 
in a POM file. Currently, it can be done as below:


   
  foo

I would like to propose a structure more like below (similar to 
org.codehaus.mojo:build-helper-maven-plugin:add-source). In this 
proposal, I'm using XML attributes only for brevity. The use of 
attributes versus enclosed elements is not the topic of this email.


   
  
    
  
   

The 'version' attributes in above example is optional, but if present 
the Maven compiler and JAR plugins would use this information for 
building a multi-version JAR files. We could also imagine an 'exclude' 
attribute expecting a Boolean value, for making easy to filter the list 
of source directories depending on property values.


I make this proposal also because I would like a 'module' attribute. 
Since Java 9, each module can have its own source directory in a single 
compilation unit. Example:


   
  
  
  
   

A directory structure like above example is known as Module Source 
Hierarchy, but with directory enumerated explicitly instead of using the 
"--module-source-path src/*/main" pattern. Some may said that the above 
should be separated Maven modules. But to my knowledge, it is impossible 
to compile [1] with separated Maven modules without compiler warnings or 
fatal errors (of course without disabling the warnings). That 
demonstration at [1] was done for Gradle, but the exact same problem 
applies to Maven.


    Martin

[1]https://github.com/Geomatys/MavenModulepathBug/tree/cyclic-graph