diff --git a/java/maven.embedder/apichanges.xml b/java/maven.embedder/apichanges.xml
index 732952052add..81dba62bbc24 100644
--- a/java/maven.embedder/apichanges.xml
+++ b/java/maven.embedder/apichanges.xml
@@ -20,7 +20,7 @@
-->
-
+
diff --git a/java/maven.embedder/external/apache-maven-3.9.16-bin-license.txt b/java/maven.embedder/external/apache-maven-3.10.1-bin-license.txt
similarity index 99%
rename from java/maven.embedder/external/apache-maven-3.9.16-bin-license.txt
rename to java/maven.embedder/external/apache-maven-3.10.1-bin-license.txt
index 751b096b1cbe..b5ef9d26f436 100644
--- a/java/maven.embedder/external/apache-maven-3.9.16-bin-license.txt
+++ b/java/maven.embedder/external/apache-maven-3.10.1-bin-license.txt
@@ -1,9 +1,10 @@
Name: Apache Maven Distribution
Description: Apache Maven Distribution
-Version: 3.9.16
+Version: 3.10.1
License: Apache-2.0
Origin: Apache Software Foundation
URL: https://maven.apache.org/
+Files: apache-maven-3.10.1-bin.zip
Apache License
Version 2.0, January 2004
diff --git a/java/maven.embedder/external/apache-maven-3.9.16-bin-notice.txt b/java/maven.embedder/external/apache-maven-3.10.1-bin-notice.txt
similarity index 100%
rename from java/maven.embedder/external/apache-maven-3.9.16-bin-notice.txt
rename to java/maven.embedder/external/apache-maven-3.10.1-bin-notice.txt
diff --git a/java/maven.embedder/external/apache-maven-3.9.16-epl-license.txt b/java/maven.embedder/external/apache-maven-3.10.1-epl-license.txt
similarity index 98%
rename from java/maven.embedder/external/apache-maven-3.9.16-epl-license.txt
rename to java/maven.embedder/external/apache-maven-3.10.1-epl-license.txt
index 79a4badae76d..423d30408fbd 100644
--- a/java/maven.embedder/external/apache-maven-3.9.16-epl-license.txt
+++ b/java/maven.embedder/external/apache-maven-3.10.1-epl-license.txt
@@ -1,9 +1,9 @@
Name: Apache Maven components under EPL v2.0
-Description: These Apache Maven components are under EPL v2.0: org.eclipse.sisu.inject-1.0.0.jar org.eclipse.sisu.plexus-1.0.0.jar
-Version: 3.9.16
+Description: These Apache Maven components are under EPL v2.0: org.eclipse.sisu.inject-1.1.2.jar org.eclipse.sisu.plexus-1.1.2.jar
+Version: 3.10.1
License: EPL-v20
Origin: Apache Software Foundation
-Files: apache-maven-3.9.16-bin.zip!/apache-maven-3.9.16/lib/org.eclipse.sisu.inject-1.0.0.jar apache-maven-3.9.16-bin.zip!/apache-maven-3.9.16/lib/org.eclipse.sisu.plexus-1.0.0.jar
+Files: apache-maven-3.10.1-bin.zip!/apache-maven-3.10.1/lib/org.eclipse.sisu.inject-1.1.2.jar apache-maven-3.10.1-bin.zip!/apache-maven-3.10.1/lib/org.eclipse.sisu.plexus-1.1.2.jar
Eclipse Public License - v 2.0
diff --git a/java/maven.embedder/external/apache-maven-3.9.16-failureaccess-1.0.3-license.txt b/java/maven.embedder/external/apache-maven-3.10.1-failureaccess-1.0.3-license.txt
similarity index 99%
rename from java/maven.embedder/external/apache-maven-3.9.16-failureaccess-1.0.3-license.txt
rename to java/maven.embedder/external/apache-maven-3.10.1-failureaccess-1.0.3-license.txt
index 17325758faff..8d2dc2bec235 100644
--- a/java/maven.embedder/external/apache-maven-3.9.16-failureaccess-1.0.3-license.txt
+++ b/java/maven.embedder/external/apache-maven-3.10.1-failureaccess-1.0.3-license.txt
@@ -3,7 +3,7 @@ Version: 1.0.3
License: Apache-2.0
Origin: https://github.com/google/guava
Description: A Guava subproject
-Files: apache-maven-3.9.16-bin.zip!/apache-maven-3.9.16/lib/failureaccess-1.0.3.jar
+Files: apache-maven-3.10.1-bin.zip!/apache-maven-3.10.1/lib/failureaccess-1.0.3.jar
Apache License
Version 2.0, January 2004
diff --git a/java/maven.embedder/external/apache-maven-3.9.16-guava-33.6.0-jre-license.txt b/java/maven.embedder/external/apache-maven-3.10.1-guava-33.8.0-jre-license.txt
similarity index 99%
rename from java/maven.embedder/external/apache-maven-3.9.16-guava-33.6.0-jre-license.txt
rename to java/maven.embedder/external/apache-maven-3.10.1-guava-33.8.0-jre-license.txt
index 27520460b08f..55ed2069d0ce 100644
--- a/java/maven.embedder/external/apache-maven-3.9.16-guava-33.6.0-jre-license.txt
+++ b/java/maven.embedder/external/apache-maven-3.10.1-guava-33.8.0-jre-license.txt
@@ -1,9 +1,9 @@
Name: Guava
-Version: 33.6.0
+Version: 33.8.0
License: Apache-2.0
Origin: https://github.com/google/guava
Description: Guava is a set of core libraries that includes new collection types (such as multimap and multiset), immutable collections, a graph library, and utilities for concurrency, I/O, hashing, primitives, strings, and more.
-Files: apache-maven-3.9.16-bin.zip!/apache-maven-3.9.16/lib/guava-33.6.0-jre.jar
+Files: apache-maven-3.10.1-bin.zip!/apache-maven-3.10.1/lib/guava-33.8.0-jre.jar
Apache License
Version 2.0, January 2004
diff --git a/java/maven.embedder/external/apache-maven-3.10.1-jakarta.annotation-api-1.3.5-license.txt b/java/maven.embedder/external/apache-maven-3.10.1-jakarta.annotation-api-1.3.5-license.txt
new file mode 100644
index 000000000000..8990b506c53f
--- /dev/null
+++ b/java/maven.embedder/external/apache-maven-3.10.1-jakarta.annotation-api-1.3.5-license.txt
@@ -0,0 +1,284 @@
+Name: Jakarta Annotation API
+Version: 1.3.5
+Description: Part of Apache Maven Distribution
+License: EPL-v20
+Origin: https://projects.eclipse.org/projects/ee4j.ca
+Files: apache-maven-3.10.1-bin.zip!/apache-maven-3.10.1/lib/jakarta.annotation-api-1.3.5.jar
+
+Eclipse Public License - v 2.0
+
+ THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
+ PUBLIC LICENSE (“AGREEMENT”). ANY USE, REPRODUCTION OR DISTRIBUTION
+ OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. Definitions
+
+“Contribution” means:
+
+ a) in the case of the initial Contributor, the initial content
+ Distributed under this Agreement, and
+
+ b) in the case of each subsequent Contributor:
+ i) changes to the Program, and
+ ii) additions to the Program;
+ where such changes and/or additions to the Program originate from
+ and are Distributed by that particular Contributor. A Contribution
+ “originates” from a Contributor if it was added to the Program by
+ such Contributor itself or anyone acting on such Contributor's behalf.
+ Contributions do not include changes or additions to the Program that
+ are not Modified Works.
+
+“Contributor” means any person or entity that Distributes the Program.
+
+“Licensed Patents” mean patent claims licensable by a Contributor which
+are necessarily infringed by the use or sale of its Contribution alone
+or when combined with the Program.
+
+“Program” means the Contributions Distributed in accordance with this
+Agreement.
+
+“Recipient” means anyone who receives the Program under this Agreement
+or any Secondary License (as applicable), including Contributors.
+
+“Derivative Works” shall mean any work, whether in Source Code or other
+form, that is based on (or derived from) the Program and for which the
+editorial revisions, annotations, elaborations, or other modifications
+represent, as a whole, an original work of authorship.
+
+“Modified Works” shall mean any work in Source Code or other form that
+results from an addition to, deletion from, or modification of the
+contents of the Program, including, for purposes of clarity any new file
+in Source Code form that contains any contents of the Program. Modified
+Works shall not include works that contain only declarations,
+interfaces, types, classes, structures, or files of the Program solely
+in each case in order to link to, bind by name, or subclass the Program
+or Modified Works thereof.
+
+“Distribute” means the acts of a) distributing or b) making available
+in any manner that enables the transfer of a copy.
+
+“Source Code” means the form of a Program preferred for making
+modifications, including but not limited to software source code,
+documentation source, and configuration files.
+
+“Secondary License” means either the GNU General Public License,
+Version 2.0, or any later versions of that license, including any
+exceptions or additional permissions as identified by the initial
+Contributor.
+
+2. Grant of Rights
+
+ a) Subject to the terms of this Agreement, each Contributor hereby
+ grants Recipient a non-exclusive, worldwide, royalty-free copyright
+ license to reproduce, prepare Derivative Works of, publicly display,
+ publicly perform, Distribute and sublicense the Contribution of such
+ Contributor, if any, and such Derivative Works.
+
+ b) Subject to the terms of this Agreement, each Contributor hereby
+ grants Recipient a non-exclusive, worldwide, royalty-free patent
+ license under Licensed Patents to make, use, sell, offer to sell,
+ import and otherwise transfer the Contribution of such Contributor,
+ if any, in Source Code or other form. This patent license shall
+ apply to the combination of the Contribution and the Program if, at
+ the time the Contribution is added by the Contributor, such addition
+ of the Contribution causes such combination to be covered by the
+ Licensed Patents. The patent license shall not apply to any other
+ combinations which include the Contribution. No hardware per se is
+ licensed hereunder.
+
+ c) Recipient understands that although each Contributor grants the
+ licenses to its Contributions set forth herein, no assurances are
+ provided by any Contributor that the Program does not infringe the
+ patent or other intellectual property rights of any other entity.
+ Each Contributor disclaims any liability to Recipient for claims
+ brought by any other entity based on infringement of intellectual
+ property rights or otherwise. As a condition to exercising the
+ rights and licenses granted hereunder, each Recipient hereby
+ assumes sole responsibility to secure any other intellectual
+ property rights needed, if any. For example, if a third party
+ patent license is required to allow Recipient to Distribute the
+ Program, it is Recipient's responsibility to acquire that license
+ before distributing the Program.
+
+ d) Each Contributor represents that to its knowledge it has
+ sufficient copyright rights in its Contribution, if any, to grant
+ the copyright license set forth in this Agreement.
+
+ e) Notwithstanding the terms of any Secondary License, no
+ Contributor makes additional grants to any Recipient (other than
+ those set forth in this Agreement) as a result of such Recipient's
+ receipt of the Program under the terms of a Secondary License
+ (if permitted under the terms of Section 3).
+
+3. Requirements
+
+3.1 If a Contributor Distributes the Program in any form, then:
+
+ a) the Program must also be made available as Source Code, in
+ accordance with section 3.2, and the Contributor must accompany
+ the Program with a statement that the Source Code for the Program
+ is available under this Agreement, and informs Recipients how to
+ obtain it in a reasonable manner on or through a medium customarily
+ used for software exchange; and
+
+ b) the Contributor may Distribute the Program under a license
+ different than this Agreement, provided that such license:
+ i) effectively disclaims on behalf of all other Contributors all
+ warranties and conditions, express and implied, including
+ warranties or conditions of title and non-infringement, and
+ implied warranties or conditions of merchantability and fitness
+ for a particular purpose;
+
+ ii) effectively excludes on behalf of all other Contributors all
+ liability for damages, including direct, indirect, special,
+ incidental and consequential damages, such as lost profits;
+
+ iii) does not attempt to limit or alter the recipients' rights
+ in the Source Code under section 3.2; and
+
+ iv) requires any subsequent distribution of the Program by any
+ party to be under a license that satisfies the requirements
+ of this section 3.
+
+3.2 When the Program is Distributed as Source Code:
+
+ a) it must be made available under this Agreement, or if the
+ Program (i) is combined with other material in a separate file or
+ files made available under a Secondary License, and (ii) the initial
+ Contributor attached to the Source Code the notice described in
+ Exhibit A of this Agreement, then the Program may be made available
+ under the terms of such Secondary Licenses, and
+
+ b) a copy of this Agreement must be included with each copy of
+ the Program.
+
+3.3 Contributors may not remove or alter any copyright, patent,
+trademark, attribution notices, disclaimers of warranty, or limitations
+of liability (“notices”) contained within the Program from any copy of
+the Program which they Distribute, provided that Contributors may add
+their own appropriate notices.
+
+4. Commercial Distribution
+
+Commercial distributors of software may accept certain responsibilities
+with respect to end users, business partners and the like. While this
+license is intended to facilitate the commercial use of the Program,
+the Contributor who includes the Program in a commercial product
+offering should do so in a manner which does not create potential
+liability for other Contributors. Therefore, if a Contributor includes
+the Program in a commercial product offering, such Contributor
+(“Commercial Contributor”) hereby agrees to defend and indemnify every
+other Contributor (“Indemnified Contributor”) against any losses,
+damages and costs (collectively “Losses”) arising from claims, lawsuits
+and other legal actions brought by a third party against the Indemnified
+Contributor to the extent caused by the acts or omissions of such
+Commercial Contributor in connection with its distribution of the Program
+in a commercial product offering. The obligations in this section do not
+apply to any claims or Losses relating to any actual or alleged
+intellectual property infringement. In order to qualify, an Indemnified
+Contributor must: a) promptly notify the Commercial Contributor in
+writing of such claim, and b) allow the Commercial Contributor to control,
+and cooperate with the Commercial Contributor in, the defense and any
+related settlement negotiations. The Indemnified Contributor may
+participate in any such claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial
+product offering, Product X. That Contributor is then a Commercial
+Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance
+claims and warranties are such Commercial Contributor's responsibility
+alone. Under this section, the Commercial Contributor would have to
+defend claims against the other Contributors related to those performance
+claims and warranties, and if a court requires any other Contributor to
+pay any damages as a result, the Commercial Contributor must pay
+those damages.
+
+5. No Warranty
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT
+PERMITTED BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN “AS IS”
+BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR
+IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF
+TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR
+PURPOSE. Each Recipient is solely responsible for determining the
+appropriateness of using and distributing the Program and assumes all
+risks associated with its exercise of rights under this Agreement,
+including but not limited to the risks and costs of program errors,
+compliance with applicable laws, damage to or loss of data, programs
+or equipment, and unavailability or interruption of operations.
+
+6. Disclaimer of Liability
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT
+PERMITTED BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS
+SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST
+PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE
+EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+7. General
+
+If any provision of this Agreement is invalid or unenforceable under
+applicable law, it shall not affect the validity or enforceability of
+the remainder of the terms of this Agreement, and without further
+action by the parties hereto, such provision shall be reformed to the
+minimum extent necessary to make such provision valid and enforceable.
+
+If Recipient institutes patent litigation against any entity
+(including a cross-claim or counterclaim in a lawsuit) alleging that the
+Program itself (excluding combinations of the Program with other software
+or hardware) infringes such Recipient's patent(s), then such Recipient's
+rights granted under Section 2(b) shall terminate as of the date such
+litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it
+fails to comply with any of the material terms or conditions of this
+Agreement and does not cure such failure in a reasonable period of
+time after becoming aware of such noncompliance. If all Recipient's
+rights under this Agreement terminate, Recipient agrees to cease use
+and distribution of the Program as soon as reasonably practicable.
+However, Recipient's obligations under this Agreement and any licenses
+granted by Recipient relating to the Program shall continue and survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement,
+but in order to avoid inconsistency the Agreement is copyrighted and
+may only be modified in the following manner. The Agreement Steward
+reserves the right to publish new versions (including revisions) of
+this Agreement from time to time. No one other than the Agreement
+Steward has the right to modify this Agreement. The Eclipse Foundation
+is the initial Agreement Steward. The Eclipse Foundation may assign the
+responsibility to serve as the Agreement Steward to a suitable separate
+entity. Each new version of the Agreement will be given a distinguishing
+version number. The Program (including Contributions) may always be
+Distributed subject to the version of the Agreement under which it was
+received. In addition, after a new version of the Agreement is published,
+Contributor may elect to Distribute the Program (including its
+Contributions) under the new version.
+
+Except as expressly stated in Sections 2(a) and 2(b) above, Recipient
+receives no rights or licenses to the intellectual property of any
+Contributor under this Agreement, whether expressly, by implication,
+estoppel or otherwise. All rights in the Program not expressly granted
+under this Agreement are reserved. Nothing in this Agreement is intended
+to be enforceable by any entity that is not a Contributor or Recipient.
+No third-party beneficiary rights are created under this Agreement.
+
+Exhibit A - Form of Secondary Licenses Notice
+
+“This Source Code may also be made available under the following
+Secondary Licenses when the conditions for such availability set forth
+in the Eclipse Public License, v. 2.0 are satisfied: {name license(s),
+version(s), and exceptions or additional permissions here}.”
+
+ Simply including a copy of this Agreement, including this Exhibit A
+ is not sufficient to license the Source Code under Secondary Licenses.
+
+ If it is not possible or desirable to put the notice in a particular
+ file, then You may include the notice in a location (such as a LICENSE
+ file in a relevant directory) where a recipient would be likely to
+ look for such a notice.
+
+ You may add additional accurate notices of copyright ownership.
diff --git a/java/maven.embedder/external/apache-maven-3.9.16-slf4j-1.7.36-license.txt b/java/maven.embedder/external/apache-maven-3.10.1-slf4j-2.0.20-license.txt
similarity index 92%
rename from java/maven.embedder/external/apache-maven-3.9.16-slf4j-1.7.36-license.txt
rename to java/maven.embedder/external/apache-maven-3.10.1-slf4j-2.0.20-license.txt
index 0b1dc849cc8a..0340f31cb022 100644
--- a/java/maven.embedder/external/apache-maven-3.9.16-slf4j-1.7.36-license.txt
+++ b/java/maven.embedder/external/apache-maven-3.10.1-slf4j-2.0.20-license.txt
@@ -1,9 +1,9 @@
Name: slf4j
Description: Part of Apache Maven Distribution
-Version: 1.7.36
+Version: 2.0.20
License: MIT-slf4j-22
Origin: Apache Software Foundation
-Files: apache-maven-3.9.16-bin.zip!/apache-maven-3.9.16/lib/slf4j-api-1.7.36.jar
+Files: apache-maven-3.10.1-bin.zip!/apache-maven-3.10.1/lib/slf4j-api-2.0.20.jar
Copyright (c) 2004-2022 QOS.ch Sarl (Switzerland)
All rights reserved.
diff --git a/java/maven.embedder/external/apache-maven-3.9.16-javax.annotation-api-1.3.2-license.txt b/java/maven.embedder/external/apache-maven-3.9.16-javax.annotation-api-1.3.2-license.txt
deleted file mode 100644
index b448f77cf20a..000000000000
--- a/java/maven.embedder/external/apache-maven-3.9.16-javax.annotation-api-1.3.2-license.txt
+++ /dev/null
@@ -1,406 +0,0 @@
-Name: Javax Annotation API
-Version: 1.3.2
-Description: Part of Apache Maven Distribution
-License: CDDL-1.1
-Origin: Apache Maven
-Files: apache-maven-3.9.16-bin.zip!/apache-maven-3.9.16/lib/javax.annotation-api-1.3.2.jar
-
-COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.1
-
-1. Definitions.
-
-1.1. "Contributor" means each individual or entity that
-creates or contributes to the creation of Modifications.
-
-1.2. "Contributor Version" means the combination of the
-Original Software, prior Modifications used by a
-Contributor (if any), and the Modifications made by that
-particular Contributor.
-
-1.3. "Covered Software" means (a) the Original Software, or
-(b) Modifications, or (c) the combination of files
-containing Original Software with files containing
-Modifications, in each case including portions thereof.
-
-1.4. "Executable" means the Covered Software in any form
-other than Source Code.
-
-1.5. "Initial Developer" means the individual or entity
-that first makes Original Software available under this
-License.
-
-1.6. "Larger Work" means a work which combines Covered
-Software or portions thereof with code not governed by the
-terms of this License.
-
-1.7. "License" means this document.
-
-1.8. "Licensable" means having the right to grant, to the
-maximum extent possible, whether at the time of the initial
-grant or subsequently acquired, any and all of the rights
-conveyed herein.
-
-1.9. "Modifications" means the Source Code and Executable
-form of any of the following:
-
-A. Any file that results from an addition to,
-deletion from or modification of the contents of a
-file containing Original Software or previous
-Modifications;
-
-B. Any new file that contains any part of the
-Original Software or previous Modification; or
-
-C. Any new file that is contributed or otherwise made
-available under the terms of this License.
-
-1.10. "Original Software" means the Source Code and
-Executable form of computer software code that is
-originally released under this License.
-
-1.11. "Patent Claims" means any patent claim(s), now owned
-or hereafter acquired, including without limitation,
-method, process, and apparatus claims, in any patent
-Licensable by grantor.
-
-1.12. "Source Code" means (a) the common form of computer
-software code in which modifications are made and (b)
-associated documentation included in or with such code.
-
-1.13. "You" (or "Your") means an individual or a legal
-entity exercising rights under, and complying with all of
-the terms of, this License. For legal entities, "You"
-includes any entity which controls, is controlled by, or is
-under common control with You. For purposes of this
-definition, "control" means (a) the power, direct or
-indirect, to cause the direction or management of such
-entity, whether by contract or otherwise, or (b) ownership
-of more than fifty percent (50%) of the outstanding shares
-or beneficial ownership of such entity.
-
-2. License Grants.
-
-2.1. The Initial Developer Grant.
-
-Conditioned upon Your compliance with Section 3.1 below and
-subject to third party intellectual property claims, the
-Initial Developer hereby grants You a world-wide,
-royalty-free, non-exclusive license:
-
-(a) under intellectual property rights (other than
-patent or trademark) Licensable by Initial Developer,
-to use, reproduce, modify, display, perform,
-sublicense and distribute the Original Software (or
-portions thereof), with or without Modifications,
-and/or as part of a Larger Work; and
-
-(b) under Patent Claims infringed by the making,
-using or selling of Original Software, to make, have
-made, use, practice, sell, and offer for sale, and/or
-otherwise dispose of the Original Software (or
-portions thereof).
-
-(c) The licenses granted in Sections 2.1(a) and (b)
-are effective on the date Initial Developer first
-distributes or otherwise makes the Original Software
-available to a third party under the terms of this
-License.
-
-(d) Notwithstanding Section 2.1(b) above, no patent
-license is granted: (1) for code that You delete from
-the Original Software, or (2) for infringements
-caused by: (i) the modification of the Original
-Software, or (ii) the combination of the Original
-Software with other software or devices.
-
-2.2. Contributor Grant.
-
-Conditioned upon Your compliance with Section 3.1 below and
-subject to third party intellectual property claims, each
-Contributor hereby grants You a world-wide, royalty-free,
-non-exclusive license:
-
-(a) under intellectual property rights (other than
-patent or trademark) Licensable by Contributor to
-use, reproduce, modify, display, perform, sublicense
-and distribute the Modifications created by such
-Contributor (or portions thereof), either on an
-unmodified basis, with other Modifications, as
-Covered Software and/or as part of a Larger Work; and
-
-(b) under Patent Claims infringed by the making,
-using, or selling of Modifications made by that
-Contributor either alone and/or in combination with
-its Contributor Version (or portions of such
-combination), to make, use, sell, offer for sale,
-have made, and/or otherwise dispose of: (1)
-Modifications made by that Contributor (or portions
-thereof); and (2) the combination of Modifications
-made by that Contributor with its Contributor Version
-(or portions of such combination).
-
-(c) The licenses granted in Sections 2.2(a) and
-2.2(b) are effective on the date Contributor first
-distributes or otherwise makes the Modifications
-available to a third party.
-
-(d) Notwithstanding Section 2.2(b) above, no patent
-license is granted: (1) for any code that Contributor
-has deleted from the Contributor Version; (2) for
-infringements caused by: (i) third party
-modifications of Contributor Version, or (ii) the
-combination of Modifications made by that Contributor
-with other software (except as part of the
-Contributor Version) or other devices; or (3) under
-Patent Claims infringed by Covered Software in the
-absence of Modifications made by that Contributor.
-
-3. Distribution Obligations.
-
-3.1. Availability of Source Code.
-
-Any Covered Software that You distribute or otherwise make
-available in Executable form must also be made available in
-Source Code form and that Source Code form must be
-distributed only under the terms of this License. You must
-include a copy of this License with every copy of the
-Source Code form of the Covered Software You distribute or
-otherwise make available. You must inform recipients of any
-such Covered Software in Executable form as to how they can
-obtain such Covered Software in Source Code form in a
-reasonable manner on or through a medium customarily used
-for software exchange.
-
-3.2. Modifications.
-
-The Modifications that You create or to which You
-contribute are governed by the terms of this License. You
-represent that You believe Your Modifications are Your
-original creation(s) and/or You have sufficient rights to
-grant the rights conveyed by this License.
-
-3.3. Required Notices.
-
-You must include a notice in each of Your Modifications
-that identifies You as the Contributor of the Modification.
-You may not remove or alter any copyright, patent or
-trademark notices contained within the Covered Software, or
-any notices of licensing or any descriptive text giving
-attribution to any Contributor or the Initial Developer.
-
-3.4. Application of Additional Terms.
-
-You may not offer or impose any terms on any Covered
-Software in Source Code form that alters or restricts the
-applicable version of this License or the recipients'
-rights hereunder. You may choose to offer, and to charge a
-fee for, warranty, support, indemnity or liability
-obligations to one or more recipients of Covered Software.
-However, you may do so only on Your own behalf, and not on
-behalf of the Initial Developer or any Contributor. You
-must make it absolutely clear that any such warranty,
-support, indemnity or liability obligation is offered by
-You alone, and You hereby agree to indemnify the Initial
-Developer and every Contributor for any liability incurred
-by the Initial Developer or such Contributor as a result of
-warranty, support, indemnity or liability terms You offer.
-
-3.5. Distribution of Executable Versions.
-
-You may distribute the Executable form of the Covered
-Software under the terms of this License or under the terms
-of a license of Your choice, which may contain terms
-different from this License, provided that You are in
-compliance with the terms of this License and that the
-license for the Executable form does not attempt to limit
-or alter the recipient's rights in the Source Code form
-from the rights set forth in this License. If You
-distribute the Covered Software in Executable form under a
-different license, You must make it absolutely clear that
-any terms which differ from this License are offered by You
-alone, not by the Initial Developer or Contributor. You
-hereby agree to indemnify the Initial Developer and every
-Contributor for any liability incurred by the Initial
-Developer or such Contributor as a result of any such terms
-You offer.
-
-3.6. Larger Works.
-
-You may create a Larger Work by combining Covered Software
-with other code not governed by the terms of this License
-and distribute the Larger Work as a single product. In such
-a case, You must make sure the requirements of this License
-are fulfilled for the Covered Software.
-
-4. Versions of the License.
-
-4.1. New Versions.
-
-Oracle is the initial license steward and
-may publish revised and/or new versions of this License
-from time to time. Each version will be given a
-distinguishing version number. Except as provided in
-Section 4.3, no one other than the license steward has the
-right to modify this License.
-
-4.2. Effect of New Versions.
-
-You may always continue to use, distribute or otherwise
-make the Covered Software available under the terms of the
-version of the License under which You originally received
-the Covered Software. If the Initial Developer includes a
-notice in the Original Software prohibiting it from being
-distributed or otherwise made available under any
-subsequent version of the License, You must distribute and
-make the Covered Software available under the terms of the
-version of the License under which You originally received
-the Covered Software. Otherwise, You may also choose to
-use, distribute or otherwise make the Covered Software
-available under the terms of any subsequent version of the
-License published by the license steward.
-
-4.3. Modified Versions.
-
-When You are an Initial Developer and You want to create a
-new license for Your Original Software, You may create and
-use a modified version of this License if You: (a) rename
-the license and remove any references to the name of the
-license steward (except to note that the license differs
-from this License); and (b) otherwise make it clear that
-the license contains terms which differ from this License.
-
-5. DISCLAIMER OF WARRANTY.
-
-COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS"
-BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
-INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED
-SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR
-PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND
-PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY
-COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE
-INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF
-ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF
-WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF
-ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS
-DISCLAIMER.
-
-6. TERMINATION.
-
-6.1. This License and the rights granted hereunder will
-terminate automatically if You fail to comply with terms
-herein and fail to cure such breach within 30 days of
-becoming aware of the breach. Provisions which, by their
-nature, must remain in effect beyond the termination of
-this License shall survive.
-
-6.2. If You assert a patent infringement claim (excluding
-declaratory judgment actions) against Initial Developer or
-a Contributor (the Initial Developer or Contributor against
-whom You assert such claim is referred to as "Participant")
-alleging that the Participant Software (meaning the
-Contributor Version where the Participant is a Contributor
-or the Original Software where the Participant is the
-Initial Developer) directly or indirectly infringes any
-patent, then any and all rights granted directly or
-indirectly to You by such Participant, the Initial
-Developer (if the Initial Developer is not the Participant)
-and all Contributors under Sections 2.1 and/or 2.2 of this
-License shall, upon 60 days notice from Participant
-terminate prospectively and automatically at the expiration
-of such 60 day notice period, unless if within such 60 day
-period You withdraw Your claim with respect to the
-Participant Software against such Participant either
-unilaterally or pursuant to a written agreement with
-Participant.
-
-6.3. If You assert a patent infringement claim against
-Participant alleging that the Participant Software directly
-or indirectly infringes any patent where such claim is
-resolved (such as by license or settlement) prior to the
-initiation of patent infringement litigation, then the
-reasonable value of the licenses granted by such Participant
-under Sections 2.1 or 2.2 shall be taken into account in
-determining the amount or value of any payment or license.
-
-6.4. In the event of termination under Sections 6.1 or 6.2
-above, all end user licenses that have been validly granted
-by You or any distributor hereunder prior to termination
-(excluding licenses granted to You by any distributor)
-shall survive termination.
-
-7. LIMITATION OF LIABILITY.
-
-UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
-(INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE
-INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF
-COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE
-LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR
-CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT
-LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK
-STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
-COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN
-INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
-LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL
-INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT
-APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO
-NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR
-CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT
-APPLY TO YOU.
-
-8. U.S. GOVERNMENT END USERS.
-
-The Covered Software is a "commercial item," as that term is
-defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial
-computer software" (as that term is defined at 48 C.F.R.
-§ 252.227-7014(a)(1)) and "commercial computer software
-documentation" as such terms are used in 48 C.F.R. 12.212 (Sept.
-1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1
-through 227.7202-4 (June 1995), all U.S. Government End Users
-acquire Covered Software with only those rights set forth herein.
-This U.S. Government Rights clause is in lieu of, and supersedes,
-any other FAR, DFAR, or other clause or provision that addresses
-Government rights in computer software under this License.
-
-9. MISCELLANEOUS.
-
-This License represents the complete agreement concerning subject
-matter hereof. If any provision of this License is held to be
-unenforceable, such provision shall be reformed only to the
-extent necessary to make it enforceable. This License shall be
-governed by the law of the jurisdiction specified in a notice
-contained within the Original Software (except to the extent
-applicable law, if any, provides otherwise), excluding such
-jurisdiction's conflict-of-law provisions. Any litigation
-relating to this License shall be subject to the jurisdiction of
-the courts located in the jurisdiction and venue specified in a
-notice contained within the Original Software, with the losing
-party responsible for costs, including, without limitation, court
-costs and reasonable attorneys' fees and expenses. The
-application of the United Nations Convention on Contracts for the
-International Sale of Goods is expressly excluded. Any law or
-regulation which provides that the language of a contract shall
-be construed against the drafter shall not apply to this License.
-You agree that You alone are responsible for compliance with the
-United States export administration regulations (and the export
-control laws and regulation of any other countries) when You use,
-distribute or otherwise make available any Covered Software.
-
-10. RESPONSIBILITY FOR CLAIMS.
-
-As between Initial Developer and the Contributors, each party is
-responsible for claims and damages arising, directly or
-indirectly, out of its utilization of rights under this License
-and You agree to work with Initial Developer and Contributors to
-distribute such responsibility on an equitable basis. Nothing
-herein is intended or shall be deemed to constitute any admission
-of liability.
-
-NOTICE PURSUANT TO SECTION 9 OF THE COMMON DEVELOPMENT AND
-DISTRIBUTION LICENSE (CDDL)
-
-The code released under the CDDL shall be governed by the laws
-of the State of California (excluding conflict-of-law provisions).
-Any litigation relating to this License shall be subject to the
-jurisdiction of the Federal Courts of the Northern District of
-California and the state courts of the State of California, with
-venue lying in Santa Clara County, California.
diff --git a/java/maven.embedder/external/binaries-list b/java/maven.embedder/external/binaries-list
index ef6babe93214..b8600241628b 100644
--- a/java/maven.embedder/external/binaries-list
+++ b/java/maven.embedder/external/binaries-list
@@ -16,4 +16,4 @@
# under the License.
DC15DFF8F701B227EE523EEB7A17F77C10EAFE2F org.jdom:jdom2:2.0.6.1
5D9CE6ADD7B714B8095F0E3E396C5E9F8C5DCFEF org.apache.maven.shared:maven-dependency-tree:2.2
-18E39B277439D736A03AF4C067AC51C26BCF7A95 org.apache.maven:apache-maven:3.9.16:bin@zip
+CE36C0B508A7B49287EF47991BDA51144898CF09 https://releases.apache.org/download/path/maven/3.10.1/binaries/apache-maven-3.10.1-bin.zip apache-maven-3.10.1-bin.zip
diff --git a/java/maven.embedder/external/binariesembedded-list b/java/maven.embedder/external/binariesembedded-list
index e6670f7de1ec..bf4e486f7ea6 100644
--- a/java/maven.embedder/external/binariesembedded-list
+++ b/java/maven.embedder/external/binariesembedded-list
@@ -15,54 +15,53 @@
# specific language governing permissions and limitations
# under the License.
-2CEEA6AB43BCAE1979B2A6D85FC0CA429877E5AB;org.ow2.asm:asm:9.9.1
+EDB29AA0C2DA2918CE338FB7B218C21EA138DDE2;org.ow2.asm:asm:9.11.1
0235BA8B489512805AC13A8F9EA77A1CA5EBE3E8;aopalliance:aopalliance:1.0
1194890E6F56EC29177673F2F12D0B8E627DEC98;org.apache.httpcomponents:httpclient:4.5.14
51CF043C87253C9F58B539C9F7E44C8894223850;org.apache.httpcomponents:httpcore:4.4.16
AEAFFD00D57023A2C947393ED251F0354F0985FC;com.google.guava:failureaccess:1.0.3
A461452D3E31BEBF2706323F8738EC44B19C96E1;commons-cli:commons-cli:1.11.0
-D95F998DB5F89900FE895DAF6CD2CDDCB2F1D64B;commons-codec:commons-codec:1.21.0
-48B8230771E573B54CE6E867A9001E75977FE78E;com.google.code.gson:gson:2.13.2
-4381275EFDEF6DDFAE38F002C31E84CD001C97F0;com.google.errorprone:error_prone_annotations:2.41.0
-C376B13067CC99A5774403530953F7B05A91E218;com.google.guava:guava:33.6.0-jre
+11ADF2DAAEB941E80599A3E8010D63AED995F509;commons-codec:commons-codec:1.23.0
+3C8F3903BD90F774DE74F126BE756BBC1408ABCB;com.google.code.gson:gson:2.15.0
+74BA43E49AB1184D41634AF2EF0047E82C4064B0;com.google.errorprone:error_prone_annotations:2.50.0
+BB3B79346325315062192205FA6636DD5873151F;com.google.guava:guava:33.8.0-jre
E7BA4C25BEC3761840F67C73F166C0D509D01D1D;com.google.inject:guice:5.1.0:classes
-C8DC6E80D4FF74B0ECE025CF7EFA583C49CECF70;org.fusesource.jansi:jansi:2.4.3
-7425A601C1C7EC76645A78D22B8C6A627EDEE507;org.jspecify:jspecify:1.0.0
+3D60FD98EB8ADE73004F4195C37B6317E02CF3D7;org.jspecify:jspecify:1.0.1
6975DA39A7040257BD51D21A231B76C915872D38;javax.inject:javax.inject:1
-D877E195A05ACA4A2F1AD2FF14BFEC1393AF4B5E;org.slf4j:jcl-over-slf4j:1.7.36
-934C04D3CFEF185A8008E7BF34331B79730A9D43;javax.annotation:javax.annotation-api:1.3.2
-1176C6579A8A68508C3479EF72D514E71C98DDCA;org.apache.maven:maven-artifact:3.9.16
-D23AD247143E3B0FB6DE5B61C56D46BBA6513F9B;org.apache.maven:maven-builder-support:3.9.16
-98607B3EDD15524059443FBE5A78B895C74CB0EF;org.apache.maven:maven-compat:3.9.16
-1F2B4176F1395310A9BCE323919189CEC51F7115;org.apache.maven:maven-core:3.9.16
-52830CBE05B41B4EFA66F5C9B3A55E9E44D5B8C0;org.apache.maven:maven-embedder:3.9.16
-6F93DBC874EF321B0C3734DEE41A6D17E18CEEBD;org.apache.maven:maven-model:3.9.16
-EB7A9CA8CC2D61D7C6430DD2EE16F71628B2046D;org.apache.maven:maven-model-builder:3.9.16
-4509EBC6C30856368A5786859342EEF9B43AB27A;org.apache.maven:maven-plugin-api:3.9.16
-D2013B76825DE9D844D5894E17FB4A894E8E8AE1;org.apache.maven:maven-repository-metadata:3.9.16
-2FE7E86E3C193121789470507CF4FADD5BD7AD59;org.apache.maven.resolver:maven-resolver-api:1.9.27
-219C1F8C3289B9382B1F86FC278430D3A22968C3;org.apache.maven.resolver:maven-resolver-connector-basic:1.9.27
-876FC89223D9572CADE60A1B8158846724548D07;org.apache.maven.resolver:maven-resolver-impl:1.9.27
-72C89AD87BE374309A7308EE144949360ED482E8;org.apache.maven.resolver:maven-resolver-named-locks:1.9.27
-92FAACF3D46FE4B971689B4839B0D9AAF438CE48;org.apache.maven:maven-resolver-provider:3.9.16
-FB64E47ACDC73F938B4D5B6464EF7A6351F983D5;org.apache.maven.resolver:maven-resolver-spi:1.9.27
-6931510AEC55201631D9D904A7D4F8F81541A335;org.apache.maven.resolver:maven-resolver-transport-http:1.9.27
-23AF71B8583C0EF51004590196DE12C410DBCCF6;org.apache.maven.resolver:maven-resolver-transport-wagon:1.9.27
-89A2B09002672807C05B3B10AFCCBCB9CFCD8486;org.apache.maven.resolver:maven-resolver-transport-file:1.9.27
-7EE4446AF6AAB27475765EC9C9DC1FB2B082AF2B;org.apache.maven.resolver:maven-resolver-util:1.9.27
-AB466FE1CB5B80D1B5E6F6B5BA3F87DFC56F75B6;org.apache.maven:maven-settings:3.9.16
-31321459AEE3DD0A12D72A9FB71BFAC31B0FB529;org.apache.maven:maven-settings-builder:3.9.16
-BFA28296272A5915B08DE9F11F34A94B0A818FD0;org.apache.maven.shared:maven-shared-utils:3.4.2
-B9BE9600688720D79CE2374C167CBCEBA8EE9F6D;org.apache.maven:maven-slf4j-provider:3.9.16
-D9C2D6FF4B461AB9492EDB1CD9D8239CFB41F4CA;org.eclipse.sisu:org.eclipse.sisu.inject:1.0.0
-873767E95597C9E31749123A408BD4949C29A46C;org.eclipse.sisu:org.eclipse.sisu.plexus:1.0.0
+7CB2437E20D244474B1C5A50747E4B376E9A2DAF;org.slf4j:jcl-over-slf4j:2.0.20
+59EB84EE0D616332FF44ABA065F3888CF002CD2D;jakarta.annotation:jakarta.annotation-api:1.3.5
+1ECC014F6983A14814A1997677D01FCCD022176F;org.apache.maven:maven-artifact:3.10.1
+A7435BEBC5CC2B284F236A251C7D6A54FA90B7A4;org.apache.maven:maven-builder-support:3.10.1
+6484E2B37E6FA21DD2688813ADC471BCBE17F1C2;org.apache.maven:maven-compat:3.10.1
+8F074BFEB5442C188CAB1A132807A9992D04B58A;org.apache.maven:maven-core:3.10.1
+8F2860DE8E07AA674AE00D25FC3546FB8252C1BB;org.apache.maven:maven-embedder:3.10.1
+5BB7AE4F9B20FE67AD180DBB5EA4F119AEF2200C;org.apache.maven:maven-model:3.10.1
+BF01F4E2FDA2484A2BAF23F49C66D89BC37574AB;org.apache.maven:maven-model-builder:3.10.1
+B7D59A2571F38D137767BC818F3809124FA75958;org.apache.maven:maven-jline:3.10.1
+04992A23A6EE5C8DB014782E7538365E08F026C9;org.apache.maven:maven-plugin-api:3.10.1
+36F243200E33B6881EAD979B16BF1E782BFACD7B;org.apache.maven:maven-repository-metadata:3.10.1
+63F5E263C07BE450365495956EFA6E708B94605A;org.apache.maven.resolver:maven-resolver-api:2.0.25
+C8238696897F8E39E99309FAC03DE7360811B30B;org.apache.maven.resolver:maven-resolver-connector-basic:2.0.25
+7A8907F15C0805BA63074DE4D2C6B49D4A782D1E;org.apache.maven.resolver:maven-resolver-impl:2.0.25
+3A846789C5687C8F1B515DF663B4CDD8728AA3EF;org.apache.maven.resolver:maven-resolver-named-locks:2.0.25
+DA38410EFE910EF02AA16FA669AE52875D23F541;org.apache.maven:maven-resolver-provider:3.10.1
+42AD9713D8F11B3BF217B021746FE6DC4A31606E;org.apache.maven.resolver:maven-resolver-spi:2.0.25
+12C5B5C8E6DC9307CD172A6878FB5A233F6C8742;org.apache.maven.resolver:maven-resolver-transport-apache:2.0.25
+61B98F0F9C3EE2FBFE1C1846025C40DFCF28CC6D;org.apache.maven.resolver:maven-resolver-transport-wagon:2.0.25
+2932C7697937F1C1873FB1205447106D6567EE6B;org.apache.maven.resolver:maven-resolver-transport-file:2.0.25
+095325D637EBC2659C42FBE66AD25CEBF038C4AC;org.apache.maven.resolver:maven-resolver-util:2.0.25
+8394BF034618B6454FDED6CCB876943F5E39BEA5;org.apache.maven:maven-settings:3.10.1
+60CE5EB20892ED76E56BF4A9D0B40084D40674B4;org.apache.maven:maven-settings-builder:3.10.1
+530E60887D602F922663A2B945B71BBBDA9208E9;org.apache.maven:maven-slf4j-provider:3.10.1
+A3A13397548B1B727F030B6CA7AEACE5BC36A155;org.eclipse.sisu:org.eclipse.sisu.inject:1.1.2
+2655272288ADDDFB02F2465E9D23CC39F7AFF502;org.eclipse.sisu:org.eclipse.sisu.plexus:1.1.2
425EA8E534716B4BFF1EA90F39BD76BE951D651B;org.codehaus.plexus:plexus-cipher:2.0
-6586BA9F3137D7AC7B9789F1FCF7C4E192482905;org.codehaus.plexus:plexus-classworlds:2.11.0
+A050C2D8C80E8CC20C423CCD189C262A5D85A260;org.codehaus.plexus:plexus-classworlds:2.12.1
A506F84636EA7AE370D04167DD155C103E616F68;org.codehaus.plexus:plexus-component-annotations:2.2.0
-5DD1B1FBACA263AD5BAA169FBD8E804C789C9DB5;org.codehaus.plexus:plexus-interpolation:1.29
+E48988A88CF1624451648F1C150E88C36AA724DE;org.codehaus.plexus:plexus-interpolation:1.30.0
F89C5080614FFD0764E49861895DBEDDE1B47237;org.codehaus.plexus:plexus-sec-dispatcher:2.0
-9DCE1B9C69B197F453223E45A2CB9FA0CD48B424;org.codehaus.plexus:plexus-utils:3.6.1
-6C62681A2F655B49963A5983B8B0950A6120AE14;org.slf4j:slf4j-api:1.7.36
+C8E32E2F08FB3A0E6CAF34F1448CC69F077F4282;org.codehaus.plexus:plexus-utils:3.6.2
+7FEA9D92BA67E9B3C8F03515FB202B86A1FE44F6;org.slf4j:slf4j-api:2.0.20
A09F59BE3767DBFF0401828463D1752A9CB0C551;org.apache.maven.wagon:wagon-file:3.5.3
673D54E78F83C4700C8250A48C61F4C70EEF9BC3;org.apache.maven.wagon:wagon-http:3.5.3
635C3D5718A70E3ECFD78F2FEF99BB6E0ABAED58;org.apache.maven.wagon:wagon-http-shared:3.5.3
diff --git a/java/maven.embedder/nbproject/project.properties b/java/maven.embedder/nbproject/project.properties
index ba9db748173d..91ed6be7ef1e 100644
--- a/java/maven.embedder/nbproject/project.properties
+++ b/java/maven.embedder/nbproject/project.properties
@@ -16,11 +16,11 @@
# under the License.
is.autoload=true
-javac.release=17
+javac.release=21
javac.compilerargs=-Xlint -Xlint:-serial
release.external/jdom2-2.0.6.1.jar=modules/ext/maven/jdom2-2.0.6.1.jar
release.external/maven-dependency-tree-2.2.jar=modules/ext/maven/maven-dependency-tree-2.2.jar
-bundled.maven=apache-maven-3.9.16
+bundled.maven=apache-maven-3.10.1
extra.module.files=maven/
nbm.executable.files=maven/bin/mvn,maven/bin/mvnDebug,maven/bin/mvnyjp
extra.license.files=${cluster}/maven/LICENSE.txt,${cluster}/maven/NOTICE.txt
diff --git a/java/maven.embedder/nbproject/project.xml b/java/maven.embedder/nbproject/project.xml
index c53f48f76c96..322ceea81d85 100644
--- a/java/maven.embedder/nbproject/project.xml
+++ b/java/maven.embedder/nbproject/project.xml
@@ -221,6 +221,7 @@
org.apache.maven.project.pathorg.apache.maven.repositoryorg.apache.maven.repository.legacy
+ org.apache.maven.repository.supplierorg.apache.maven.settingsorg.apache.maven.settings.buildingorg.apache.maven.settings.crypto
@@ -321,31 +322,31 @@
- ../maven/boot/plexus-classworlds-2.11.0.jar
+ ../maven/boot/plexus-classworlds-2.12.1.jar../maven/lib/aopalliance-1.0.jar
- ../maven/lib/asm-9.9.1.jar
+ ../maven/lib/asm-9.11.1.jar../maven/lib/commons-cli-1.11.0.jar
- ../maven/lib/commons-codec-1.21.0.jar
+ ../maven/lib/commons-codec-1.23.0.jar
- ../maven/lib/error_prone_annotations-2.41.0.jar
+ ../maven/lib/error_prone_annotations-2.50.0.jar../maven/lib/failureaccess-1.0.3.jar
- ../maven/lib/gson-2.13.2.jar
+ ../maven/lib/gson-2.15.0.jar
- ../maven/lib/guava-33.6.0-jre.jar
+ ../maven/lib/guava-33.8.0-jre.jar../maven/lib/guice-5.1.0-classes.jar
@@ -356,100 +357,92 @@
../maven/lib/httpcore-4.4.16.jar
-
-
- ../maven/lib/javax.annotation-api-1.3.2.jar
+ ../maven/lib/jakarta.annotation-api-1.3.5.jar../maven/lib/javax.inject-1.jar
- ../maven/lib/jcl-over-slf4j-1.7.36.jar
+ ../maven/lib/jcl-over-slf4j-2.0.20.jar
- ../maven/lib/jspecify-1.0.0.jar
+ ../maven/lib/jspecify-1.0.1.jar
- ../maven/lib/maven-artifact-3.9.16.jar
+ ../maven/lib/maven-artifact-3.10.1.jar
- ../maven/lib/maven-builder-support-3.9.16.jar
+ ../maven/lib/maven-builder-support-3.10.1.jar
- ../maven/lib/maven-compat-3.9.16.jar
+ ../maven/lib/maven-compat-3.10.1.jar
- ../maven/lib/maven-core-3.9.16.jar
+ ../maven/lib/maven-core-3.10.1.jar
- ../maven/lib/maven-embedder-3.9.16.jar
+ ../maven/lib/maven-embedder-3.10.1.jar
- ../maven/lib/maven-model-3.9.16.jar
+ ../maven/lib/maven-jline-3.10.1.jar
- ../maven/lib/maven-model-builder-3.9.16.jar
+ ../maven/lib/maven-model-3.10.1.jar
- ../maven/lib/maven-plugin-api-3.9.16.jar
+ ../maven/lib/maven-model-builder-3.10.1.jar
- ../maven/lib/maven-repository-metadata-3.9.16.jar
+ ../maven/lib/maven-plugin-api-3.10.1.jar
- ../maven/lib/maven-resolver-api-1.9.27.jar
+ ../maven/lib/maven-repository-metadata-3.10.1.jar
- ../maven/lib/maven-resolver-connector-basic-1.9.27.jar
+ ../maven/lib/maven-resolver-api-2.0.25.jar
- ../maven/lib/maven-resolver-impl-1.9.27.jar
+ ../maven/lib/maven-resolver-connector-basic-2.0.25.jar
- ../maven/lib/maven-resolver-named-locks-1.9.27.jar
+ ../maven/lib/maven-resolver-impl-2.0.25.jar
- ../maven/lib/maven-resolver-provider-3.9.16.jar
+ ../maven/lib/maven-resolver-named-locks-2.0.25.jar
- ../maven/lib/maven-resolver-spi-1.9.27.jar
+ ../maven/lib/maven-resolver-provider-3.10.1.jar
- ../maven/lib/maven-resolver-transport-file-1.9.27.jar
+ ../maven/lib/maven-resolver-spi-2.0.25.jar
- ../maven/lib/maven-resolver-transport-http-1.9.27.jar
+ ../maven/lib/maven-resolver-transport-apache-2.0.25.jar
- ../maven/lib/maven-resolver-transport-wagon-1.9.27.jar
+ ../maven/lib/maven-resolver-transport-file-2.0.25.jar
- ../maven/lib/maven-resolver-util-1.9.27.jar
+ ../maven/lib/maven-resolver-transport-wagon-2.0.25.jar
- ../maven/lib/maven-settings-3.9.16.jar
+ ../maven/lib/maven-resolver-util-2.0.25.jar
- ../maven/lib/maven-settings-builder-3.9.16.jar
+ ../maven/lib/maven-settings-3.10.1.jar
- ../maven/lib/maven-shared-utils-3.4.2.jar
+ ../maven/lib/maven-settings-builder-3.10.1.jar
- ../maven/lib/maven-slf4j-provider-3.9.16.jar
+ ../maven/lib/maven-slf4j-provider-3.10.1.jar
- ../maven/lib/org.eclipse.sisu.inject-1.0.0.jar
+ ../maven/lib/org.eclipse.sisu.inject-1.1.2.jar
- ../maven/lib/org.eclipse.sisu.plexus-1.0.0.jar
+ ../maven/lib/org.eclipse.sisu.plexus-1.1.2.jar../maven/lib/plexus-cipher-2.0.jar
@@ -458,16 +451,16 @@
../maven/lib/plexus-component-annotations-2.2.0.jar
- ../maven/lib/plexus-interpolation-1.29.jar
+ ../maven/lib/plexus-interpolation-1.30.0.jar../maven/lib/plexus-sec-dispatcher-2.0.jar
- ../maven/lib/plexus-utils-3.6.1.jar
+ ../maven/lib/plexus-utils-3.6.2.jar
- ../maven/lib/slf4j-api-1.7.36.jar
+ ../maven/lib/slf4j-api-2.0.20.jar../maven/lib/wagon-file-3.5.3.jar
diff --git a/java/maven.embedder/src/org/netbeans/modules/maven/embedder/ArtifactFixer.java b/java/maven.embedder/src/org/netbeans/modules/maven/embedder/ArtifactFixer.java
index 8d77da4a08de..077be3324579 100644
--- a/java/maven.embedder/src/org/netbeans/modules/maven/embedder/ArtifactFixer.java
+++ b/java/maven.embedder/src/org/netbeans/modules/maven/embedder/ArtifactFixer.java
@@ -28,10 +28,29 @@
public interface ArtifactFixer {
/**
- * Possibly resolves an artifact.
+ * Possibly resolves an artifact. May be called concurrently from multiple
+ * threads of the dependency collection.
* @param artifact an artifact which might or might not be available in local repo
* @return a file to resolve it to locally, or null to skip
*/
File resolve(Artifact artifact);
+ /**
+ * Possibly resolves an artifact, recording any placeholder artifacts it forges
+ * into the given capture. May be called concurrently from multiple threads of the
+ * dependency collection, so implementations must not rely on thread-locals to
+ * receive the sink.
+ *
+ * The default implementation simply delegates to {@link #resolve(Artifact)}, so
+ * existing implementations keep working; they just do not report placeholder
+ * artifacts.
+ * @param artifact an artifact which might or might not be available in local repo
+ * @param capture sink for the placeholder artifacts forged by this method, or
+ * null if the caller does not need them
+ * @return a file to resolve it to locally, or null to skip
+ */
+ default File resolve(Artifact artifact, PlaceholderCapture capture) {
+ return resolve(artifact);
+ }
+
}
diff --git a/java/maven.embedder/src/org/netbeans/modules/maven/embedder/MavenEmbedder.java b/java/maven.embedder/src/org/netbeans/modules/maven/embedder/MavenEmbedder.java
index 45691cccbf2d..147a16320442 100644
--- a/java/maven.embedder/src/org/netbeans/modules/maven/embedder/MavenEmbedder.java
+++ b/java/maven.embedder/src/org/netbeans/modules/maven/embedder/MavenEmbedder.java
@@ -48,7 +48,6 @@
import org.apache.maven.artifact.resolver.ArtifactResolutionRequest;
import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
import org.apache.maven.artifact.resolver.ArtifactResolver;
-import org.apache.maven.cli.configuration.SettingsXmlConfigurationProcessor;
import org.apache.maven.execution.DefaultMavenExecutionRequest;
import org.apache.maven.execution.DefaultMavenExecutionResult;
import org.apache.maven.execution.MavenExecutionRequest;
@@ -243,10 +242,23 @@ public synchronized Settings getSettings() {
public MavenExecutionResult readProjectWithDependencies(MavenExecutionRequest req) {
return readProjectWithDependencies(req, true);
}
-
+
public MavenExecutionResult readProjectWithDependencies(MavenExecutionRequest req, boolean useWorkspaceResolution) {
+ return readProjectWithDependencies(req, useWorkspaceResolution, null);
+ }
+
+ /**
+ * Reads a project and resolves its dependencies with workspace resolution
+ * enabled, collecting the placeholder artifacts forged by artifact fixers
+ * into the given capture.
+ * @param req the request to build the project from
+ * @param useWorkspaceResolution whether to use the workspace (project) resolution
+ * @param capture sink for the placeholder artifacts, may be null if they are not needed
+ * @return the result of reading the project
+ */
+ public MavenExecutionResult readProjectWithDependencies(MavenExecutionRequest req, boolean useWorkspaceResolution, PlaceholderCapture capture) {
if (useWorkspaceResolution) {
- req.setWorkspaceReader(new NbWorkspaceReader(versionResolver));
+ req.setWorkspaceReader(new NbWorkspaceReader(versionResolver, capture));
}
File pomFile = req.getPom();
MavenExecutionResult result = new DefaultMavenExecutionResult();
@@ -258,7 +270,8 @@ public MavenExecutionResult readProjectWithDependencies(MavenExecutionRequest re
ProjectBuildingResult projectBuildingResult = projectBuilder.build(pomFile, configuration);
result.setProject(projectBuildingResult.getProject());
result.setDependencyResolutionResult(projectBuildingResult.getDependencyResolutionResult());
- } catch (ProjectBuildingException ex) {
+ } catch (ProjectBuildingException
+ | IllegalArgumentException ex) { // "Invalid Collect Request" from DefaultRepositorySystemValidator (when parent pom not in repo?)
//don't add the exception here. this should come out as a build marker, not fill
//the error logs with msgs
return result.addException(ex);
@@ -269,7 +282,7 @@ public MavenExecutionResult readProjectWithDependencies(MavenExecutionRequest re
public List readProjectsWithDependencies(MavenExecutionRequest req, List poms, boolean useWorkspaceResolution) {
if (useWorkspaceResolution) {
- req.setWorkspaceReader(new NbWorkspaceReader(versionResolver));
+ req.setWorkspaceReader(new NbWorkspaceReader(versionResolver, null));
}
// File pomFile = req.getPom();
@@ -644,7 +657,15 @@ public void setUpLegacySupport() {
DefaultMirrorSelector mirrorSelector = new DefaultMirrorSelector();
Settings _settings = getSettings();
for (Mirror m : _settings.getMirrors()) {
- mirrorSelector.add(m.getId(), m.getUrl(), m.getLayout(), false, m.getMirrorOf(), m.getMirrorOfLayouts());
+ mirrorSelector.add(
+ m.getId(),
+ m.getUrl(),
+ m.getLayout(),
+ false,
+ false,
+ m.getMirrorOf(),
+ m.getMirrorOfLayouts()
+ );
}
session.setMirrorSelector(mirrorSelector);
SettingsDecryptionResult decryptionResult = settingsDecrypter.decrypt(new DefaultSettingsDecryptionRequest(_settings));
diff --git a/java/maven.embedder/src/org/netbeans/modules/maven/embedder/PlaceholderCapture.java b/java/maven.embedder/src/org/netbeans/modules/maven/embedder/PlaceholderCapture.java
new file mode 100644
index 000000000000..5e36d6b9c0ae
--- /dev/null
+++ b/java/maven.embedder/src/org/netbeans/modules/maven/embedder/PlaceholderCapture.java
@@ -0,0 +1,58 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.netbeans.modules.maven.embedder;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+import org.eclipse.aether.artifact.Artifact;
+
+/**
+ * Thread-safe sink for the placeholder (forged) artifacts created by
+ * {@link ArtifactFixer} implementations during one maven operation
+ * (e.g. a single invocation of
+ * {@link MavenEmbedder#readProjectWithDependencies(org.apache.maven.execution.MavenExecutionRequest, boolean, PlaceholderCapture)}).
+ *
+ * Artifact fixers are invoked from the threads of the (possibly parallel)
+ * dependency collection, while the caller needs the collected artifacts after
+ * the operation finishes, therefore the sink is passed down explicitly
+ * instead of relying on thread-locals.
+ */
+public final class PlaceholderCapture {
+
+ private final Set artifacts = ConcurrentHashMap.newKeySet();
+
+ /**
+ * Records a placeholder artifact forged by an {@link ArtifactFixer}.
+ * May be called concurrently from multiple threads.
+ * @param artifact the placeholder artifact
+ */
+ public void add(Artifact artifact) {
+ artifacts.add(artifact);
+ }
+
+ /**
+ * @return a snapshot of all placeholder artifacts recorded so far
+ */
+ public Set getArtifacts() {
+ return new LinkedHashSet<>(artifacts);
+ }
+
+}
diff --git a/java/maven.embedder/src/org/netbeans/modules/maven/embedder/impl/NbRepositoryCache.java b/java/maven.embedder/src/org/netbeans/modules/maven/embedder/impl/NbRepositoryCache.java
index a11e4e467c28..a3e6eab70526 100644
--- a/java/maven.embedder/src/org/netbeans/modules/maven/embedder/impl/NbRepositoryCache.java
+++ b/java/maven.embedder/src/org/netbeans/modules/maven/embedder/impl/NbRepositoryCache.java
@@ -18,6 +18,7 @@
*/
package org.netbeans.modules.maven.embedder.impl;
+import java.util.function.Supplier;
import org.eclipse.aether.RepositorySystemSession;
import org.eclipse.aether.DefaultRepositoryCache;
import org.eclipse.aether.RepositoryCache;
@@ -37,6 +38,7 @@ public class NbRepositoryCache implements RepositoryCache {
//as in DataPool class..
//TODO mkleint: the constants have wrong values, the caching is not taking effect,
+ // -> this is purely a passthrough to the delegate atm
//interestingly both the Dependency and Artifact instances are bigger in live IDE when correct value is used..
private static final String ARTIFACT_POOL = "org.eclipse.org.eclipse.aether.DataPool$Artifact";
@@ -80,5 +82,24 @@ public void put(RepositorySystemSession session, Object key, Object data) {
}
superDelegate.put(session, key, data);
}
+
+ @Override
+ public Object computeIfAbsent(RepositorySystemSession session, Object key, Supplier