Re: [DISCUSS] Major changed for 4.x

2023-08-22 Thread Mark Derricutt
 Definitely keen on seeing this, or the approach taken - as Maven 4.x
breaks the existing usage of tiles-maven-plugin so having something
supported, that covers the same featureset would be good.

Where in GIthub can I see the IT’s mentioned here?

On 22/08/2023 at 7:32:12 PM, Guillaume Nodet  wrote:

> The third one is the support for POM mixins [7].  That one is still a
> draft.  Two ITs have been written to leverage mixins using GAV or as
> relative paths [8].  This definitely needs some work, but the current state
> definitely shows that it can be implemented and introduced in the next
> alphas.
>


-- 
"Great artists are extremely selfish and arrogant things" — Steven Wilson,
Porcupine Tree


[ANN] Apache Maven Archiver 3.6.1 released

2023-08-22 Thread Slawomir Jaranowski
The Apache Maven team is pleased to announce the release of the Apache
Maven Archiver, version 3.6.1.

https://maven.apache.org/shared/maven-archiver/

Release Notes - Maven Shared Components - Version maven-archiver-3.6.1

** New Feature
* [MSHARED-1251] - Deprecate the JAR Index feature (JDK-8302819)

** Task
* [MSHARED-1293] - Refresh download page
* [MSHARED-1297] - Prefer JDK features over plexus-utils, plexus-io

** Dependency upgrade
* [MSHARED-1179] - Upgrade Parent to 39
* [MSHARED-1291] - Bump org.junit:junit-bom from 5.9.3 to 5.10.0
* [MSHARED-1292] - Bump org.codehaus.plexus:plexus-archiver from 4.4.0
to 4.8.0
* [MSHARED-1294] - Upgrade Parent to 40

Enjoy,

-The Apache Maven team


[ANN] Apache Maven Enforcer Plugin 3.4.0 Released

2023-08-22 Thread Slawomir Jaranowski
The Apache Maven team is pleased to announce the release of the Apache
Maven Enforcer Plugin, version 3.4.0

This plugin provides goals to control certain environmental constraints
such as Maven version, JDK version and OS family
along with many more built-in rules and user created rules.

https://maven.apache.org/enforcer/maven-enforcer-plugin/

You should specify the version in your project's plugin configuration:


 org.apache.maven.plugins
 maven-enforcer-plugin
 3.4.0


You can download the appropriate sources etc. from the download page:

https://maven.apache.org/enforcer/download.html

Release Notes - Maven Enforcer Plugin - Version 3.4.0

** Bug
* [MENFORCER-393] - Upgrading to 3.0.0 causes `Could not build
dependency tree` with repositories some unknown protocol
* [MENFORCER-426] - DependencyConvergence in 3.1.0 fails when using
version ranges
* [MENFORCER-480] - Semantics of `ignores` parameter of
`banDynamicVersions` is inverted
* [MENFORCER-481] - Omission of `excludedScopes` parameter of
`banDynamicVersions` causes NPE

** Improvement
* [MENFORCER-488] - EnforcerLogger: Provide isDebugEnabled(),
isErrorEnabled(), isWarnEnabled() and isInfoEnabled()

** Dependency upgrade
* [MENFORCER-485] - Upgrade Parent to 40
* [MENFORCER-486] - Bump commons-codec from 1.15 to 1.16.0
* [MENFORCER-487] - Bump commons-io from 2.11.0 to 2.13.0
* [MENFORCER-489] - Bump commons-lang3 from 3.12.0 to 3.13.0

Enjoy,

-The Apache Maven team


[RESULT] [VOTE] Release Apache Maven Enforcer version 3.4.0

2023-08-22 Thread Slawomir Jaranowski
Hi,

The vote has passed with the following result:

+1: Tamás Cservenák, Michael Osipov, Sylwester Lachiewicz, Herve Boutemy

+0: Elliotte Rusty Harold - suggests improvements in project dependencies

PMC quorum: reached

I will promote the source release zip file to the Apache distribution area
and the artifacts to the central repo.

-- 
Sławomir Jaranowski


[RESULT] [VOTE] Release Apache Maven Archiver version 3.6.1

2023-08-22 Thread Slawomir Jaranowski
Hi,

The vote has passed with the following result:

+1: Sylwester Lachiewicz, Olivier Lamy, Tamás Cservenák, Michael Osipov,
Herve Boutemy

PMC quorum: reached

I will promote the source release zip file to the Apache distribution area
and the artifacts to the central repo.

-- 
Sławomir Jaranowski


JDK 21 Release Candidates & JVM Language Summit

2023-08-22 Thread David Delabassee
Greetings!

JDK 21 is now in the Release Candidate Phase so everything is on track for the 
Java 21 GA release on September 19th! If you haven't done so, please start 
testing your project(s) using JDK 22 Early-Access builds and let us know the 
results.

In other news, the JVM Language Summit took place a few days ago in Santa Clara 
(California). During this unique gathering of Java architects and OpenJDK 
developers, key updates were shared and discussed, ex. where Valhalla stands 
today, the new Class-File API, an update on Leyden and Valhalla, Project 
Panama, the challenges of Virtual Threads, continuation internals, etc. We have 
started to publish the JVMLS 2023 videos so make sure to keep an eye on this 
evolving JVMLS playlist [1] to understand where the Java platform is heading to.


## JDK 21 Early-Access Builds

Per the JDK 21 schedule [2], we are now in the Release-Candidate Phase. The 
overall feature set [3] is frozen, no further JEPs will be targeted to this 
release.

### JEPs integrated to JDK 21:
- 430: String Templates (Preview)
- 431: Sequenced Collections
- 439: Generational ZGC
- 440: Record Patterns
- 441: Pattern Matching for switch  
- 442: Foreign Function & Memory API (3rd Preview)
- 443: Unnamed Patterns and Variables (Preview)   
- 444: Virtual Threads
- 445: Unnamed Classes and Instance Main Methods (Preview)
- 446: Scoped Values (Preview)
- 448: Vector API (6th Incubator)
- 449: Deprecate the Windows 32-bit x86 Port for Removal
- 451: Prepare to Disallow the Dynamic Loading of Agents
- 452: Key Encapsulation Mechanism API
- 453: Structured Concurrency (Preview)

The first JDK 21 Release Candidate builds (builds 35) are available [4]. Those 
builds are provided under the GNU General Public License v2, with the Classpath 
Exception. The Release Notes [5] and the Javadocs [6] are also available.

[1] https://www.youtube.com/playlist?list=PLX8CzqL3ArzW90jKUCf4H6xCKpStxsOzp
[2] https://openjdk.org/projects/jdk/21/#Schedule
[3] https://openjdk.org/projects/jdk/21/#Features
[4] https://jdk.java.net/21/
[5] https://jdk.java.net/21/release-notes
[6] https://download.java.net/java/early_access/jdk21/docs/api/


## JDK 22 Early-Access Builds

The latest Early-Access builds 11 are available [7], and are provided under the 
GNU General Public License v2, with the Classpath Exception. The Release Notes 
are available here [8].

### Changes in recent JDK 22 builds (b8-b11) that may be of interest:

Note that this is only a curated list of changes, make sure to check [9] for 
additional changes.

- JDK-8314209: Wrong @since tag for RandomGenerator::equiDoubles [Reported by 
JaCoCo]
- JDK-8312489: Increase Default Value of the System Property 
jdk.jar.maxSignatureFileSize
- JDK-8312433: HttpClient request fails due to connection being considered …
- JDK-8313307: java/util/Formatter/Padding.java fails on some Locales
- JDK-8312821: Javac accepts char literal as template
- JDK-8313251: Add NativeLibraryLoad event
- JDK-8313809: String template fails with java.lang.StringIndexOutOfBoundsE…
- JDK-8312984: javac may crash on a record pattern with too few components
- JDK-8310033: Clarify return value of Java Time compareTo methods
- JDK-8302017: Allocate BadPaddingException only if it will be thrown
- JDK-8310913: Move ReferencedKeyMap to jdk.internal so it may be shared
- JDK-8313251: Add NativeLibraryLoad event to provide more detail about shared 
lib/dll loads
- JDK-8311653: Modify -XshowSettings launcher behavior
- JDK-8306441: Two phase segmented heap dump
- JDK-8311981: JVM May Hang When Using Generational ZGC if a VM Handshake 
Stalls on Memory
- JDK-8308850: Change JVM options with small ranges that get -Wconversion 
warnings to 32 bits

[7] https://jdk.java.net/22/
[8] https://jdk.java.net/22/release-notes
[9] https://github.com/openjdk/jdk/compare/jdk-22%2B8...jdk-22%2B11


## JavaFX 21 & 22 Early-Access Builds

These are early-access builds of the JavaFX Runtime, built from openjdk/jfx 
[10]. They allow JavaFX application developers to build and test their 
applications with JavaFX 21 or 22 on the latest JDK.

The latest builds 29 (2023/8/7) of JavaFX 21 are now available [11]. The 
early-access builds 5 (2023/8/18) of the JavaFX 22 Runtime which is designed to 
work with JDK 22 are also available [12]. These early-access builds are 
provided under the GNU General Public License, version 2, with the Classpath 
Exception. Please send the feedback on the openjfx-dev mailing list [13].

[10] https://github.com/openjdk/jfx
[11] https://jdk.java.net/javafx21/
[12] https://jdk.java.net/javafx22/
[13] http://mail.openjdk.org/mailman/listinfo/openjfx-dev


## Topics of Interest:

JDK 21: G1/Parallel/Serial GC improvements
https://tschatzl.github.io/2023/08/04/jdk21-g1-parallel-gc-changes.html

To Java 21 and Beyond!
https://inside.java/2023/08/08/to-java21-and-beyond/

Strengthen your Java App's Defenses with Key Encapsulation Mechanism API
https://inside.java/2023/08/03/newscast-54/

JVMLS 

Re: [DISCUSS] Major changed for 4.x

2023-08-22 Thread Gary Gregory
FWIW, I don't have an issue with XML in general, just the style we use.

An as aside, I find it amusing to watch the JSON folks reinvent each and
every wheel that XML has been using for decades.

Gary

On Tue, Aug 22, 2023, 10:34 AM Romain Manni-Bucau 
wrote:

> @Gary Gregory  thing is that we regularly hear
> that but nobody (as in "not significantly enough") embraced polyglot so
> means the verbosity is something you note but don't really care after all
> probably (not 100% sure it would help to solve that since attributes have
> kind of the same cons, ie make the parsing harder for generic consumers -
> and yes, in 202x xml is still not a first citizen in all languages ;)).
>
> Romain Manni-Bucau
> @rmannibucau  |  Blog
>  | Old Blog
>  | Github
>  | LinkedIn
>  | Book
> 
>
>
> Le mar. 22 août 2023 à 15:55, Gary Gregory  a
> écrit :
>
>> One of Maven's pain points (a criticism hear at least) it's verbosity due
>> to the XML style where almost everything is an element. If I can more
>> succinctly list my dependencies, I would consider that a first win in this
>> new Era that will be highly visible to even the most casual user :-)
>> Hopefully this feature will be documented.
>>
>> Gary
>>
>> On Tue, Aug 22, 2023, 9:35 AM Romain Manni-Bucau 
>> wrote:
>>
>> > @Gary it is the stage "you can do whatever you like on your side", even
>> a
>> > pom.properties flavor would work. I assume one of the most requested
>> > feature will be to flatten attributes more than inlining them
>> > ("org.apache.foo:bar:1.2.3") but on the core side the challenge can be
>> to
>> > not break too fast all the "quick parsers" out there so likely staged
>> for
>> > v5 more than v4?
>> >
>> > Romain Manni-Bucau
>> > @rmannibucau  |  Blog
>> >  | Old Blog
>> >  | Github <
>> > https://github.com/rmannibucau> |
>> > LinkedIn  | Book
>> > <
>> >
>> https://www.packtpub.com/application-development/java-ee-8-high-performance
>> > >
>> >
>> >
>> > Le mar. 22 août 2023 à 14:58, Guillaume Nodet  a
>> écrit
>> > :
>> >
>> > > Not directly, but a simple extension could allow that...
>> > >
>> > > Le mar. 22 août 2023 à 12:33, Gary Gregory  a
>> > > écrit :
>> > >
>> > > > Hi all,
>> > > >
>> > > > Would any of these changes allow me to write my POM's XML
>> dependencies
>> > > in a
>> > > > single element where the GID, AID, and version are attributes (and
>> not
>> > > > child elements)?
>> > > >
>> > > > > > > > version="2.13.0" ... />
>> > > >
>> > > > In general, I want the XML to more OO, where XML elements are
>> objects
>> > and
>> > > > attributes are, well, attributes.
>> > > >
>> > > > Gary
>> > > >
>> > > > On Tue, Aug 22, 2023, 3:36 AM Guillaume Nodet 
>> > wrote:
>> > > >
>> > > > > Hi everyone,
>> > > > >
>> > > > > I hope you guys have been able to rest a bit during the summer
>> (for
>> > > those
>> > > > > that are back to work already)...
>> > > > >
>> > > > > I've pushed a few important PRs in the past months and I'd really
>> > like
>> > > to
>> > > > > get the discussion going around those.  Those are major changes
>> that
>> > I
>> > > > > think we should introduce in Maven 4 asap:
>> > > > >   * Better support for alternative POM syntaxes
>> > > > >   * Needed infrastructure to evolve the model
>> > > > >   * POM mixins
>> > > > >   * Support for XML entities / XInclude
>> > > > >
>> > > > > The first 3 changes are stacked onto each other. The first one is
>> the
>> > > > > support for alternative POM syntaxes [2].  Note that no syntax is
>> > > > provided
>> > > > > by the PR, but an example extension is provided in the IT PR [3],
>> the
>> > > > > reader being generated using the maven model and the IT's project
>> is
>> > > > using
>> > > > > it [4].  The main idea is to provide an enhanced XML syntax if we
>> > want,
>> > > > as
>> > > > > it was discussed for the POM 5.0 [5].
>> > > > >
>> > > > > The second one provides the ability to make evolution to the model
>> > > > without
>> > > > > breaking the maven ecosystem.  The model has been stuck in 4.0.0
>> > > version
>> > > > > for 15 years or so, most of the things that would have required a
>> > > change
>> > > > > have been delayed or worked around.  The consumer POM that has
>> been
>> > > > > introduced in Maven 4 is a first step, but I think we should go
>> > > further.
>> > > > > Please read the details in the PR [6].
>> > > > >
>> > > > > The third one is the support for POM mixins [7].  That one is
>> still a
>> > > > > draft.  Two ITs have been written to leverage mixins using GAV or
>> as
>> > > > > relative paths [8].  This definitely needs some work, but the
>> 

Re: [DISCUSS] Major changed for 4.x

2023-08-22 Thread Romain Manni-Bucau
@Gary Gregory  thing is that we regularly hear that
but nobody (as in "not significantly enough") embraced polyglot so means
the verbosity is something you note but don't really care after all
probably (not 100% sure it would help to solve that since attributes have
kind of the same cons, ie make the parsing harder for generic consumers -
and yes, in 202x xml is still not a first citizen in all languages ;)).

Romain Manni-Bucau
@rmannibucau  |  Blog
 | Old Blog
 | Github  |
LinkedIn  | Book



Le mar. 22 août 2023 à 15:55, Gary Gregory  a
écrit :

> One of Maven's pain points (a criticism hear at least) it's verbosity due
> to the XML style where almost everything is an element. If I can more
> succinctly list my dependencies, I would consider that a first win in this
> new Era that will be highly visible to even the most casual user :-)
> Hopefully this feature will be documented.
>
> Gary
>
> On Tue, Aug 22, 2023, 9:35 AM Romain Manni-Bucau 
> wrote:
>
> > @Gary it is the stage "you can do whatever you like on your side", even a
> > pom.properties flavor would work. I assume one of the most requested
> > feature will be to flatten attributes more than inlining them
> > ("org.apache.foo:bar:1.2.3") but on the core side the challenge can be to
> > not break too fast all the "quick parsers" out there so likely staged for
> > v5 more than v4?
> >
> > Romain Manni-Bucau
> > @rmannibucau  |  Blog
> >  | Old Blog
> >  | Github <
> > https://github.com/rmannibucau> |
> > LinkedIn  | Book
> > <
> >
> https://www.packtpub.com/application-development/java-ee-8-high-performance
> > >
> >
> >
> > Le mar. 22 août 2023 à 14:58, Guillaume Nodet  a
> écrit
> > :
> >
> > > Not directly, but a simple extension could allow that...
> > >
> > > Le mar. 22 août 2023 à 12:33, Gary Gregory  a
> > > écrit :
> > >
> > > > Hi all,
> > > >
> > > > Would any of these changes allow me to write my POM's XML
> dependencies
> > > in a
> > > > single element where the GID, AID, and version are attributes (and
> not
> > > > child elements)?
> > > >
> > > >  > > > version="2.13.0" ... />
> > > >
> > > > In general, I want the XML to more OO, where XML elements are objects
> > and
> > > > attributes are, well, attributes.
> > > >
> > > > Gary
> > > >
> > > > On Tue, Aug 22, 2023, 3:36 AM Guillaume Nodet 
> > wrote:
> > > >
> > > > > Hi everyone,
> > > > >
> > > > > I hope you guys have been able to rest a bit during the summer (for
> > > those
> > > > > that are back to work already)...
> > > > >
> > > > > I've pushed a few important PRs in the past months and I'd really
> > like
> > > to
> > > > > get the discussion going around those.  Those are major changes
> that
> > I
> > > > > think we should introduce in Maven 4 asap:
> > > > >   * Better support for alternative POM syntaxes
> > > > >   * Needed infrastructure to evolve the model
> > > > >   * POM mixins
> > > > >   * Support for XML entities / XInclude
> > > > >
> > > > > The first 3 changes are stacked onto each other. The first one is
> the
> > > > > support for alternative POM syntaxes [2].  Note that no syntax is
> > > > provided
> > > > > by the PR, but an example extension is provided in the IT PR [3],
> the
> > > > > reader being generated using the maven model and the IT's project
> is
> > > > using
> > > > > it [4].  The main idea is to provide an enhanced XML syntax if we
> > want,
> > > > as
> > > > > it was discussed for the POM 5.0 [5].
> > > > >
> > > > > The second one provides the ability to make evolution to the model
> > > > without
> > > > > breaking the maven ecosystem.  The model has been stuck in 4.0.0
> > > version
> > > > > for 15 years or so, most of the things that would have required a
> > > change
> > > > > have been delayed or worked around.  The consumer POM that has been
> > > > > introduced in Maven 4 is a first step, but I think we should go
> > > further.
> > > > > Please read the details in the PR [6].
> > > > >
> > > > > The third one is the support for POM mixins [7].  That one is
> still a
> > > > > draft.  Two ITs have been written to leverage mixins using GAV or
> as
> > > > > relative paths [8].  This definitely needs some work, but the
> current
> > > > state
> > > > > definitely shows that it can be implemented and introduced in the
> > next
> > > > > alphas.
> > > > >
> > > > > The last one is a relatively small PR [9] which brings support for
> > XML
> > > > > entities and XInclude loaded from external files.  All loaded files
> > are
> > > > > loaded using relative URLs (absolute URLs are rejected for security
> > > > > reasons). The entities and 

Re: [DISCUSS] Major changed for 4.x

2023-08-22 Thread Gary Gregory
One of Maven's pain points (a criticism hear at least) it's verbosity due
to the XML style where almost everything is an element. If I can more
succinctly list my dependencies, I would consider that a first win in this
new Era that will be highly visible to even the most casual user :-)
Hopefully this feature will be documented.

Gary

On Tue, Aug 22, 2023, 9:35 AM Romain Manni-Bucau 
wrote:

> @Gary it is the stage "you can do whatever you like on your side", even a
> pom.properties flavor would work. I assume one of the most requested
> feature will be to flatten attributes more than inlining them
> ("org.apache.foo:bar:1.2.3") but on the core side the challenge can be to
> not break too fast all the "quick parsers" out there so likely staged for
> v5 more than v4?
>
> Romain Manni-Bucau
> @rmannibucau  |  Blog
>  | Old Blog
>  | Github <
> https://github.com/rmannibucau> |
> LinkedIn  | Book
> <
> https://www.packtpub.com/application-development/java-ee-8-high-performance
> >
>
>
> Le mar. 22 août 2023 à 14:58, Guillaume Nodet  a écrit
> :
>
> > Not directly, but a simple extension could allow that...
> >
> > Le mar. 22 août 2023 à 12:33, Gary Gregory  a
> > écrit :
> >
> > > Hi all,
> > >
> > > Would any of these changes allow me to write my POM's XML dependencies
> > in a
> > > single element where the GID, AID, and version are attributes (and not
> > > child elements)?
> > >
> > >  > > version="2.13.0" ... />
> > >
> > > In general, I want the XML to more OO, where XML elements are objects
> and
> > > attributes are, well, attributes.
> > >
> > > Gary
> > >
> > > On Tue, Aug 22, 2023, 3:36 AM Guillaume Nodet 
> wrote:
> > >
> > > > Hi everyone,
> > > >
> > > > I hope you guys have been able to rest a bit during the summer (for
> > those
> > > > that are back to work already)...
> > > >
> > > > I've pushed a few important PRs in the past months and I'd really
> like
> > to
> > > > get the discussion going around those.  Those are major changes that
> I
> > > > think we should introduce in Maven 4 asap:
> > > >   * Better support for alternative POM syntaxes
> > > >   * Needed infrastructure to evolve the model
> > > >   * POM mixins
> > > >   * Support for XML entities / XInclude
> > > >
> > > > The first 3 changes are stacked onto each other. The first one is the
> > > > support for alternative POM syntaxes [2].  Note that no syntax is
> > > provided
> > > > by the PR, but an example extension is provided in the IT PR [3], the
> > > > reader being generated using the maven model and the IT's project is
> > > using
> > > > it [4].  The main idea is to provide an enhanced XML syntax if we
> want,
> > > as
> > > > it was discussed for the POM 5.0 [5].
> > > >
> > > > The second one provides the ability to make evolution to the model
> > > without
> > > > breaking the maven ecosystem.  The model has been stuck in 4.0.0
> > version
> > > > for 15 years or so, most of the things that would have required a
> > change
> > > > have been delayed or worked around.  The consumer POM that has been
> > > > introduced in Maven 4 is a first step, but I think we should go
> > further.
> > > > Please read the details in the PR [6].
> > > >
> > > > The third one is the support for POM mixins [7].  That one is still a
> > > > draft.  Two ITs have been written to leverage mixins using GAV or as
> > > > relative paths [8].  This definitely needs some work, but the current
> > > state
> > > > definitely shows that it can be implemented and introduced in the
> next
> > > > alphas.
> > > >
> > > > The last one is a relatively small PR [9] which brings support for
> XML
> > > > entities and XInclude loaded from external files.  All loaded files
> are
> > > > loaded using relative URLs (absolute URLs are rejected for security
> > > > reasons). The entities and xinclude bits are all inlined during the
> raw
> > > ->
> > > > consumer POM transformation so that they don't appear in
> > repositories.  I
> > > > wrote this PR as a possible alternative for mixins, that's the main
> > > reason
> > > > why I include it in this discussion.
> > > >
> > > > I'm not necessarily looking for in-depth reviews of the PRs, but at
> > least
> > > > to find a consensus and general agreement on the way forward.
> > > >
> > > > Cheers,
> > > > Guillaume
> > > >
> > > > [2] https://github.com/apache/maven/pull/1197
> > > > [3]
> > > >
> > > >
> > >
> >
> https://github.com/apache/maven-integration-testing/pull/276/files#diff-ffb3dec529cab94ebf3c5830444275ad2b2e4826fe1df843454882efadd2446c
> > > > [4]
> > > >
> > > >
> > >
> >
> https://github.com/apache/maven-integration-testing/pull/276/files#diff-8d7362e60d231ad8c5d4b7746873da2855d9cf1fd5aeeca9c143ed942bd94b38
> > > > [5]
> > > >
> > >
> >
> https://cwiki.apache.org/confluence/display/MAVEN/POM+Model+Version+5.0.0
> > > > [6] 

Re: [DISCUSS] Major changed for 4.x

2023-08-22 Thread Romain Manni-Bucau
@Gary it is the stage "you can do whatever you like on your side", even a
pom.properties flavor would work. I assume one of the most requested
feature will be to flatten attributes more than inlining them
("org.apache.foo:bar:1.2.3") but on the core side the challenge can be to
not break too fast all the "quick parsers" out there so likely staged for
v5 more than v4?

Romain Manni-Bucau
@rmannibucau  |  Blog
 | Old Blog
 | Github  |
LinkedIn  | Book



Le mar. 22 août 2023 à 14:58, Guillaume Nodet  a écrit :

> Not directly, but a simple extension could allow that...
>
> Le mar. 22 août 2023 à 12:33, Gary Gregory  a
> écrit :
>
> > Hi all,
> >
> > Would any of these changes allow me to write my POM's XML dependencies
> in a
> > single element where the GID, AID, and version are attributes (and not
> > child elements)?
> >
> >  > version="2.13.0" ... />
> >
> > In general, I want the XML to more OO, where XML elements are objects and
> > attributes are, well, attributes.
> >
> > Gary
> >
> > On Tue, Aug 22, 2023, 3:36 AM Guillaume Nodet  wrote:
> >
> > > Hi everyone,
> > >
> > > I hope you guys have been able to rest a bit during the summer (for
> those
> > > that are back to work already)...
> > >
> > > I've pushed a few important PRs in the past months and I'd really like
> to
> > > get the discussion going around those.  Those are major changes that I
> > > think we should introduce in Maven 4 asap:
> > >   * Better support for alternative POM syntaxes
> > >   * Needed infrastructure to evolve the model
> > >   * POM mixins
> > >   * Support for XML entities / XInclude
> > >
> > > The first 3 changes are stacked onto each other. The first one is the
> > > support for alternative POM syntaxes [2].  Note that no syntax is
> > provided
> > > by the PR, but an example extension is provided in the IT PR [3], the
> > > reader being generated using the maven model and the IT's project is
> > using
> > > it [4].  The main idea is to provide an enhanced XML syntax if we want,
> > as
> > > it was discussed for the POM 5.0 [5].
> > >
> > > The second one provides the ability to make evolution to the model
> > without
> > > breaking the maven ecosystem.  The model has been stuck in 4.0.0
> version
> > > for 15 years or so, most of the things that would have required a
> change
> > > have been delayed or worked around.  The consumer POM that has been
> > > introduced in Maven 4 is a first step, but I think we should go
> further.
> > > Please read the details in the PR [6].
> > >
> > > The third one is the support for POM mixins [7].  That one is still a
> > > draft.  Two ITs have been written to leverage mixins using GAV or as
> > > relative paths [8].  This definitely needs some work, but the current
> > state
> > > definitely shows that it can be implemented and introduced in the next
> > > alphas.
> > >
> > > The last one is a relatively small PR [9] which brings support for XML
> > > entities and XInclude loaded from external files.  All loaded files are
> > > loaded using relative URLs (absolute URLs are rejected for security
> > > reasons). The entities and xinclude bits are all inlined during the raw
> > ->
> > > consumer POM transformation so that they don't appear in
> repositories.  I
> > > wrote this PR as a possible alternative for mixins, that's the main
> > reason
> > > why I include it in this discussion.
> > >
> > > I'm not necessarily looking for in-depth reviews of the PRs, but at
> least
> > > to find a consensus and general agreement on the way forward.
> > >
> > > Cheers,
> > > Guillaume
> > >
> > > [2] https://github.com/apache/maven/pull/1197
> > > [3]
> > >
> > >
> >
> https://github.com/apache/maven-integration-testing/pull/276/files#diff-ffb3dec529cab94ebf3c5830444275ad2b2e4826fe1df843454882efadd2446c
> > > [4]
> > >
> > >
> >
> https://github.com/apache/maven-integration-testing/pull/276/files#diff-8d7362e60d231ad8c5d4b7746873da2855d9cf1fd5aeeca9c143ed942bd94b38
> > > [5]
> > >
> >
> https://cwiki.apache.org/confluence/display/MAVEN/POM+Model+Version+5.0.0
> > > [6] https://github.com/apache/maven/pull/1160
> > > [7]
> > >
> > >
> >
> https://github.com/apache/maven/pull/1209/commits/211e27acd21a6cb8cee30ccd066499fc613a5c82
> > > [8]
> > >
> > >
> >
> https://github.com/apache/maven-integration-testing/tree/b2642d74caae854051dc77acd19b972dfe66b1cd/core-it-suite/src/test/resources/mng-5102-mixins
> > > [9] https://github.com/apache/maven/pull/1205
> > >
> > > --
> > > 
> > > Guillaume Nodet
> > >
> >
>
>
> --
> 
> Guillaume Nodet
>


Re: [DISCUSS] Major changed for 4.x

2023-08-22 Thread Guillaume Nodet
Not directly, but a simple extension could allow that...

Le mar. 22 août 2023 à 12:33, Gary Gregory  a
écrit :

> Hi all,
>
> Would any of these changes allow me to write my POM's XML dependencies in a
> single element where the GID, AID, and version are attributes (and not
> child elements)?
>
>  version="2.13.0" ... />
>
> In general, I want the XML to more OO, where XML elements are objects and
> attributes are, well, attributes.
>
> Gary
>
> On Tue, Aug 22, 2023, 3:36 AM Guillaume Nodet  wrote:
>
> > Hi everyone,
> >
> > I hope you guys have been able to rest a bit during the summer (for those
> > that are back to work already)...
> >
> > I've pushed a few important PRs in the past months and I'd really like to
> > get the discussion going around those.  Those are major changes that I
> > think we should introduce in Maven 4 asap:
> >   * Better support for alternative POM syntaxes
> >   * Needed infrastructure to evolve the model
> >   * POM mixins
> >   * Support for XML entities / XInclude
> >
> > The first 3 changes are stacked onto each other. The first one is the
> > support for alternative POM syntaxes [2].  Note that no syntax is
> provided
> > by the PR, but an example extension is provided in the IT PR [3], the
> > reader being generated using the maven model and the IT's project is
> using
> > it [4].  The main idea is to provide an enhanced XML syntax if we want,
> as
> > it was discussed for the POM 5.0 [5].
> >
> > The second one provides the ability to make evolution to the model
> without
> > breaking the maven ecosystem.  The model has been stuck in 4.0.0 version
> > for 15 years or so, most of the things that would have required a change
> > have been delayed or worked around.  The consumer POM that has been
> > introduced in Maven 4 is a first step, but I think we should go further.
> > Please read the details in the PR [6].
> >
> > The third one is the support for POM mixins [7].  That one is still a
> > draft.  Two ITs have been written to leverage mixins using GAV or as
> > relative paths [8].  This definitely needs some work, but the current
> state
> > definitely shows that it can be implemented and introduced in the next
> > alphas.
> >
> > The last one is a relatively small PR [9] which brings support for XML
> > entities and XInclude loaded from external files.  All loaded files are
> > loaded using relative URLs (absolute URLs are rejected for security
> > reasons). The entities and xinclude bits are all inlined during the raw
> ->
> > consumer POM transformation so that they don't appear in repositories.  I
> > wrote this PR as a possible alternative for mixins, that's the main
> reason
> > why I include it in this discussion.
> >
> > I'm not necessarily looking for in-depth reviews of the PRs, but at least
> > to find a consensus and general agreement on the way forward.
> >
> > Cheers,
> > Guillaume
> >
> > [2] https://github.com/apache/maven/pull/1197
> > [3]
> >
> >
> https://github.com/apache/maven-integration-testing/pull/276/files#diff-ffb3dec529cab94ebf3c5830444275ad2b2e4826fe1df843454882efadd2446c
> > [4]
> >
> >
> https://github.com/apache/maven-integration-testing/pull/276/files#diff-8d7362e60d231ad8c5d4b7746873da2855d9cf1fd5aeeca9c143ed942bd94b38
> > [5]
> >
> https://cwiki.apache.org/confluence/display/MAVEN/POM+Model+Version+5.0.0
> > [6] https://github.com/apache/maven/pull/1160
> > [7]
> >
> >
> https://github.com/apache/maven/pull/1209/commits/211e27acd21a6cb8cee30ccd066499fc613a5c82
> > [8]
> >
> >
> https://github.com/apache/maven-integration-testing/tree/b2642d74caae854051dc77acd19b972dfe66b1cd/core-it-suite/src/test/resources/mng-5102-mixins
> > [9] https://github.com/apache/maven/pull/1205
> >
> > --
> > 
> > Guillaume Nodet
> >
>


-- 

Guillaume Nodet


Re: [DISCUSS] Major changed for 4.x

2023-08-22 Thread Gary Gregory
I should have said "primitive" attributes plus Strings (and maybe
Durations).

Gary

On Tue, Aug 22, 2023, 8:03 AM Elliotte Rusty Harold 
wrote:

> On Tue, Aug 22, 2023 at 10:33 AM Gary Gregory 
> wrote:
> ="2.13.0" ... />
> >
> > In general, I want the XML to more OO, where XML elements are objects and
> > attributes are, well, attributes.
>
>
> That dog won't hunt for reasons that are not specific to Maven. In OO
> attributes can be arbitrarily complex structured objects. In XML
> attributes are strings. There's a deep mismatch here that can't be
> bridged in any sane way.
>
>
> --
> Elliotte Rusty Harold
> elh...@ibiblio.org
>
> -
> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
> For additional commands, e-mail: dev-h...@maven.apache.org
>
>


Re: [VOTE] Release Apache Maven Enforcer version 3.4.0

2023-08-22 Thread Elliotte Rusty Harold
+0

There are some non-critical dependency issues in the various poms, one
of which might point to a bug in the dependency analyzer. I'll see if
I can clean some up but probably not worth holding the release for.


On Mon, Aug 21, 2023 at 9:59 PM Herve Boutemy  wrote:
>
> +1
>
> Reproducible Build ok: reference build done with JDK 17 on *nix with umask 022
>
> Regards,
>
> Hervé
>
> On 2023/08/19 16:54:40 Slawomir Jaranowski wrote:
> > Hi,
> >
> > We solved 9 issues:
> > https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12317520=12353101
> >
> > There are still a couple of issues left in JIRA:
> > https://issues.apache.org/jira/issues/?jql=project%20%3D%20MENFORCER%20AND%20resolution%20%3D%20Unresolved
> >
> > Staging repo:
> > https://repository.apache.org/content/repositories/maven-1986/
> > https://repository.apache.org/content/repositories/maven-1986/org/apache/maven/enforcer/enforcer/3.4.0/enforcer-3.4.0-source-release.zip
> >
> > Source release checksum(s):
> > enforcer-3.4.0-source-release.zip - SHA-512 :
> > b9acac178d095f32fbeed73b278c2dcb07081f1ef1e6a520f990f31217278edff05c19a7945bef99088e8e8e3d9a6212b6fb23bb5de1356bb849e5e0835a9651
> >
> > Staging site:
> > https://maven.apache.org/enforcer-archives/enforcer-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
>


-- 
Elliotte Rusty Harold
elh...@ibiblio.org

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



Re: [DISCUSS] Major changed for 4.x

2023-08-22 Thread Elliotte Rusty Harold
On Tue, Aug 22, 2023 at 10:33 AM Gary Gregory  wrote:
="2.13.0" ... />
>
> In general, I want the XML to more OO, where XML elements are objects and
> attributes are, well, attributes.


That dog won't hunt for reasons that are not specific to Maven. In OO
attributes can be arbitrarily complex structured objects. In XML
attributes are strings. There's a deep mismatch here that can't be
bridged in any sane way.


-- 
Elliotte Rusty Harold
elh...@ibiblio.org

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



Re: [DISCUSS] Major changed for 4.x

2023-08-22 Thread Gary Gregory
Hi all,

Would any of these changes allow me to write my POM's XML dependencies in a
single element where the GID, AID, and version are attributes (and not
child elements)?



In general, I want the XML to more OO, where XML elements are objects and
attributes are, well, attributes.

Gary

On Tue, Aug 22, 2023, 3:36 AM Guillaume Nodet  wrote:

> Hi everyone,
>
> I hope you guys have been able to rest a bit during the summer (for those
> that are back to work already)...
>
> I've pushed a few important PRs in the past months and I'd really like to
> get the discussion going around those.  Those are major changes that I
> think we should introduce in Maven 4 asap:
>   * Better support for alternative POM syntaxes
>   * Needed infrastructure to evolve the model
>   * POM mixins
>   * Support for XML entities / XInclude
>
> The first 3 changes are stacked onto each other. The first one is the
> support for alternative POM syntaxes [2].  Note that no syntax is provided
> by the PR, but an example extension is provided in the IT PR [3], the
> reader being generated using the maven model and the IT's project is using
> it [4].  The main idea is to provide an enhanced XML syntax if we want, as
> it was discussed for the POM 5.0 [5].
>
> The second one provides the ability to make evolution to the model without
> breaking the maven ecosystem.  The model has been stuck in 4.0.0 version
> for 15 years or so, most of the things that would have required a change
> have been delayed or worked around.  The consumer POM that has been
> introduced in Maven 4 is a first step, but I think we should go further.
> Please read the details in the PR [6].
>
> The third one is the support for POM mixins [7].  That one is still a
> draft.  Two ITs have been written to leverage mixins using GAV or as
> relative paths [8].  This definitely needs some work, but the current state
> definitely shows that it can be implemented and introduced in the next
> alphas.
>
> The last one is a relatively small PR [9] which brings support for XML
> entities and XInclude loaded from external files.  All loaded files are
> loaded using relative URLs (absolute URLs are rejected for security
> reasons). The entities and xinclude bits are all inlined during the raw ->
> consumer POM transformation so that they don't appear in repositories.  I
> wrote this PR as a possible alternative for mixins, that's the main reason
> why I include it in this discussion.
>
> I'm not necessarily looking for in-depth reviews of the PRs, but at least
> to find a consensus and general agreement on the way forward.
>
> Cheers,
> Guillaume
>
> [2] https://github.com/apache/maven/pull/1197
> [3]
>
> https://github.com/apache/maven-integration-testing/pull/276/files#diff-ffb3dec529cab94ebf3c5830444275ad2b2e4826fe1df843454882efadd2446c
> [4]
>
> https://github.com/apache/maven-integration-testing/pull/276/files#diff-8d7362e60d231ad8c5d4b7746873da2855d9cf1fd5aeeca9c143ed942bd94b38
> [5]
> https://cwiki.apache.org/confluence/display/MAVEN/POM+Model+Version+5.0.0
> [6] https://github.com/apache/maven/pull/1160
> [7]
>
> https://github.com/apache/maven/pull/1209/commits/211e27acd21a6cb8cee30ccd066499fc613a5c82
> [8]
>
> https://github.com/apache/maven-integration-testing/tree/b2642d74caae854051dc77acd19b972dfe66b1cd/core-it-suite/src/test/resources/mng-5102-mixins
> [9] https://github.com/apache/maven/pull/1205
>
> --
> 
> Guillaume Nodet
>


Re: [DISCUSS] Major changed for 4.x

2023-08-22 Thread Romain Manni-Bucau
Globally it looks good, the only minor detail I would make is that instead
of inlining params in methods considered as API (extension points, the
model reader for ex) I would use a "request" object so read(a, b) would
become read(req) to enable use to make it evolving more reliably instead of
relying on untyped and random options but that's a minor detail.

BTW, did you manage to validate the whole model graph is POJO friendly?
Idea is to make it "mapper" friendly OOTB and not require a custom model
reader more complex than new MyMapper().map(input, Model.class).

Romain Manni-Bucau
@rmannibucau  |  Blog
 | Old Blog
 | Github  |
LinkedIn  | Book



Le mar. 22 août 2023 à 09:36, Guillaume Nodet  a écrit :

> Hi everyone,
>
> I hope you guys have been able to rest a bit during the summer (for those
> that are back to work already)...
>
> I've pushed a few important PRs in the past months and I'd really like to
> get the discussion going around those.  Those are major changes that I
> think we should introduce in Maven 4 asap:
>   * Better support for alternative POM syntaxes
>   * Needed infrastructure to evolve the model
>   * POM mixins
>   * Support for XML entities / XInclude
>
> The first 3 changes are stacked onto each other. The first one is the
> support for alternative POM syntaxes [2].  Note that no syntax is provided
> by the PR, but an example extension is provided in the IT PR [3], the
> reader being generated using the maven model and the IT's project is using
> it [4].  The main idea is to provide an enhanced XML syntax if we want, as
> it was discussed for the POM 5.0 [5].
>
> The second one provides the ability to make evolution to the model without
> breaking the maven ecosystem.  The model has been stuck in 4.0.0 version
> for 15 years or so, most of the things that would have required a change
> have been delayed or worked around.  The consumer POM that has been
> introduced in Maven 4 is a first step, but I think we should go further.
> Please read the details in the PR [6].
>
> The third one is the support for POM mixins [7].  That one is still a
> draft.  Two ITs have been written to leverage mixins using GAV or as
> relative paths [8].  This definitely needs some work, but the current state
> definitely shows that it can be implemented and introduced in the next
> alphas.
>
> The last one is a relatively small PR [9] which brings support for XML
> entities and XInclude loaded from external files.  All loaded files are
> loaded using relative URLs (absolute URLs are rejected for security
> reasons). The entities and xinclude bits are all inlined during the raw ->
> consumer POM transformation so that they don't appear in repositories.  I
> wrote this PR as a possible alternative for mixins, that's the main reason
> why I include it in this discussion.
>
> I'm not necessarily looking for in-depth reviews of the PRs, but at least
> to find a consensus and general agreement on the way forward.
>
> Cheers,
> Guillaume
>
> [2] https://github.com/apache/maven/pull/1197
> [3]
>
> https://github.com/apache/maven-integration-testing/pull/276/files#diff-ffb3dec529cab94ebf3c5830444275ad2b2e4826fe1df843454882efadd2446c
> [4]
>
> https://github.com/apache/maven-integration-testing/pull/276/files#diff-8d7362e60d231ad8c5d4b7746873da2855d9cf1fd5aeeca9c143ed942bd94b38
> [5]
> https://cwiki.apache.org/confluence/display/MAVEN/POM+Model+Version+5.0.0
> [6] https://github.com/apache/maven/pull/1160
> [7]
>
> https://github.com/apache/maven/pull/1209/commits/211e27acd21a6cb8cee30ccd066499fc613a5c82
> [8]
>
> https://github.com/apache/maven-integration-testing/tree/b2642d74caae854051dc77acd19b972dfe66b1cd/core-it-suite/src/test/resources/mng-5102-mixins
> [9] https://github.com/apache/maven/pull/1205
>
> --
> 
> Guillaume Nodet
>


[DISCUSS] Major changed for 4.x

2023-08-22 Thread Guillaume Nodet
Hi everyone,

I hope you guys have been able to rest a bit during the summer (for those
that are back to work already)...

I've pushed a few important PRs in the past months and I'd really like to
get the discussion going around those.  Those are major changes that I
think we should introduce in Maven 4 asap:
  * Better support for alternative POM syntaxes
  * Needed infrastructure to evolve the model
  * POM mixins
  * Support for XML entities / XInclude

The first 3 changes are stacked onto each other. The first one is the
support for alternative POM syntaxes [2].  Note that no syntax is provided
by the PR, but an example extension is provided in the IT PR [3], the
reader being generated using the maven model and the IT's project is using
it [4].  The main idea is to provide an enhanced XML syntax if we want, as
it was discussed for the POM 5.0 [5].

The second one provides the ability to make evolution to the model without
breaking the maven ecosystem.  The model has been stuck in 4.0.0 version
for 15 years or so, most of the things that would have required a change
have been delayed or worked around.  The consumer POM that has been
introduced in Maven 4 is a first step, but I think we should go further.
Please read the details in the PR [6].

The third one is the support for POM mixins [7].  That one is still a
draft.  Two ITs have been written to leverage mixins using GAV or as
relative paths [8].  This definitely needs some work, but the current state
definitely shows that it can be implemented and introduced in the next
alphas.

The last one is a relatively small PR [9] which brings support for XML
entities and XInclude loaded from external files.  All loaded files are
loaded using relative URLs (absolute URLs are rejected for security
reasons). The entities and xinclude bits are all inlined during the raw ->
consumer POM transformation so that they don't appear in repositories.  I
wrote this PR as a possible alternative for mixins, that's the main reason
why I include it in this discussion.

I'm not necessarily looking for in-depth reviews of the PRs, but at least
to find a consensus and general agreement on the way forward.

Cheers,
Guillaume

[2] https://github.com/apache/maven/pull/1197
[3]
https://github.com/apache/maven-integration-testing/pull/276/files#diff-ffb3dec529cab94ebf3c5830444275ad2b2e4826fe1df843454882efadd2446c
[4]
https://github.com/apache/maven-integration-testing/pull/276/files#diff-8d7362e60d231ad8c5d4b7746873da2855d9cf1fd5aeeca9c143ed942bd94b38
[5]
https://cwiki.apache.org/confluence/display/MAVEN/POM+Model+Version+5.0.0
[6] https://github.com/apache/maven/pull/1160
[7]
https://github.com/apache/maven/pull/1209/commits/211e27acd21a6cb8cee30ccd066499fc613a5c82
[8]
https://github.com/apache/maven-integration-testing/tree/b2642d74caae854051dc77acd19b972dfe66b1cd/core-it-suite/src/test/resources/mng-5102-mixins
[9] https://github.com/apache/maven/pull/1205

-- 

Guillaume Nodet