JDK 23 Feature Freeze / New Loom EA builds

2024-06-10 Thread David Delabassee
 on JDK 22 and bring multiple enhancements. For additional details, 
make sure to check [13]. Moreover, a new jextract guide [14] has been published.

[12] https://jdk.java.net/jextract/
[13] https://mail.openjdk.org/pipermail/jextract-dev/2024-May/001699.html
[14] https://github.com/openjdk/jextract/blob/master/doc/GUIDE.md


## JavaFX Early-Access Builds

These are early access builds of the JavaFX 23 Runtime built from openjdk/jfx 
[15]. These builds enable JavaFX application developers to build and test their 
applications with JavaFX 23 on JDK 23. Although these builds are designed to 
work with JDK 23EA, they are also known to work with JDK 21 and later versions.

The latest early access builds of JavaFX 23 are available here [16], under the 
GNU General Public License, version 2, with the Classpath Exception. JavaFX 23 
API Javadocs [17] are also available.

[15] https://github.com/openjdk/jfx
[16] https://jdk.java.net/javafx23/
[17] 
https://download.java.net/java/early_access/javafx23/docs/api/overview-summary.html


## Topics of Interest

- All Java 23 Features - Inside Java Newscast
https://inside.java/2024/06/06/newscast-70/

- Module Imports in Java 23 - Inside Java Newscast
https://inside.java/2024/05/16/newscast-69/

- Java 23: JavaDoc Hits the Markdown on Comments - Inside Java Newscast
https://inside.java/2024/05/01/newscast-68/

- Java 23: Restoring the Balance with Primitive Patterns - Inside Java Newscast
https://inside.java/2024/04/04/newscast-66/

- Java in 2024 - Constant evolution, delivered.
https://inside.java/2024/06/01/java-in-2024-keynote/

- Introduction to JDK Mission Control
https://inside.java/2024/05/18/jmc-intro/

- What's New in JMC 9? - Sip of Java
https://inside.java/2024/04/21/sip096/

- Programmer's Guide to JDK Flight Recorder
https://inside.java/2024/04/12/programmer-guide-to-jfr/

- A Decade of JDK Updates in OpenJDK
https://inside.java/2024/04/09/a-decade-of-jdk-updates/

- Data-Oriented Programming - Version 1.1
https://inside.java/2024/05/23/dop-v1-1-introduction/


~

As usual, let us know if you find any issues while testing your project(s) with 
the latest JDK early-access builds.

Thank you!

--David


Java 22 is GA + Heads-up!

2024-04-02 Thread David Delabassee
nd DateTimeFormatter
- JDK-8265372: Simplify PKCS9Attribute
- JDK-8317431: Implement simpler Comparator when building certification paths
- JDK-8327093: Add truncate function to BitMap API

Note: A more detailed list of changes can be found here [12].

[10] https://jdk.java.net/23/
[11] https://jdk.java.net/23/release-notes
[12] https://github.com/openjdk/jdk/compare/jdk-23+10...jdk-23+16


## JavaFX 23 Early-Access Builds

These are early access builds of the JavaFX 23 Runtime built from openjdk/jfx 
[13]. These builds enable JavaFX application developers to build and test their 
applications with JavaFX 23 on JDK 23. Although these builds are designed to 
work with JDK 23, they are also known to work with JDK 17 and later versions.

The latest early access builds of JavaFX 23 Builds 10 (2024/3/26) are available 
[14], under the GNU General Public License, version 2, with the Classpath 
Exception.

[13] https://github.com/openjdk/jfx
[14] https://jdk.java.net/javafx23/


## Topics of Interest:

- The Arrival of Java 22
https://inside.java/2024/03/19/the-arrival-of-java-22/

- JDK 22 Release Notes Review (video)
https://inside.java/2024/03/14/newscast-65/

- Java 22 in 2 Minutes
https://inside.java/2024/03/21/sip095/

- (Dirty?) Tricks in Java 22
https://inside.java/2024/02/29/newscast-64/

- JDK 22 Security Enhancements
https://seanjmullan.org/blog/2024/03/20/jdk22

- Java 17 to 21 - A Showcase of JDK Security Enhancements
https://inside.java/2024/03/03/jfokus-jdk-security-changes/

- Netflix - Bending Pause Times to Your Will with Generational ZGC
https://netflixtechblog.com/bending-pause-times-to-your-will-with-generational-zgc-256629c9386b

- MethodHandle Primer
https://jornvernee.github.io/methodhandles/2024/01/19/methodhandle-primer.html

- Pruning Dead Exception Handlers
https://jornvernee.github.io/hotspot/jit/2024/02/16/prune-dead-exception-handlers.html

- Update on String Templates (JEP 459)
https://mail.openjdk.org/pipermail/amber-spec-experts/2024-March/004010.html

- The State of OpenJDK
https://inside.java/2024/02/23/fosdem2024-openjdk-state/

- Project Wakefield - The JDK Wayland Desktop on Linux
https://inside.java/2024/03/24/openjdk-wakefield/

- Project Leyden -  Capturing Lightning in a Bottle
https://inside.java/2024/02/28/leyden/

- jlink - Java's Custom Runtime Builder
https://inside.java/2024/02/25/jlink-stackwalker/

- Modern Java in Action
https://inside.java/2024/03/09/jfokus-modern-java-action/

- New Java Platform Extension for VS Code Release
https://inside.java/2024/03/27/vscode-extension-update/

~

That's it for this instalment. And don't forget to ping me if you encounter 
issues with JDK 23 EA builds.

--David


Re: [VOTE] Require Java 17 for Maven 4

2024-02-28 Thread David Jencks
+1 (non binding, occasional user)

David Jencks

> On Feb 27, 2024, at 11:30 PM, Benjamin Marwell  wrote:
> 
> Hi Maven Devs/Users/Committers and PMC members!
> 
> After several discussions on the mailing lists, I would like to
> start a vote in favour of setting the minimal Java bytecode target
> of Maven-Core 4 to 17 and hence require Java 17 for Maven 4.
> 
> This is a procedural majority vote [1*]:
> You can also vote with fractions and negative votes are not vetoes.
> 
> Please also notice:
> * Maven 3 will stay at Java 8 no matter what.
> * We may raise Maven 4 to JDK 21 later if we feel like it (depending
> on the release date).
>  This is not part of this vote.
> * The linked PR is not part of this vote (this is not a code vote).
>  But you may take a look at it to understand the intended change.
> 
> PR: https://github.com/apache/maven/pull/1430
> 
> Maven-Parent will not be raised with this vote, the other PR is not
> part of this vote.
> 
> Please refrain from starting discussions in this thread, but do
> include a reasoning on downvotes and feel free to start a new
> discussion on the mailing list, or comment on the existing ones.
> 
> ---
> 
> Vote open for 72 hours:
> 
> [ ] +1 (set JDK17 min version for Maven 4.x)
> [ ] +0
> [ ] -1 (please include reasoning)
> 
> ---
> 
> - Ben
> 
> [1*]: https://www.apache.org/foundation/voting.html
> 
> -
> 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: [DISCUSS] Java version for Maven

2024-02-20 Thread David Jencks
From your first paragraph I’d guess you would be on the “maven built on a 
recent LTS java” side.  I was wondering, given these omnipresent IDES,  and 
possibly from a philosophical perspective, what the arguments for “maven built 
on an antique JVM” would be.

Thanks
David Jencks

> On Feb 20, 2024, at 8:10 PM, Hunter C Payne 
>  wrote:
> 
> IDEs, including the 2 you named, have a configuration system for multiple 
> JDKs.  This allows devs to build for multiple versions of the JVM.  Likewise, 
> Maven has multiple ways to configure multiple JDKs for use by different 
> phases or plugins used in a given compilation setup and to target different 
> versions of the JVM.  Javac can target any older version than itself when 
> compiling to classfiles.  So my JDK 17 can compile for Java 8-17 but not 18 
> or higher.
> 
> On the JVM, packaging is just a jar and inside that jar's classfiles will be 
> a specific minimum version of the JVM required for it to run.  Generally 
> speaking, for a variety of reasons, most Java code is backwards compatible to 
> Java 8 which was released about 15 years ago.  No specific code is that 
> backwards compatible but most of it is.  That's why you don't realize that 
> these things exist.  Because unless you are a professional developer, why 
> would you ever care in a language with 15 years of backwards compatibility 
> baked into the culture and large base of 3rd party code.  Hope this answers 
> your question.
> 
> Hunter
> 
>On Tuesday, February 20, 2024 at 08:01:27 PM PST, David Jencks 
>  wrote:  
> 
> I’ve been wondering for some time… My uninformed impression is that most 
> corporate development uses Eclipse or IntilliJ, which I believe run only on 
> the java version they come packaged with, which presumably is not usually the 
> target java version for the code being developed.  Aside from packaging 
> questions (IIUC there’s no way for the maven project to ship a java 
> implementation), why should Maven be different?
> 
> Thanks
> David Jencks
> 
>> On Feb 20, 2024, at 1:30 PM, Tamás Cservenák  wrote:
>> 
>> Romain,
>> 
>> you immediately revealed your WHY:
>> Take off your "paid dev" hat, and please try again.
>> 
>> We ARE an open source project.
>> So it IS about us, the volunteers.
>> Is not about THEM, downstream users.
>> 
>> As it was told a million times:
>> if they are stuck (due whatever policy or who knows what), they can just
>> stay with 3.9, 3.8 or whatever suits them.
>> Why align with the "stuck" ones?
>> 
>> T
>> 
>> PS: and no, I just collected the last release VOTEs w/ Herve responses on
>> ML. If you consider that biased, then you have a problem ;)
>> 
>> 
>> 
>> On Tue, Feb 20, 2024 at 10:18 PM Romain Manni-Bucau 
>> wrote:
>> 
>>>> I am sure the majority of Maven users do not run Maven on the same Java
>>> version they target with their build.
>>> 
>>> Do you use that and the following figures to do a biased conclusion?
>>> 
>>> "If people don't use the same version then we can higher the version"?
>>> 
>>> I think we need to consider two things:
>>> 
>>> * We are OSS dev so not representative of the majority - in a company you
>>> most of the time use the same version you target and want to run that, just
>>> either laziness, policy or quality (building with different versions can
>>> lead to surprises and falsy passing tests = broken prod), sadly it is hard
>>> to find data there but I'm pretty sure it is a common experience
>>> * Guess there is a "use the first matching version I have" in the stats you
>>> mention, so if you target 11 and have 17 you would use 17 but does not mean
>>> you are ok to run 21 (random numbers, move them a bit to be a counter
>>> example on whatever digit you want for maven 4)
>>> * Guess very few people want to have >= 1 JDK
>>> 
>>> So clearly the question is not the latest LTS which would be for me just a
>>> moving version we can't support and would be bad for our end users IMHO but
>>> only the version we pick to start at 4.0.0.
>>> Choices stay:
>>> 
>>> * Latest LTS at that moment to start fresh and not inherit from a legacy at
>>> day 0
>>> * Latest LTS - 1 - which would enable to cover more projects and get more
>>> adoptions
>>> * Something older but I don't find any valid reason since people skipping 2
>>> LTS will likely never reach maven 4 before we discuss to move our baseline
>>> again.
>>> 
>

Re: [DISCUSS] Java version for Maven

2024-02-20 Thread David Jencks
I’ve been wondering for some time… My uninformed impression is that most 
corporate development uses Eclipse or IntilliJ, which I believe run only on the 
java version they come packaged with, which presumably is not usually the 
target java version for the code being developed.  Aside from packaging 
questions (IIUC there’s no way for the maven project to ship a java 
implementation), why should Maven be different?

Thanks
David Jencks

> On Feb 20, 2024, at 1:30 PM, Tamás Cservenák  wrote:
> 
> Romain,
> 
> you immediately revealed your WHY:
> Take off your "paid dev" hat, and please try again.
> 
> We ARE an open source project.
> So it IS about us, the volunteers.
> Is not about THEM, downstream users.
> 
> As it was told a million times:
> if they are stuck (due whatever policy or who knows what), they can just
> stay with 3.9, 3.8 or whatever suits them.
> Why align with the "stuck" ones?
> 
> T
> 
> PS: and no, I just collected the last release VOTEs w/ Herve responses on
> ML. If you consider that biased, then you have a problem ;)
> 
> 
> 
> On Tue, Feb 20, 2024 at 10:18 PM Romain Manni-Bucau 
> wrote:
> 
>>> I am sure the majority of Maven users do not run Maven on the same Java
>> version they target with their build.
>> 
>> Do you use that and the following figures to do a biased conclusion?
>> 
>> "If people don't use the same version then we can higher the version"?
>> 
>> I think we need to consider two things:
>> 
>> * We are OSS dev so not representative of the majority - in a company you
>> most of the time use the same version you target and want to run that, just
>> either laziness, policy or quality (building with different versions can
>> lead to surprises and falsy passing tests = broken prod), sadly it is hard
>> to find data there but I'm pretty sure it is a common experience
>> * Guess there is a "use the first matching version I have" in the stats you
>> mention, so if you target 11 and have 17 you would use 17 but does not mean
>> you are ok to run 21 (random numbers, move them a bit to be a counter
>> example on whatever digit you want for maven 4)
>> * Guess very few people want to have >= 1 JDK
>> 
>> So clearly the question is not the latest LTS which would be for me just a
>> moving version we can't support and would be bad for our end users IMHO but
>> only the version we pick to start at 4.0.0.
>> Choices stay:
>> 
>> * Latest LTS at that moment to start fresh and not inherit from a legacy at
>> day 0
>> * Latest LTS - 1 - which would enable to cover more projects and get more
>> adoptions
>> * Something older but I don't find any valid reason since people skipping 2
>> LTS will likely never reach maven 4 before we discuss to move our baseline
>> again.
>> 
>> The other question we should probably anticipate is when do we move our
>> support version range.
>> Since java is not more predictable in terms of releases I think it can make
>> sense to target for "new" releases only 2 (maybe 3 but really unsure?) LTS
>> - indeed with best effort on later versions but no guarantee upfront.
>> With such a policy calendar can be communicated and people can follow or
>> not without surprises.
>> 
>> So today, since we don't have yet a final I think 21 can make sense but not
>> cause it is the current latest, cause it will likely be the ~N-1 at 4.0.0
>> time.
>> 
>> Romain Manni-Bucau
>> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
>> <https://rmannibucau.metawerx.net/> | Old Blog
>> <http://rmannibucau.wordpress.com> | Github <
>> https://github.com/rmannibucau> |
>> LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
>> <
>> https://www.packtpub.com/application-development/java-ee-8-high-performance
>>> 
>> 
>> 
>> Le mar. 20 févr. 2024 à 21:50, Tamás Cservenák  a
>> écrit :
>> 
>>> Howdy,
>>> 
>>> I intentionally used "Maven" here, and not "Maven 4" as I am sure the
>>> majority of Maven users do not run Maven on the same Java version they
>>> target with their build. We do not do that either.
>>> 
>>> Some snippets from Herve (who is the ONLY one doing reproducible checks,
>>> kudos for that) votes:
>>> 
>>> Sun, Feb 18, 2024, 9:38 AM
>>> [VOTE] Release Apache Maven Shade Plugin version 3.5.2
>>> Reproducible Build ok: reference build done with JDK 11 on *nix
>>> 
>>> Wed, Jan 31, 2024, 5:06 AM
>>&

JDK 22 Release Candidates & Virtual Threads pinning heads-up

2024-02-20 Thread David Delabassee
 early access builds of the JavaFX 22 & 23 Runtime built from 
openjdk/jfx [14]. These builds enable JavaFX application developers to build 
and test their applications with JavaFX 22 & 23 on JDK 22 & 23 respectively. 
Although these builds are designed to work with JDK 22 and above, they are also 
known to work with JDK 17 and later versions.

The latest early access builds of JavaFX 22 Builds 29 are available [15], under 
the GNU General Public License, version 2, with the Classpath Exception. JavaFX 
22 API Javadocs [16] are also available.

The latest early access builds of JavaFX 23 Builds 5 are available [17], under 
the GNU General Public License, version 2, with the Classpath Exception. JavaFX 
23 API Javadocs [18] are also available.

[14] https://github.com/openjdk/jfx
[15] https://jdk.java.net/javafx22/
[16] 
https://download.java.net/java/early_access/javafx22/docs/api/overview-summary.html
[17] https://jdk.java.net/javafx23/
[18] 
https://download.java.net/java/early_access/javafx23/docs/api/overview-summary.html


## Topics of Interest

- Java Renaissance Keynote
https://inside.java/2024/02/05/java-renaissance/

- Managing Throughput with Virtual Threads - Sip of Java
https://inside.java/2024/02/04/sip094/

- Data-Oriented Programming in Java 21 - JEP Café
https://inside.java/2024/02/08/jepcafe22/

- Does Java 22 Kill Build Tools? - Inside Java Newscast
https://inside.java/2024/02/15/newscast-63/

- JDK 22 G1/Parallel/Serial GC changes
https://tschatzl.github.io/2024/02/06/jdk22-g1-parallel-gc-changes.html

- Java 22 Previews Statements Before super(...) and this(...)
https://inside.java/2024/02/01/newscast-62/

- State of jextract
https://cr.openjdk.org/~mcimadamore/panama/jextract_changes.html

- FOSDEM 2024: FFM API - A (quick) peek under the hood
https://inside.java/2024/02/13/fosdem2024-ffm-api/

- FOSDEM 2024: Virtual Threads - Next Steps
https://inside.java/2024/02/17/virtual-threads-next-steps/

- Java Language Update - Early 2024 Edition
https://inside.java/2024/02/18/java-language-update-early-2024-update/

- When Should a Compiler Expand Garbage Collection Barriers?
https://robcasloz.github.io/blog/2024/02/14/when-should-a-compiler-expand-garbage-collection-barriers.html

- Emulating C# LINQ in Java using Code Reflection
https://openjdk.org/projects/babylon/articles/linq

- Automatic differentiation of Java code using Code Reflection
https://openjdk.org/projects/babylon/articles/auto-diff


## Java Cryptographic Roadmap Update

The Java Cryptographic Roadmap [19] has been updated with the following planned 
changes.

* Enable XML Signature secure validation mode by default on JDK 11 and JDK 8
- Target date changed from the July 2024 CPU to the April 2024 CPU.
- This change has already been made in JDK 17 and later releases.

* Disable DTLS 1.0 in JDK 17 and 11 with the July 2024 CPU
- This change has already been made in JDK 20 and later releases.
- DTLS is not available in releases prior to JDK 9.

[19] https://www.java.com/en/jre-jdk-cryptoroadmap.html


~

That's it for this installment. As usual, if you have issues, or questions, 
please ping me.

--David


JDK 22 RDP2 & Deprecate sun.misc.Unsafe Memory-Access Methods…

2024-01-26 Thread David Delabassee
When Processing Non-existent 
Files
- JDK-8323659: LinkedTransferQueue add and put methods call overridable offer

Note: A complete list of changes can be found here [11].

[8] https://jdk.java.net/22/
[9] https://jdk.java.net/22/release-notes
[10] https://download.java.net/java/early_access/jdk22/docs/api/
[11] https://github.com/openjdk/jdk/compare/jdk-22+27...jdk-22+33


## JDK 23 Early-Access builds

JDK 23 Early-Access builds 7 are available [12] for testing. These EA builds 
are provided under the GNU General Public License v2, with the Classpath 
Exception. The Release Notes [13] are also available.

### Changes in recent JDK 23 builds that may be of interest:

- JDK-8320597: RSA signature verification fails on signed data that does not 
encode params correctly [Reported by Apache POI]
- JDK-8322214: Return value of XMLInputFactory.getProperty() changed from 
boolean to String in JDK 22 early access builds [Reported by Apache POI]
- JDK-8321545: Override toString() for Format subclasses
- JDK-8322366: Add IEEE rounding mode corruption check to JNI checks
- JDK-8322383: G1: Only preserve marks on objects that are actually moved
- JDK-8275338: Add JFR events for notable serialization situations
- JDK-8320458: Improve structural navigation in API documentation
- JDK-8320786: Remove ThreadGroup.stop
- JDK-8320532: Remove Thread/ThreadGroup suspend/resume
- JDK-8312150: Remove -Xnoagent option
- JDK-8322829: Refactor nioBlocker to avoid blocking while holding Thread's 
interrupt lock
- JDK-8322725: (tz) Update Timezone Data to 2023d
- JDK-8321480: ISO 4217 Amendment 176 Update
- JDK-8318971: Better Error Handling for Jar Tool When Processing Non-existent 
Files
- JDK-8321594: NativeThreadSet should use placeholder for virtual threads
- JDK-8321940: Improve CDSHeapVerifier in handling of interned strings
- JDK-8321802: (zipfs) Add validation of incorrect LOC signature in 
ZipFileSystem
- JDK-8322841: Parallel: Remove unused using-declaration in MutableNUMASpace
- JDK-8319626: Override toString() for ZipFile
- JDK-8322878: Including sealing information Class.toGenericString()

Note: A more exhaustive changes list can be found here [14].

[12] https://jdk.java.net/23/
[13] https://jdk.java.net/23/release-notes
[14] https://github.com/openjdk/jdk/compare/jdk-23+1...jdk-23+7


## JavaFX 22 & 23 Early-Access Builds

These are early access builds of the JavaFX 22 Runtime built from openjdk/jfx 
[14]. These builds enable JavaFX application developers to build and test their 
applications with JavaFX 22 on JDK 22. Although JavaFX 22 is designed to work 
with JDK 22, it is also known to work with JDK 17 and later versions.

The latest early access builds of JavaFX 22 Builds 26 (2024/1/20) are available 
[15], under the GNU General Public License, version 2, with the Classpath 
Exception. JavaFX 22 API Javadocs [16] are also available.

The first early access builds (2024/1/19) of JavaFX 23 are now also available 
[17].

[14] https://github.com/openjdk/jfx
[15] https://jdk.java.net/javafx22/
[16] 
https://download.java.net/java/early_access/javafx22/docs/api/overview-summary.html
[17] https://jdk.java.net/javafx23/


## Topics of Interest

- Podcast “The Panama Effect” with Jorn Vernee
https://inside.java/2024/01/08/podcast-032/

- Java's Plans for 2024 - Inside Java Newscast
https://inside.java/2024/01/18/newscast-61/

- Java 22 Unpacking - Inside Java Newscast
https://inside.java/2023/12/07/newscast-59/

- Java Highlights of 2023 - Inside Java Newscast
https://inside.java/2023/12/21/newscast-60/

- JDK 21: The GCs keep getting better
https://kstefanj.github.io/2023/12/13/jdk-21-the-gcs-keep-getting-better.html

- Java SE Security Developer’s Guide
https://docs.oracle.com/en/java/javase/21/security/index.html#Java-Platform%2C-Standard-Edition

- Another VS Code Extension for Java
https://inside.java/2023/12/03/java-vscode-extension/


## January 2024 Critical Patch Update Released

As part of the January 2024 CPU, Oracle released OpenJDK 21.0.2, JDK 21.0.2 
LTS, JDK 17.0.10 LTS, 11.0.22 LTS, 8u401, and 8u401-perf.


~

As usual, let us know if you find any quirks while testing your project(s) with 
the latest JDK early-access builds.

--David


Re: JPMS support, refactored proposal

2024-01-02 Thread David Lloyd
Apologies if this was already covered somewhere else, but would (or could)
path accumulation support multi-release JAR layouts for all cases (whether
it be modular or class-path JARs or filesystem paths)?

On Tue, Jan 2, 2024 at 10:13 AM Martin Desruisseaux <
martin.desruisse...@geomatys.com> wrote:

> Hello all
>
> Following the recommendations in the "Guidance on Maven 4 API issue"
> thread, I refactored the proposal. The new commits (only 2 at this time)
> replace the previous ones.
>
>
> Commit 1
>
> The first commit [1] adds the following constants in the API:
>
>   * In Type interface: POM, JAR, CLASSPATH_JAR, MODULAR_JAR,
> JAVA_SOURCE, JAVADOC, TEST_JAR (see note below for December 14 change).
>   * In DependencyProperties interface: FLAG_MODULE_PATH_CONSTITUENT,
> FLAG_PATCH_MODULE.
>
> The isAddedToModulePath() method is no longer introduced. Instead, this
> commit deprecates isAddedToClasspath() methods because checking this
> boolean value is not sufficient for determining if a dependency should
> be on the classpath.
>
> The change in the MavenProject class are only factorization for reducing
> code duplication and should not have behavioural impact. It is a
> side-effect of the previous version of JPMS support proposal, with the
> new methods removed.
>
> Note: I noticed that a commit on December 14th removed the POM, JAR,
> etc. constants from the Type interface. So I suspect that my first
> commit needs to be changed, but I'm not sure how. Where those constants
> are supposed to be now, or has the "type" approach changed?
>
>
> Commit 2
>
> The second commit [2] add a new "enumeration" in the API: PathType. This
> is actually implemented as a class for allowing extensions, but should
> be understood as an enumeration. The enumeration contains the following
> values:
>
>   * CLASSES for the --class-path option
>   * MODULES for the --module-path option
>   * UPGRADE_MODULES for the --upgrade-module-path option
>   * PROCESSOR_CLASSES for the --processor-path option
>   * PROCESSOR_MODULES for the --processor-module-path option
>   * AGENT for the -agentpath option
>   * DOCLET for the -doclet option
>   * TAGLET for the -tagletpath option
>   * patchModule(String moduleName) for the --patch-module option
>
> The latter is the reason why this enumeration cannot be a
> java.lang.Enum. Another reason is for allowing plugins to define their
> own enumeration values. Then, this commit add a new method in
> DependencyResolverResult:
>
> Map> getDispatchedPaths();
>
> Above method is like getPaths(), but returns a distinct List for
> each PathType instead of a single list mixing all kinds of path. The
> PathType of each dependency is fully determined by the
> DependencyProperties, which are themselves determined by the Type (at
> least before the December 14th commit), except in the following cases:
>
>   * If the type is "jar" instead of "classpath-jar" or "modular-jar",
> then an heuristic rule similar to Maven 3 is applied.
>   * If the type is "test-jar", a more complex analysis is done for
> inferring the --patch-module option value.
>   * The main and test output directories also needs some analysis for
> inferring which Java 9+ compiler layout is used (package hierarchy
> versus module hierarchy).
>
> Finally, this commit adds an implementation of above methods. In the
> DefaultDependencyResolver class, the DefaultDependencyResolverResult
> inner class has been extracted as a top-level class for making room for
> more development. Then the resolve(DependencyResolverRequest) has been
> refactored, but this refactoring should not change the way that the
> existing `dependencies` and `paths` collections were populated. Then new
> codes were added for populating the above-cited `dispatchedPath` map.
>
> This is not yet tested, but before working on tests and would like to
> know what need to be changed (I suspect some changes will be needed,
> e.g. regarding Type constants).
>
>  Thanks,
>
>  Martin
>
>
> [1]
> https://github.com/Geomatys/maven/commit/d05c51bd0f5fa5610b744ef66f159128303a67d7
> [2]
> https://github.com/Geomatys/maven/commit/322dffddeb18d7acaea4a3670966dd5f8aeb4add
>


-- 
- DML • he/him


JDK 22 Feature Freeze!

2023-12-13 Thread David Delabassee
Welcome to the final OpenJDK Quality Outreach update of 2023!

JDK 22, scheduled for General Availability on March 19, 2024, is now in 
Rampdown Phase One (RDP1) [1]. At this point, the overall JDK 22 feature set is 
frozen (see the final list of JEPs integrated into JDK 22 below) and only 
low-risk enhancements might still be considered. The coming weeks should be 
leveraged to identify and resolve as many issues as possible, i.e. before JDK 
22 enters the Release Candidates phase in early February 2024. So, we count on 
you to test your projects and help us make JDK 22 another solid release!

[1] https://mail.openjdk.org/pipermail/jdk-dev/2023-December/008535.html


## JDK 22 Early-Access Builds

JDK 22 Early-Access builds 27 are now available [2] with the Release Notes here 
[3]. Those builds are provided under the GNU GPL v2, with the Classpath 
Exception.

### JEPs integrated into JDK 22:

- JEP 423: Region Pinning for G1
- JEP 447: Statements before super(…) (Preview)
- JEP 454: Foreign Function & Memory API
- JEP 456: Unnamed Variables & Patterns
- JEP 457: Class-File API (Preview)
- JEP 458: Launch Multi-File Source-Code Programs
- JEP 459: String Templates (2nd Preview)
- JEP 460: Vector API (7th Incubator)
- JEP 461: Stream Gatherers (Preview)
- JEP 462: Structured Concurrency (2nd Preview)
- JEP 463: Implicitly Declared Classes and Instance Main Methods (2nd Preview)
- JEP 464: Scoped Values (2nd Preview)

### Changes in recent JDK 22 builds that may be of interest:

- JDK-8318646: Integer#parseInt("") throws empty NumberFormatException message 
[Reported by Apache Lucene]
- JDK-8318082: ConcurrentModificationException from IndexWriter [Reported by 
JOOQ]
- JDK-8319450: New methods java.net.InetXAddress.ofLiteral() miss @since tag 
[Reported by JaCoCo]
- JDK-8321164: javac w/ annotation processor throws AssertionError: Filling 
jrt:/… during … [Reported by Hibernate]
- JDK-8310644: Make panama memory segment close use async handshakes
- JDK-8302233: HSS/LMS: keytool and jarsigner changes
- JDK-8211238: New @Deprecated JFR event
- JDK-8319124: Update XML Security for Java to 3.0.3
- JDK-8306055: Add a built-in Catalog to JDK XML module
- JDK-8319244: implement JVMTI handshakes support for virtual threads
- JDK-8319196: ExecutableElement.getReceiverType doesn't return receiver types 
for methods loaded from bytecode
- JDK-8318759: Add four DigiCert root certificates
- JDK-8317374: Add Let's Encrypt ISRG Root X2
- JDK-8306116: Update CLDR to Version 44.0
- JDK-8287843: File::getCanonicalFile doesn't work for \\?\C:\ style 
paths DOS device paths
- JDK-8288899: java/util/concurrent/ExecutorService/CloseTest.java failed with 
"InterruptedException: sleep interrupted"
- JDK-8311596: Add separate system properties for TLS server and client for 
maximum chain length
- JDK-8318160: javac does not reject private method reference with 
type-variable receiver
- JDK-8305753: Allow JIT compilation for -Xshare:dump
- JDK-8187591: -Werror turns incubator module warning to an error
- JDK-8318096: Introduce AsymmetricKey interface with a getParams method
- JDK-8319174: Enhance robustness of some j.m.BigInteger constructors
- JDK-8288899: Changes to java.util.concurrent.ForkJoinPool and ForkJoinTask
- JDK-8272215: Add InetAddress methods for parsing IP address literals
- JDK-8316996: Catalog API Enhancement: add a factory method
- JDK-8305814: Update Xalan Java to 2.7.3
- JDK-8313643: Update HarfBuzz to 8.2.2
- JDK-8316030: Update Libpng to 1.6.40

Note: A more comprehensive list of changes can be found here [4].

[2] https://jdk.java.net/22/
[3] https://jdk.java.net/22/release-notes
[4] https://github.com/openjdk/jdk/compare/jdk-22+20...jdk-22+27


## JDK 23 Early-Access Builds

Given that JDK 22 is in Rampdown Phase, the initial JDK 23 EA builds are now 
also available [5]. These EA builds are provided under the GNU General Public 
License v2, with the Classpath Exception.

[5] https://jdk.java.net/23/


## JavaFX 22 Early-Access Builds

These are early-access builds of the JavaFX 22 [8] Runtime built from 
openjdk/jfx [9]. This allows JavaFX application developers to build and test 
their applications with JavaFX 22 on JDK 22. The JavaFX 22 API Javadocs are 
also available [10].

The JavaFX runtime is delivered as an SDK and as a set of jmods for each 
platform. You can use the SDK to compile and run JavaFX applications. You can 
use the jmods with jlink to create a JDK that includes the JavaFX modules, and 
optionally, your modular application. JavaFX 22 is designed to work with JDK 
22,but it is known to work with JDK 17 and later versions.

[8] https://jdk.java.net/javafx22/
[9] https://github.com/openjdk/jfx
[10] 
https://download.java.net/java/early_access/javafx22/docs/api/overview-summary.html


## Topics of Interest:

- Java 22 Unpacking - Inside Java Newscast
https://inside.java/2023/12/07/newscast-59/

- Java On The GPU - Inside Java Newscast
https://inside.java/2023/11/16/newscast-58/

- Better Java 

Re: Request for a release of Maven Surefire

2023-12-01 Thread David Lloyd
On Thu, Nov 30, 2023 at 1:40 PM Michael Osipov  wrote:

> On 2023/11/30 16:54:44 David Lloyd wrote:
> > Would it be possible to request that a committer initiate a release of
> > Maven Surefire? There are a couple of bugfixes that are blocking releases
> > of a couple of Red Hat projects and it would be good to get them cleared
> up
> > before everyone disappears for the holidays.
>
> I need to merge one more PR and then I will do the release.
>

Great, thank you!

-- 
- DML • he/him


Request for a release of Maven Surefire

2023-11-30 Thread David Lloyd
Would it be possible to request that a committer initiate a release of
Maven Surefire? There are a couple of bugfixes that are blocking releases
of a couple of Red Hat projects and it would be good to get them cleared up
before everyone disappears for the holidays.

Thanks!

-- 
- DML • he/him


JDK 21 Is Now GA, a New VS Code Extension, and an Annotation Processing Heads-up

2023-10-20 Thread David Delabassee
URL
https://stuartmarks.wordpress.com/2023/09/22/my-favorite-jdk-21-feature-javadoc-search-url/

Upgrading from Java 17 to 21 #RoadTo21
https://inside.java/2023/08/27/roadto21-upgrade/

Java 21 API Changes #RoadTo21
https://inside.java/2023/09/10/roadto21-api/

Java 21 Security #RoadTo21
https://inside.java/2023/09/13/roadto21-security/

Java 21 Tool Enhancements: Better Across the Board #RoadTo21
https://inside.java/2023/09/06/roadto21-performance/

Java 21 JVM and GC Improvements #RoadTo21
https://inside.java/2023/09/03/roadto21-performance/

Java 21 Brings Full Pattern Matching #RoadTo21
https://inside.java/2023/09/17/roadto21-pattern-matching/

Java 21 new feature: Virtual Threads #RoadTo21
https://inside.java/2023/08/30/roadto21-virtualthreads/

G1: Java's Default Garbage Collector
https://inside.java/2023/10/15/g1/

New candidate JEP: 457: Class-File API (Preview)
https://openjdk.org/jeps/457

Using JAXB in Custom Ant Tasks on Recent Java Versions
https://jaitechwriteups.blogspot.com/2023/10/using-jaxb-in-custom-ant-tasks-on.html

Java Records are "Trusted" and Consequently Faster
http://minborgsjavapot.blogspot.com/2023/09/java-records-are-trusted-and.html

JVMLS 2023 Keynote
https://inside.java/2023/09/14/jvmls-keynote/

JVMLS - Project Leyden
https://inside.java/2023/09/07/project-leyden/

JVMLS - Value Objects in Valhalla
https://inside.java/2023/09/05/value-objects-in-valhalla/

Complete JVMLS 2023 playlist
https://www.youtube.com/playlist?list=PLX8CzqL3ArzW90jKUCf4H6xCKpStxsOzp

Teaching Old Streams New Tricks
https://inside.java/2023/10/11/devoxx-teaching-old-streams-new-tricks/

Support Markdown in javadoc Comments
https://mail.openjdk.org/pipermail/javadoc-dev/2023-October/006455.html

Brian Goetz Answers Your Java Questions
https://inside.java/2023/10/20/ama-brian/


## October 2023 Critical Patch Update Released

As part of the October 2023 CPU, Oracle released OpenJDK 21.0.1, JDK 21.0.1, 
JDK 17.0.9 LTS, 11.0.21 LTS, 8u391, and 8u391-perf.


~

PS: Don't forget to update me about your plans related to Java 21.

Until next time!


--David


JDK 21 Release Candidates & JVM Language Summit

2023-08-22 Thread David Delabassee
/

JVMLS - Foreign Function & Memory API
https://inside.java/2023/08/21/jvmls-ffm-api/

JVMLS - Java and GPU … are we nearly there yet?
https://inside.java/2023/08/22/java-and-gpu/

Draft JEP: Computed Constants
https://minborgsjavapot.blogspot.com/2023/08/java-new-draft-jep-computed-constants.html

Using Computed Constants to Manage Static State in Leyden
https://cr.openjdk.org/~jrose/leyden/after-computed-constants.html

Project Leyden: Toward Condensers
https://openjdk.org/projects/leyden/notes/03-toward-condensers

New OpenJDK Container mailing list
https://mail.openjdk.org/pipermail/container-discuss/2023-August/00.html

Introduction: Q-descriptors and v-bytecodes
https://cr.openjdk.org/~jrose/values/larval-values.html

~

Until next time!

--David





JDK 22 is in Rampdown Phase 2 | Annotation Processing Change Heads-up

2023-07-28 Thread David Delabassee
 JDK-8027711: Unify wildcarding syntax for CompileCommand and CompileOnly
- JDK-8282797: CompileCommand parsing errors should exit VM
- JDK-8305104: Remove the old core reflection implementation
- JDK-8310460: Remove jdeps -profile option
- JDK-8309032: jpackage does not work for module projects unless --module-path 
is specified
- JDK-8291065: Creating a VarHandle for a static field triggers class 
initialization
- JDK-8312072: Deprecate for removal the -Xnoagent option
- JDK-8304885: Reuse stale data to improve DNS resolver resiliency=
- JDK-8310047: Add UTF-32 based Charsets into StandardCharsets
- JDK-8302483: Enhance ZIP performance
- JDK-8300596: New System Property to Control the Maximum Size of Signature 
Files
- JDK-8294323: ASLR Support for CDS Archive
- JDK-8311038: Incorrect exhaustivity computation
- JDK-8312089: Simplify and modernize equals, hashCode, and compareTo in 
java.nio…
- JDK-8311188: Simplify and modernize equals and hashCode in java.text
- JDK-8300285: Enhance TLS data handling
- JDK-8302475: Enhance HTTP client file downloading

[14] https://github.com/openjdk/jdk/compare/jdk-22%2B1...jdk-22%2B8


## JavaFX Early-Access Builds

These are early access builds of the JavaFX 21 Runtime, built from openjdk/jfx 
[15]. They enable JavaFX application developers to build and test their 
applications with JavaFX 21 on JDK 21.

The latest JavaFX 21 early-access builds (build 27 - 2023/7/21) are now 
available [16] with their related Javadoc [17]. Moreover, the initial JavaFX 22 
early-access builds [18] are now also available. These early-access builds are 
provided under the GNU General Public License, version 2, with the Classpath 
Exception. Please send feedback to the openjfx-dev mailing list [19].

[15] https://github.com/openjdk/jfx
[16] https://jdk.java.net/javafx21/
[17] 
https://download.java.net/java/early_access/javafx21/docs/api/overview-summary.html
[18] https://jdk.java.net/javafx22/
[19] http://mail.openjdk.org/mailman/listinfo/openjfx-dev


## Topics of Interest:

Foreign Function & Memory API Summer Update
https://mail.openjdk.org/pipermail/panama-dev/2023-July/019510.html

What's Arriving for JFR in JDK 21 - Inside Java Newscast #53
https://inside.java/2023/07/20/java-21-jfr/

Java's Startup Booster: CDS - Stack Walker
https://inside.java/2023/07/11/javas-startup-booster-cds/


## July 2023 Critical Patch Update Released

As part of the July 2023 CPU, Oracle released OpenJDK 20.0.2, JavaFX 20.0.2, 
JDK 20.0.2, JDK 17.0.8 LTS, JDK 11.0.20 LTS, JDK 8u381, as well as JDK 
8u381-perf.

~

We still have a few days before JDK 21 enters into the Release Candidate phase 
so please make sure to test your projects on the latest early-access builds and 
report any issue.

PS: Make sure to enjoy the summer and recharge your batteries! 

--David


JDK 21 is in Rampdown / The importance of testing with Early-Access Builds

2023-06-14 Thread David Delabassee
 JDK-8307478: Implementation of Prepare to Restrict The Dynamic Loading of 
Agents
- JDK-8301553: Support Password-Based Cryptography in SunPKCS11
- JDK-8308341: JNI_GetCreatedJavaVMs returns a partially initialized JVM
- JDK-8308108: Support Unicode extension for collation settings
- JDK-8305972: Update XML Security for Java to 3.0.2
- JDK-8305091: Change ChaCha20 cipher init behavior to match AES-GCM
- JDK-8179502: Enhance OCSP, CRL and Certificate Fetch Timeouts
- JDK-8307547: Support variant collations
- JDK-8308876: JFR: Deserialization of EventTypeInfo uses incorrect attribute 
names
- JDK-8297878: KEM: Implementation
- JDK-8308819: add JDWP and JDI virtual thread support for 
ThreadReference.ForceEarlyReturn
- JDK-8307779: Relax the java.awt.Robot specification
- JDK-8306703: JFR: Summary views
- JDK-8309146: extend JDI StackFrame.setValue() and JDWP StackFrame.setValues 
minimal support for virtual threads
- JDK-8307840: SequencedMap view method specification and implementation 
adjustments
- JDK-8304438: jcmd JVMTI.agent_load should obey EnableDynamicAgentLoading
- JDK-8306431: File.listRoots method description should be re-examined

[5] https://jdk.java.net/21/
[6] https://jdk.java.net/21/release-notes
[7] https://download.java.net/java/early_access/jdk21/docs/api/
[8] https://mail.openjdk.org/pipermail/jdk-dev/2023-June/007910.html
[9] https://github.com/openjdk/jdk/compare/jdk-21+23...jdk-21+26


## JDK 22 Early-Access Builds

Given that JDK 21 is now in Rampdown Phase, the initial JDK 22 Early-Access 
builds are now also available [10]. Those EA builds are provided under the GNU 
General Public License v2, with the Classpath Exception.
[10] https://jdk.java.net/22/

## JavaFX 21 Early-Access Builds

These are early access builds of the JavaFX 21 Runtime, built from openjdk/jfx 
[11]. They are intended to allow JavaFX application developers to build and 
test their applications with JavaFX 21 on JDK 21. The latest builds 21 
(2023/6/8) are now available [12]. These early-access builds are provided under 
the GNU General Public License, version 2, with the Classpath Exception. 
Feedback should be reported to the openjfx-dev mailing list [13].
[11] https://github.com/openjdk/jfx
[12] https://jdk.java.net/javafx21/
[13] http://mail.openjdk.org/mailman/listinfo/openjfx-dev

## Topics of Interest

All That is in Java 21?!
https://inside.java/2023/06/08/newscast-50/

Script Java Easily in 21 and Beyond
https://inside.java/2023/05/25/newscast-49/

New JFR `view` Command
https://egahlin.github.io/2023/05/30/views.html

Patterns: Exhaustiveness, Unconditionality, and Remainder
https://openjdk.org/projects/amber/design-notes/patterns/exhaustiveness

Design Document on Nullability and Value Types
https://mail.openjdk.org/pipermail/valhalla-spec-observers/2023-May/002243.html

JFR: Java's Observability & Monitoring Framework - Stack Walker #2
https://inside.java/2023/05/14/stackwalker-02/


## JDK Crypto Roadmap Update

Oracle updated the JDK Cryptographic Roadmap to announce a change, with the Oct 
CPU (2023-10-17), of the priority order used by JDK 8 and JDK 11 when 
negotiating cipher suites to use on TLS connections. Please check the JDK 
Cryptographic Roadmap page [14] for more details.
[14] https://www.java.com/en/jre-jdk-cryptoroadmap.html


~

Please, make sure to test your projects using the JDK 21 EA builds as we still 
have time to fix potential issues. And thanks for participating in the OpenJDK 
Quality Outreach program!


--David


Re: Question - JDK Minimum of future Apache Maven 4.0.0

2023-06-01 Thread David Jencks
I wonder if having maven require java 8 syntax discourages any potential 
contributors who are used to coding using more recent developments. I have no 
idea how to tell, but maybe someone else does.

David Jencks

> On Jun 1, 2023, at 3:02 PM, Karl Heinz Marbaise  wrote:
> 
> Hi,
> 
> my clear opinion is to go  with most recent JDK LTS version for the
> release point of Maven 4.0.0 which I assume will be JDK 21...
> 
> That means clear the build time requirement which is completely
> different from runtime of an application.
> 
> 
> Older JDK's are supported by some vendors by having particular special
> support which most of the time requires special contracts (means also
> paying money for it)..some of them offering builds without paying money
> yes..
> 
> Older runtime target are supported with different approaches like
> Toolchain or via `--release XX` which exists since JDK9+.
> 
> 
> Furthermore if someone is not capable of upgrading the build environment
> to JDK9+ they can continue to use Maven 3.8.X or Maven 3.9.X...
> 
> If it would be requirement to port things back to 3.8.X or 3.9.X it
> could be handled by someone who has the time etc. to do that ... if not,
> those people might think of paying someone to do that work...
> 
> 
> The given argument about JPMS for migration causes issues is from my
> point of view false-positive because migration to newer JDK versions
> does not require JPMS usage...
> 
> Even platforms like AWS support JDK17 in the meantime which is the
> runtime...
> 
> 
> Based on the argument we don't need  features of JDK17+ I see a number
> of things which could make our handling/maintenance easier for example
> using sealed classes to prevent exposing internal things to public which
> could be used etc. also some other small features (`var` for example;
> Text-Blocks in Tests etc) or using records in some situation...
> 
> 
> Based on the maintenance part it would mean in consequence to downgrade
> to even JDK7... (or even lower) because you can get support for older
> JDK version in some ways... (JDK7 from azul for example)
> 
> Kind regards
> Karl Heinz Marbaise
> 
> [1] https://www.oracle.com/java/technologies/java-se-support-roadmap.html
> 
> -
> 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



JDK 21 EA builds 22 & Sequenced Collections Heads-up

2023-05-15 Thread David Delabassee
rticipating in the OpenJDK Quality Outreach program. If you find 
any issue on JDK 21 EA builds, please send it my way!

--David



JDK 20 is now GA, JDK 21 Early-Access builds, and 2 important heads-up!

2023-03-28 Thread David Delabassee
nded to allow JavaFX application developers 
to build and test their applications with JavaFX 21 on JDK 21.


The latest builds 9 (2023/3/20) are now available [19] and are provided 
under the GNU General Public License, version 2, with the Classpath 
Exception.

Please report feedback on the openjfx-dev mailing list [20].

[18] https://github.com/openjdk/jfx
[19] https://jdk.java.net/javafx21/
[20] http://mail.openjdk.org/mailman/listinfo/openjfx-dev


## New Generational ZGC Early-Access Builds

The latest builds 21-genzgc+5-33 (2023/3/9) are available [21]. These 
open-source binaries of Generational ZGC [22] are based on an incomplete 
version of JDK 21 and are provided under the GNU General Public License, 
version 2, with the Classpath Exception.

Please send feedback on the zgc-dev mailing list [23].

[21] https://jdk.java.net/genzgc/
[22] https://openjdk.org/jeps/439
[23] http://mail.openjdk.org/mailman/listinfo/zgc-dev


## Topics of Interest:

The Arrival of Java 20!
https://inside.java/2023/03/21/the-arrival-of-java-20/

Video: Java First. Java Always. | Level Up Keynote
https://inside.java/2023/03/22/levelup-keynote/

Video: Java 20 Unboxing - Inside Java Newscast
https://inside.java/2023/03/23/newscast-44/

JDK 20 Security Enhancements
https://seanjmullan.org/blog/2023/03/22/jdk20

G1/Parallel/Serial GC improvements in JDK 20
https://tschatzl.github.io/2023/03/14/jdk20-g1-parallel-gc-changes.html

Podcast: “Preview Features: A Look Back and A Look Ahead” with Alex Buckley
https://inside.java/2023/03/21/podcast-030/

Video: Write performant Java code with the Vector API - JEP Café
https://inside.java/2023/03/14/jepcafe18/

Video: Data-Oriented Programming in Java
https://inside.java/2023/03/09/data-oriented-programming/

Video: ZGC - Java’s Highly Scalable Low-Latency Garbage Collector
https://inside.java/2023/03/05/stackwalker-01/

Video: The Holy Grail of Java Performance - Inside Java Newscast
https://inside.java/2023/03/02/newscast-43/

Video: Programmer's Guide to JDK Flight Recorder
https://inside.java/2023/02/27/programmer-guide-to-jfr/

Video: Foreign Function & Memory API Live
https://inside.java/2023/02/16/ffm-api/

JEP targeted to JDK 21: 430: String Templates (Preview)
https://openjdk.org/jeps/430

JEP targeted to JDK 21: 431: Sequenced Collections
https://openjdk.org/jeps/431


~

Thanks for participating in the OpenJDK Quality Outreach program. And as 
always, if you find an issue, please let us know through the usual channels.


--
David


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



JDK 20 Release Candidate and Deprecation

2023-02-14 Thread David Delabassee
va.net/21/
[10] https://download.java.net/java/early_access/jdk21/docs/api/
[11] https://jdk.java.net/21/release-notes

### Changes in recent JDK 21 builds that may be of interest:

- JDK-8299891: JMX ObjectInputFilter additional classes needed [Reported 
by Apache Derby]

- JDK-8298478: (fs) Path.of should allow input to include long path prefix
- JDK-8300869: Make use of the Double.toString(double) algorithm in java.ut…
- JDK-8300891: Deprecate for removal 
javafx21x.swing.plaf.synth.SynthLookAndFee…

- JDK-8286907: keytool should warn about weak PBE algorithms
- JDK-8298445: Add LeakSanitizer support in HotSpot
- JDK-8288050: SunJCE provider now supports SHA-512/224 and SHA-512/256 
as digests for the PBES2 algorithms

- JDK-8301207: (jdeps) Deprecate jdeps -profile option
- JDK-8300247: Harden C1 xchg on AArch64 and PPC
- JDK-8208077: File::listRoots Changed To Return All Available Drives On 
Windows
- JDK-8300623: Lambda deserialization regression involving Enum method 
reference

- JDK-8294680: Refactor scaled border rendering
- JDK-8300584: Accelerate AVX-512 CRC32C for small buffers
- JDK-8299896: Reduce enum values of HtmlLinkInfo.Kind
- JDK-8300266: Detect Virtualization on Linux aarch64
- JDK-8298908: Instrument Metaspace for Asan


## Generational ZGC Early-Access Builds

The latest Early-Access builds (build 21-genzgc+1-8 - 2023/1/27) of 
Generational ZGC [12] are available [13]. Those builds are based on an 
incomplete version of JDK 21 and are provided under the GNU General 
Public License, version 2, with the Classpath Exception.


Feedback should be sent to the zgc-dev mailing list [14].

[12] https://bugs.openjdk.org/browse/JDK-8272979
[13] https://jdk.java.net/genzgc/
[14] https://mail.openjdk.org/pipermail/zgc-dev


## JavaFX 21 Early-Access Builds

The Early-Access builds of the JavaFX runtime, built from openjdk/jfx 
[15], allow JavaFX application developers to build and test their 
applications with JavaFX 21 on JDK 21. The latest Early-Access builds 
(build 2 2023/1/27) are now available [16] under the GNU General Public 
License, version 2, with the Classpath Exception. The related Javadocs 
are available here [17].


Feedback should be sent to the openjfx-dev mailing list [18].

[15] https://github.com/openjdk/jfx
[16] https://jdk.java.net/javafx21/
[17] 
https://download.java.net/java/early_access/javafx21/docs/api/index.html

[18] http://mail.openjdk.org/mailman/listinfo/openjfx-dev


## Topics of Interest:

- JDK 21 - Image Performance Improvements
https://minborgsjavapot.blogspot.com/2023/02/jdk-21-image-performance-improvements.html

- JDK 21 - Performance Improvements Revealed
https://minborgsjavapot.blogspot.com/2023/01/java-21-performance-improvements.html

- From Java Security with Love - Inside Java Newscast #42
https://inside.java/2023/02/14/newscast-42/

- ZGC - The Future of Low-Latency Garbage Collection Is Here
https://inside.java/2023/01/25/zgc/

- Draft JEP: JDK Packaging Guidelines
https://mail.openjdk.org/pipermail/jdk-dev/2023-February/007327.html

- Future Java - Prepare Your Codebase Now! - Inside Java Newscast #41
https://inside.java/2023/02/02/newscast-41/

- Java Modules in Real Life
https://inside.java/2023/01/29/java-modules-in-real-life/

~

Thanks for participating in the OpenJDK Quality Outreach program. And as 
always, if you find an issue, please let us know through the usual channels.


--
David



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



JDK 20 Rampdown Phase 2 & JMX Heads-up

2023-01-24 Thread David Delabassee

Hi,

First off, on behalf of Oracle’s Java Team, I’d like to wish you a happy 
and prosperous new year!


In 2023, two Java releases will be made available: JDK 20 (March) &  JDK 
21 (September).


JDK 20 [1] has entered Rampdown Phase Two (RDP2) [2], its initial 
Release Candidate is planned for February 9. Given that and to be better 
prepared for the future, it makes sense to begin testing your project(s) 
using JDK 21 early-access (EA) builds. Your feedback allows us to 
evaluate and address issues you find while testing EA builds.


[1] https://jdk.java.net/20/
[2] https://mail.openjdk.org/pipermail/jdk-dev/2023-January/007308.html
[3] https://jdk.java.net/21/


## Heads-up - JDK 21: JMX Subject Delegation & Fine-grained Security 
Deprecation


JMX has some features that rely on Security Manager APIs which are 
deprecated for removal (see JEP 411 [4]). These features are "Subject 
Delegation" and "Fine-grained Security", which both seem to be generally 
unused, and would require significant investment to implement without 
touching the deprecated APIs. As a consequence, "Subject Delegation" is 
being proposed for deprecation in JDK 21 [5].


Fine-grained Security is also being considered for deprecation at the 
same time. This feature [6] has allowed configuration of a security 
policy to restrict or permit access to specific MBean actions. It is 
expected that this feature is generally unused, possibly because there 
is simply no demand for such detailed control, and that it is too 
complex to create and maintain the policies.


[4] https://openjdk.org/jeps/411
[5] https://bugs.openjdk.org/browse/JDK-8298966
[6] 
https://docs.oracle.com/en/java/javase/19/jmx/fine-grained-security-example.html



## JDK 20 Early-Access builds

The latest early-access builds of JDK 20 (builds 32) are available [7], 
and are provided under the GNU General Public License v2, with the 
Classpath Exception. The Release Notes are available here [8].


[7] https://openjdk.org/projects/jdk/20/
[8] https://jdk.java.net/20/release-notes

### JEPs integrated into JDK 20:

- JEP 429: Scoped Values (Incubator)
- JEP 432: Record Patterns (2nd Preview)
- JEP 433: Pattern Matching for switch (4th Preview)
- JEP 434: Foreign Function & Memory API (2nd Preview)
- JEP 436: Virtual Threads (2nd Preview)
- JEP 437: Structured Concurrency (2nd Incubator)

### Changes in recent JDK 20 builds that may be of interest:

- JDK-8298525: javadoc crashes with "UnsupportedOperationException: Not 
yet implemented" in SeeTaglet.inherit [Reported by Apache Ant]

- JDK-8298893: Rename option UsePolyIntrinsics to UsePoly1305Intrinsics
- JDK-8287411: Enhance DTLS Performance
- JDK-8293554: Enhanced DH Key Exchanges


## JDK 21 Early-Access builds

The latest early-access builds of JDK 21 (builds 6) are available [9], 
and are provided under the GNU General Public License v2, with the 
Classpath Exception. The related EA API Javadoc is also available [10].


[9] https://jdk.java.net/21/
[10] https://download.java.net/java/early_access/jdk21/docs/api/

### Changes in recent JDK 21 builds that may be of interest:

- JDK-8297295: Remove ThreadGroup.allowThreadSuspension
- JDK-8287411: Enhance DTLS performance
- JDK-8233269: Improve handling of JAVA_ARGS
- JDK-8297933: Compiler should only use verified interface types for 
optimization

- JDK-8298381: Improve handling of session tickets for multiple SSLContexts
- JDK-8299501: Usage of constructors of primitive wrapper classes should 
be avoided in java.util API docs
- JDK-8299475: Enhance SocketException by cause where it is missing in 
net and nio area
- JDK-8299544: Improve performance of CRC32C intrinsics (non-AVX-512) 
for small inputs

- JDK-8299576: Reimplement java.io.Bits using VarHandle access
- JDK-8278326: Socket close is not thread safe and other cleanup
- JDK-8299673: Simplify object pinning interactions with string 
deduplication



## JavaFX 20 & 21 Early-Access Builds

These are early-access builds of the JavaFX Runtime, built from 
openjdk/jfx [11]. Those EA builds are intended to allow JavaFX 
application developers to build and test their applications with JavaFX 
20 on JDK 20. The latest EA builds (JavaFX 20 EA b16 2023/1/14) are now 
available [12] and are provided under the GNU General Public License, 
version 2, with the Classpath Exception. Please note that initial JavaFX 
21 early-access builds (JavaFX 21 b1 2023/1/19) are now available [13] 
as well.

Feedback should be reported to the openjfx-dev mailing list [14].

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


## Topics of Interest:

- On Markdown in (Java) documentation comments
https://mail.openjdk.org/pipermail/javadoc-dev/2023-January/005563.html

- Lifetimes in the Foreign Function & Memory API
https://cr.openjdk.java.net/~mcimadamore/panama/why_lifetimes.html

- Java's Plans for 2023 - Inside Java 

JDK 20 Rampdown Phase 1 & Valhalla LW4 Early-Access builds

2022-12-12 Thread David Delabassee
New Generational ZGC [13] Early-Access Builds have been updated recently 
[14]. These EA builds are provided under the GNU GPL v2, with the 
Classpath Exception.


### Changes include :
- Rebased on top of jdk-20+21
- Added macOS builds
- Heuristics rewriten to deal with a problematic case where Generational 
ZGC spent too much focus on doing young generation collection when it’s 
more beneficial to spend resources to collect the old generation.
- GC logging rewriten to easier see what log lines belong to what 
collection / generation, plus many additional changes that should make 
it easier to read and understand GC logs
- Barrier elision enhanced to remove barriers from array access of newly 
allocated arrays

- Enhanced the generated hs_err crash text file
- Fixed and unified code quality and style

For more information, make sure to watch this Inside Java Newscast [15] 
dedicated on Generational ZGC. Feedback should be sent to the zgc-dev 
mailing list [16].


[13] https://jdk.java.net/genzgc/
[14] https://bugs.openjdk.org/browse/JDK-8272979
[15] https://inside.java/2022/11/17/insidejava-newscast-037/
[16] https://mail.openjdk.org/pipermail/zgc-dev/


## JavaFX 20 Early-Access Builds

These are early access builds of the JavaFX 20 Runtime, built from 
openjdk/jfx [17]. They allow JavaFX application developers to build and 
test their applications with JavaFX 20 on JDK 20. The latest builds 10 
(2022/12/5) are now available [18] with javadoc here [19]. Feedback 
should be forwarded to the openjfx-dev [19] mailing list. For more 
details, you might want to listen this Inside Java podcast episode [20].


[17] https://github.com/openjdk/jfx
[18] https://jdk.java.net/javafx20/
[19] 
https://download.java.net/java/early_access/javafx20/docs/api/overview-summary.html

[20] http://mail.openjdk.org/mailman/listinfo/openjfx-dev
[21] https://inside.java/2022/11/18/podcast-027/


## Topics of Interest:

- Building and Deploying Java Client Desktop Applications with JDK 17 
and Beyond

https://inside.java/2022/12/08/building-java-desktop-app/

- Java Value Objects in Action with Valhalla - JEP Café #15
https://inside.java/2022/12/06/jepcafe15/

- Java 20 - Sneak Peek on the Foreign Function & Memory API
https://minborgsjavapot.blogspot.com/2022/12/java-20-sneak-peek-on-panama-ffm-api.html

- A Glimpse at Java 20 - Pattern Matching, Concurrent Programming and 
Valhalla - Inside Java Newscast #38

https://inside.java/2022/12/01/newscast-38/

- “JavaFX” - Inside Java Podcast #27
https://inside.java/2022/11/18/podcast-027/

- Generational ZGC - Inside Java Newscast #37
https://inside.java/2022/11/17/insidejava-newscast-037/

- Java 17 to 20 Pattern Matching full tutorial with Records, Instanceof 
and Switch - JEP Café #14

https://inside.java/2022/11/08/jepcafe14/

- Script Friendly JDK Download URLs
https://inside.java/2022/11/14/sip072/

- Using the JShell API to improvement a Java Source Browser
https://inside.java/2022/11/21/jshell-java-source-browser/


~

As usual, let us know if you find any quirks while testing your 
project(s) on the latest JDK early-access builds. As year-end is 
approaching, I'd like to thank you for being part of the OpenJDK Quality 
Outreach Program. I hope that you will disconnect a bit to spend time 
with your family and your friends. See you in 2023 with Java 20 and Java 21!


--David





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



Re: [DISCUSS] Speed up release process?

2022-11-18 Thread David Jencks
Evidently you know something I don’t, and I hope you’ll explain it to me.

For the 3rd time, 
>>>>> Which developers have to pause what activities?

—

Right now there are usually release votes in parallel. As I pointed out, all 
308 could be in parallel.  What relevance does your calculation have to 
anything?

This discussion looks to me like the others I’ve seen about shortening release 
votes: someone is basically complaining that the apache process is inconvenient 
for a particular subset of developers on a particular project, without 
examining what the actual roadblocks to effective development are or what other 
solutions might be possible.

In particular, I’d like to see an analysis of what would happen if a “release” 
was for a particular project plus all downstream changes needed to use it, 
whether as a single vote or as concurrent votes.

Thanks
David Jencks

> On Nov 18, 2022, at 1:48 PM, Tamás Cservenák  wrote:
> 
> damn me
> 
> 16848 hours = 702 days = almost TWO YEARS of Maven releases just to build
> Maven itself.
> 
> But, if you consider all apache artifacts (almost all, unsure is there
> other in different groupId)
> [cstamas@blondie local (master %)]$ find * -type f -name "*.jar" | grep
> "commons-" | wc -l
> 45
> [cstamas@blondie local (master %)]$ find * -type f -name "*.jar" | grep
> "org/apache" | wc -l
> 263
> 
> In total, 308 JARs = 22176 hours = 924 days = 2,5 years.
> 
> T
> 
> On Fri, Nov 18, 2022 at 10:30 PM Tamás Cservenák 
> wrote:
> 
>> David,
>> 
>> I agree, and understand.
>> 
>> But let me step back a bit:
>> ASF (as it all started around httpd) as a foundation hosts MANY projects
>> wildly different projects, and those projects usually have a handful (few,
>> when compared to Maven) of "deliverables" or "artifacts" being released. Or
>> in other words (and am not trying to lessen their complexity or nor to
>> present Maven as something "special" here), most of ASF projects have few,
>> very few deliverables (again, I am talking about the majority, correct me
>> if I am wrong). Really, are there any statistics about:
>> - number of reposes used per ASF project
>> - number of different (!) artifact releases done per project?
>> 
>> Maven on the other hand, while id DOES also have ONE "downloadable" item
>> on download page (https://maven.apache.org/download.cgi) we all know that
>> story does not end there: it is known to "download the whole internet",
>> just to run Maven "mvn clean verify" it will download zillion of plugins
>> and their dependant artifacts (and I did not even mention 3rd party, non
>> ASF plugins). So, Maven, as a "deliverable" or "product" is definitely not
>> one ZIP file you see on the download page. ASF Maven project has many
>> interconnected reposes/artifacts/releases.
>> 
>> So, what I want to say: is it possible that ASF "way" works for "typical"
>> projects, while Maven is more like "atypical"?
>> 
>> Or, to make my example more concrete:
>> 1. I checked out master of maven from http://github.com/apache/maven
>> 2. built it w/ pristine local repo
>> 3. and run some stats on it:
>> 4. https://gist.github.com/cstamas/ee2bba03f61d09fa3f5e9c57844207b7
>> 
>> This simply means that for the end user, the "experience of ASF Maven" is
>> literally 1 (that on download page) + 233 = 234 releases. And it is all
>> very interconnected.
>> 
>> Btw, I just downloaded 16848 hours :)
>> 
>> T
>> 
>> On Fri, Nov 18, 2022 at 9:53 PM David Jencks 
>> wrote:
>> 
>>> You are free to do your own research.  I’ve seen plenty of “but we want
>>> the convenience of <72hr releases” discussions over the years, and the
>>> feedback I’ve seen is consistently that the reason for the “should” rather
>>> than “must” is to account for emergency security patches etc, not normal
>>> releases.
>>> 
>>> David Jencks
>>> 
>>>> On Nov 18, 2022, at 11:54 AM, Tamás Cservenák 
>>> wrote:
>>>> 
>>>> As I wrote, we did have examples of changes + cascading, it is okay.
>>>> 
>>>> But I don't agree with your statement about the board, as they
>>> themselves
>>>> state "should" not "must" for 72h. If it does not cut with them, they
>>>> should modify the refd page(s).
>>>> 
>>>> And it's not "we're impatient" either, part of the response for that is
>>&

Re: [DISCUSS] Speed up release process?

2022-11-18 Thread David Jencks
If all 153 projects released at once with 72 hour windows, that would be 72 
hours. That’s just as plausible as sequential releases.

David Jencks

> On Nov 18, 2022, at 11:54 AM, Tamás Cservenák  wrote:
> 
> As I wrote, we did have examples of changes + cascading, it is okay.
> 
> But I don't agree with your statement about the board, as they themselves
> state "should" not "must" for 72h. If it does not cut with them, they
> should modify the refd page(s).
> 
> And it's not "we're impatient" either, part of the response for that is in
> "hasty changes" canned response.
> 
> Simply put:
> - people see releases as a chore, as some "burden" that needs to be done
> once in a while (see refd Slack messages in 1st mail), and when it comes to
> be done, "let's do it when it's worth". We have MANY user questions on ML
> of type "when is X released? As the issue [the user is interested in] is
> fixed". And we have too many "dropped balls" in our court. IMHO, modifying
> the process (to take less than 72+2h) is one step toward making release
> less painful, less blocker.
> 
> Fun fact: maven project consists of (not sure of exact count, just
> guessing) 150+ repositories (GH on ASF org gives 153 when I type in
> "maven-" in the repo search bar). This is a LOT. If we'd, for some reason,
> start releasing all of those in 72h windows, it would be 10800 hours, or
> 450 days, more than a year.
> 
> 
> On Fri, Nov 18, 2022 at 8:34 PM David Jencks 
> wrote:
> 
>> Which developers have to pause what activities?
>> 
>> From previous discussions elsewhere, I’m strongly of the opinion that < 72
>> hr release votes are intended only for emergency security fixes and similar
>> events, and that “we’re impatient” isn’t going to cut it with the board.
>> It certainly wouldn’t with me.
>> 
>> How many of these annoyances would be eliminated by an easy way to release
>> and vote on a set of changed artifacts + the cascading dependencies all at
>> once?
>> 
>> thanks
>> David Jencks
>> 
>>> On Nov 18, 2022, at 11:17 AM, Tamás Cservenák 
>> wrote:
>>> 
>>> David,
>>> 
>>> I just meant that there is a "forced pause" of 72h.
>>> 
>>> T
>>> 
>>> On Fri, Nov 18, 2022 at 7:50 PM David Jencks 
>>> wrote:
>>> 
>>>> +1 from the sidelines.
>>>> 
>>>> I don’t understand
>>>>>>> * current process causes (forced) context switching, and can likely
>>>> lead to
>>>> human mistakes: when the release vote is announced, developer is FORCED
>> to
>>>> stop for 72h and possibly switch. This is just a productivity killer.
>>>> <<<
>>>> Who is forced to do anything and for what reason?
>>>> 
>>>> 
>> 
>> 
>> -
>> 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: [DISCUSS] Speed up release process?

2022-11-18 Thread David Jencks
You are free to do your own research.  I’ve seen plenty of “but we want the 
convenience of <72hr releases” discussions over the years, and the feedback 
I’ve seen is consistently that the reason for the “should” rather than “must” 
is to account for emergency security patches etc, not normal releases.

David Jencks

> On Nov 18, 2022, at 11:54 AM, Tamás Cservenák  wrote:
> 
> As I wrote, we did have examples of changes + cascading, it is okay.
> 
> But I don't agree with your statement about the board, as they themselves
> state "should" not "must" for 72h. If it does not cut with them, they
> should modify the refd page(s).
> 
> And it's not "we're impatient" either, part of the response for that is in
> "hasty changes" canned response.
> 
> Simply put:
> - people see releases as a chore, as some "burden" that needs to be done
> once in a while (see refd Slack messages in 1st mail), and when it comes to
> be done, "let's do it when it's worth". We have MANY user questions on ML
> of type "when is X released? As the issue [the user is interested in] is
> fixed". And we have too many "dropped balls" in our court. IMHO, modifying
> the process (to take less than 72+2h) is one step toward making release
> less painful, less blocker.
> 
> Fun fact: maven project consists of (not sure of exact count, just
> guessing) 150+ repositories (GH on ASF org gives 153 when I type in
> "maven-" in the repo search bar). This is a LOT. If we'd, for some reason,
> start releasing all of those in 72h windows, it would be 10800 hours, or
> 450 days, more than a year.
> 
> 
> On Fri, Nov 18, 2022 at 8:34 PM David Jencks 
> wrote:
> 
>> Which developers have to pause what activities?
>> 
>> From previous discussions elsewhere, I’m strongly of the opinion that < 72
>> hr release votes are intended only for emergency security fixes and similar
>> events, and that “we’re impatient” isn’t going to cut it with the board.
>> It certainly wouldn’t with me.
>> 
>> How many of these annoyances would be eliminated by an easy way to release
>> and vote on a set of changed artifacts + the cascading dependencies all at
>> once?
>> 
>> thanks
>> David Jencks
>> 
>>> On Nov 18, 2022, at 11:17 AM, Tamás Cservenák 
>> wrote:
>>> 
>>> David,
>>> 
>>> I just meant that there is a "forced pause" of 72h.
>>> 
>>> T
>>> 
>>> On Fri, Nov 18, 2022 at 7:50 PM David Jencks 
>>> wrote:
>>> 
>>>> +1 from the sidelines.
>>>> 
>>>> I don’t understand
>>>>>>> * current process causes (forced) context switching, and can likely
>>>> lead to
>>>> human mistakes: when the release vote is announced, developer is FORCED
>> to
>>>> stop for 72h and possibly switch. This is just a productivity killer.
>>>> <<<
>>>> Who is forced to do anything and for what reason?
>>>> 
>>>> 
>> 
>> 
>> -
>> 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: [DISCUSS] Speed up release process?

2022-11-18 Thread David Jencks
Lets try one question/issue per email…

Which developers have to pause what activities.

David Jencks

> On Nov 18, 2022, at 11:54 AM, Tamás Cservenák  wrote:
> 
> As I wrote, we did have examples of changes + cascading, it is okay.
> 
> But I don't agree with your statement about the board, as they themselves
> state "should" not "must" for 72h. If it does not cut with them, they
> should modify the refd page(s).
> 
> And it's not "we're impatient" either, part of the response for that is in
> "hasty changes" canned response.
> 
> Simply put:
> - people see releases as a chore, as some "burden" that needs to be done
> once in a while (see refd Slack messages in 1st mail), and when it comes to
> be done, "let's do it when it's worth". We have MANY user questions on ML
> of type "when is X released? As the issue [the user is interested in] is
> fixed". And we have too many "dropped balls" in our court. IMHO, modifying
> the process (to take less than 72+2h) is one step toward making release
> less painful, less blocker.
> 
> Fun fact: maven project consists of (not sure of exact count, just
> guessing) 150+ repositories (GH on ASF org gives 153 when I type in
> "maven-" in the repo search bar). This is a LOT. If we'd, for some reason,
> start releasing all of those in 72h windows, it would be 10800 hours, or
> 450 days, more than a year.
> 
> 
> On Fri, Nov 18, 2022 at 8:34 PM David Jencks 
> wrote:
> 
>> Which developers have to pause what activities?
>> 
>> From previous discussions elsewhere, I’m strongly of the opinion that < 72
>> hr release votes are intended only for emergency security fixes and similar
>> events, and that “we’re impatient” isn’t going to cut it with the board.
>> It certainly wouldn’t with me.
>> 
>> How many of these annoyances would be eliminated by an easy way to release
>> and vote on a set of changed artifacts + the cascading dependencies all at
>> once?
>> 
>> thanks
>> David Jencks
>> 
>>> On Nov 18, 2022, at 11:17 AM, Tamás Cservenák 
>> wrote:
>>> 
>>> David,
>>> 
>>> I just meant that there is a "forced pause" of 72h.
>>> 
>>> T
>>> 
>>> On Fri, Nov 18, 2022 at 7:50 PM David Jencks 
>>> wrote:
>>> 
>>>> +1 from the sidelines.
>>>> 
>>>> I don’t understand
>>>>>>> * current process causes (forced) context switching, and can likely
>>>> lead to
>>>> human mistakes: when the release vote is announced, developer is FORCED
>> to
>>>> stop for 72h and possibly switch. This is just a productivity killer.
>>>> <<<
>>>> Who is forced to do anything and for what reason?
>>>> 
>>>> 
>> 
>> 
>> -
>> 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: [DISCUSS] Speed up release process?

2022-11-18 Thread David Jencks
Which developers have to pause what activities?

From previous discussions elsewhere, I’m strongly of the opinion that < 72 hr 
release votes are intended only for emergency security fixes and similar 
events, and that “we’re impatient” isn’t going to cut it with the board.  It 
certainly wouldn’t with me.

How many of these annoyances would be eliminated by an easy way to release and 
vote on a set of changed artifacts + the cascading dependencies all at once?

thanks
David Jencks

> On Nov 18, 2022, at 11:17 AM, Tamás Cservenák  wrote:
> 
> David,
> 
> I just meant that there is a "forced pause" of 72h.
> 
> T
> 
> On Fri, Nov 18, 2022 at 7:50 PM David Jencks 
> wrote:
> 
>> +1 from the sidelines.
>> 
>> I don’t understand
>>>>> * current process causes (forced) context switching, and can likely
>> lead to
>> human mistakes: when the release vote is announced, developer is FORCED to
>> stop for 72h and possibly switch. This is just a productivity killer.
>> <<<
>> Who is forced to do anything and for what reason?
>> 
>> 


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



Re: [DISCUSS] Speed up release process?

2022-11-18 Thread David Jencks
+1 from the sidelines.

I don’t understand 
>>>* current process causes (forced) context switching, and can likely lead to
human mistakes: when the release vote is announced, developer is FORCED to
stop for 72h and possibly switch. This is just a productivity killer.
<<<
Who is forced to do anything and for what reason?

AFAIK cascading dependencies can be handled by releasing cause + all effects at 
once.  If that’s hard to do now, maybe there’s a way to make it easier. I’d 
expect it would make testing a change more plausible as well.

David Jencks

> On Nov 18, 2022, at 10:44 AM, Romain Manni-Bucau  
> wrote:
> 
> Hi Tamás,
> 
> Is 3 days that bothering - didnt spot it to be honest?
> Indeed, strictly speaking you can do "until we get 3 bindings +1" - don't
> think you can say for a maximum otherwise it means you need to cancel if
> you don't get it ;) - but it also means you mean the project does not care
> about its core people - if you start the release on friday night you
> potentially let 0s to some PMC and users to review the release.
> Indeed it is ont an apache requirement but I think it is a good thing to
> enable people to review a release and have the opportunity to give feedback
> so 3 days sounds like a very good default if you take into account the
> world side - timezones - of our project.
> 
> Side note: guess exceptions can be done for CVE, milestones, beta, alpha,
> ... - anything not final or urgent but very located.
> 
> Hope it makes sense.
> 
> Romain Manni-Bucau
> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> <https://rmannibucau.metawerx.net/> | Old Blog
> <http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> |
> LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
> <https://www.packtpub.com/application-development/java-ee-8-high-performance>
> 
> 
> Le ven. 18 nov. 2022 à 18:55, Tamás Cservenák  a
> écrit :
> 
>> Howdy,
>> 
>> My pet peeve these days is our release process. IMHO, we should be able to
>> release ("move") much faster than today.
>> 
>> My proposal would be:
>> * vote is "done done" the moment quorum is reached
>> * change the wording in the vote email from "Vote open for at least 72
>> hours." to "Vote open for a maximum of 72 hours.".
>> 
>> Reasoning:
>> * vote cannot be vetoed by definition (only release mgr can cancel it).
>> * change would not conflict with ASF defined rules, the 72h is not
>> compulsory (document states "should" not "must").
>> * the release process is already wearisome, complex, and is easy to miss
>> (over-represented) manual steps. For example yesterday for some reason it
>> took almost 2 hours to sync release artifacts to Maven Central, during
>> which you are in a "busy loop" (the announcement and site depends on sync).
>> Leaving it "for tomorrow" may cause users to learn about a new release thru
>> Artifact Listener or whatever other service, causing confusion. Ideally,
>> site and announcement mail should be tied to sync, and that does lead to
>> "busy loop".
>> * current process causes (forced) context switching, and can likely lead to
>> human mistakes: when the release vote is announced, developer is FORCED to
>> stop for 72h and possibly switch. This is just a productivity killer.
>> * which part do you like: as a developer sitting on needles while being
>> blocked on upstream (dependency) bugfix or as a user waiting for bugfix?
>> * we already agreed on one minor process improvement: we have quite long
>> "chains" of dependencies, so a bugfix that can span on long trails could
>> take weeks to be done serially, even if the bugfix itself is trivial. Hence
>> we did accept that we can do "batch votes" (release together) and can do
>> one vote for this case.
>> * on positive site this could lead to mindset change of bugfix releases, as
>> today, few wants to go thru painful release process for "single simple
>> change" (see ASF Slack #maven for "ahh Apache process..."), that IMHO is
>> wrong: we all should release early and often. And be happy with it, not
>> feel it like chores :)
>> 
>> Finally some "canned responses":
>> * "time is needed for all interested parties to review": If someone cannot
>> get to it in 5 minutes, or in 5 hours or in 5 days, it really but really
>> does not matter, as release is to happen anyway (unless release mgr cancels
>> it). One not getting to it, will be notified via mails anyway (vote

JDK 20 EAb22, ZenGC EA builds, JavaFX 20 EAb5 and several heads-ups!

2022-11-07 Thread David Delabassee
ndations for High-Scale Java Applications
https://www.infoq.com/articles/java-virtual-threads/


## October 2022 Critical Patch Update Released

As part of the October 2022 CPU, we released JDK 19.0.1, JDK 17.0.5 LTS, 
JDK 11.0.17 LTS and JDK 8u351 as well as OpenJDK 19.0.1.




That's it for this time. As usual, let us know if you find any issues 
while testing your project(s) on the latest JDK early-access builds. 
Thanks for your support!


--David


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



Re: [DISCUSS] Automatically format and sort imports

2022-10-13 Thread David Jencks
A possible data point… For a while I worked on isomorphic-git (javascript) 
which had a pre-commit hook to format the code. It was rather surprising at 
first, but I ended up really liking it, more than projects that attempted to 
check the formatting during the build, which were susceptible to ways of 
running the build that skipped the format check.

David Jencks

> On Oct 13, 2022, at 8:31 AM, Guillaume Nodet  wrote:
> 
> Le jeu. 13 oct. 2022 à 17:13, Łukasz Dywicki  <mailto:l...@code-house.org>> a écrit :
> 
>> Some of findings I have:
>> 
>> - Static code analysis might be slow, reformatting code will add
>> additional time to the build which might not be desired for developer
>> experience
>> 
> 
> This is usually reduced to 0 because the plugins just check on files that
> have been modified since the last build.
> 
> 
>> - Error messages produced after reformatting might mistake first time
>> contributors who are not familiar with reformatting step done before
>> compilation
>> 
> 
> Not sure to understand what you mean. Formatting is not supposed to throw
> errors...
> 
> 
>> - I recently found a plugin for IJ:
>> https://github.com/krasa/EclipseCodeFormatter 
>> <https://github.com/krasa/EclipseCodeFormatter> (allows to unify two
>> dominant IDEs)
>> 
> 
> Forcing specific a environment in IDE is not ideal imho. If you work on
> different projects, you then need to activate / deactivate plugins or
> your code style everytime you switch.
> In addition, not enforcing the code style strictly leads to source files
> being not inline with the formatter settings. WHich in turns means that
> you can't really use it because whenever you do, you end up with many
> changes unrelated to your current work that you need to undo in order to
> keep your PR clean and minimal.
> I think that's a real problem, and that would also be solved by an
> automatic format imho.
> 
> 
>> - Verification of code style might be automated via pull requests, if
>> PRs are enforced. Otherwise core developers must take care of their
>> habits or commit hooks.
>> 
> 
> I still don't see the problems with an automatic format step. I've been
> using it in projects for years in camel. The only problem is when people
> don't build before committing, but that can't really happen in the maven
> land
> where almost all changes are done through PRs and validated. We just need
> to enforce the no-file modified step in PRs. Ideally, we'd even have a
> commit hook to enforce that. Not sure if that's doable.
> 
> If there a real problems, what could be done is move the autoformatting
> step in a separate profile which could be deactivated by default (though
> people that want it can activate it in their settings). The PR workflow
> would enable this profile and ensure there's no modification to the input
> files. I really don't see the benefit of not running it for everyone, but
> if some people do, that's fine with me.
> 
> 
>> 
>> Cheers,
>> Łukasz
>> 
>> On 13.10.2022 15:27, Guillaume Nodet wrote:
>>> Le jeu. 13 oct. 2022 à 12:50, Olivier Lamy  a écrit :
>>> 
>>>> On Thu, 13 Oct 2022 at 17:47, Tamás Cservenák 
>> wrote:
>>>>> 
>>>>> Howdy,
>>>>> 
>>>>> to not get lost in implementation details, it is really unimportant
>>>>> (spotless, this or that...)
>>>>> 
>>>>> What IS important is that we agree to implement "IDE agnostic source
>>>>> formatting", that happens during build
>>>>> (by maven plugin). This means _everyone_ will end up with 100% the same
>>>>> result.
>>>>> 
>>>>> The only thing that comes to my mind is "sloppy committer" who does not
>>>>> build but pushes
>>>> 
>>>> not sure to understand. You mean formatting sources will be bind to a
>>>> phase and be executed automatically?
>>>> 
>>> 
>>> Yes, I meant "automatic" in opposition to "on demand". Sorry if that was
>>> not clear.
>>> 
>>> 
>>>> 
>>>> Wouldn’t it be better to still have a check as today (checkstyle:check
>>>> or the used foo-bar-formatter-plugin:check) which checks the sources
>>>> at validate phase.
>>>> Then in case of failure, the committer can just run
>>>> foo-bar-formatted-plugin:format.
>>>> So committer can apply some manual changes as well.
>>>> this will detect "sloppy" committer as today by simp

JDK 19 GA, JDK 20 EAb16, and some heads-up!

2022-09-23 Thread David Delabassee
rialData system property
- JDK-8244681: Add a warning for possibly lossy conversion in compound 
assignments

- JDK-8256265: G1: Improve parallelism in regions that failed evacuation
- JDK-8293861: G1: Disable preventive GCs by default
- JDK-8293922: Extend barrier-less Java thread transitions to native 
transition

- JDK-8290169: adlc: Improve child constraints for vector unary operations

### Additional changes that may be of interest:
- JDK-8288933: Improve the implementation of Double/Float.isInfinite
- JDK-8173605: Remove support for source and target 1.7 option in javac
- JDK-8288966: Better handle very spiky promotion in G1
- JDK-8291753: Add JFR event for GC CPU Time
- JDK-8292579: (tz) Update Timezone Data to 2022c
- JDK-8282648: Weaken the InflaterInputStream specification in order to 
allow faster Zip implementations

- JDK-8291660: Grapheme support in BreakIterator
- JDK-8292240: CarrierThread.blocking not reset when spare not activated
- JDK-8287908: Use non-cloning reflection methods where acceptable
- JDK-8292628: x86: Improve handling of constants in trigonometric stubs
- JDK-8292878: x86: Make scratch register usage explicit in assembler code
- JDK-8290249: Vectorize signum on AArch64
- JDK-8292203: AArch64: Represent Registers as values
- JDK-8292587: AArch64: Support SVE fabd instruction
- JDK-8292575: risc-v: Represent Registers as values


## Topics of Interest:

- Moving Java Forward with Java 19
https://inside.java/2022/09/20/moving-java-forward/

- “Java 19 is Here!” with Brian Goetz and Ron Pressler - Inside Java Podcast
https://inside.java/2022/09/20/podcast-026/

- JDK 19 - Security Enhancements
https://seanjmullan.org/blog/2022/09/22/jdk19

- JDK 19 - G1/Parallel/Serial GC improvements
https://tschatzl.github.io/2022/09/16/jdk19-g1-parallel-gc-changes.html

- “Java 19 in Action” - Inside Java Newscast
https://inside.java/2022/09/08/insidejava-newscast-033/

- G1 Pre-Barrier Implementation
https://albertnetymk.github.io/2022/07/22/g1_barrier/

- New candidate JEP: 430: String Templates (Preview)
https://openjdk.org/jeps/430

- OpenJDK: Where the Magic Happens
https://inside.java/2022/09/12/change-the-future-of-java/


That's it for this time. I hope to see some of you in a few weeks during 
JavaOne in Vegas. And again, if you haven't made your J1 plans yet, 
please ping me.


--David


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



JDK 19 first Release Candidates!

2022-08-22 Thread David Delabassee
a.net/jextract/
[7] https://github.com/openjdk/jextract
[8] https://openjdk.org/projects/code-tools/
[9] http://mail.openjdk.org/mailman/listinfo/jextract-dev


## Topics of Interest

* Podcast: “JavaOne is Back!”
https://inside.java/2022/08/03/podcast-025/

* Sequenced Collections, Purity, and more at JavaOne
https://inside.java/2022/08/11/insidejava-newscast-031/

* Concurrent Marking in G1
https://tschatzl.github.io/2022/08/04/concurrent-marking.html

* Java Asynchronous Programming Full Tutorial with Loom and Structured 
Concurrency - JEP Café

https://inside.java/2022/08/02/jepcafe13/

* New candidate JEP: 429: Extent-Local Variables (Incubator)
https://openjdk.org/jeps/429


## JDK Update Patch Release

To fix a regression (JDK-8292260) in the C2 JIT compiler, we have 
produced update patch releases for the impacted supported Java SE 
versions. The new versions are JDK 18.0.2.1 (publicly available), 
17.0.4.1 (publicly available), 11.0.16.1.1, and OpenJDK 18.0.2.1 
(publicly available).




As usual, let us know if you find any issues while testing your 
project(s) on the latest JDK early-access builds. Thanks for your support!


--David


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



JDK 19: Rampdown Phase 2 + JavaOne

2022-07-25 Thread David Delabassee
7/07/jepcafe12/

* Java 19 Virtual Threads - JEP Café
https://inside.java/2022/06/08/jepcafe11/


## July 2022 Critical Patch Update Released

As part of the July 2022 CPU, we released JDK 18.0.2, JDK 17.0.4 LTS, 
JDK 11.0.16 LTS, JDK 8u341 and JDK 7u351 as well as OpenJDK 18.0.2


~

As always, if you find an issue while testing your project(s), please 
let us know through the usual channels. Thanks for your support!


--
David


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



JDK 19: Rampdown Phase 1 + EA builds 26 & JDK 20: EA builds 1

2022-06-13 Thread David Delabassee
g Finalizers with Cleaners
https://inside.java/2022/05/25/clean-cleaner/

* Testing Clean Cleaner Cleanup
https://inside.java/2022/05/27/testing-clean-cleaner-cleanup/

* Improved JFR Ergonomics
https://egahlin.github.io/2022/05/31/improved-ergonomics.html

* Java 19 Virtual Threads - JEP Café
https://inside.java/2022/06/08/jepcafe11/

* Deconstructing Records in Pattern Matching - Inside Java Newscast
https://inside.java/2022/06/02/insidejava-newscast-026/

* Concurrent Thread-stack Processing in the Z Garbage Collector
https://inside.java/2022/05/31/zgc-concurrent-thread-stack-processing/


As usual, let us know if you find any issues while testing your 
project(s) on the latest JDK early-access builds. Thanks for your support!


--David




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



Re: [RESULT] [VOTE] Apache Maven Surefire 3.0.0-M7

2022-06-10 Thread David Karr
Well, we had found that we couldn't get all the required variations of
JUnit 5 working in Maven without the M release, so we had to upgrade.  We
have tested our scenarios with M7, including test suites and mixed Junit4
and JUnit5 tests, and we're not seeing any problems (including one scenario
that produced the BufferOverflow exception with M6).

The thing is, if you're not confident enough with it to produce a non-M
release, that makes us a little nervous also.  The scenarios we've tested
are a tiny fraction of the services that will be using this. I don't expect
to see any unexpected problems, but that's normal.

However, I can certainly understand you concluding you don't have enough
data to really be confident it's fully ready.  The one thing we've
determined in our testing is that if a particular service finds some
unexpected problem at any level of the JUnit 5 upgrade (starting with
simply upgrading the surefire version to 3.0.0-M7), they can simply stay
with JUnit 4 and Surefire 2.x, and they can move forward with that, while
we file that as a scenario that we need to troubleshoot.  We can live with
that.

On Wed, Jun 8, 2022 at 6:20 PM Olivier Lamy  wrote:

> On Wed, 8 Jun 2022 at 04:29, David Karr 
> wrote:
>
> > Now that M7 is released, I have a feeling I know the answer to this, but
> > what are your thoughts about when a full release will go out with these
> > latest changes? I'm currently evaluating whether we can upgrade our
> > internal platform to support Junit 5.  As far as we know, M7 will address
> > the last problem we were seeing (buffer overflow), and we'll be testing
> > that this morning, but my "platform" team only has a small set of
> services
> > we can easily test platform upgrades with.  Our platform is used by a
> large
> > number of services.  Using a "beta" version carries some amount of
> > indeterminate risk (sort of redundant), so I have to be more careful
> about
> > planning for contingencies if we discover unexpected problems from the M7
> > version in other services we don't directly support.  Those contingencies
> > include staying on Surefire 2.22.0, but still using Spring Boot 2.3.12
> > (upgrading this will be coming soon), and only using JUnit 4.
> >
>
>
> Well I think using Mx is because we are a bit conservative :)
> version naming is a bit of a chicken and egg problem!
> We'd like to have more feedback/tests (even issues :)) etc.. from the real
> world but as it's called M* people do not upgrade.
> I do not see real issues with junit5.
> BUT I think there are still some problems with JPMS and the default (and
> non configurable) options used.
> Let me explain that. First you need to know surefire (and few other plugins
> such compiler, javadoc) rely on a library called plexus-java which from a
> list of jars will parse all the module-info files to build a sort of graph
> and so build the module-path and the classpath.
> 3.0.0-M5 has been released in June 2020 with plexus-java 1.0.5 from
> February 2020.
> 3.0.0-M6 has been released at the end of March 2022 with plexus-java 1.1.1
> from January 2022.
> It's always 2 years between those releases and by the way plenty of changes
> in the plexus-java library (because of some issues with compiler, javadoc
> etc..)
> (With my committer of Jetty project hat) we use JPMS now and moving from
> 3.0.0-M5 to M6 is impossible because of
> https://issues.apache.org/jira/browse/SUREFIRE-2057 which is breaking
> change in plexus-java
> and now upgrading to M7 is impossible either because of another issue
> (which I need to create a jira for it). (but there is a gist explaining the
> problem here
> https://gist.github.com/olamy/d651e21fd89b73612a42e3617a1d0261
> )
> Ideally I'd like to have more configurable options for jpms (e.g module
> graph resolution) because actually it's based on some assumptions which can
> be wrong for some use cases.
> I'm currently collecting use cases etc... Then I will create a Jira to ask
> for comments (such as what do you want guys to be configurable for jpms:
> test scope should be in module-path or classpath, same for provided, do we
> need to add automatically providers to the module-path even if it's a test
> dependency).
> I think this needs to be fixed before removing the M* :) because jpms get
> more and more adoptions now.
>
>
>
>
>
>
>
>
>
> >
> >
> > On Mon, Jun 6, 2022 at 4:16 PM Olivier Lamy  wrote:
> >
> > > Hi
> > > The vote has passed.
> > > +1 Enrico, Hervé, Michael, Romain, Slawomor, Olivier
> > >
> > > PMC quorum reached. I will continue the release process.
> > >
> > > cheers
> > > Olivier
> > >
> >
>


Re: [RESULT] [VOTE] Apache Maven Surefire 3.0.0-M7

2022-06-07 Thread David Karr
Now that M7 is released, I have a feeling I know the answer to this, but
what are your thoughts about when a full release will go out with these
latest changes? I'm currently evaluating whether we can upgrade our
internal platform to support Junit 5.  As far as we know, M7 will address
the last problem we were seeing (buffer overflow), and we'll be testing
that this morning, but my "platform" team only has a small set of services
we can easily test platform upgrades with.  Our platform is used by a large
number of services.  Using a "beta" version carries some amount of
indeterminate risk (sort of redundant), so I have to be more careful about
planning for contingencies if we discover unexpected problems from the M7
version in other services we don't directly support.  Those contingencies
include staying on Surefire 2.22.0, but still using Spring Boot 2.3.12
(upgrading this will be coming soon), and only using JUnit 4.


On Mon, Jun 6, 2022 at 4:16 PM Olivier Lamy  wrote:

> Hi
> The vote has passed.
> +1 Enrico, Hervé, Michael, Romain, Slawomor, Olivier
>
> PMC quorum reached. I will continue the release process.
>
> cheers
> Olivier
>


JDK 19 - Virtual Threads Testing!

2022-05-16 Thread David Delabassee
nate Data Streams by default
- JDK-8284930: Re-examine FilterInputStream mark/reset
- JDK-8284890: Support for Do not fragment IP socket options
- JDK-8282823: javac should constrain more uses of preview APIs
- JDK-8285477: Add a PRECISION public static field to j.l.Float and 
j.l.Double


Build 19:
- JDK-8186958: New Methods to Create Preallocated HashMaps
- JDK-8284775: Simplify String.substring(_, length()) calls
- JDK-8283892: Compress and expand bits
- JDK-8280915: Better parallelization for AbstractSpliterator and IteratorS…
- JDK-8284681: compiler/c2/aarch64/TestFarJump.java fails with "RuntimeExce…
- JDK-8283790: G1: Remove redundant card/heap-address transition
- JDK-8285001: Simplify StringLatin1.regionMatches
- JDK-8284880: Re-examine sun.invoke.util.Wrapper hash tables
- JDK-8278356: Improve file creation


## Topics of Interest

- Java Cryptographic Roadmap update 
https://java.com/en/jre-jdk-cryptoroadmap.html
- Virtual Thread Deep Dive 
https://inside.java/2022/04/07/insidejava-newscast-023/
- Why Write an Empty finalize() Method? 
https://stuartmarks.wordpress.com/2022/04/27/why-write-an-empty-finalize-method/
- WHEN and NULL In Pattern Matching 
https://inside.java/2022/05/05/insidejava-newscast-024/
- JDK 8 to JDK 18 in GC: 10 Releases, 2000+ Enhancements 
https://inside.java/2022/05/02/odl-jdk8-to-jdk18-gc/

- ZGC - What's new in JDK 18 https://malloc.se/blog/zgc-jdk18
- Java Next - From Amber to Loom, from Panama to Valhalla 
https://inside.java/2022/05/09/java-next/



## JDK Update Patch Release

As announced with the April 2022 CPU release, we have produced update 
patch releases for all Java SE supported versions. The new versions are 
JDK 18.0.1.1 (publicly available), 17.0.3.1 (publicly available), 
11.0.15.1, 8u333, 7u343, and OpenJDK 18.0.1.1 (publicly available).



As usual, let us know if you find any issues while testing your 
project(s) on the latest JDK early-access builds. Thanks for your support!


--David





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



New JDK 19 EA builds and JCE Survey!

2022-04-19 Thread David Delabassee

Greetings!

The proposed schedule for JDK 19 is now known [1] with ‘Rampdown Phase 
One’ set for June 9th and ‘General Availability’ set for September 20th. 
The next several weeks will be interesting to watch as the scope of JDK 
19 is revealed.


You also play an important roll during these phases, which is your 
opportunity to share feedback . When developers such as yourself tell us 
of issues faced in the latest OpenJDK early-access (EA) builds, we then 
have a chance to fix them before that feature release reaches general 
availability (GA).


We also enjoy when people tell us that all their tests are green! It 
gives us confidence ;-) So regardless of the tests color (red or green), 
please do not hesitate to send me a short mail as both types of feedback 
are useful.


[1] https://mail.openjdk.java.net/pipermail/jdk-dev/2022-April/006481.html


## Heads-Up: Java Cryptographic Extension Survey

The Java Cryptographic Extension (JCE) has been in Java SE for a long 
time and has made incremental changes over the years. The OpenJDK 
Security Team is conducting a survey [2] to know more about how projects 
are using JCE and what changes, features, and API enhancements would be 
useful going forward.


The survey is clossing on April 29 so if you have written or maintain 
code that uses the JCE API, please make sure to fill this short survey 
[2] as soon as possible.


[2] https://www.questionpro.com/t/AUzP7ZrFWv


## Heads-Up: New macOS Rendering Pipeline on macOS

JEP 382 [3] introduced in JDK 17 support for the new macOS Metal 
graphics pipeline for Swing and Java2D. JDK 19 starting build 18 is 
switching the default to be the new macOS Metal rendering pipeline 
instead of the old Apple OpenGL API. For more details please see 
JDK-8284378 [4].


Java applications running on macOS (10.14 or later) will not need to 
take any action, as they will automatically benefit from faster graphics 
with lower power consumption, and the use of a more modern stable 
graphics API which will be able to work better on current and future 
Apple systems.


[3] https://openjdk.java.net/jeps/382
[4] https://bugs.openjdk.java.net/browse/JDK-8284378


## JDK 19 Early-Access builds

JDK 19 Early-Access builds 18 are now available [5], and are provided 
under the GNU General Public License v2, with the Classpath Exception. 
The Release Notes are available here [6].


[5] https://jdk.java.net/19/
[6] https://jdk.java.net/19/release-notes

### JEPs targeted to JDK 19, so far:
- JEP 422: Linux/RISC-V Port https://openjdk.java.net/jeps/422

### Recent changes that maybe of interest:

Build 18:
- JDK-8284378: Make Metal the default Java 2D rendering pipeline for macOS
- JDK-8265315: Update CLDR to version 41
- JDK-8270090: C2: LCM may prioritize CheckCastPP nodes over projections 
[Reported by JaCoCo]

- JDK-8284361: Updating ASM to 9.3 for JDK 19
- JDK-8284330: jcmd may not be able to find processes in the container
- JDK-8284579: Improve VarHandle checks for interpreter

Build 17:
- JDK-8282819: Deprecate Locale class constructors
- JDK-8254935: Deprecate the PSSParameterSpec(int) constructor
- JDK-8283060: RawNativeLibraries should allow multiple clients to 
load/unload the same library


Build 16:
- JDK-8281561: Disable http DIGEST mechanism with MD5 and SHA-1 by default
- JDK-8264160: Regex \b is not consistent with \w without 
UNICODE_CHARACTER_CLASS

- JDK-8163327: Remove 3DES from the default enabled cipher suites list
- JDK-8267319: Use larger default key sizes and algorithms based on CNSA
- JDK-8283350: (tz) Update Timezone Data to 2022a


## Project Loom Updates

The first Loom related JEP is now in Candidate phase, i.e. JEP: 425: 
Virtual Threads (Preview) [7]. As of now, JEP 425 doesn't yet 'propose 
to target' any particular feature release.


[7] https://openjdk.java.net/jeps/425

In addition, Project Loom early-access builds 19-loom+5-429 (2022/4/4) 
are now available [8] with related Javadoc [9].


These builds are based on JDK 19 and are provided under the GNU General 
Public License, version 2, with the Classpath Exception and are produced 
for the purpose of gathering feedback. Use for any other purpose is at 
your own risk. Proper feedback should be sent to the `loom-dev` mailing 
list [10].


[8] https://jdk.java.net/loom/
[9] https://download.java.net/java/early_access/loom/docs/api/
[10] https://mail.openjdk.java.net/mailman/listinfo/loom-dev


## Topics of Interest:

* New candidate JEP: 426: Vector API (4th Incubator)
https://openjdk.java.net/jeps/426

* Virtual Thread Deep Dive - Inside Java Newscast #23
https://inside.java/2022/04/07/insidejava-newscast-023/

* Project Panama: Say Goodbye to JNI
https://inside.java/2022/04/04/projectpanama/

* Java Cryptographic Extension Survey
https://inside.java/2022/04/12/jce-survey/

As usual, let us know if you find any issues while testing your 
project(s) on the latest JDK early-access builds. Thanks for your support!


--David

JDK 18 General Availability, and oracle-actions/setup-java

2022-03-28 Thread David Delabassee
pet/index.html

- JDK 18 - G1/Parallel/Serial GC improvements
https://tschatzl.github.io/2022/03/14/jdk18-g1-parallel-gc-changes.html

- “Java Language Futures: Spring 2022 Edition” (video)
https://www.youtube.com/watch?v=m7Ypbw-xVRo

- Project Panama : `jextract` Standalone Repository
https://mail.openjdk.java.net/pipermail/panama-dev/2022-March/016632.html


Again, let us know if you find any issues while testing your project(s) 
on the latest JDK Early Access builds. Thanks for your support!


--David



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



Re: Maven Dependency Plugin - Log4j vulnerabilities

2022-03-03 Thread David Milet
Hey guys
Let’s be courteous and civil.

As part of vulnerability management, an assessment has to be made about the 
potential security impact of a vulnerability in software.

New vulnerabilities are found every day on older components and it is not 
practical nor feasible to chase down every rabbit.

What I read from this chain is 
1. The business application is not exposed to any log4j vulnerability - that’s 
the most important 
2. The maven build environment might (can’t confirm at this point) download a 
transitive dependency on log4j 1.x which has a newly found vulnerability. IMHO 
the impact is low. it’s a build environment, not actual business application 
and you surely don’t (and shouldn’t) build on your production systems. The 
probability of occurrence of an attack on this is probably null, knowing that 
attack vectors on log4j involve tricking the exposed application into logging 
something malicious, and a build environment does not expose logging to outside 
like a web app would.
Based on this, I’d flag those occurrences at the scanner as assessed and 
ignored and move on.

As a best practice, clean up your build environment after each build. Or use 
ephemeral containerized build environments.



> On Mar 3, 2022, at 02:53, Thomas Matthijs  wrote:
> 
> That was just to demonstrate how i got the dependency chain, that file
> was there, but if you're going to be this hostile, i'm not interested
> anymore, muting thread
> 
>> On Thu, 3 Mar 2022 at 08:48, Piotr Żygieło  wrote:
>> 
>>> On Thu, 3 Mar 2022 at 08:37, Thomas Matthijs  wrote:
>>> 
>>> Can confirm this project downloads log4j 1.12.12 for me
>> 
>> As I see it - you confirm something else.
>> 
>>> Failed to read artifact descriptor for log4j:log4j:jar:1.2.12:
>> 
>> Failed to read artifact descriptor for log4j:log4j:jar:1.2.12:
>> _artifact descriptor_
>> 
>> --
>> Piotrek
>> 
>> -
>> 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



JDK 18 Release Candidate builds & JDK 19 Early-Access builds

2022-02-28 Thread David Delabassee

Robert, All,

The Release Candidates of JDK 18 have been released [1]. At this stage, 
only P1 issues will be evaluated [2]. And with the JDK 18 General 
Availability sets for March 22nd, it is now time to shift the focus to 
JDK 19. I'd like to thank those of you who have already provided 
feedback on the early Early Builds of JDK 19. Feedback is always 
extremely useful, even more, when it comes early in the development cycle.


[1] 
https://mail.openjdk.java.net/pipermail/jdk-dev/2022-February/006404.html

[2] https://openjdk.java.net/jeps/3


## JDK 18 Release Candidate

The Release Candidate builds of JDK 18 are now available [3], and are 
provided under the GNU General Public License v2, with the Classpath 
Exception. The Release Notes are available here [4].


[3] https://jdk.java.net/18/
[4] https://jdk.java.net/18/release-notes


## JDK 19 Early-Access builds

JDK 19 Early-Access builds 11 are now available [5], and are provided 
under the GNU General Public License v2, with the Classpath Exception. 
The Release Notes are available here [6].


[5] https://jdk.java.net/19/
[6] https://jdk.java.net/19/release-notes

Recent changes that maybe of interest:

* JDK-8278067: Make HttpURLConnection default keep alive timeout 
configurable
* JDK-8281000: ClassLoader::registerAsParallelCapable throws NPE if 
caller is null

* JDK-8282279: Interpret case-insensitive string locale independently
* JDK-8176706: Support CLDR's Additional (Skeleton) Date-Time Formats
* JDK-5041655: (ch) FileLock: negative param and overflow issues
* JDK-8255266: Update Public Suffix List to 3c213aa
* JDK-8280958: G1/Parallel: Unify marking code structure
* JDK-8072070: Improve interpreter stack banging
* JDK-8277175: Add a parallel multiply method to BigInteger
* JDK-8278947: Support for array constants in constant table
* JDK-8281462: Annotation toString output for enum not reusable for 
source input

* JDK-8281175: Add a -providerPath option to jarsigner
* JDK-8277795: ldap connection timeout not honoured under contention
* JDK-8279842: HTTPS Channel Binding support for Java GSS/Kerberos
* JDK-8280744: Allow SuppressWarnings to be used in all declaration contexts
* JDK-8272984: javadoc support for reproducible builds
* JDK-8272317: jstatd has dependency on Security Manager which needs to 
be removed



## New Project Loom Early-Access builds

Project Loom Early-Access builds19-loom+4-115 (2022/2/13) are available 
[7] with the related Javadoc [8].


These EA builds are based on JDK 19 (jdk-19+9). In those builds, the 
APIs for Structured Concurrency and Scope Locals have been moved into 
the `jdk.incubator.concurrent` incubator module. Note that the module 
name may change later. To use those APIs, simply use `--add-modules 
jdk.incubator.concurrent` at compile and runtime.


Those EA builds are provided under the GNU General Public License, 
version 2, with the Classpath Exception and are produced for the purpose 
of gathering feedback. Use for any other purpose is at your own risk. 
Proper feedback should be sent to the `loom-dev` mailing list [9].


[7] https://jdk.java.net/loom/
[8] https://download.java.net/java/early_access/loom/docs/api/
[9] https://mail.openjdk.java.net/mailman/listinfo/loom-dev


## Topics of Interest

* JDK 18 - Card Table Card Size Shenanigans 
https://tschatzl.github.io/2022/02/15/card-table-card-size.html
* Compiled & Tested Code In Javadoc - Inside Java Newscast #20 
https://inside.java/2022/02/10/insidejava-newscast-020/
* New candidate JEP: 423: Region Pinning for G1 
https://mail.openjdk.java.net/pipermail/jdk-dev/2022-February/006368.html
* Refactoring Java 8 code with Java 17 new features - JEP Café #9 
https://inside.java/2022/02/01/jepcafe9/




As always, let us know if you find any issues while testing your 
projects on the latest JDK Early Access builds. Thanks for your support!


--David


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



Re: Maven Dependency Plugin - Log4j vulnerabilities

2022-02-28 Thread David Milet
Where I work we decided to address log4j vulnerabilities only for components 
directly used by the application and actually performing logging.
We ignored transitive dependencies and maven plug-ins.
I’m curious about this use case from Venu though, what application would rely 
on the maven dependency plugin at runtime? Does it mean you’re pulling maven 
dependencies after application startup? 

> On Feb 28, 2022, at 03:30, Slawomir Jaranowski  wrote:
> 
> Hi,
> 
> Please provide more information, like plugin, mven, os version.
> 
> We also need an example project which reproduces your issue.
> When we can't reproduce we can't help.
> 
> pon., 28 lut 2022 o 08:55 Jaladi, Venumadhav
>  napisał(a):
> 
>> Hi team,
>> 
>> Can I expect any response?  Is this the right email address for my
>> question?
>> 
>> Thanks,
>> Venu
>> 
>> 
>>> On Thu, Feb 24, 2022 at 6:47 AM Jaladi, Venumadhav <
>>> jaladi.venumad...@verizon.com> wrote:
>>> 
>>> Hi team,
>>> 
>>> We are using the Maven Dependency Plugin in one of our projects and our
>>> scanning tools are showing multiple vulnerabilities related to Log4j
>>> (CVE-2019-17571, CVE-2020-9488, CVE-2022-23302, CVE-2022-23305,
>>> CVE-2022-23307 and CVE-2021-4104).
>>> 
>>> We would  like to know if there are any plans to release a newer version
>>> of Maven Dependency Plugin with the fixes of these
>>> vulnerabilities(referring to the latest version of Log4j libraries).  If
>>> so, is there any planned date for this release?
>>> 
>>> Please let us know any any more information is required.
>>> 
>>> Thanks,
>>> Venu
>>> 
>> 
> 
> 
> -- 
> Sławomir Jaranowski

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



JDK 18 Rampdown Phase 2 & JDK 19 Early-Access Builds

2022-01-31 Thread David Delabassee
builds (including jextract) jdk 18
https://mail.openjdk.java.net/pipermail/panama-dev/2022-January/016131.html

- January 2022 Critical Patch Update Released
As part of the Jan 2022 Critical Patch Update we released JDK 17.0.2 
LTS, JDK 11.0.14 LTS, JDK 8u321, and JDK 7u331 as well as OpenJDK 17.0.2 
(publicly available). https://www.oracle.com/security-alerts/cpujan2022.html



In closing, I'd like to thank you again for being a welcomed part of the 
Quality Outreach program! We look forward to your continued 
participation in 2022. And as always, if you find an issue, please let 
us know through the usual channels.


Regards,

--David



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



JDK 18: Rampdown Phase 1 & Early-Access builds 27

2021-12-09 Thread David Delabassee

Robert,

Thank you for being part of the OpenJDK Quality Outreach Program. As 
year-end 2021 approaches, I'd like to share some updates on JDK 18, 
which is scheduled for General Availability on March 22, 2022.


JDK 18 has now entered Rampdown Phase One (RDP1) [1], which means that 
the main-line has been forked into a dedicated JDK 18 stabilization 
repository. At this point, the overall JDK 18 feature set is now frozen 
and no additional JEPs will be targeted to JDK 18. Only low-risk 
enhancements that add small bits of missing functionality or improve 
usability might still be considered. The next few weeks should be 
leveraged to try to identify and resolve as many issues as possible 
(i.e. before JDK 18 enters the Release Candidates phase).


And as you can see below, JDK 18 EA Builds 26 & 27 include fixes for 
issues that were reported by you! So thank you for your help 
contributing to the overall quality of OpenJDK!


[1] 
https://mail.openjdk.java.net/pipermail/jdk-dev/2021-December/006287.html



## JEP 400 - UTF-8 by Default

All JEPs are now integrated, but we would like to draw your attention to 
JEP 400 especially if you are deploying on Windows as it might induce 
some incompatible behavior on that platform.


JEP 400 [2] is changing the default charset to UTF-8. This aligns with 
the existing `newBufferedReader`/`Writer` methods of the 
`java.nio.file.Files` class where UTF-8 is the default when no explicit 
charset is set. By making UTF-8 the default charset, the JDK I/O APIs 
will now always work in the same, predictable manner, with no need to 
pay attention to the host and or user’s environment!


Further, we encourage you to test your project(s) with the latest JDK 18 
Early Access builds. We don't expect issues on macOS and Linux as their 
default encoding is already UTF-8. On Windows, especially for East Asian 
locales such as Chinese/Japanese/Korean, some incompatible behavior 
could be anticipated. If that’s the case, please consider a mitigation 
strategy [3].


[2] https://openjdk.java.net/jeps/400
[3] https://inside.java/2021/10/04/the-default-charset-jep400/


## JDK 18

JDK 18 Early-Access builds 27 are now available [4], and are provided 
under the GNU General Public License v2, with the Classpath Exception. 
Make sure to check the Release Notes [5]. As usual, we encourage you to 
test your project(s) using those EA builds and provide us feedback.


[4] https://jdk.java.net/18/
[5] https://jdk.java.net/18/release-notes

### JEPs integrated to JDK 18:

- JEP 400: UTF-8 by Default
- JEP 408: Simple Web Server
- JEP 413: Code Snippets in Java API Documentation
- JEP 416: Reimplement Core Reflection with Method Handles
- JEP 417: Vector API (Third Incubator)
- JEP 418: Internet-Address Resolution SPI
- JEP 419: Foreign Function & Memory API (Second Incubator)
- JEP 420: Pattern Matching for switch (Second Preview)
- JEP 421: Deprecate Finalization for Removal

### Changes in recent builds that maybe of interest:

 Build 27:

- JDK-8266435: WBMPImageReader.read() should not truncate the input 
stream [Reported by PDFBox]
- JDK-8278078: Cannot reference super before supertype constructor has 
been called

- JDK-8177819: DateTimeFormatterBuilder zone parsing should recognise DST
- JDK-8277965: Enclosing instance optimization affects serialization
- JDK-8275821: Optimize random number generators developed in 
JDK-8248862 using Math.unsignedMultiplyHigh()

- JDK-8225181: KeyStore should have a getAttributes method
- JDK-8275082: Update XML Security for Java to 2.3.0
- JDK-8278270: ServerSocket is not thread safe
- JDK-8277863: Deprecate sun.misc.Unsafe methods that return offsets

 Build 26:

- JDK-8277451: j.l.r.Field::set on static field with invalid argument 
type should throw IAE [Reported by Hibernate & ByteBuddy]
- JDK-8258117: jar tool sets the time stamp of module-info.class entries 
to the current time [Reported by Apache Maven]
- JDK-8268743: Require a better way for copying data between 
MemorySegments and on-heap arrays [Reported by Apache Lucene]
- JDK-8277986: Typo in javadoc of java.util.zip.ZipEntry#setTime 
[Reported by Apache Ant]

- JDK-8277861: Terminally deprecate Thread.stop
- JDK-8276665: ObjectInputStream.GetField.get(name, object) should throw 
ClassNotFoundException
- JDK-8271623: Omit enclosing instance fields from inner classes that 
don't use it

- JDK-8231107: Allow store password to be null when saving a PKCS12 KeyStore
- JDK-8193682: Infinite loop in ZipOutputStream.close()
- JDK-8277459: Add `jwebserver` tool [see Topics of Interest]

 Build 25:

- JDK-8259643: ZGC can return metaspace OOM prematurely
- JDK-8277212: GC accidentally cleans valid megamorphic vtable inline caches
- JDK-8276970: Default charset for PrintWriter that wraps PrintStream
- JDK-8272773: Configurable card table card size
- JDK-4337793: Mark non-serializable fields of 
java.security.cert.Certificate and CertPath


 Build 24:

- JDK-8275056: Allow G1 heap regions 

JDK 18 Early-Access builds 23 are available

2021-11-16 Thread david . delabassee
Java 
Newscast, https://youtu.be/eDgBnjOid-g



Thank you for being a welcomed part of the Quality Outreach program!

--
David Delabassée / @delabassee


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



Maven dependency plugin release?

2021-04-01 Thread David Turner
Is there a release of the Maven dependency plugin scheduled?

 I am very excited about the return of verbose with 
https://issues.apache.org/jira/browse/MDEP-644, and I'm sure I'm not the only 
one.  Thanks!


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



Re: APT vs Markdown formats for site docs

2021-02-01 Thread David Jencks
I looked for a few minutes at https://github.com/apache/logging-log4j2 and 
found 3 or 4 markdown pages under site that didn’t appear to have anything that 
would be hard to write in AsciiDoc.
The root level pages such as README.md, if written in (limited) AsciiDoc, will 
display nicely at GitHub.

David Jencks

> On Feb 1, 2021, at 7:24 AM, Ralph Goers  wrote:
> 
> Log4j didn’t switch everything. A couple pages had to be left as Markdown for 
> things AsciiDoc doesn’t support, although at the moment I don’t remember what 
> those things were at the moment.
> 
> Ralph
> 
>> On Feb 1, 2021, at 6:30 AM, Gary Gregory  wrote:
>> 
>> FYI, over at Log4j, we switched to Asciidoc.
>> 
>> Gary
>> 
>> On Mon, Feb 1, 2021, 05:19 Artem Krosheninnikov <
>> artem.krosheninni...@gmail.com> wrote:
>> 
>>> Hello there, whilst looking at some docs in maven-enforcer-plugin, I found
>>> .apt.vm format not very convenient and developer-friendly, especially for a
>>> newcomer.
>>> 
>>> Is it a standard for all maven plugins or were there any discussions on
>>> using another format? I see that maven-parent-34 has several modules for
>>> other formats like markdown or fml.
>>> --
>>> Sincerely yours,
>>> Krosheninnikov Artem.
>>> 
> 
> 
> 
> -
> 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: APT vs Markdown formats for site docs

2021-02-01 Thread David Jencks
Asciidoctor Maven Tools is the more supported way of using Asciidoctor from 
maven, either directly or through Doxia.

https://docs.asciidoctor.org/maven-tools/latest/ 
<https://docs.asciidoctor.org/maven-tools/latest/> (docs)
https://github.com/asciidoctor/asciidoctor-maven-plugin 
<https://github.com/asciidoctor/asciidoctor-maven-plugin> (GitHub)

AsciiDoc support  in Jekyll using jekyll-asciidoc is quite good, and GitHub is 
rather jekyll-friendly. You do have to build the site yourself, GitHub’s built 
in AsciiDoc rendering is somewhat crippled for incomprehensible reasons.  I’m 
now the primary maintainer of jekyll-asciidoc so issues may receive prompt 
attention.

I think Antora is incomparable, and would certainly produce fabulous results 
properly used for maven documentation, but with the  investment in Doxia 
organization that may be a better choice.

David Jencks



> On Feb 1, 2021, at 3:34 AM, Andres Almiray  wrote:
> 
> FWIW Doxia supports Asciidoc pretty well. You just have to add an extra
> dependency for it to find Asciidoctorj, as demonstrated at
> 
> https://github.com/kordamp/pomchecker/blob/master/pom.xml#L200-L227
> 
> You can mix all kind of supported formats if needed. Or use only asciidoc,
> the choice is yours ;-)
> 
> Cheers,
> Andres
> 
> ---
> Java Champion; Groovy Enthusiast
> http://andresalmiray.com
> http://www.linkedin.com/in/aalmiray
> --
> What goes up, must come down. Ask any system administrator.
> There are 10 types of people in the world: Those who understand binary, and
> those who don't.
> To understand recursion, we must first understand recursion.
> 
> 
> On Mon, Feb 1, 2021 at 12:29 PM Artem Krosheninnikov <
> artem.krosheninni...@gmail.com> wrote:
> 
>> I agree that there are several implementations thus it may be not a good
>> choice.
>> 
>> FML looks very ancient from my point of view but asciidoc is more or less a
>> standard format in docops community.
>> 
>> It's not that everything should be immediately converted to another format,
>> just trying to understand whether apt is convenient for all and is a
>> standard for all maven projects.
>> 
>> пн, 1 февр. 2021 г. в 13:32, Benjamin Marwell :
>> 
>>> Markdown is not a "standard" or "standardized".
>>> Even worse, different implementations have different feature sets.
>>> Thus my -1 for md.
>>> 
>>> But another format might be feasible, really. fml looks verbose.
>>> 
>>> Asciidoc might be a sane choice here. It was specially designed for
>>> technical documentation and
>>> has neat features which are handy for exactly those cases.
>>> Besides, it is also supported on GitHub.
>>> 
>>> ---
>>> 
>>> A quick check revealed there was no such discussion in the last 12
>>> months on the mailing list.
>>> 
>>> - Ben
>>> 
>>> 
>> 
>> --
>> Sincerely yours,
>> Krosheninnikov Artem.
>> 



Re: How does maven-site publishing work?

2020-10-19 Thread David Jencks
I strongly recommend using the most up to date infra site support which 
involves a git repo with an asf.yaml file indicating that it’s your website.  
Push to the git repo and as if by magic your website appears.  See 
https://cwiki.apache.org/confluence/display/INFRA/git+-+.asf.yaml+features

I’m also strongly in favor of using asciidoc rather than markdown and using 
Antora, however that’s a separate issue.

Completely off topic for this thread, but…. how hard would it be for the maven 
site plugin to generate asciidoc?

David Jencks

> On Oct 19, 2020, at 11:38 AM, Michael Osipov  wrote:
> 
> Folks,
> 
> we at the HttpComponents TLP we'd like use the same approach as maven-site 
> does. We'd ilke to automatate as much as possible, means: push to repo should 
> trigger a a push to the website. I can see that svnpubub is obviously used in 
> the POM. But the question is, where is the trigger performing the actual 
> step? Who knows best?
> 
> See discussion [1]
> 
> Thanks,
> 
> Michael
> 
> [1] https://www.mail-archive.com/dev@hc.apache.org/msg27650.html
> 
> -
> 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: Merging via GitHub

2020-05-16 Thread David Jencks
As a side note, I’m personally in favor of the author squashing manually and 
the “merge” into master using rebase-and-commit.

To your main issue, I’m pretty sure that GitHub doesn’t keep any secret 
information, instead you are using an insufficiently verbose log command.  Try 

git log --pretty=fuller

By default git log just shows the author, and you are looking for the committer 
(person who merged in the commit).

See git-log <https://git-scm.com/docs/git-log#_pretty_formats>

david jencks

> On May 16, 2020, at 4:53 PM, Olivier Lamy  wrote:
> 
> I wonder what is exactly the problem here? (except a noisy commit but who
> cares really compared to the useless noise email notifications when someone
> rebase a branch)
> But at least there are real person name.
> That's weird because I just used the "Squash and merge' for this PR (
> https://github.com/apache/maven-shared-utils/pull/30) and got nice commit
> https://github.com/apache/maven-shared-utils/commit/32942621ff5df2f8779e0f55276c902a1fcb42b9
> Elliotte  Maybe something with your GH configuration?
> 
> I have definitely more concerns with this one
> https://github.com/apache/maven-shared-utils/commit/bb2f85e98c3c651ae50b7f642500cb74f50abb0d
> 
> some github UI features show it as `dependabot-preview authored and
> slachiewicz committed`
> But looking at log with a real git tool call 'git' :) I get
> 
> 
> commit bb2f85e98c3c651ae50b7f642500cb74f50abb0d
> Author: dependabot-preview[bot] <27856297+dependabot-preview[bot]@
> users.noreply.github.com>
> Date:   Mon Mar 9 04:19:41 2020 +
>Bump hamcrest-core from 1.3 to 2.2
> Bumps [hamcrest-core](https://github.com/hamcrest/JavaHamcrest) from 1.3 to
> 2.2.
> - [Release notes](https://github.com/hamcrest/JavaHamcrest/releases)
> - [Changelog](
> https://github.com/hamcrest/JavaHamcrest/blob/master/CHANGES.md)
> - [Commits](
> https://github.com/hamcrest/JavaHamcrest/compare/hamcrest-java-1.3...v2.2)
> 
> Signed-off-by: dependabot-preview[bot] 
> 
> And this is totally wrong! we must have a real person name in the commit
> logs (and github UI is not the real commit logs).
> not sure how to fix that



Re: Merging via GitHub

2020-05-11 Thread David Jencks
It's possible to configure GitHub to allow rebase and merge, which I think is 
what you want.  It may be possible to configure GitHub to only allow this.  I’m 
not sure if this is something infra has to do or if a project admin can set it 
up.  Camel recently made a related change.

David Jencks

> On May 11, 2020, at 3:23 PM, Benson Margulies  wrote:
> 
> Could you send me a pointer to refresh my memory on procedures? It's been a
> while ...
> 
> On Mon, May 11, 2020 at 1:42 PM Michael Osipov  wrote:
> 
>> Folks,
>> 
>> please do NOT merge via merge button in GitHub:
>> 
>>> commit 158f54e3abc5c1d602146a08902482b6a19e2c27 (origin/master,
>> origin/HEAD)
>>> Merge: 34253e3d f7de3a6e
>>> Author: Elliotte Rusty Harold 
>>> Commit: GitHub 
>>> 
>>>Merge pull request #66 from apache/plex
>>> 
>>>[SCM-930] update plexus-utils
>>> 
>>> commit f7de3a6ea5e182d7fab28e8f0548da2324097ba9
>>> Author: Elliotte Rusty Harold 
>>> Commit: Elliotte Rusty Harold 
>>> 
>>>update plexus-utils
>> 
>> 1. It produces useless merge commits
>> 2. GitHub is NOT a blessed committer
>> 
>> It is OK, wenn a clean rebased merge is performed and not traces of
>> GitHub are left.
>> 
>> Michael
>> 
>> -
>> 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: Update versions of all plugins in default-bindings.xml

2019-01-12 Thread David Jencks
I think the warning is a really good idea but I don’t think this wording will 
mean anything to the average maven user, as I don’t understand from it what I 
should do to fix the problem. How about something like: “Specify explicit 
versions for these plugins in the project pom or an ancestor pom:...”

If someone is maintaining plug-in versions manually is there a tool to point 
out all the upgrade possibilities?

Thanks
David Jencks 
Sent from my iPhone

> On Jan 12, 2019, at 7:39 PM, Hervé BOUTEMY  wrote:
> 
> we have 2 opposite objectives:
> - make default near-empty pom work at best,
> - but force people to have defined plugins versions (then not really empty 
> pom) to get stable build
> 
> and I checked about the warning message: I was wrong, there is no warning 
> message when plugins without versions are injected by default lifecycle 
> bindings
> 
> Just test for yourself following pom.xml from any beginner:
>  
>4.0.0
>com.mycompany.app
>my-app
>1.0-SNAPSHOT
>  
> 
> it works = what we expect to ease newcomers experience
> but there is no warning...
> 
> IMHO, this is where we need to improve the tool, by adding a warning:
> I worked on a PoC of DefaultLifecycleBindingsInjector improvement that 
> displays:
> [WARNING] 
> [WARNING] Some problems were encountered while building the effective model 
> for com.mycompany.app:my-app:jar:1.0-SNAPSHOT
> [WARNING] Using default plugins versions from bindings: 
> [org.apache.maven.plugins:maven-clean-plugin, 
> org.apache.maven.plugins:maven-install-plugin, 
> org.apache.maven.plugins:maven-resources-plugin, 
> org.apache.maven.plugins:maven-surefire-plugin, 
> org.apache.maven.plugins:maven-compiler-plugin, 
> org.apache.maven.plugins:maven-jar-plugin, 
> org.apache.maven.plugins:maven-deploy-plugin, 
> org.apache.maven.plugins:maven-site-plugin]
> [WARNING] 
> [WARNING] It is highly recommended to fix these problems because they 
> threaten the stability of your build.
> [WARNING] 
> [WARNING] For this reason, future Maven versions might no longer support 
> building such malformed projects.
> [WARNING] 
> 
> With this warning, and a parent pom to have an easy fix (instead of 8 plugins 
> versions definition), IMHO, we have what we strongly need.
> 
> And even better, with this warning in place to avoid people to continue to 
> rely on default plugins versions (because of the nasty warning), I could find 
> upgrading default plugins versions not an issue any more!!!
> 
> Should we try to go this route?
> 
> Regards,
> 
> Hervé
> 
> Le dimanche 13 janvier 2019, 00:15:38 CET Stephen Connolly a écrit :
>> The original plan was to make plugin version mandatory. Perhaps 3.7.0 is
>> the time to do that, with a CLI option (to be removed after 3.7.x) to pull
>> in the 3.6.x default versions if your pom is missing plugin versions.
>> 
>> The warning has been there long enough. Let’s pull the trigger.
>> 
>>> On Sat 12 Jan 2019 at 21:34, Tibor Digana  wrote:
>>> I have a strong reason to update Surefire due to new JRE versions have
>>> been
>>> updated too many times last two years.
>>> They required a fix done within a few days and some of them are shaking on
>>> the chair...
>>> Our Maven Core is stable and Java 9+ ready but the obsolete plugins are
>>> not.
>>> I want only the same compatibility with default plugins because people do
>>> not see these plugins as a distinct community. They are both Maven and
>>> plugins from us Apache, so they most probably would expect it consistent
>>> altogether.
>>> Makes sense?
>>> 
>>> On Sat, Jan 12, 2019 at 7:24 PM Bernd Eckenfels 
>>> 
>>> wrote:
>>>> I think that’s a real bad idea if you have to do local modifications to
>>>> get to a working build environment. Maven is all about not requiring you
>>> 
>>> to
>>> 
>>>> do that (anymore). So even requiring a certain Maven Version does not
>>>> fit
>>>> in that pattern (although unavoidable if you do not want to work with
>>>> wrappers).
>>>> 
>>>> So this means: keep old standard versions and overwrite them always in
>>>> poms. (And it means the amount of default versions should be reduced or
>>> 
>>> at
>>> 
>>>> least not add new ones)
>>>> 
>>>> Gruss
>>>> Bernd
>>>> --
>>>> http://bernd.eckenfels.net
>>>> 
>>>> 
>>>> Von: Robert Scholte 
>>>> Gesendet: Samstag, Januar 12,

Re: Formal verification of thread correctness in maven core

2015-01-05 Thread David Jencks
I wonder that too.  

I don't think cglib is maintained, AFAIK most people use asm nowadays.  I 
believe it is fairly easy to use asm to add byte code to the beginning and end 
of every method for e.g. logging method entry/exit.  Apache Aries has an asm 
based thing to enable adding some kind of before/after logic (this is designed 
for osgi weaving hooks).  With this approach you would not need subclasses.

david jencks
 
On Jan 5, 2015, at 9:51 AM, Igor Fedorenko i...@ifedorenko.com wrote:

 What kind of changes to the model do you expect? Can you give some
 pointers that explain verification logic you have in mind?
 
 --
 Regards,
 Igor
 
 On 2015-01-05 9:11, Kristian Rosenvold wrote:
 I'd be interested in using cglib to generate a full set of subclasses
 for the entire maven model. These subclasses could assert stuff about
 proper thread correctness wrt the current correct threading model
 for maven. This would be capable of blowing up /immediately/ a plugin
 violates the contract and could be used to make a formal
 verficiation that the entire set of plugins performs to specification
 in a given build.
 
 I could potentially see this added as a diagnostic mode to core.
 
 I know how to create the verification logic, but I am totally blank
 when it comes to cglib. Is there anyone who can help me a bit ? Maybe
 even someone who could code the actual cglib bit :) ?
 
 Kristian
 
 -
 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
 


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



Re: [VOTE] Name our mascot: Shotgun vs The Maven Owl

2014-12-16 Thread David Jencks
B

david jencks

On Dec 15, 2014, at 5:39 AM, Stephen Connolly stephen.alan.conno...@gmail.com 
wrote:

 After the run-off round, we are left with two names standing.
 
 This second vote will be a straight and simple majority wins.
 
 The vote will be open for at least 72 hours (with the potential of an
 extension until I send a message saying that the polls are closed)
 
 There will be no discussion in this thread, we have talked it all enough
 already. If you want to discuss something, please use a different thread.
 
 Vote:
 
 [A]: Shotgun
 [B]: The Maven Owl
 
 Thank you very much for your time
 
 -Stephen


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



Re: Ticket Transition Workflow: Abandoned issues

2014-11-26 Thread David Jencks
Retired rather than Archived?

This cleanup seems like a really good idea :-)

david jencks

On Nov 26, 2014, at 12:41 PM, Paul Benedict pbened...@apache.org wrote:

 My 2-cents on the word Archived is that it's a synonym for
 Backup/Storage, which I don't think is what this process is about.
 
 
 Cheers,
 Paul
 
 On Wed, Nov 26, 2014 at 1:57 PM, Michael Osipov micha...@apache.org wrote:
 
 Am 2014-11-26 um 16:16 schrieb Paul Benedict:
 
 This email is related to thread Abandoned bug analysis [1].
 
 We have done the Great Ticket Cleanup of 2014 twice this year. It has
 really been productive for anyone who triages outstanding bugs and
 enhancements. We've been adding a note in the ticket, as a courtesy to the
 participants, and closing them as Won't Fix.
 
 This is certainly one valid way of accomplishing the goal. However, I do
 believe we should enhance our workflow by adding an Abandoned (my fav)
 or
 Archived resolution. Why? Because Won't Fix is typically is used to
 close out a bug that will never be fixed (i.e., too many people rely on
 the
 bad behavior) or the enhancement is deemed worthless or incorrect. But
 more
 importantly, it's not possible to do a JIRA search and distinguish between
 these two conditions unless a new resolution is introduced.
 
 
 We need two new things:
 
 1. Status: Awaiting Feedback (not just labels).
 2. Resolution: Archived
 
 Michael
 
 -
 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: Ticket Transition Workflow: Abandoned issues

2014-11-26 Thread David Jencks
In my work life use of RTC Backlog means needs to be investigated by a 
developer.  I think Cancelled as Incomplete might be a closer RTC match to the 
meaning we are looking for here.

david jencks

On Nov 26, 2014, at 2:14 PM, Chris Graham chrisgw...@gmail.com wrote:

 RTC uses Backlog. Does Jira have something similar?
 
 Sent from my iPhone
 
 On 27/11/2014, at 8:13 AM, David Jencks david_jen...@yahoo.com.INVALID 
 wrote:
 
 Retired rather than Archived?
 
 This cleanup seems like a really good idea :-)
 
 david jencks
 
 On Nov 26, 2014, at 12:41 PM, Paul Benedict pbened...@apache.org wrote:
 
 My 2-cents on the word Archived is that it's a synonym for
 Backup/Storage, which I don't think is what this process is about.
 
 
 Cheers,
 Paul
 
 On Wed, Nov 26, 2014 at 1:57 PM, Michael Osipov micha...@apache.org wrote:
 
 Am 2014-11-26 um 16:16 schrieb Paul Benedict:
 
 This email is related to thread Abandoned bug analysis [1].
 
 We have done the Great Ticket Cleanup of 2014 twice this year. It has
 really been productive for anyone who triages outstanding bugs and
 enhancements. We've been adding a note in the ticket, as a courtesy to the
 participants, and closing them as Won't Fix.
 
 This is certainly one valid way of accomplishing the goal. However, I do
 believe we should enhance our workflow by adding an Abandoned (my fav)
 or
 Archived resolution. Why? Because Won't Fix is typically is used to
 close out a bug that will never be fixed (i.e., too many people rely on
 the
 bad behavior) or the enhancement is deemed worthless or incorrect. But
 more
 importantly, it's not possible to do a JIRA search and distinguish between
 these two conditions unless a new resolution is introduced.
 
 
 We need two new things:
 
 1. Status: Awaiting Feedback (not just labels).
 2. Resolution: Archived
 
 Michael
 
 -
 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
 
 
 -
 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: [jira] (SCM-775) Request for new optional parameter RTC (workItem) with release:prepare to associate workitem with changesets got created during build process

2014-09-10 Thread David Jencks
Sorry for the reply on list, my codehaus jira credentials seem to have gotten 
messed up….

I would expect the best normal workflow would be to have the release plugin 
create the work item, then attach the change sets to it.  I have some evidence 
that it is possible for external programs to do stuff like this, but I have no 
idea how.

david jencks

On Sep 10, 2014, at 8:51 AM, AShit Shah (JIRA) j...@codehaus.org wrote:

 
[ 
 https://jira.codehaus.org/browse/SCM-775?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=352607#comment-352607
  ] 
 
 AShit Shah commented on SCM-775:
 
 
 Both options are fine. 
 
 I think ANT have it via build.xml. I personally would prefer to have it via a 
 -D option at command line and not hard-coded in pom.xml. 
 
 I was thinking of creating one release build WI for every agile sprint. Not 
 sue if this is right approach though.
 
 Request for new optional parameter RTC (workItem) with release:prepare to 
 associate workitem with changesets got created during build process
 -
 
Key: SCM-775
URL: https://jira.codehaus.org/browse/SCM-775
Project: Maven SCM
 Issue Type: Improvement
 Components: maven-scm-provider-jazz
   Affects Versions: 1.9.1
   Reporter: AShit Shah
 
 Maven {{release:prepare}} command is failing with below error while 
 delivering updated pom.xml to the stream due to Preconditions configured in 
 RTC to have comments and associated work item with every delivery. 
 [ERROR] Name: Deliver
 [ERROR] Participant Reports:
 [ERROR] Name: Require Work items and Comments
 [ERROR] A work item must be associated with the change set.`
 [ERROR] At least one of the associated work items must specify that the work 
 is planned for the current iteration.
 [ERROR] At least one of the associated work items must be assigned to you.
 [ERROR] Problem running 'deliver':
 [ERROR] 'Deliver' failed. Preconditions have not been met: A work item must 
 be associated with the change set.
 [ERROR] - [Help 1]
 org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute 
 goal org.apache.maven.plugins:maven-release-plugin:2.5:prepare (default-cli) 
 on project junit-ext: Unable to commit files
 Provider message:
 Error code for Jazz SCM deliver command - 17
 I can not find any optional parameters on 
 http://maven.apache.org/maven-release/maven-release-plugin/prepare-mojo.html 
 for release:prepare command which I can use and pass the RTC workitem number 
 on command line.
 Suggestion:
 It will be great if you can provide optional parameters like workItem 
 which I can use and pass RTC workitem number with release:prepare at command 
 line.
 Example: mvn -PmyProfile release:prepare -DworkItem=123456
 So build process should associate change sets created by release:prepare 
 with work item 123456 and deliver change sets to the stream.
 As of now I have to use -DpushChanges=false parameter to block delivery 
 process and I have to manually find the change sets, associate them with 
 work item and deliver them before I run release:perform.
 Thanks.
 
 
 
 --
 This message was sent by Atlassian JIRA
 (v6.1.6#6162)


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



MNG-5511 - Can't override a profile setting in a plugin's dependency

2013-09-19 Thread David Hay
Hi,

This is preventing us from running code coverage on our macs...

Can anyone confirm whether this is a bug or whether I am missing something?


cheers,

David


Release enforcer plugin?

2013-07-16 Thread David Karlsen
Hi.

Would anybody care to release the enforcer 1.3.1 plugin so we can go around
http://jira.codehaus.org/browse/MENFORCER-156?

All issues for 1.3.1 are fixed:
http://jira.codehaus.org/browse/MENFORCER/fixforversion/19426#selectedTab=com.atlassian.jira.plugin.system.project%3Aversion-issues-panel


-- 
--
David J. M. Karlsen - http://www.linkedin.com/in/davidkarlsen


Re: running maven programmatically, the DefaultRemoteRepositoryManager.connectorFactories is empty

2013-04-30 Thread David Portabella
it works after adding these two dependencies, thanks! :)

but it seems to me that there is something wrong with this dependency
injection mechanism.
it would be fantastic to have something that fails at compile time (as the
implicit in the scala language), but if that's not the case,
at least to throw an injection exception during runtime...

why there is not even an injection exception?


regards,
David


On Mon, Apr 29, 2013 at 11:19 PM, Stuart McCulloch mccu...@gmail.comwrote:

 IIRC you need to also add dependencies to aether-connector-wagon and
 wagon-http...


 http://stackoverflow.com/questions/4206679/can-anyone-give-a-good-example-of-using-org-apache-maven-cli-mavencli-programatt/6255514#6255514

 --
 Cheers, Stuart

 On 29 April 2013 21:22, David Portabella david.portabe...@gmail.com
 wrote:

  I have a very simple project that starts maven programmatically, as
  follows:
 
  import org.apache.maven.cli.MavenCli;
  public class Example {
  public static void main(String[] args) throws Exception {
  new MavenCli().doMain(new String[]{clean, install},
  /test/a_maven_project, null, null);
  }
  }
 
  which uses only these two dependencies:
  dependency
groupIdorg.apache.maven/groupId
artifactIdmaven-embedder/artifactId
version3.0.5/version
  /dependency
 
  dependency
groupIdorg.codehaus.plexus/groupId
artifactIdplexus-utils/artifactId
version3.0.10/version
  /dependency
 
 
  The program initializes maven with plexus, and every seems to work,
  *but the execution fails if some dependencies of the
  /test/a_maven_project maven project are not in the local repository.*
  (all using default configurations (no custom settings.xml file))
 
  What can be the problem?
 
  I debugged building the /test/a_maven_project project in two ways:
  1- Running my Example project (it fails)
  2- Running mvnDebug clean install from the command line and debugging
  remotely (it works)
 
  The difference is that in the second case,
  DefaultRemoteRepositoryManager.connectorFactories has an instance of a
  WagonRepositoryConnectorFactory,
  while in the first
  case DefaultRemoteRepositoryManager.connectorFactories is empty.
 
 
 
 aether-impl-1.13.1-sources.jar!/org/sonatype/aether/impl/internal/DefaultRemoteRepositoryManager.java
 
 
 aether-connector-wagon/1.13.1/aether-connector-wagon-1.13.1.jar!/org/sonatype/aether/connector/wagon/WagonRepositoryConnectorFactory.class
 
  Any idea of why in the first case the
  DefaultRemoteRepositoryManager.connectorFactories is empty?
 
  how to modify the Example to make it work?
 
 
  Regards,
  David Portabella
 



ConfigurationContainer.getConfiguration returns Object. Is it always a Xpp3Dom instance?

2013-04-30 Thread David Portabella
the documentation for
org.apache.maven.model.ConfigurationContainer.getConfiguration()
says Get the configuration as DOM object,
however it returns an Object.

how to handle this?

is it always an instance of org.codehaus.plexus.util.xml.Xpp3Dom?


Regards,
David


the property ${project.artifact.selectedVersion.majorVersion} does not get resolved after projectBuilder.build()?

2013-04-30 Thread David Portabella
When calling to this function,
ListProjectBuildingResult projectBuildingResults =
projectBuilder.build(Arrays.asList(new File(pomFile)), true,
projectBuildingRequest);

all the properties used in the pom file, such as ${spring.version} in here,
get resolved successfully.
  dependency
groupIdorg.springframework/groupId
artifactIdspring-web/artifactId
version${spring.version}/version
  /dependency

however, the property ${project.artifact.selectedVersion.majorVersion} does
not get resolved after the call to projectBuilder.build().

why is that?
how to get this resolved?


Regards,
David


running maven programmatically, the DefaultRemoteRepositoryManager.connectorFactories is empty

2013-04-29 Thread David Portabella
I have a very simple project that starts maven programmatically, as follows:

import org.apache.maven.cli.MavenCli;
public class Example {
public static void main(String[] args) throws Exception {
new MavenCli().doMain(new String[]{clean, install},
/test/a_maven_project, null, null);
}
}

which uses only these two dependencies:
dependency
  groupIdorg.apache.maven/groupId
  artifactIdmaven-embedder/artifactId
  version3.0.5/version
/dependency

dependency
  groupIdorg.codehaus.plexus/groupId
  artifactIdplexus-utils/artifactId
  version3.0.10/version
/dependency


The program initializes maven with plexus, and every seems to work,
*but the execution fails if some dependencies of the
/test/a_maven_project maven project are not in the local repository.*
(all using default configurations (no custom settings.xml file))

What can be the problem?

I debugged building the /test/a_maven_project project in two ways:
1- Running my Example project (it fails)
2- Running mvnDebug clean install from the command line and debugging
remotely (it works)

The difference is that in the second case,
DefaultRemoteRepositoryManager.connectorFactories has an instance of a
WagonRepositoryConnectorFactory,
while in the first
case DefaultRemoteRepositoryManager.connectorFactories is empty.

aether-impl-1.13.1-sources.jar!/org/sonatype/aether/impl/internal/DefaultRemoteRepositoryManager.java
aether-connector-wagon/1.13.1/aether-connector-wagon-1.13.1.jar!/org/sonatype/aether/connector/wagon/WagonRepositoryConnectorFactory.class

Any idea of why in the first case the
DefaultRemoteRepositoryManager.connectorFactories is empty?

how to modify the Example to make it work?


Regards,
David Portabella


debug mvn clean install from IntelliJ

2013-04-24 Thread David Portabella
I am trying to debug maven from my IDE (IntelliJ).

To do so, I run from IntelliJ with this configuration:

Main class: org.codehaus.plexus.classworlds.launcher.Launcher
VM options:
-Dclassworlds.conf=/Users/david/nespresso/david/code_analysis/maven/apache-maven-3.0.5/apache-maven/src/bin/m2.conf
-Dmaven.home=/Users/david/nespresso/david/code_analysis/maven/apache-maven-3.0.5/apache-maven/src/
Program arguments: clean install
Working directory: /test/my_example_maven_project

---
but I get the following:

[ERROR] Error executing Maven.
[ERROR] java.util.NoSuchElementException
  role: org.apache.maven.eventspy.internal.EventSpyDispatcher
  roleHint:
[ERROR] Caused by: null


---
What am I missing?
How can I run/debug a mvn clean install from IntelliJ?


Regards,
David


---
David Portabella - Senior IT Architect
AlmaZ Informatique SA - www.almazsa.com
david.portabe...@almazsa.com
+41 78 802 6411


Re: RFP: Version Range Policy

2013-04-10 Thread David Jencks
Can you explain how you think osgi semantic versioning can reasonably be 
applied to non-osgi-bundles?  It typically takes a project a year or two to 
figure out what semantic versioning means when converting a project to osgi, I 
think you would find that trying to apply semantic versioning to non-osgi 
projects will mean that every update is a major version change.

It would be nice if all projects converted to osgi and used semantic versioning 
correctly, but I don't think that is going to happen any time soon and I don't 
think the majority of maven projects will be osgi any time soon.

thanks
david jencks
On Apr 10, 2013, at 10:27 AM, Andrei Pozolotin andrei.pozolo...@gmail.com 
wrote:

*Maven Developers*
 
1) This is a formal request to resolve long standing version range
policy problem in maven,
expressed for example in the following ticket:
http://jira.codehaus.org/browse/MNG-3092
 
THE PROBLEM: LACK OF VERSION RANGE POLICY.
 
2) I there are no better ideas, I suggest Maven to adopt OSGI
Semantic Version Guidelines.
https://github.com/barchart/barchart-version-tester/wiki/Version-Policy
 
3) I have working prototype based on maven 3.0.4 with back port of
aether 0.9.0.M2
specifically applied to karaf use case, which could be generalized.
https://github.com/barchart/barchart-maven-karaf-plugin
 
4) there is an Aries version check plugin, that shows generic java
binary compatibility checks
which should be part of the new maven semantic version contract.
https://github.com/apache/aries/tree/trunk/versioning
 
Thank you,
 
Andrei
 


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



Re: RFP: Version Range Policy

2013-04-10 Thread David Jencks
so you are basically saying all packages are exported.  I think you will find 
that few meaningful code changes will result in a  non-major-version change 
whether or not the intended api changes.  Have you tried this out with some 
real non-osgi projects to see what versions you'd come up with and whether they 
correspond in any way with what the project developers think the versions are?

thanks
david jencks

On Apr 10, 2013, at 3:23 PM, Andrei Pozolotin andrei.pozolo...@gmail.com 
wrote:

 I am more optimistic then you. here is the idea
 https://github.com/barchart/barchart-version-tester/wiki/Maven-OSGI
 
  Original Message 
 Subject: Re: RFP: Version Range Policy
 From: David Jencks david_jen...@yahoo.com
 To: Maven Developers List dev@maven.apache.org
 Date: Wed 10 Apr 2013 12:44:19 PM CDT
 Can you explain how you think osgi semantic versioning can reasonably be 
 applied to non-osgi-bundles?  It typically takes a project a year or two to 
 figure out what semantic versioning means when converting a project to osgi, 
 I think you would find that trying to apply semantic versioning to non-osgi 
 projects will mean that every update is a major version change.
 
 It would be nice if all projects converted to osgi and used semantic 
 versioning correctly, but I don't think that is going to happen any time 
 soon and I don't think the majority of maven projects will be osgi any time 
 soon.
 
 thanks
 david jencks
 On Apr 10, 2013, at 10:27 AM, Andrei Pozolotin andrei.pozolo...@gmail.com 
 wrote:
 
   *Maven Developers*
 
   1) This is a formal request to resolve long standing version range
   policy problem in maven,
   expressed for example in the following ticket:
   http://jira.codehaus.org/browse/MNG-3092
 
   THE PROBLEM: LACK OF VERSION RANGE POLICY.
 
   2) I there are no better ideas, I suggest Maven to adopt OSGI
   Semantic Version Guidelines.
   https://github.com/barchart/barchart-version-tester/wiki/Version-Policy
 
   3) I have working prototype based on maven 3.0.4 with back port of
   aether 0.9.0.M2
   specifically applied to karaf use case, which could be generalized.
   https://github.com/barchart/barchart-maven-karaf-plugin
 
   4) there is an Aries version check plugin, that shows generic java
   binary compatibility checks
   which should be part of the new maven semantic version contract.
   https://github.com/apache/aries/tree/trunk/versioning
 
   Thank you,
 
   Andrei
 
 
 -
 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



Maven2 updates in a closed area

2012-11-05 Thread David Pompliano




Greetings,
 
I support a team of Java professionals working in a closed area.
Up until a few months ago I had supplied them with a frequently updated 
distribution of Maven2 artifacts. 
I did this while connected to the internet using rsync of Maven2 to a hard 
drive that contained my previously obtained rsync'd repository.
This ensured that only updates of Maven2 be retrieved since the last time the 
repository had updated.
Having a complete updated Maven2 repository is a requirement of our team of 
professionals working in a closed area.
However since Maven2 no longer supports rsync, I need to find another way to 
satisfy this requirement.

I know that repository management tools exist.
In fact we are using Apache Archiva in an open area for another team of Java 
developers.
New versions of Jars are added to POM files and Archiva goes out and downloads 
the specific JAR an its dependencies.

Since we work in a closed area, is there a repository management tool capable 
of automatically updating my local Maven2 repository without looking in a 
modified POM?
We would like the management tool to go out every 6 to 8 weeks ensuring Maven2 
updates to be minimum.
 
Thank you,
 
David
  

Re: the simplest possible maven plugin, sort of

2012-09-10 Thread David Jencks
Our experience in geronimo has always been that maven does not support this, 
and I thought for maven 3 it was announced that it never ever would.

We have a proflie to build up through the plugin, then you can do the full 
build.

Releasing is a pain as you have to do the manual profile build with the 
release-version code to get the plugin available in the local maven repo before 
running the actual release.

If I'm wrong for any version of maven I'd love to know how :-)

thanks
david jencks

On Sep 10, 2012, at 1:45 PM, Daniel Kulp wrote:

 
 Interesting…  I wonder how I've managed to do CXF releases for all these 
 years then.  :-)
 
 Seriously, for CXF =2.5.x, I use Maven 2.2.1 and it just works.   Parts of 
 the build certainly do use the plugins that are built as part of the reactor.
 
 That said, we use install as the default target and not test or anything.   
 I'm fairly certain it wouldn't work if we didn't use install as the target, 
 but I'm not sure if that would work with 3.x either.
 
 The clean target doesn't work if the plugin is part of the reactor and not 
 in .m2/repository.   I'll give you that. 
 
 Dan
 
 
 
 
 On Sep 10, 2012, at 2:59 PM, Anders Hammar and...@hammar.net wrote:
 
 I'm fairly sure this didn't work in Maven 2.x. It was one of the
 unsolvable Maven 2.x bugs which was fixed in Maven 3. The workaround
 would be to use an older released version of the plugin. Don't think
 running a build twice is/was a workable workaround as I can't see how
 that would work in a release process.
 
 /Anders
 
 On Mon, Sep 10, 2012 at 8:11 PM, Arnaud Héritier aherit...@gmail.com wrote:
 On Mon, Sep 10, 2012 at 5:30 PM, Benson Margulies 
 bimargul...@gmail.comwrote:
 
 On Mon, Sep 10, 2012 at 11:25 AM, Daniel Kulp dk...@apache.org wrote:
 
 On Sep 10, 2012, at 11:14 AM, Benson Margulies bimargul...@gmail.com
 wrote:
 
 In Maven 2.x, the following was true; the reactor could not apply a
 plugin it had just built. So, if a particular problem required a
 plugin (e.g., for generating code), the plugin has to be an
 independent project that is built in advance. Is this still true in
 3.x?
 
 I don't think this is/was true.   CXF has always used it's own codegen
 plugins within its reactor build, even with Maven 2.x.
 
 Dan, I'll try it again, but I could have sworn that this only works by
 running 'mvn' twice, so that there's a SNAPSHOT in ~/.m2/repository.
 
 
 
 I'm almost sure I had the same experience like Benson.
 It doesn't work in one step because maven reads all projects in the
 reactor, then tries to resolve the plugin where you are using it and cannot
 because it was built.
 
 Arnaud
 
 -
 To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
 For additional commands, e-mail: dev-h...@maven.apache.org
 
 
 -- 
 Daniel Kulp
 dk...@apache.org - http://dankulp.com/blog
 Talend Community Coder - http://coders.talend.com
 
 
 -
 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: Git as the canonical SCM

2012-09-05 Thread David Jencks

On Sep 5, 2012, at 10:08 PM, Kristian Rosenvold wrote:

 2012/9/5 Romain Manni-Bucau rmannibu...@gmail.com:
 Last note: i think the plugin you speak about (create a kind of virtual
 project) will be a nightmare. Scm are nice but can be broken and when you
 dont have a 1:1 with remote repo it is even harder
 
 I would really like some elaboration on this, since I'm not sure I
 understand what
 you're trying to say. I work with the maven codebase
 all the time and I generally find working with layered components that are
 from different release modules to be a little painful although
 manageable. Most of this pain does
 /not/ stem from the fact that they are in different version control systems
 or different checkouts from the version control system (which they are).

I think from my experience that your proposed plugin is sort of essential for 
working with maven code.  I usually give up quickly because I can't find all 
the dependencies that some plugin I want to improve uses in a finite amount of 
time.

However, I wonder how useful it will be on projects with more separation 
between interface and implementation, as in some osgi projects.  If you have a 
module AIntf with interfaces and then the implementations in AImpl and project 
B uses AIntf how do you know to check out AImpl?  (or the several AImpls).  I'd 
love to see this work

 
 I like to think there are a few main use cases for checking out code:
 A) I want to fix a single problem/issue and when I'm done with that
 I'm going to submit a patch and get on with my life.
 B) I'm hooked. I fix things in a limited subset of the code base all
 the time. So I need to keep it recent, fresh and patched.
 C) I'm all over the place. I do global updates to dependencies and
 reformat code like there's no tomorrow.
 
 I think these are the three models we need to support well. I think
 especially A is important, since it's the
 gateway to entry ;)

I like this division.

And BTW as a very occasional maven patcher and git user elsewhere I think git 
would be an improvement over svn.

thanks!
david jencks

 
 Kristian
 
 -
 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: improving incremental builds

2012-08-26 Thread David Jencks
Is what you want different from what 

mvn -amd moduleA

does?  So your idea is to find the list of changed modules and then build that 
list with -amd?

thanks
david jencks

On Aug 25, 2012, at 1:32 PM, Mark Struberg wrote:

 Hi folks!
 
 After a short discussion with Kristian, I've created a small app with 2 
 modules which shows a few problems with mavens incremental build logic.
 And since incremental builds do not work well, people use 
 
 $ mvn _clean_ install
 all the time.
 
 We could speed up the development effort heavily if we make
 $ mvn  install
 (without an upfront clean) more reliable. 
 
 
 The sample [1] consists of moduleA and moduleB with BeanA and BeanB 
 respectively.
 BeanB has a private BeanA field and moduleB has a dependency on moduleA.
 
 If I change BeanA and just invoke mvn install then only moduleA gets rebuilt. 
 We currently do not rebuild moduleB, but we should do to create a reliable 
 output.
 
 In fact, the incremental build within a single module already works to some 
 degrees, but we must detect a change in dependencies and trigger a full 
 rebuild on all depending modules. This could be done by storing the md5 of 
 all dependency artifacts and compare them on the next build. If the md5 of a 
 dependency did change, then we need to build the module full cycle.
 Other ideas are welcome. Slaps as well if I forgot some obvious stuff and all 
 works well already.
 
 
 LieGrue,
 strub
 
 
 -
 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 release plugin not honoring -Darguments

2011-12-30 Thread David Blevins
An FYI on the escaping/quoting as that's come up twice and isn't the issue.

public class Arguments {
public static void main(String[] args) {

for (String arg : args) {
System.out.printf([%s], arg);
}

System.out.println();
}
}


$ java Arguments mvn release:prepare -DdryRun=true 
-Darguments=-DskipTests=true -DfailIfNoTests=false
[mvn][release:prepare][-DdryRun=true][-Darguments=-DskipTests=true 
-DfailIfNoTests=false]

$ java Arguments mvn release:prepare -DdryRun=true 
-Darguments=-DskipTests=true -DfailIfNoTests=false
[mvn][release:prepare][-DdryRun=true][-Darguments=-DskipTests=true 
-DfailIfNoTests=false]

$ java Arguments mvn release:prepare -DdryRun=true 
-Darguments=-DskipTests=true -DfailIfNoTests=false
[mvn][release:prepare][-DdryRun=true][-Darguments=-DskipTests=true 
-DfailIfNoTests=false]

$ java Arguments mvn release:prepare -DdryRun=true 
-Darguments=-DskipTests=true' '-DfailIfNoTests=false
[mvn][release:prepare][-DdryRun=true][-Darguments=-DskipTests=true 
-DfailIfNoTests=false]

$ java Arguments mvn release:prepare -DdryRun=true 
-Darguments=-DskipTests=true\ -DfailIfNoTests=false
[mvn][release:prepare][-DdryRun=true][-Darguments=-DskipTests=true 
-DfailIfNoTests=false]

The next one just to be goofy :)

$ java Arguments mvn release:prepare -DdryRun=true 
-Dargum'en'ts=-Ds'k'ipTests=true\ -DfailIfNoTest's'=false
[mvn][release:prepare][-DdryRun=true][-Darguments=-DskipTests=true 
-DfailIfNoTests=false]

And finally an actually broken one:

$ java Arguments mvn release:prepare -DdryRun=true -Darguments=-DskipTests=true 
-DfailIfNoTests=false
[mvn][release:prepare][-DdryRun=true][-Darguments=-DskipTests=true][-DfailIfNoTests=false]


The problem isn't with the plugin but the Apache parent pom.  Thanks, Benson, 
for the feedback on that.  There're half dozen committers on that pom so I'm 
not sure who has the objection to allowing -Darguments to be used.

I've created this jira and attached a patch.  Hopefully we can either fix it or 
document it as intentionally not working and give reasons and workarounds like 
the ones you suggest.  I'm fine with either outcome.

  https://issues.apache.org/jira/browse/MPOM-35

On a side note,... Happy new year to all! :)


-David

On Dec 30, 2011, at 2:22 AM, Ansgar Konermann wrote:

 Am 27.09.2011 14:48 schrieb David Blevins david.blev...@gmail.com:
 
 Is it a known issue that the release plugin does not honor the
 -Darguments?
 
 Specifically, I'm attempting to:
 
 mvn release:prepare -DdryRun=true -Darguments=-DskipTests=true
 -DfailIfNoTests=false
 
 
 Try:
 
 mvn release:prepare -DdryRun=true -Darguments=-DskipTests=true
 -DfailIfNoTests=false
 
 Notice the slightly different quoting (before -Darguments). Works well for
 me.
 
 Best regards
 
 Ansgar
 
 It takes 40 minutes to get through a dryRun with tests on.  We still have
 several kinks in the build to work out before the release plugin will work,
 so obviously running with tests on every dryRun is just making a hard task
 impossible.
 
 maven 3.0.3, apache-10 parent pom, maven-release-plugin 2.1
 
 
 -David
 
 
 -
 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 release plugin not honoring -Darguments

2011-12-29 Thread David Blevins
On Tue, Sep 27, 2011 at 1:09 PM, David Blevins david.blev...@gmail.com wrote:
 Did some more digging and it seems the issue is in the apache-10 parent pom.  
 If you alter it like so, the arguments are passed as expected:

    plugin
      groupIdorg.apache.maven.plugins/groupId
      artifactIdmaven-release-plugin/artifactId
      version2.1/version
      configuration
        useReleaseProfilefalse/useReleaseProfile
        goalsdeploy/goals
        !--arguments-Papache-release/arguments--
        arguments-Papache-release ${arguments}/arguments
      /configuration
    /plugin

 Seems this is just a mistake as the full config as reported via -X contains 
 quite a bit of foo${foo}/foo style declarations.  We likely just missed 
 it here.

 Going to use a hacked parent pom for the moment but it would be great if we 
 could get an apache-11 pom out soonish.

This came up again.  Posting so I don't forget to deal with it when I
have time.  Will file an issue with a patch tomorrow unless someone
beats me to it.


-David

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



Re: Meta information about dependencies in a pom?

2011-11-08 Thread David Jencks
I've run into this problem in 3 or 4 situations and the only practical solution 
is to individually list the dependencies with the extra info in the plugin 
configurations.  I don't really understand the mindset that only the 
information needed for some bits of well-known maven can be associated with 
dependencies, and all other uses should just duplicate large swathes of maven 
configuration to be able to add a couple bits of info per dependency.   My 
impression is that aether takes a more inclusive view of dependency properties.

thanks
david jencks

On Nov 8, 2011, at 9:00 AM, Brett Porter wrote:

 
 On 08/11/2011, at 8:15 AM, Carsten Ziegeler wrote:
 
 Yes, we were using that approach for years now and it turned out to be
 too error prone as you have to keep the plugin configuration and the
 dependency list in sync. It doesn't sound like a hard task first, but
 in our case it caused trouble many times. That's why we would like to
 have a single point of information.
 
 So, wildcards or excludes lists don't help with the sync task? There's no 
 convention that can be applied (e.g. all dependencies of a certain type, or 
 the same group ID as the project)?
 
 How would you handle transitive dependencies?
 
 - Brett
 
 --
 Brett Porter
 br...@apache.org
 http://brettporter.wordpress.com/
 
 
 -
 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: [VOTE] Usage of Aether and Sisu as dependencies of maven core with EPL licenses - take 2

2011-11-03 Thread David Jencks
Another month went by any progress?

david jencks

On Sep 30, 2011, at 3:50 AM, Stephen Connolly wrote:

 To clarify... I last checked yesterday, and the PMC in question is some
 eclipse PMC but it is unclear to me, only having just got my eclipse account
 set up, exactly which
 
 On 30 September 2011 11:48, Stephen Connolly 
 stephen.alan.conno...@gmail.com wrote:
 
 When I last checked, the code import is still waiting for PMC approval... I
 suspect that until the code has been imported there cannot be a release ;-)
 
 
 On 30 September 2011 10:05, Mark Derricutt m...@talios.com wrote:
 
 Jason - is there any further news on the Aether/Sisu front?  Really
 starting
 to get an itch for a 3.0.4 release - my manager this morning was having
 strange resolution issues that I traced to same issues I've been seeing
 with
 the currently shipped aether.
 
 Would be good to get a 3.0.4 release out with some updated plugin versions
 set as well ( the new wagon, archetype come to mind ).
 
 Mark
 
 
 --
 Great artists are extremely selfish and arrogant things — Steven Wilson,
 Porcupine Tree
 
 
 On Wed, Sep 21, 2011 at 12:17 AM, Baptiste MATHUS m...@batmat.net wrote:
 
 To be sure, are you talking about renaming Aether packages to something
 like
 org.eclipse.aether?
 
 
 
 


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



Maven release plugin not honoring -Darguments

2011-09-27 Thread David Blevins
Is it a known issue that the release plugin does not honor the -Darguments?

Specifically, I'm attempting to:

  mvn release:prepare -DdryRun=true -Darguments=-DskipTests=true  
-DfailIfNoTests=false

It takes 40 minutes to get through a dryRun with tests on.  We still have 
several kinks in the build to work out before the release plugin will work, so 
obviously running with tests on every dryRun is just making a hard task 
impossible.

maven 3.0.3, apache-10 parent pom, maven-release-plugin 2.1


-David


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



Re: Maven release plugin not honoring -Darguments

2011-09-27 Thread David Jencks
IIRC you have to include your forked maven arguments in the release plugin 
configuration under
arguments-DskipTests=true  -DfailIfNoTests=false/arguments

Perhaps someone else can say _why_ the m-r-p is set up so you can't set this on 
the command line?

thanks
david jencks 

On Sep 27, 2011, at 5:40 AM, David Blevins wrote:

 Is it a known issue that the release plugin does not honor the -Darguments?
 
 Specifically, I'm attempting to:
 
  mvn release:prepare -DdryRun=true -Darguments=-DskipTests=true  
 -DfailIfNoTests=false
 
 It takes 40 minutes to get through a dryRun with tests on.  We still have 
 several kinks in the build to work out before the release plugin will work, 
 so obviously running with tests on every dryRun is just making a hard task 
 impossible.
 
 maven 3.0.3, apache-10 parent pom, maven-release-plugin 2.1
 
 
 -David
 
 
 -
 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 release plugin not honoring -Darguments

2011-09-27 Thread David Blevins
That's not it, the quoting was fine.  Even with a single argument with no 
spaces to -Darguments it still does not work.

Did some more digging and it seems the issue is in the apache-10 parent pom.  
If you alter it like so, the arguments are passed as expected:

plugin
  groupIdorg.apache.maven.plugins/groupId
  artifactIdmaven-release-plugin/artifactId
  version2.1/version
  configuration
useReleaseProfilefalse/useReleaseProfile
goalsdeploy/goals
!--arguments-Papache-release/arguments--
arguments-Papache-release ${arguments}/arguments
  /configuration
/plugin

Seems this is just a mistake as the full config as reported via -X contains 
quite a bit of foo${foo}/foo style declarations.  We likely just missed it 
here.

Going to use a hacked parent pom for the moment but it would be great if we 
could get an apache-11 pom out soonish.


-David


On Sep 27, 2011, at 10:54 AM, Stephen Connolly wrote:

 you can if you understand shell escaping.
 
 - Stephen
 
 ---
 Sent from my Android phone, so random spelling mistakes, random nonsense
 words and other nonsense are a direct result of using swype to type on the
 screen
 On 27 Sep 2011 17:58, David Jencks david_jen...@yahoo.com wrote:
 IIRC you have to include your forked maven arguments in the release plugin
 configuration under
 arguments-DskipTests=true -DfailIfNoTests=false/arguments
 
 Perhaps someone else can say _why_ the m-r-p is set up so you can't set
 this on the command line?
 
 thanks
 david jencks
 
 On Sep 27, 2011, at 5:40 AM, David Blevins wrote:
 
 Is it a known issue that the release plugin does not honor the
 -Darguments?
 
 Specifically, I'm attempting to:
 
 mvn release:prepare -DdryRun=true -Darguments=-DskipTests=true
 -DfailIfNoTests=false
 
 It takes 40 minutes to get through a dryRun with tests on. We still have
 several kinks in the build to work out before the release plugin will work,
 so obviously running with tests on every dryRun is just making a hard task
 impossible.
 
 maven 3.0.3, apache-10 parent pom, maven-release-plugin 2.1
 
 
 -David
 
 
 -
 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
 


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



Re: are multi-threaded builds still working reliably?

2011-09-26 Thread David Jencks
Maybe it would be a good idea to mention this on the siki page?

Anyone know why?  I thought maven used the eclipse compiler which is IIUC just 
java code so why would it behave differently on different os?

thanks
david jencks

On Sep 24, 2011, at 12:11 AM, Olivier Lamy wrote:

 On osx you must fork compiler.
 
 --
 Olivier
 Le 24 sept. 2011 04:41, David Jencks david_jen...@yahoo.com a écrit :
 I tried out the multi-threaded builds again recently (
 https://cwiki.apache.org/MAVEN/parallel-builds-in-maven-3.html) (maven
 3.0.3) and got some really strange results several minutes into the build.
 
 - the compiler plugin seemed to get corrupted source files and reported
 lots of nonexistent syntax errors
 - transitive dependencies didn't work the same as with a normal build
 
 I don't really have time to investigate what's going on but wonder if
 anyone has a stable large-project multi-threaded build running on a recent
 macbook pro with snow leopard?
 
 OSX 10.6.8
 
 java version 1.6.0_26
 Java(TM) SE Runtime Environment (build 1.6.0_26-b03-384-10M3425)
 Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-384, mixed mode)
 
 thanks
 david jencks
 
 
 -
 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



are multi-threaded builds still working reliably?

2011-09-23 Thread David Jencks
I tried out the multi-threaded builds again recently 
(https://cwiki.apache.org/MAVEN/parallel-builds-in-maven-3.html) (maven 3.0.3) 
and got some really strange results several minutes into the build.

- the compiler plugin seemed to get corrupted source files and reported lots of 
nonexistent syntax errors
- transitive dependencies didn't work the same as with a normal build

I don't really have time to investigate what's going on but wonder if anyone 
has a stable large-project multi-threaded build running on a recent macbook pro 
with snow leopard?

OSX 10.6.8

java version 1.6.0_26
Java(TM) SE Runtime Environment (build 1.6.0_26-b03-384-10M3425)
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-384, mixed mode)

thanks
david jencks


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



Re: [DISCUSS] incorporate EPL Aether

2011-07-30 Thread David Jencks
I also was just about to point out that the legal discuss thread indicated that 
(b) and (c) are equivalent violations of apache policy.

Since jason/sonatype doesn't want this code at apache, and the board doesn't 
want us forking it somewhere else to use it because jason/sonatype doesn't want 
the code at apache, I don't see why the dual licensing would make any 
difference.  We still can't bring the code here or fork it anywhere else to use 
it inconsistently with the owners wishes.  I think we either use it as-is, or 
don't use it at all.

I'm not sure I understand the thinking behind the idea that sonatype will make 
aether unusable for maven (isn't this the basic concern over using aether?).  I 
don't see this as a plausible scenario.

thanks
david jencks

On Jul 30, 2011, at 10:14 AM, Ralph Goers wrote:

 The board made it pretty clear that option b is also highly discouraged so I 
 wouldn't list that as an option.  The only viable path I see will be to 
 ultimately include the EPL version of Aether and then replace it with our own 
 code when someone decides there is something they want to do that requires 
 it. A dual licensed version of Aether would probably insure a complete 
 replacement is never necessary.
 
 Ralph
 
 On Jul 30, 2011, at 4:46 AM, Benson Margulies wrote:
 
 I'd like to to try to put a little oxygen into this thread now, given
 the rather clear results of the vote thread.
 
 Ralph posed the following question on Legal Discuss: 'Can the Maven
 PMC pull a dual-licensed version of AEther back into Apache without a
 grant from Sonatype?'
 
 The answer was, legally yes, but it is counter to long-established
 policy, and strongly discouraged by a number of senior ASF people
 (including a board member or two).
 
 So, the community has some choices. It seems to me that the viability
 of these different choices depends on the viability of walking away
 from AEther. In practical terms, the choices are:
 
 a) Use versions of AEther controlled by 'someone else'.
 b) Create our own 'someone else' at apache-extras or elsewhere.
 c) Go down the path of becoming an exception to the policy and take on
 reworking AEther from the last dual-licensed version.
 d) Start All Over Again from Maven 2.2.
 
 From the vote comments, it seemed to me that a plurality of people
 felt that EPL at Eclipse was tolerable. So that argues for sitting
 still for now. I offer only the observation that forking into
 apache-extras 'works' the same way today, or after the code appears in
 Eclipse. In other words, adopting what's out there today only makes
 choice (c) harder, it doesn't have any impact that I see on a, b, or
 d. However, a 'no' vote is a 'no' vote, so this is all just food for
 thought.
 
 -
 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
 


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



Possible feature request about scary warnings

2011-07-15 Thread David Jencks
I often see lots of stuff like this in my m3 builds:

[WARNING] Invalid POM for org.apache.openejb:openejb-core:jar:4.0.0-SNAPSHOT, 
transitive dependencies (if any) will not be available, enable debug logging 
for more details

but the build appears to work fine and I sure can't see for myself what the 
problem might be.  If I turn on debug logging then I get a multimegabyte text 
file that it's very hard to find the relevant info in.

Would it make sense to have something like a build option that would fail the 
build for invalid poms and print the relevant info?  Or maybe this is already 
possible but there's no way to find out about it?

thanks
david jencks


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



Re: [maven-assembly-plugin] smart(er) dependency merge

2011-06-30 Thread David Jencks
I think the shade plugin does something like this.

david jencks

On Jun 30, 2011, at 12:45 AM, Robert Burrell Donkin wrote:

 (If support for this use case already exists then apologies in advance
 but I suspect it's not supported and that I'll need to hack some extra
 code...)
 
 specific use case:
 assemble a jar containing all dependencies without losing legal meta-data
 
 example:
 LICENSE and NOTICE in META-INF must be preserved when including an
 Apache License, Version 2 dependency
 
 workaround:
 manually maintaining specific LICENSE and NOTICE for the assembly and
 updating any time any dependency changes upstream
 
 
 Perhaps add this would be a little too specific for a general plugin.
 So, one way to satisfy this case is by adding a solution to
 
 more general use case:
 extensible support for smart dependency mergers with collision
 detection and resolution
 
 
 Opinions?
 
 Robert
 
 -
 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



Parent POM built first + assembly plugin

2011-05-03 Thread David Tombs
Hello Maven Developers,

I assume you all are familiar with the Maven issue causing this
symptom: http://jira.codehaus.org/browse/MASSEMBLY-94. That report,
along with the assembly plugin FAQ, suggests an assembly-only child
module. This works, but has a remaining problem of manipulating that
child module's dependencies to get it to build last which requires
developers to remember to update that child's dependencies whenever
they add or remove modules.

Is there any resolution in sight to this issue? I tried to search for
a mailing list discussion, but couldn't find anything.

Thanks in advance,
David

-- 
Wise men _still_ seek Him.

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



Re: Article proposed for Maven Article Page

2011-04-20 Thread David Jencks
I think what Jochen is trying to convey is that you are leaving it entirely up 
to the developers to assure that the api/client jar can be used without the 
contents of the impl jar.  There is nothing in the build system stopping 
developers from putting a subclass of an implementation class in the api jar, 
thus making the api jar completely useless as a guide to an api.

If you make separate projects for the api and implementation, the build system 
will prevent you from doing this.  It is definitely less convenient for 
developers to have to deal with 2 projects, but you get enforcement of the 
principle that the api is usable without implementation classes from the build 
system, not from developers possibly remembering to think.

In extreme cases where the build system doesn't enforce any separation rules 
you get projects like tomcat which build all their classes together and then 
partition them into jars that have circular uses relationships so that it is 
impossible to build them individually in any order.  My experience is that if 
you rely on developers you can set something up that initially works but good 
intentions quickly give way to expedience and very quickly your intended 
separation has disappeared.  I'm now willing to put up with a really lot of 
build system annoyance to get it to enforce this kind of separation.

hope I haven't made this thread too long...
thanks
david jencks
On Apr 20, 2011, at 2:45 AM, xanadu72 wrote:

 Jochen,
 I agree with you. The isolation is achieved for external usage but not
 between the api and the implementation. It is not the recommended way to
 distribute framework libraries but i find it more suitable for multi tier
 application to reduce the configuration management work load.  In this
 context the API is not intended to provided a way to implement multiple
 implementations. The term api can be replaced with client.
 
 On Wed, Apr 20, 2011 at 11:34 AM, jochen-2 [via Maven] 
 ml-node+4315334-12416097-197...@n5.nabble.com wrote:
 
 On Wed, Apr 20, 2011 at 11:28 AM, xanadu72 [hidden 
 email]http://user/SendEmail.jtp?type=nodenode=4315334i=0by-user=t
 wrote:
 
 The client api is a separate artifact. You can reuse it as you want. In
 your
 repository you will get in the same release folder two artifacts :
 
 That's completely understood. But as a separate jar file, you should
 ensure that it is compilable without any of the other classes. For
 example, it might accidentally import something from the rest of the
 packages. You don't get that safety by just repackaging a bunch of
 class files in another jar file.
 
 
 --
 I Am What I Am And That's All What I Yam (Popeye)


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



Re: really threadsafe?

2011-03-28 Thread David Jencks
http://jira.codehaus.org/browse/MRRESOURCES-54

thank you so much for looking into this the parallel build is great!

thanks
david jencks

On Mar 27, 2011, at 11:17 PM, Kristian Rosenvold wrote:

 I was sent the url to the old velocity stuff and I see several thread safety 
 issues in the (*really* old) version being used by m-r-r-p.
 
 I checked out the latest version of velocity and all the problems I found 
 were fixed there, so I think we'll just give it a shot.
 
 Just make an issue under http://jira.codehaus.org/browse/MRRESOURCES and I'll 
 push it through.
 
 
 Kristian
 
 
 Den 23.03.2011 23:29, skrev David Jencks:
 I've been trying out the parallel stuff in maven 3.0.3 and when it works 
 it's great.However I'm wondering what's going on here with this 
 intermittent error.  I've never gotten this error bulding single threaded.
 
 https://cwiki.apache.org/MAVEN/parallel-builds-in-maven-3.html says the 
 maven-remote-resources-plugin 1.2 is threadsafe.  However...
 
 [ERROR] Failed to execute goal 
 org.apache.maven.plugins:maven-remote-resources-plugin:1.2:process (default) 
 on project assemblies: Error rendering velocity resource. 
 NullPointerException -  [Help 1]
 org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute 
 goal org.apache.maven.plugins:maven-remote-resources-plugin:1.2:process 
 (default) on project assemblies: Error rendering velocity resource.
 at 
 org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217)
 at 
 org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
 at 
 org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
 at 
 org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
 at 
 org.apache.maven.lifecycle.internal.LifecycleThreadedBuilder$1.call(LifecycleThreadedBuilder.java:167)
 at 
 org.apache.maven.lifecycle.internal.LifecycleThreadedBuilder$1.call(LifecycleThreadedBuilder.java:164)
 at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
 at java.util.concurrent.FutureTask.run(FutureTask.java:138)
 at 
 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
 at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
 at java.util.concurrent.FutureTask.run(FutureTask.java:138)
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
 at java.lang.Thread.run(Thread.java:680)
 Caused by: org.apache.maven.plugin.MojoExecutionException: Error rendering 
 velocity resource.
 at 
 org.apache.maven.plugin.resources.remote.ProcessRemoteResourcesMojo.processResourceBundles(ProcessRemoteResourcesMojo.java:1212)
 at 
 org.apache.maven.plugin.resources.remote.ProcessRemoteResourcesMojo.execute(ProcessRemoteResourcesMojo.java:519)
 at 
 org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
 at 
 org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
 ... 13 more
 Caused by: java.lang.NullPointerException
 at 
 org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:831)
 at 
 org.apache.velocity.app.VelocityEngine.mergeTemplate(VelocityEngine.java:440)
 at 
 org.apache.velocity.app.VelocityEngine.mergeTemplate(VelocityEngine.java:419)
 at 
 org.apache.maven.plugin.resources.remote.ProcessRemoteResourcesMojo.processResourceBundles(ProcessRemoteResourcesMojo.java:1125)
 ... 16 more
 
 I ran with -T 4.  It looks like there were 3 failures with this same stack 
 trace all in pom projects that aggregate subprojects.
 
 I don't have a lot of time to track down whats going on but might be able to 
 spend a little time given enough advice.
 
 thanks
 david jencks
 
 
 -
 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
 


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



Re: [VOTE] Release Maven ACR Plugin version 1.0

2011-03-28 Thread David Konecny
+1


really threadsafe?

2011-03-23 Thread David Jencks
I've been trying out the parallel stuff in maven 3.0.3 and when it works it's 
great.However I'm wondering what's going on here with this intermittent 
error.  I've never gotten this error bulding single threaded.

https://cwiki.apache.org/MAVEN/parallel-builds-in-maven-3.html says the 
maven-remote-resources-plugin 1.2 is threadsafe.  However...

[ERROR] Failed to execute goal 
org.apache.maven.plugins:maven-remote-resources-plugin:1.2:process (default) on 
project assemblies: Error rendering velocity resource. NullPointerException - 
[Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal 
org.apache.maven.plugins:maven-remote-resources-plugin:1.2:process (default) on 
project assemblies: Error rendering velocity resource.
at 
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217)
at 
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at 
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at 
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
at 
org.apache.maven.lifecycle.internal.LifecycleThreadedBuilder$1.call(LifecycleThreadedBuilder.java:167)
at 
org.apache.maven.lifecycle.internal.LifecycleThreadedBuilder$1.call(LifecycleThreadedBuilder.java:164)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)
Caused by: org.apache.maven.plugin.MojoExecutionException: Error rendering 
velocity resource.
at 
org.apache.maven.plugin.resources.remote.ProcessRemoteResourcesMojo.processResourceBundles(ProcessRemoteResourcesMojo.java:1212)
at 
org.apache.maven.plugin.resources.remote.ProcessRemoteResourcesMojo.execute(ProcessRemoteResourcesMojo.java:519)
at 
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
at 
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
... 13 more
Caused by: java.lang.NullPointerException
at 
org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:831)
at 
org.apache.velocity.app.VelocityEngine.mergeTemplate(VelocityEngine.java:440)
at 
org.apache.velocity.app.VelocityEngine.mergeTemplate(VelocityEngine.java:419)
at 
org.apache.maven.plugin.resources.remote.ProcessRemoteResourcesMojo.processResourceBundles(ProcessRemoteResourcesMojo.java:1125)
... 16 more

I ran with -T 4.  It looks like there were 3 failures with this same stack 
trace all in pom projects that aggregate subprojects.

I don't have a lot of time to track down whats going on but might be able to 
spend a little time given enough advice.

thanks
david jencks


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



Re: How do you get aether to traverse the entire dependency tree?

2011-03-22 Thread David Jencks
This ended up being good advice.  The problem was an antique 
maven-install-plugin specified in a parent pom.

Is there some way to  require minimum plugin versions in a custom packaging or 
its LifecycleMapping?  

thanks
david jencks

On Mar 21, 2011, at 3:06 AM, Benjamin Bentmann wrote:

 David Jencks wrote:
 
 Any advice?
 
 Provide a standalone example project that allows others to reproduce/analyze 
 the problem.
 
 
 Benjamin
 
 -
 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



How do you get aether to traverse the entire dependency tree?

2011-03-21 Thread David Jencks
One of the nice side effects of moving the maven resolution code away from 
apache is that people who work for companies with IP policies need additional 
approval to look at the source to find out how it works.  Since I don't have 
such approval I'm really hoping for some advice.

I've been following the sample code at 
http://aether.sonatype.org/using-aether-in-maven-plugins.html
http://www.sonatype.com/people/2011/01/how-to-use-aether-in-maven-plugins/#more-6838

I am working on a maven plugin that needs to traverse the entire dependency 
tree starting from a project artifact.  Aether is not finding the whole tree.  
Why not?  How do I make it?

To be more specific, aether is finding no children for an artifact that...
-- is only present in my local repo
-- is a custom packaging
-- the artifact for this custom packaging has a classifier
-- the type is not the same as the packaging name

I'll call this artifact A below.

i've made some spot checks for jars that are deployed to apache snapshot repo 
or central and aether seems to be finding the children for these.

I think the relevant code is:

/**
 * The entry point to Aether, i.e. the component doing all the work.
 *
 * @component
 */
private RepositorySystem repoSystem;

/**
 * The current repository/network configuration of Maven.
 *
 * @parameter default-value=${repositorySystemSession}
 * @readonly
 */
private RepositorySystemSession repoSession;

/**
 * The project's remote repositories to use for the resolution of project 
dependencies.
 *
 * @parameter default-value=${project.remoteProjectRepositories}
 * @readonly
 */
private ListRemoteRepository projectRepos;


private DependencyNode getDependencyTree(Artifact artifact) throws 
MojoExecutionException {
try {
Listorg.sonatype.aether.graph.Dependency managedArtifacts = new 
ArrayListorg.sonatype.aether.graph.Dependency();
CollectRequest collectRequest = new CollectRequest(new 
org.sonatype.aether.graph.Dependency(artifact, compile), managedArtifacts, 
projectRepos);
CollectResult result = repoSystem.collectDependencies(repoSession, 
collectRequest);
return result.getRoot();
} catch (DependencyCollectionException e) {
throw new MojoExecutionException(Cannot build project dependency 
tree, e);
}
}

getDependencyTree when called on my project artifact returns a tree where the 
node for A has no children.  Furthermore calling getDependencyTree on A 
directly also finds no children.  On the other hand running this plugin on the 
project for A does find the children of A (the dependencies listed in the pom 
for A).

changing the dependency on A from

dependency
groupIdorg.apache.geronimo.features/groupId
artifactIdorg.apache.geronimo.jaxb-support/artifactId
typexml/type
classifierfeatures/classifier
version3.99.99-SNAPSHOT/version
/dependency
(xml is the primary artifact file extension)
to

dependency
groupIdorg.apache.geronimo.features/groupId
artifactIdorg.apache.geronimo.jaxb-support/artifactId
typefeature/type
classifierfeatures/classifier
version3.99.99-SNAPSHOT/version
/dependency
(feature is the packaging type)
causes a resolution error:

[ERROR] Failed to execute goal on project org.apache.geronimo.transaction.kar: 
Could not resolve dependencies for project 
org.apache.geronimo.features:org.apache.geronimo.transaction.kar:kar:3.99.99-SNAPSHOT:
 Could not find artifact 
org.apache.geronimo.features:org.apache.geronimo.jaxb-support:feature:features:3.99.99-SNAPSHOT
 in nexus (http://localhost:8081/nexus/content/groups/public) - [Help 1]

Any advice?

thanks
david jencks




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



Re: Cleanup to SNAPSHOT version handling

2010-12-10 Thread David Jencks
I think I've seen some projects, although I don't recall where, that use 
.SNAPSHOT because then you get legal osgi bundle versions in require-bundle 
instructions in the maven-bundle-plugin.  Presumably this could be fixed in the 
maven-bundle-plugin since it already converts -SNAPSHOT to .SNAPSHOT when 
generating the bundle's own osgi version.

david jencks

On Dec 10, 2010, at 9:18 AM, Benjamin Bentmann wrote:

 Hi,
 
 as part of MNG-4893 [0] an inconsistency in the way a version string is 
 treated as a snapshot or release was detected. In short, the issue is about 
 what suffix exactly marks a snapshot version.
 
 The current intention is to revise the logic such that the suffix -SNAPSHOT 
 (note the leading hyphen) and not just SNAPSHOT is required to denote a 
 snapshot.
 
 This mail is meant as a heads up for users that unintentionally use irregular 
 SNAPSHOT versioning and allow them to adjust their builds. If changing the 
 builds to use -SNAPSHOT isn't possible, we would like to hear the technical 
 reasons for this.
 
 Thanks
 
 
 Benjamin
 
 
 [0] http://jira.codehaus.org/browse/MNG-4893
 
 -
 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



Can surefire create a single output file?

2010-11-15 Thread David Land
We are using surefire and would like to consolidate all the jUnit
results into one XML file as opposed to one file per class. Is this
possible? Our build server does not support reading multiple files.

 

Thanks,

Dave



Re: Auto apache version standard as an enforcer rule?

2010-11-09 Thread David Jencks
The BND tool used in the (misnamed) felix maven-bundle-plugin has, in recent 
versions not yet used in the maven-bundle plugin, some logic to determine 
whether an Import-Package constraint is uses or implements and decides 
which segment of the version number to increment based on that.  

might be useful...
david jencks
 
On Nov 9, 2010, at 4:58 AM, Jesse Glick wrote:

 On 11/08/2010 02:21 AM, Rex Hoffman wrote:
 project: java-version-delta
 
 By the way, you should look at https://sigtest.dev.java.net/ if you have not 
 done so already. I'm not sure if the license  feature set suits your needs 
 but it would make a potentially useful alternate impl. This is the tool used 
 by some of Oracle's teams to check (primarily binary) compatibility of Java 
 APIs.
 
 My background: for netbeans.org API modules we run this tool to check for 
 compatible  incompatible changes among packages marked public. Currently we 
 have an idiosyncratic Ant build (is there any other kind?) so comparisons are 
 done against the modules as they existed in the last product release, but of 
 course in a Maven setup we would use the policy you are proposing: x.y - 
 x.(y+1) may have compatible but not incompatible changes, etc.
 
 The apache portable runtime version standard does want the name of a library
 to include it's major version number, so for ubuntu/debian xerces look like:
 libxerces2-java_2.9.0-1_all.deb
 
 Not sure this is applicable to most Java development. If you are using a 
 container (such as OSGi) which supports class loader isolation, *and* this 
 container permits multiple components with the same ID (but possibly 
 different versions) to be loaded in parallel, then it is unnecessary. 
 Containers with isolation but which enforce uniqueness on loaded IDs might 
 benefit, so long as it really makes sense to load two copies of the component 
 - true for plain old class libraries, not necessarily true for active 
 components which might register services of some sort. Apps not using a 
 container are unlikely to benefit since you could only use multiple versions 
 of a library in case the package hierarchy was also renamed. Anyway, I agree 
 that this is not likely something that an API compatibility plugin should 
 address (a separate enforcer rule would suffice).
 
 the default would be to
 assume that a client of an artifact is not expected to implement [any 
 interfaces]
 
 This seems like a poor default - directly contradicts the longstanding Java 
 compatibility policy. (*) If anything, I would place the burden on API 
 designers who publish interfaces (or abstract classes) they expect no one 
 else to implement, despite there being no such enforcement from the Java 
 language. (**) An annotation for this purpose makes some sense, but it would 
 have to be hosted in a very generic place quite unrelated to a Maven plugin. 
 In the short term, plugin configuration to exclude implements checking on 
 certain types or packages may be a better workaround.
 
 (*) For binary compatibility it is permitted to add an interface method 
 without breaking existing implementers, so long as this method is never 
 called - but that condition is unlikely, since why would there be a method no 
 one is calling? You cannot even check whether a given object implements a new 
 method or not without using reflection. Better to just introduce a new 
 interface (possibly extending the old one) when you want to change signatures.
 
 (**) If the API designer wants, it is possible to expose an abstract class 
 which can be implemented only within the same component. JSR 294 would be 
 very helpful here, but it is possible today so long as all the 
 implementations are in the same package, *or* the component uses a format 
 (such as OSGi bundle) which permits restrictions on the exported types or 
 packages. In http://bitbucket.org/jglick/qualifiedpublic I have been playing 
 with a more fine-grained system but for now it requires javac from JDK 7.
 
 
 -
 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: Dependency policies

2010-10-01 Thread David Jencks
maybe you could enhance that rule to do regexp matching on each maven 
coordinate component and implement your category concept using a naming 
convention?

david jencks

On Oct 1, 2010, at 10:51 AM, Alan D. Cabrera wrote:

 It's close but not exactly what I need.  I don't want to maintain rules on 
 artifacts.  I want to maintain restrictions between categories of artifacts.
 
 
 Regards,
 Alan
 
 On Oct 1, 2010, at 10:22 AM, Rex Hoffman wrote:
 
 I haven't used it: but this, and profiles, should do the trick.
 http://maven.apache.org/enforcer/enforcer-rules/bannedDependencies.html
 
 I'm just trying to get some contributions in to maven (other enforcer
 rules) but still feel the need to say you probably should have asked
 this on the user mailing list.
 
 Rex
 
 On Fri, Oct 1, 2010 at 9:56 AM, Alan D. Cabrera l...@toolazydogs.com wrote:
 Is there some way to categorize jars and restrict the dependencies between 
 categories of those jars?  At least maybe reports dependency violations?
 
 For example let's say I have two categories, api and impl.  Impl can depend 
 on Api but not others' impl.  Api can rely on Api.  When I perform a build 
 it would be nice if the build failed or at least an warning is reported.
 
 
 Regards,
 Alan
 
 
 -
 To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
 For additional commands, e-mail: dev-h...@maven.apache.org
 
 
 
 
 
 -- 
 Rex Hoffman
 
 (415) 273-9438
 415-2REXGET
 http://www.e-hoffman.org
 
 -
 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
 


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



maven-remote-resources-plugin ignores offline?

2010-09-16 Thread David Jencks
I asked about this on the users list about a month ago and got no response.

I think the maven-remote-resources-plugin has a problem.  When I build for the 
first time in 24 hours with -o, I still get stuff like this:

[INFO] --- maven-remote-resources-plugin:1.0:process (default) @ 
geronimo-jetty-web-cts ---
[INFO] Setting property: classpath.resource.loader.class = 
'org.codehaus.plexus.velocity.ContextClassLoaderResourceLoader'.
[INFO] Setting property: velocimacro.messages.on = 'false'.
[INFO] Setting property: resource.loader = 'classpath'.
[INFO] Setting property: resource.manager.logwhenfound = 'false'.
[INFO] snapshot 
org.apache.geronimo.modules:geronimo-naming-builder:3.0-SNAPSHOT: checking for 
updates from nexus
[INFO] snapshot org.apache.geronimo:geronimo:3.0-SNAPSHOT: checking for updates 
from nexus
[INFO] snapshot org.apache.openwebbeans:openwebbeans-web:1.0.0-SNAPSHOT: 
checking for updates from nexus
[INFO] snapshot org.apache.xbean:xbean-asm-shaded:3.8-SNAPSHOT: checking for 
updates from nexus
[INFO] snapshot 
org.apache.geronimo.modules:geronimo-jetty8-builder:3.0-SNAPSHOT: checking for 
updates from nexus
[INFO] snapshot 
org.apache.geronimo.modules:geronimo-aries-builder:3.0-SNAPSHOT: checking for 
updates from nexus
[INFO] snapshot org.apache.geronimo.plugins:aries:3.0-SNAPSHOT: checking for 
updates from nexus
[INFO] snapshot org.apache.geronimo.configs:welcome-jetty:3.0-SNAPSHOT: 
checking for updates from nexus
[INFO] snapshot org.apache.geronimo.plugins:welcome:3.0-SNAPSHOT: checking for 
updates from nexus
[INFO] snapshot org.apache.geronimo.framework:shutdown:3.0-SNAPSHOT: checking 
for updates from nexus
[INFO] snapshot 
org.apache.geronimo.modules:geronimo-persistence-jpa20-builder:3.0-SNAPSHOT: 
checking for updates from nexus
[INFO] snapshot org.apache.geronimo.plugins:openjpa2:3.0-SNAPSHOT: checking for 
updates from nexus
[INFO] snapshot org.apache.geronimo.configs:jsr88-war-configurer:3.0-SNAPSHOT: 
checking for updates from nexus
[INFO] snapshot org.apache.geronimo.framework:geronimo-shell:3.0-SNAPSHOT: 
checking for updates from nexus
[INFO] snapshot 
org.apache.geronimo.configs:connector-deployer-1_6:3.0-SNAPSHOT: checking for 
updates from nexus
[INFO] snapshot org.apache.geronimo.framework:framework:3.0-SNAPSHOT: checking 
for updates from codehaus.snapshots
[INFO] snapshot org.apache.geronimo.framework:framework:3.0-SNAPSHOT: checking 
for updates from apache.snapshots
[INFO] snapshot org.apache.geronimo:geronimo:3.0-SNAPSHOT: checking for updates 
from codehaus.snapshots
[INFO] snapshot org.apache.geronimo:geronimo:3.0-SNAPSHOT: checking for updates 
from apache.snapshots
...

IIRC I  get the same results with m-r-r-p v 1.1.

When I don't have internet access, there's an extremely long delay (maybe a 
minute?) between each line.

I get the same results with maven 2.2.1 and 3 beta 1.

Does anyone else see this and/or think its a problem?

So far I haven't located any of the code that might be responsible for this.

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



Incompatibilities between maven 2.2.1 and 3.0.0-beta-1

2010-05-04 Thread David Jencks
I started trying to build geronimo trunk using maven 3 and ran into a couple 
inconsistencies so far in our maven plugins.  I don't know if we were doing 
something unfortunate before I have no problem changing the geronimo code 
to something that will work on both mavens

1. We were calling
org.apache.maven.artifact Artifact; //from dependencyNode.getRelatedArtifact() 
if not null, otherwise dependencyNode.getArtifact()
artifact.getVersionRange().getRecommendedVersion().toString()

on essentially every element in the unpruned dependency tree (our pruning rules 
are different from maven's).  This no longer works.  artifact.getVersionRange() 
is now null on, apparently, non-direct transitive dependencies.  The only 
workaround I've come across is to put all the dependencies where this is 
actually called in the pom the plugin runs on.

2. Plugin plugin = (Plugin) 
project.getModel().getBuild().getPluginsAsMap().get(org.apache.geronimo.buildsupport:car-maven-plugin);
plugin.getExecutions() has changed.  I'm not exactly sure what it used to 
contain, but for a plugin that wasn't explicitly configured with an execution 
element in the pom it was either empty or had one element in it.  Now it 
contains elements for every mojo in the plugin.  I think I've figured out how 
to find the one I want, so this is not a big problem for me.  On the other 
hand, the code here was originally to do my own merging of configurations 
between parent pom and child because what maven was doing for me didn't work (I 
don't remember the details).  Has the merging been rewritten?  Or, is there a 
way to get object trees for each unmerged configuration so I can do it in my 
plugin code?

Although (2) is not really a problem for me I would like to know how to work 
around (1).

thanks
david jencks


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



Re: Surefire-plugin and surefirebooter jars and Glassfish and EJB unit testing

2010-04-08 Thread David Blevins



ljnelson wrote:
 
 Now Ken Saks, spec author for EJB 3.1 is saying sure, whoops, Glassfish
 has
 a problem, it doesn't consult the *effective* classpath because it doesn't
 take into consideration Manifest.MF Class-Path entries.  Fine.
 
 But *then *he says something WAY more troubling: that any classpath roots
 reachable by way of Surefire's booter jar's Manifest Class-Path entry
 aren't
 actually roots for new EJB modules.  That is, the classpath defined by
 Manifest.MF Class-Path is somehow...special as regards scanning.  I say:
 huh?!
 
 I bring this up here, because if he's right and that ends up being part of
 the spec, then the neat way that surefire deals with big classpaths could
 effectively break standardized EJB 3.1 unit/integration testing.  That
 might
 lead to you wanting to change or otherwise mess with the way Surefire does
 classpath construction.
 

Per spec you are also able to list the file paths of the jars you want
scanned.  So in the end you should be able to take that approach even if
GlassFish can't find the jars on its own.  The classes are there and
loadable in the thread context classloader so if you explicitly point at the
jars, all should be fine.

In terms of Glassfish effectively changing the spec.  If they want to
limit their support to specific techniques for scanning and finding modules,
that's their call.  But it only affects their implementation and not the
spec itself.

The new Embedded EJB Container functionality in the spec is intentionally
minimalistic so that vendors have adequate room figure out how to make it
work with their architecture.  This is just part of the expected challenges
that vendors will face.
-- 
View this message in context: 
http://old.nabble.com/Surefire-plugin-and-surefirebooter-jars-and-Glassfish-and-EJB-unit--testing-tp28184255p28185208.html
Sent from the Maven Developers mailing list archive at Nabble.com.


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



Re: Surefire and non-jar artifacts

2010-02-15 Thread David Jencks
Recall that a conformant rar file has all its classes in embedded jar  
files, so putting the outside actual rar file on the classpath  
doesn't give you access to any classes.  If you put classes loose  
inside a rar then a compliant j2ca container will probably ignore them.


On Feb 15, 2010, at 9:16 AM, Stephen Connolly wrote:


Hi,

So the lovely JCA resource adapters (a.k.a. rar files)...

In Maven 2.0.9, these were added to the classpath


What exactly was added to the classpath?



In Maven 2.2.1, these are no longer added to the classpath...

The former made testing resource adapters easy, but causes issues when
packaging a resource adapter in an EAR...

The later simplifies packaging RAR files inside an EAR (unless
possibly you want to try for a skinny RAR) but makes testing the code
that depends on the RAR more complex.

For example, using the lovely openejb, I now have to do:

   plugin
   artifactIdmaven-dependency-plugin/artifactId
   executions
   execution
   phasegenerate-test-resources/phase
   goals
   goalcopy-dependencies/goal
   /goals
   configuration
   includeTypesrar/includeTypes
   stripVersiontrue/stripVersion
   includeScopetest/includeScope

outputDirectory${project.build.directory}/test-dependencies/ 
outputDirectory

   /configuration
   /execution
   /executions
   /plugin
   plugin
   artifactIdmaven-surefire-plugin/artifactId
   configuration
   additionalClasspathElements

additionalClasspathElement${project.build.directory}/test- 
dependencies/my-jca-impl.rar/additionalClasspathElement

   /additionalClasspathElements
   /configuration
   /plugin


This looks to me as if its putting the rar on the classpath, not the  
jars inside that contain the classes.




Which is just plain ugly...

My first thought was to have an

additionalClasspathDependencies

configuration in surefire... but I just know that it would be abused
like some mad crazy fool... and because it would not be taking part in
depMgmt, it would cause issues with releasing so that's not best
practice way at all then

My second thought is to have

additionalClasspathTypes
 additionalClasspathType
   typerar/type
   includeTransitivetrue/includeTransitive
 /additionalClasspathType
/additionalClasspathTypes

So what do people think?


So are you proposing that if you have a rar, war, or ear, including it  
as a dependency will figure out all the jars inside, compute the  
actual internal classpath, and add all these to the maven classpath?   
I have not problem with this but it's unclear to me if that's what you  
are asking for.


thanks
david jencks



-Stephen.

P.S.
 I've rejected my first plan... if Jason to aproves I'll resurect
it... otherwise Plan 2 or 3 (TBD)

-
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: [Result] [VOTE] Apache (parent POM) version 7

2009-12-23 Thread David Jencks
Any idea when another try might be feasible?  I'm updating a bunch of  
project's builds, having the completely built-in source assembly would  
be pretty handy.


many thanks
david jencks

On Dec 10, 2009, at 1:40 PM, John Casey wrote:

I've withdrawn the tag for this vote. We can try again later with  
the newer plugin versions.


-john

David Jencks wrote:
It looks to me as if this vote failed.  I'd really appreciate it if  
someone would remove the apache-7 tag and roll back trunk to say  
version 7-SNAPSHOT so one doesn't have to search the mail archives  
to find out why the tag isn't represented at maven central.

Concluding the vote thread might be good too :-)
thanks
david jencks
On Nov 14, 2009, at 5:58 AM, Benjamin Bentmann wrote:

Benjamin Bentmann wrote:


John Casey wrote:

https://repository.apache.org/content/repositories/orgapacheapache-001/org/apache/apache/7/

+1


I change my vote -1 after discovering that the version of the  
maven-javadoc-plugin being used by this POM, namely 2.6.1, is  
prone to fail during releases of multi-module projects [0].



Benjamin


[0] http://jira.codehaus.org/browse/MJAVADOC-275

-
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


-
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: [VOTE] Apache (parent POM) version 7

2009-12-10 Thread David Jencks
It looks to me as if this vote failed.  I'd really appreciate it if  
someone would remove the apache-7 tag and roll back trunk to say  
version 7-SNAPSHOT so one doesn't have to search the mail archives to  
find out why the tag isn't represented at maven central.


Concluding the vote thread might be good too :-)

thanks
david jencks

On Nov 14, 2009, at 5:58 AM, Benjamin Bentmann wrote:


Benjamin Bentmann wrote:


John Casey wrote:

https://repository.apache.org/content/repositories/orgapacheapache-001/org/apache/apache/7/

+1


I change my vote -1 after discovering that the version of the maven- 
javadoc-plugin being used by this POM, namely 2.6.1, is prone to  
fail during releases of multi-module projects [0].



Benjamin


[0] http://jira.codehaus.org/browse/MJAVADOC-275

-
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: Release plugin documentation request

2009-12-06 Thread David Jencks

Hi Dennis,

Thanks for pointing out those pages.  They indeed have the information  
I was asking for for those three goals.  Might I suggest that these  
three pages are very clearly not examples but the basic usage guide  
for these three goals and would be much more visible linked from the  
usage page or better yet included in the goal explanation pages?


thanks
david jencks


On Dec 6, 2009, at 1:23 PM, Dennis Lundberg wrote:


Hi David

Great to get some feedback on the docs. I think we have prepare,
perform and branch covered pretty well with these pages:

http://maven.apache.org/plugins/maven-release-plugin/examples/prepare-release.html
http://maven.apache.org/plugins/maven-release-plugin/examples/perform-release.html
http://maven.apache.org/plugins/maven-release-plugin/examples/branch.html

So I guess we'd need two more covering rollback and clean.


David Jencks wrote:

I find that the release plugin docs don't give me an adequate idea of
what to expect to happen in svn when I run

release:prepare
release:rollback
release:perform
release:branch

After some experimentation I think I know what happens for some of  
these:


release:prepare makes 3 svn commits
- update current project to release version
- create tag  (from what? I have no idea)
- update current project to next development version

release:rollback, in an indeterminate number of commits, undoes  
anything

committed since release:prepare was run for the first time in this
release attempt.  In particular if you tried to commit build fixes  
that

only became evident during release:prepare, they will get undone.

release:perform makes no svn changes

release:branch I have no idea about.

I suspect it would take about 15 minutes for one of the authors to
update the docs with some accurate info along these lines and I  
doubt I

would be the only one appreciating the effort.

thanks
david jencks



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





--
Dennis Lundberg

-
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



Release plugin documentation request

2009-11-28 Thread David Jencks
I find that the release plugin docs don't give me an adequate idea of  
what to expect to happen in svn when I run


release:prepare
release:rollback
release:perform
release:branch

After some experimentation I think I know what happens for some of  
these:


release:prepare makes 3 svn commits
- update current project to release version
- create tag  (from what? I have no idea)
- update current project to next development version

release:rollback, in an indeterminate number of commits, undoes  
anything committed since release:prepare was run for the first time in  
this release attempt.  In particular if you tried to commit build  
fixes that only became evident during release:prepare, they will get  
undone.


release:perform makes no svn changes

release:branch I have no idea about.

I suspect it would take about 15 minutes for one of the authors to  
update the docs with some accurate info along these lines and I doubt  
I would be the only one appreciating the effort.


thanks
david jencks



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



  1   2   3   4   5   6   >