From c9921e7faf7812c12269e9fdfbe29b5fd0be623c Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Thu, 24 Sep 2026 21:16:43 +0200 Subject: [PATCH 1/7] Update bundled maven to 3.10 --- ...xt => apache-maven-3.10.0-bin-license.txt} | 2 +- ...txt => apache-maven-3.10.0-bin-notice.txt} | 0 ...xt => apache-maven-3.10.0-epl-license.txt} | 6 +- ...en-3.10.0-failureaccess-1.0.3-license.txt} | 2 +- ...maven-3.10.0-guava-33.7.1-jre-license.txt} | 4 +- ....0-javax.annotation-api-1.3.2-license.txt} | 2 +- ...che-maven-3.10.0-slf4j-2.0.19-license.txt} | 4 +- java/maven.embedder/external/binaries-list | 2 +- .../external/binariesembedded-list | 78 +++++++++-------- .../nbproject/project.properties | 2 +- java/maven.embedder/nbproject/project.xml | 86 +++++++++++-------- .../modules/maven/embedder/MavenEmbedder.java | 11 ++- .../embedder/impl/NbRepositoryCache.java | 21 +++++ .../embedder/impl/NbRepositorySystem.java | 24 ++++++ java/maven/nbproject/project.properties | 14 +-- .../netbeans/nbbuild/extlibs/ignored-overlaps | 20 ++--- 16 files changed, 174 insertions(+), 104 deletions(-) rename java/maven.embedder/external/{apache-maven-3.9.16-bin-license.txt => apache-maven-3.10.0-bin-license.txt} (99%) rename java/maven.embedder/external/{apache-maven-3.9.16-bin-notice.txt => apache-maven-3.10.0-bin-notice.txt} (100%) rename java/maven.embedder/external/{apache-maven-3.9.16-epl-license.txt => apache-maven-3.10.0-epl-license.txt} (98%) rename java/maven.embedder/external/{apache-maven-3.9.16-failureaccess-1.0.3-license.txt => apache-maven-3.10.0-failureaccess-1.0.3-license.txt} (99%) rename java/maven.embedder/external/{apache-maven-3.9.16-guava-33.6.0-jre-license.txt => apache-maven-3.10.0-guava-33.7.1-jre-license.txt} (99%) rename java/maven.embedder/external/{apache-maven-3.9.16-javax.annotation-api-1.3.2-license.txt => apache-maven-3.10.0-javax.annotation-api-1.3.2-license.txt} (99%) rename java/maven.embedder/external/{apache-maven-3.9.16-slf4j-1.7.36-license.txt => apache-maven-3.10.0-slf4j-2.0.19-license.txt} (92%) diff --git a/java/maven.embedder/external/apache-maven-3.9.16-bin-license.txt b/java/maven.embedder/external/apache-maven-3.10.0-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.0-bin-license.txt index 751b096b1cbe..638c35888500 100644 --- a/java/maven.embedder/external/apache-maven-3.9.16-bin-license.txt +++ b/java/maven.embedder/external/apache-maven-3.10.0-bin-license.txt @@ -1,6 +1,6 @@ Name: Apache Maven Distribution Description: Apache Maven Distribution -Version: 3.9.16 +Version: 3.10.0 License: Apache-2.0 Origin: Apache Software Foundation URL: https://maven.apache.org/ diff --git a/java/maven.embedder/external/apache-maven-3.9.16-bin-notice.txt b/java/maven.embedder/external/apache-maven-3.10.0-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.0-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.0-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.0-epl-license.txt index 79a4badae76d..9146d9c9c9db 100644 --- a/java/maven.embedder/external/apache-maven-3.9.16-epl-license.txt +++ b/java/maven.embedder/external/apache-maven-3.10.0-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.0.jar org.eclipse.sisu.plexus-1.1.0.jar +Version: 3.10.0 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.0-bin.zip!/apache-maven-3.10.0/lib/org.eclipse.sisu.inject-1.1.0.jar apache-maven-3.10.0-bin.zip!/apache-maven-3.10.0/lib/org.eclipse.sisu.plexus-1.1.0.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.0-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.0-failureaccess-1.0.3-license.txt index 17325758faff..e1b374bc06b6 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.0-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.0-bin.zip!/apache-maven-3.10.0/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.0-guava-33.7.1-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.0-guava-33.7.1-jre-license.txt index 27520460b08f..fa6492bf6f1e 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.0-guava-33.7.1-jre-license.txt @@ -1,9 +1,9 @@ Name: Guava -Version: 33.6.0 +Version: 33.7.1 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.0-bin.zip!/apache-maven-3.10.0/lib/guava-33.7.1-jre.jar Apache License Version 2.0, January 2004 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.10.0-javax.annotation-api-1.3.2-license.txt similarity index 99% rename from java/maven.embedder/external/apache-maven-3.9.16-javax.annotation-api-1.3.2-license.txt rename to java/maven.embedder/external/apache-maven-3.10.0-javax.annotation-api-1.3.2-license.txt index b448f77cf20a..b8e2a8a32250 100644 --- 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.10.0-javax.annotation-api-1.3.2-license.txt @@ -3,7 +3,7 @@ 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 +Files: apache-maven-3.10.0-bin.zip!/apache-maven-3.10.0/lib/javax.annotation-api-1.3.2.jar COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.1 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.0-slf4j-2.0.19-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.0-slf4j-2.0.19-license.txt index 0b1dc849cc8a..6f18cf2337a6 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.0-slf4j-2.0.19-license.txt @@ -1,9 +1,9 @@ Name: slf4j Description: Part of Apache Maven Distribution -Version: 1.7.36 +Version: 2.0.19 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.0-bin.zip!/apache-maven-3.10.0/lib/slf4j-api-2.0.19.jar Copyright (c) 2004-2022 QOS.ch Sarl (Switzerland) All rights reserved. diff --git a/java/maven.embedder/external/binaries-list b/java/maven.embedder/external/binaries-list index ef6babe93214..5253081d5f65 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 +4678029BE8342B3F3DBA431197C8A30B39007387 org.apache.maven:apache-maven:3.10.0:bin@zip diff --git a/java/maven.embedder/external/binariesembedded-list b/java/maven.embedder/external/binariesembedded-list index e6670f7de1ec..e9f3e7260b09 100644 --- a/java/maven.embedder/external/binariesembedded-list +++ b/java/maven.embedder/external/binariesembedded-list @@ -15,54 +15,60 @@ # specific language governing permissions and limitations # under the License. -2CEEA6AB43BCAE1979B2A6D85FC0CA429877E5AB;org.ow2.asm:asm:9.9.1 +ADA2141C0CC52EE8F5C48CD5FA4CE0E794F22236;org.ow2.asm:asm:9.10.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 +DA09BCDB330DEEF7CFEE70F30C6889FDA70D5EBF;commons-codec:commons-codec:1.22.1 +EFC0E34EDE4E3204EAEFB84A00E55E8C86634382;com.google.code.gson:gson:2.14.0 +BBE30942A31D1778C74CB272321267ECA82DC708;com.google.errorprone:error_prone_annotations:2.48.0 +77E37866FB969B4FF6710FAAEFD3A86067730ADA;com.google.guava:guava:33.7.1-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 +8143D2F5D5E1896B1ECA3AF7E4FEBEFDED52B89C;org.slf4j:jcl-over-slf4j:2.0.19 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 +967999CB8190ABACE09231116F6FD43B2692D884;org.jline:jansi-core:3.30.17 +078AB9B81D344F284938234D8747B7D42EF37A4D;org.jline:jline-terminal-jni:3.30.17 +FAB16373CFD7D879A6C0913DA285DF86307834FB;org.jline:jline-native:3.30.17 +39E514A633149DADD0515F13B7A75E2CA3ADD71A;org.jline:jline-terminal:3.30.17 +04BEDEE3CF32401395620F18F02AC8582C46FF6E;org.jline:jline-terminal-ffm:3.30.17 +27E1F01911BE3BE075EA108D4FE8FD59AE717C5C;org.apache.maven:maven-artifact:3.10.0 +D2331ADCF8B7064901224AAFEFC9BD9779A1D909;org.apache.maven:maven-builder-support:3.10.0 +9AF14E87780B998B3D385F84091332C48EA64770;org.apache.maven:maven-compat:3.10.0 +330ACA272BC504A1BEC3D3AC3949EA8E840191BD;org.apache.maven:maven-core:3.10.0 +ACD6D0B58F7B9218C4654ED540FC0894D8E711C6;org.apache.maven:maven-embedder:3.10.0 +0F5DACF6EFBC0CB13FE68CFA305BEB95C6C75091;org.apache.maven:maven-model:3.10.0 +C6A1E4079442E498F0183FC376BE2CB2E3E75E7A;org.apache.maven:maven-model-builder:3.10.0 +79066C8AB22D88C963754CAC50442C636E36A45F;org.apache.maven:maven-jline:3.10.0 +F93F39067E09AFAB80B2404860AA641465A0F14F;org.apache.maven:maven-plugin-api:3.10.0 +258DF38658F65E6E9DEA4E7A591F7D2729EB88E3;org.apache.maven:maven-repository-metadata:3.10.0 +67E6BB218AA152542A71FE6E71B75903DF1573FF;org.apache.maven.resolver:maven-resolver-api:2.0.24 +D3C56E3D88F32A76EF8A049AF344BA0A91F881EA;org.apache.maven.resolver:maven-resolver-connector-basic:2.0.24 +FF1B82108C48EB69AABB4C2EA7B887DA69DF4CDF;org.apache.maven.resolver:maven-resolver-impl:2.0.24 +9D17F451A78F010CB0595FA1F7DFB68B9BED7EDD;org.apache.maven.resolver:maven-resolver-named-locks:2.0.24 +23FB1FAB1719200E14E8A8B410DA043AA7EB2284;org.apache.maven.resolver:maven-resolver-supplier-mvn3:2.0.24 +49EF606FD1CF4FF7828F8F3094E4C40B7182EFA6;org.apache.maven:maven-resolver-provider:3.10.0 +9738561C983E307B4E0482E0E18691B31507AA81;org.apache.maven.resolver:maven-resolver-spi:2.0.24 +CED2AF8126DA833A6F1EA493403B16C912A29F25;org.apache.maven.resolver:maven-resolver-transport-apache:2.0.24 +6AAEEC3C4F2D15C086F2B231D6E8CF44371026D4;org.apache.maven.resolver:maven-resolver-transport-wagon:2.0.24 +55F43D4CA3744280A367EA68FFACA5EC2A97EDEC;org.apache.maven.resolver:maven-resolver-transport-file:2.0.24 +1E8D9FF7EF457863A604FD6626637AE11BF61C90;org.apache.maven.resolver:maven-resolver-util:2.0.24 +AB7932F9480C2033C63A6F2F9C4C33D682FE7F19;org.apache.maven:maven-settings:3.10.0 +6554E565FA424A1816995958E173C6BCED9EA3E6;org.apache.maven:maven-settings-builder:3.10.0 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 +0AC33ADB0F0E864FD8DBA11DC6E9276A66E4BDAD;org.apache.maven:maven-slf4j-provider:3.10.0 +C758820E578794E36A633403AA8411A48C822BBD;org.eclipse.sisu:org.eclipse.sisu.inject:1.1.0 +709EFBF41D101E71B9C5D7AF2B06BABE84AB6150;org.eclipse.sisu:org.eclipse.sisu.plexus:1.1.0 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 +EFAD9817997B3A6CE9E058F92E612917A744C290;org.slf4j:slf4j-api:2.0.19 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..2c92ae21560a 100644 --- a/java/maven.embedder/nbproject/project.properties +++ b/java/maven.embedder/nbproject/project.properties @@ -20,7 +20,7 @@ javac.release=17 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.0 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..8989721b908f 100644 --- a/java/maven.embedder/nbproject/project.xml +++ b/java/maven.embedder/nbproject/project.xml @@ -321,31 +321,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.10.1.jar ../maven/lib/commons-cli-1.11.0.jar - ../maven/lib/commons-codec-1.21.0.jar + ../maven/lib/commons-codec-1.22.1.jar - ../maven/lib/error_prone_annotations-2.41.0.jar + ../maven/lib/error_prone_annotations-2.48.0.jar ../maven/lib/failureaccess-1.0.3.jar - ../maven/lib/gson-2.13.2.jar + ../maven/lib/gson-2.14.0.jar - ../maven/lib/guava-33.6.0-jre.jar + ../maven/lib/guava-33.7.1-jre.jar ../maven/lib/guice-5.1.0-classes.jar @@ -361,7 +361,7 @@ maven-slf4j-provider injects MavenSimpleLogger which decorates the output for terminal use this causes problems in log files, tests etc which don't expect or cant display them properly - ../maven/lib/jansi-2.4.3.jar + ../maven/lib/jansi-core-3.30.17.jar --> @@ -371,85 +371,97 @@ ../maven/lib/javax.inject-1.jar - ../maven/lib/jcl-over-slf4j-1.7.36.jar + ../maven/lib/jcl-over-slf4j-2.0.19.jar - ../maven/lib/jspecify-1.0.0.jar + ../maven/lib/jline-native-3.30.17.jar - ../maven/lib/maven-artifact-3.9.16.jar + ../maven/lib/jline-terminal-3.30.17.jar - ../maven/lib/maven-builder-support-3.9.16.jar + ../maven/lib/jline-terminal-ffm-3.30.17.jar - ../maven/lib/maven-compat-3.9.16.jar + ../maven/lib/jline-terminal-jni-3.30.17.jar - ../maven/lib/maven-core-3.9.16.jar + ../maven/lib/jspecify-1.0.1.jar - ../maven/lib/maven-embedder-3.9.16.jar + ../maven/lib/maven-artifact-3.10.0.jar - ../maven/lib/maven-model-3.9.16.jar + ../maven/lib/maven-builder-support-3.10.0.jar - ../maven/lib/maven-model-builder-3.9.16.jar + ../maven/lib/maven-compat-3.10.0.jar - ../maven/lib/maven-plugin-api-3.9.16.jar + ../maven/lib/maven-core-3.10.0.jar - ../maven/lib/maven-repository-metadata-3.9.16.jar + ../maven/lib/maven-embedder-3.10.0.jar - ../maven/lib/maven-resolver-api-1.9.27.jar + ../maven/lib/maven-jline-3.10.0.jar - ../maven/lib/maven-resolver-connector-basic-1.9.27.jar + ../maven/lib/maven-model-3.10.0.jar - ../maven/lib/maven-resolver-impl-1.9.27.jar + ../maven/lib/maven-model-builder-3.10.0.jar - ../maven/lib/maven-resolver-named-locks-1.9.27.jar + ../maven/lib/maven-plugin-api-3.10.0.jar - ../maven/lib/maven-resolver-provider-3.9.16.jar + ../maven/lib/maven-repository-metadata-3.10.0.jar - ../maven/lib/maven-resolver-spi-1.9.27.jar + ../maven/lib/maven-resolver-api-2.0.24.jar - ../maven/lib/maven-resolver-transport-file-1.9.27.jar + ../maven/lib/maven-resolver-connector-basic-2.0.24.jar - ../maven/lib/maven-resolver-transport-http-1.9.27.jar + ../maven/lib/maven-resolver-impl-2.0.24.jar - ../maven/lib/maven-resolver-transport-wagon-1.9.27.jar + ../maven/lib/maven-resolver-named-locks-2.0.24.jar - ../maven/lib/maven-resolver-util-1.9.27.jar + ../maven/lib/maven-resolver-provider-3.10.0.jar - ../maven/lib/maven-settings-3.9.16.jar + ../maven/lib/maven-resolver-spi-2.0.24.jar - ../maven/lib/maven-settings-builder-3.9.16.jar + ../maven/lib/maven-resolver-transport-apache-2.0.24.jar - ../maven/lib/maven-shared-utils-3.4.2.jar + ../maven/lib/maven-resolver-transport-file-2.0.24.jar - ../maven/lib/maven-slf4j-provider-3.9.16.jar + ../maven/lib/maven-resolver-transport-wagon-2.0.24.jar - ../maven/lib/org.eclipse.sisu.inject-1.0.0.jar + ../maven/lib/maven-resolver-util-2.0.24.jar - ../maven/lib/org.eclipse.sisu.plexus-1.0.0.jar + ../maven/lib/maven-settings-3.10.0.jar + + + ../maven/lib/maven-settings-builder-3.10.0.jar + + + ../maven/lib/maven-slf4j-provider-3.10.0.jar + + + ../maven/lib/org.eclipse.sisu.inject-1.1.0.jar + + + ../maven/lib/org.eclipse.sisu.plexus-1.1.0.jar ../maven/lib/plexus-cipher-2.0.jar @@ -458,16 +470,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.19.jar ../maven/lib/wagon-file-3.5.3.jar 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..710fb0ae2fde 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; @@ -644,7 +643,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/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 supplier) { + if (ARTIFACT_POOL.equals(key)) { + Object value = supplier.get(); + synchronized (LOCK) { + artifacts = value; + } + return value; + } + if (DEPENDENCY_POOL.equals(key)) { + Object value = supplier.get(); + synchronized (LOCK) { + dependencies = value; + } + return value; + } + return superDelegate.computeIfAbsent(session, key, supplier); + } } diff --git a/java/maven.embedder/src/org/netbeans/modules/maven/embedder/impl/NbRepositorySystem.java b/java/maven.embedder/src/org/netbeans/modules/maven/embedder/impl/NbRepositorySystem.java index d68a672cc8db..8c85de69fa51 100644 --- a/java/maven.embedder/src/org/netbeans/modules/maven/embedder/impl/NbRepositorySystem.java +++ b/java/maven.embedder/src/org/netbeans/modules/maven/embedder/impl/NbRepositorySystem.java @@ -31,6 +31,20 @@ import org.eclipse.aether.collection.DependencyGraphTransformationContext; import org.eclipse.aether.collection.DependencyGraphTransformer; import org.eclipse.aether.DefaultRepositorySystemSession; +import org.eclipse.aether.impl.ArtifactDescriptorReader; +import org.eclipse.aether.impl.ArtifactResolver; +import org.eclipse.aether.impl.DependencyCollector; +import org.eclipse.aether.impl.Deployer; +import org.eclipse.aether.impl.Installer; +import org.eclipse.aether.impl.LocalRepositoryProvider; +import org.eclipse.aether.impl.MetadataResolver; +import org.eclipse.aether.impl.RemoteRepositoryManager; +import org.eclipse.aether.impl.RepositorySystemLifecycle; +import org.eclipse.aether.impl.RepositorySystemValidator; +import org.eclipse.aether.impl.VersionRangeResolver; +import org.eclipse.aether.impl.VersionResolver; +import org.eclipse.aether.spi.artifact.decorator.ArtifactDecoratorFactory; +import org.eclipse.aether.spi.synccontext.SyncContextFactory; /** * another piece of experimental code meant to replace the dependency-tree codebase @@ -42,6 +56,16 @@ */ public class NbRepositorySystem extends DefaultRepositorySystem { + public NbRepositorySystem(VersionResolver versionResolver, VersionRangeResolver versionRangeResolver, + ArtifactResolver artifactResolver, MetadataResolver metadataResolver, ArtifactDescriptorReader artifactDescriptorReader, + DependencyCollector dependencyCollector, Installer installer, Deployer deployer, LocalRepositoryProvider localRepositoryProvider, + SyncContextFactory syncContextFactory, RemoteRepositoryManager remoteRepositoryManager, RepositorySystemLifecycle repositorySystemLifecycle, + Map artifactDecoratorFactories, RepositorySystemValidator repositorySystemValidator) { + super(versionResolver, versionRangeResolver, artifactResolver, metadataResolver, artifactDescriptorReader, dependencyCollector, + installer, deployer, localRepositoryProvider, syncContextFactory, remoteRepositoryManager, repositorySystemLifecycle, + artifactDecoratorFactories, repositorySystemValidator); + } + @Override public CollectResult collectDependencies(RepositorySystemSession session, CollectRequest request) throws DependencyCollectionException { DefaultRepositorySystemSession cloned = new DefaultRepositorySystemSession(session); diff --git a/java/maven/nbproject/project.properties b/java/maven/nbproject/project.properties index 044dc645e0bc..b8fedf0d0bfe 100644 --- a/java/maven/nbproject/project.properties +++ b/java/maven/nbproject/project.properties @@ -39,12 +39,12 @@ test-unit-sys-prop.test.netbeans.dest.dir=${netbeans.dest.dir} mavensrc.cp=:\ ./external/aether-api-1.13.1.jar:\ ${libs.json_simple.dir}/modules/ext/json-simple-1.1.1.jar:\ - ${maven.embedder.dir}/maven/boot/plexus-classworlds-2.11.0.jar:\ + ${maven.embedder.dir}/maven/boot/plexus-classworlds-2.12.1.jar:\ ${maven.embedder.dir}/maven/lib/javax.annotation-api-1.3.2.jar:\ ${maven.embedder.dir}/maven/lib/javax.inject-1.jar:\ - ${maven.embedder.dir}/maven/lib/maven-core-3.9.16.jar:\ - ${maven.embedder.dir}/maven/lib/maven-model-3.9.16.jar:\ - ${maven.embedder.dir}/maven/lib/maven-plugin-api-3.9.16.jar:\ - ${maven.embedder.dir}/maven/lib/maven-resolver-api-1.9.27.jar:\ - ${maven.embedder.dir}/maven/lib/org.eclipse.sisu.plexus-1.0.0.jar:\ - ${maven.embedder.dir}/maven/lib/plexus-utils-3.6.1.jar + ${maven.embedder.dir}/maven/lib/maven-core-3.10.0.jar:\ + ${maven.embedder.dir}/maven/lib/maven-model-3.10.0.jar:\ + ${maven.embedder.dir}/maven/lib/maven-plugin-api-3.10.0.jar:\ + ${maven.embedder.dir}/maven/lib/maven-resolver-api-2.0.24.jar:\ + ${maven.embedder.dir}/maven/lib/org.eclipse.sisu.plexus-1.1.0.jar:\ + ${maven.embedder.dir}/maven/lib/plexus-utils-3.6.2.jar diff --git a/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/ignored-overlaps b/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/ignored-overlaps index 70a440849945..adccaf1b1ac3 100644 --- a/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/ignored-overlaps +++ b/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/ignored-overlaps @@ -23,13 +23,13 @@ ide/db.sql.visualeditor/external/javacc-7.0.10.jar java/performance/external/javacc-7.0.10.jar # bundled maven conflicts with other libraries -java/maven.embedder/external/apache-maven-3.9.16-bin.zip ide/slf4j.api/external/slf4j-api-1.7.36.jar -java/maven.embedder/external/apache-maven-3.9.16-bin.zip platform/libs.asm/external/asm-9.10.jar -java/maven.embedder/external/apache-maven-3.9.16-bin.zip platform/o.apache.commons.codec/external/commons-codec-1.21.0.jar -java/maven.embedder/external/apache-maven-3.9.16-bin.zip ide/c.google.guava.failureaccess/external/failureaccess-1.0.3.jar -java/maven.embedder/external/apache-maven-3.9.16-bin.zip ide/c.google.guava/external/guava-33.4.6-jre.jar -java/maven.embedder/external/apache-maven-3.9.16-bin.zip ide/c.google.gson/external/gson-2.13.2.jar -java/maven.embedder/external/apache-maven-3.9.16-bin.zip java/maven.indexer/external/javax.annotation-api-1.3.2.jar +java/maven.embedder/external/apache-maven-3.10.0-bin.zip ide/slf4j.api/external/slf4j-api-2.0.19.jar +java/maven.embedder/external/apache-maven-3.10.0-bin.zip platform/libs.asm/external/asm-9.10.1.jar +java/maven.embedder/external/apache-maven-3.10.0-bin.zip platform/o.apache.commons.codec/external/commons-codec-1.22.1.jar +java/maven.embedder/external/apache-maven-3.10.0-bin.zip ide/c.google.guava.failureaccess/external/failureaccess-1.0.3.jar +java/maven.embedder/external/apache-maven-3.10.0-bin.zip ide/c.google.guava/external/guava-33.7.1-jre.jar +java/maven.embedder/external/apache-maven-3.10.0-bin.zip ide/c.google.gson/external/gson-2.13.2.jar +java/maven.embedder/external/apache-maven-3.10.0-bin.zip java/maven.indexer/external/javax.annotation-api-1.3.2.jar # Used to parse data during build, but need to as a lib for ide cluster nbbuild/external/json-simple-1.1.1.jar ide/libs.json_simple/external/json-simple-1.1.1.jar @@ -39,9 +39,9 @@ webcommon/javascript2.jade/external/jflex-1.4.3.jar webcommon/javascript2.lexer/ # javax.annotation-api is used by multiple modules. enterprise/javaee8.api/external/javax.annotation-api-1.3.2.jar java/maven.indexer/external/javax.annotation-api-1.3.2.jar -enterprise/javaee8.api/external/javax.annotation-api-1.3.2.jar java/maven.embedder/external/apache-maven-3.9.16-bin.zip +enterprise/javaee8.api/external/javax.annotation-api-1.3.2.jar java/maven.embedder/external/apache-maven-3.10.0-bin.zip enterprise/javaee8.api/external/javax.annotation-api-1.3.2.jar enterprise/websvc.restlib/external/javax.annotation-api-1.3.2.jar -enterprise/websvc.restlib/external/javax.annotation-api-1.3.2.jar java/maven.embedder/external/apache-maven-3.9.16-bin.zip +enterprise/websvc.restlib/external/javax.annotation-api-1.3.2.jar java/maven.embedder/external/apache-maven-3.10.0-bin.zip # jaxb-api-osgi is used by multiple modules. enterprise/javaee.api/external/jaxb-api-osgi-2.2.7.jar enterprise/javaee7.api/external/jaxb-api-osgi-2.2.7.jar @@ -56,7 +56,7 @@ enterprise/websvc.restlib/external/osgi.core-8.0.0.jar platform/libs.osgi/extern extide/gradle/external/gradle-8.11.1-bin.zip extide/o.apache.tools.ant.module/external/apache-ant-1.10.14-bin.zip extide/gradle/external/gradle-8.11.1-bin.zip ide/o.apache.commons.lang/external/commons-lang-2.6.jar extide/gradle/external/gradle-8.11.1-bin.zip ide/slf4j.api/external/slf4j-api-1.7.36.jar -extide/gradle/external/gradle-8.11.1-bin.zip java/maven.embedder/external/apache-maven-3.9.16-bin.zip +extide/gradle/external/gradle-8.11.1-bin.zip java/maven.embedder/external/apache-maven-3.10.0-bin.zip extide/gradle/external/gradle-8.11.1-bin.zip nbbuild/external/jsoup-1.15.3.jar extide/gradle/external/gradle-8.11.1-bin.zip platform/libs.junit4/external/hamcrest-core-1.3.jar extide/gradle/external/gradle-8.11.1-bin.zip platform/libs.junit4/external/junit-4.13.2.jar From f26999b597374f1de2369f3fbe60e1ab038659c6 Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Thu, 24 Sep 2026 22:59:05 +0200 Subject: [PATCH 2/7] fix AbstractProjectClassPathImplTest --- .../maven/classpath/AbstractProjectClassPathImplTest.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/java/maven/test/unit/src/org/netbeans/modules/maven/classpath/AbstractProjectClassPathImplTest.java b/java/maven/test/unit/src/org/netbeans/modules/maven/classpath/AbstractProjectClassPathImplTest.java index df8fb94132f0..787ffabd1f1a 100644 --- a/java/maven/test/unit/src/org/netbeans/modules/maven/classpath/AbstractProjectClassPathImplTest.java +++ b/java/maven/test/unit/src/org/netbeans/modules/maven/classpath/AbstractProjectClassPathImplTest.java @@ -24,6 +24,7 @@ import java.util.logging.Level; import org.apache.maven.artifact.Artifact; import org.apache.maven.artifact.resolver.ArtifactNotFoundException; +import org.apache.maven.artifact.resolver.ArtifactResolutionException; import org.codehaus.plexus.util.FileUtils; import org.netbeans.junit.NbTestCase; import org.netbeans.modules.maven.embedder.EmbedderFactory; @@ -64,7 +65,7 @@ public void testGetFile() throws Exception { try { EmbedderFactory.getProjectEmbedder().resolveArtifact(a, Collections.emptyList(), EmbedderFactory.getProjectEmbedder().getLocalRepository()); fail(); - } catch (ArtifactNotFoundException ex) { + } catch (ArtifactNotFoundException | ArtifactResolutionException ex) { // the downloaded artifact was not found, expected as only -SNAPSHOT is installed. } assertEquals(installed, a.getFile()); From b855dcd836cf6f492737e12f50ec9b52e7cb7d20 Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Mon, 28 Sep 2026 19:23:55 +0200 Subject: [PATCH 3/7] Refactor ArtifactDependencyIndexCreator without embedder use new/non-deprecated API --- java/maven.embedder/nbproject/project.xml | 1 + .../ArtifactDependencyIndexCreator.java | 144 +++++++++++------- .../indexer/NexusRepositoryIndexManager.java | 11 +- 3 files changed, 97 insertions(+), 59 deletions(-) diff --git a/java/maven.embedder/nbproject/project.xml b/java/maven.embedder/nbproject/project.xml index 8989721b908f..503e5850ce53 100644 --- a/java/maven.embedder/nbproject/project.xml +++ b/java/maven.embedder/nbproject/project.xml @@ -221,6 +221,7 @@ org.apache.maven.project.path org.apache.maven.repository org.apache.maven.repository.legacy + org.apache.maven.repository.supplier org.apache.maven.settings org.apache.maven.settings.building org.apache.maven.settings.crypto diff --git a/java/maven.indexer/src/org/netbeans/modules/maven/indexer/ArtifactDependencyIndexCreator.java b/java/maven.indexer/src/org/netbeans/modules/maven/indexer/ArtifactDependencyIndexCreator.java index 60b3c580214e..4ee786ef3bd7 100644 --- a/java/maven.indexer/src/org/netbeans/modules/maven/indexer/ArtifactDependencyIndexCreator.java +++ b/java/maven.indexer/src/org/netbeans/modules/maven/indexer/ArtifactDependencyIndexCreator.java @@ -20,22 +20,23 @@ package org.netbeans.modules.maven.indexer; import java.io.IOException; +import java.nio.file.Path; import java.util.Arrays; import java.util.Collection; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.WeakHashMap; import java.util.logging.Level; import java.util.logging.Logger; + import org.apache.lucene.document.Document; import org.apache.lucene.index.Term; import org.apache.lucene.search.BooleanClause; import org.apache.lucene.search.BooleanQuery; import org.apache.lucene.search.Query; import org.apache.lucene.search.TermQuery; -import org.apache.maven.artifact.Artifact; -import org.apache.maven.artifact.InvalidArtifactRTException; -import org.apache.maven.artifact.repository.ArtifactRepository; + import org.apache.maven.index.ArtifactContext; import org.apache.maven.index.ArtifactInfo; import org.apache.maven.index.Field; @@ -43,18 +44,24 @@ import org.apache.maven.index.IndexerFieldVersion; import org.apache.maven.index.creator.AbstractIndexCreator; import org.apache.maven.index.creator.MinimalArtifactInfoIndexCreator; -import org.apache.maven.model.Dependency; -import org.apache.maven.model.building.ModelBuildingRequest; -import org.apache.maven.project.MavenProject; -import org.apache.maven.project.ProjectBuildingException; -import org.apache.maven.project.ProjectBuildingRequest; -import org.apache.maven.project.ProjectBuildingResult; +import org.apache.maven.repository.supplier.RepositorySystemSupplier; + +import org.eclipse.aether.RepositorySystem; +import org.eclipse.aether.RepositorySystemSession; +import org.eclipse.aether.artifact.Artifact; +import org.eclipse.aether.artifact.DefaultArtifact; +import org.eclipse.aether.graph.Dependency; +import org.eclipse.aether.repository.LocalRepository; +import org.eclipse.aether.repository.RemoteRepository; +import org.eclipse.aether.resolution.ArtifactDescriptorRequest; +import org.eclipse.aether.resolution.ArtifactDescriptorException; import org.netbeans.modules.maven.embedder.EmbedderFactory; -import org.netbeans.modules.maven.embedder.MavenEmbedder; +import org.netbeans.modules.maven.indexer.api.RepositoryInfo; import org.netbeans.modules.maven.indexer.api.RepositoryPreferences; -import org.openide.util.Exceptions; -class ArtifactDependencyIndexCreator extends AbstractIndexCreator { +import static java.util.function.Predicate.not; + +public final class ArtifactDependencyIndexCreator extends AbstractIndexCreator implements AutoCloseable { private static final Logger LOG = Logger.getLogger(ArtifactDependencyIndexCreator.class.getName()); @@ -67,41 +74,59 @@ class ArtifactDependencyIndexCreator extends AbstractIndexCreator { private static final IndexerField FLD_NB_DEPENDENCY_ARTIFACT = new IndexerField(new Field(null, NS, NB_DEPENDENCY_ARTIFACT, "Dependency artifact"), IndexerFieldVersion.V3, NB_DEPENDENCY_ARTIFACT, "Dependency artifact", IndexerField.KEYWORD_NOT_STORED); private static final IndexerField FLD_NB_DEPENDENCY_VERSION = new IndexerField(new Field(null, NS, NB_DEPENDENCY_VERSION, "Dependency version"), IndexerFieldVersion.V3, NB_DEPENDENCY_VERSION, "Dependency version", IndexerField.KEYWORD_NOT_STORED); - private final List remoteRepos; + private final RepositorySystem repositorySystem; + private final RepositorySystemSession.CloseableSession repositorySession; + + private final List remoteRepositories; + private final Map> dependenciesByArtifact = new WeakHashMap<>(); - private final MavenEmbedder embedder; - ArtifactDependencyIndexCreator() { + public ArtifactDependencyIndexCreator(RepositoryInfo info) { super(ArtifactDependencyIndexCreator.class.getName(), Arrays.asList(MinimalArtifactInfoIndexCreator.ID)); - embedder = EmbedderFactory.getProjectEmbedder(); - remoteRepos = RepositoryPreferences.getInstance().remoteRepositories(embedder); + + if (!info.isLocal()) { + throw new IllegalArgumentException(info + " not local"); + } + + this.remoteRepositories = RepositoryPreferences.getInstance().getRepositoryInfos().stream() + .filter(not(RepositoryInfo::isLocal)) + .map(r -> new RemoteRepository.Builder(r.getId(), "default", r.getRepositoryUrl()).build()) + .toList(); + + this.repositorySystem = new RepositorySystemSupplier().get(); + this.repositorySession = repositorySystem.createSessionBuilder() + .withLocalRepositories(new LocalRepository(Path.of(info.getRepositoryPath()))) + .setSystemProperties(EmbedderFactory.getOnlineEmbedder().getSystemProperties()) + .build(); } - @Override public void populateArtifactInfo(ArtifactContext context) throws IOException { + @Override + public void populateArtifactInfo(ArtifactContext context) throws IOException { + ArtifactInfo ai = context.getArtifactInfo(); if (ai.getClassifier() != null) { return; } try { - MavenProject mp = load(ai); - if (mp != null) { - List dependencies = mp.getDependencies(); - LOG.log(Level.FINER, "Successfully loaded project model from repository for {0} with {1} dependencies", new Object[] {ai, dependencies.size()}); - dependenciesByArtifact.put(ai, dependencies); - } - } catch (InvalidArtifactRTException ex) { - Exceptions.printStackTrace(ex); + List deps = getDirectDependencies(ai); + LOG.log(Level.FINER, "Successfully loaded project descriptor for {0} with {1} dependencies", new Object[]{ai, deps.size()}); + dependenciesByArtifact.put(ai, deps); + } catch (ArtifactDescriptorException | RuntimeException ex) { + LOG.log(Level.FINER, "Failed to load artifact descriptor for " + ai, ex); } } - - @Override public void updateDocument(ArtifactInfo ai, Document doc) { + + @Override + public void updateDocument(ArtifactInfo ai, Document doc) { List dependencies = dependenciesByArtifact.get(ai); - if (dependencies != null) { - for (Dependency d : dependencies) { - doc.add(FLD_NB_DEPENDENCY_GROUP.toField(d.getGroupId())); - doc.add(FLD_NB_DEPENDENCY_ARTIFACT.toField(d.getArtifactId())); - doc.add(FLD_NB_DEPENDENCY_VERSION.toField(d.getVersion())); - } + if (dependencies == null) { + return; + } + for (Dependency dependency : dependencies) { + Artifact artifact = dependency.getArtifact(); + doc.add(FLD_NB_DEPENDENCY_GROUP.toField(artifact.getGroupId())); + doc.add(FLD_NB_DEPENDENCY_ARTIFACT.toField(artifact.getArtifactId())); + doc.add(FLD_NB_DEPENDENCY_VERSION.toField(artifact.getVersion())); } } @@ -113,35 +138,38 @@ static Query query(String groupId, String artifactId, String version) { .build(); } - @Override public Collection getIndexerFields() { + @Override + public Collection getIndexerFields() { return List.of(FLD_NB_DEPENDENCY_GROUP, FLD_NB_DEPENDENCY_ARTIFACT, FLD_NB_DEPENDENCY_VERSION); } - private MavenProject load(ArtifactInfo ai) { - try { - Artifact projectArtifact = embedder.createArtifact(ai.getGroupId(), ai.getArtifactId(), ai.getVersion(), ai.getPackaging() != null ? ai.getPackaging() : "jar"); - ProjectBuildingRequest dpbr = embedder.createMavenExecutionRequest().getProjectBuildingRequest(); - //mkleint: remote repositories don't matter we use project embedder. - dpbr.setRemoteRepositories(remoteRepos); - dpbr.setProcessPlugins(false); - dpbr.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL); - - ProjectBuildingResult res = embedder.buildProject(projectArtifact, dpbr); - if (res.getProject() != null) { - return res.getProject(); - } else { - LOG.log(Level.FINER, "No project model from repository for {0}: {1}", new Object[] {ai, res.getProblems()}); - } - } catch (ProjectBuildingException ex) { - LOG.log(Level.FINER, "Failed to load project model from repository for {0}: {1}", new Object[] {ai, ex}); - } catch (Exception exception) { - LOG.log(Level.FINER, "Failed to load project model from repository for " + ai, exception); - } - return null; + private List getDirectDependencies(ArtifactInfo ai) throws ArtifactDescriptorException { + + Artifact artifact = new DefaultArtifact( + ai.getGroupId(), + ai.getArtifactId(), + ai.getClassifier(), + Objects.requireNonNullElse(ai.getPackaging(), "jar"), + ai.getVersion() + ); + + ArtifactDescriptorRequest request = new ArtifactDescriptorRequest(); + request.setArtifact(artifact); + request.setRepositories(remoteRepositories); + + return repositorySystem.readArtifactDescriptor(repositorySession, request) + .getDependencies(); } - - @Override public boolean updateArtifactInfo(Document doc, ArtifactInfo ai) { + + @Override + public boolean updateArtifactInfo(Document doc, ArtifactInfo ai) { return false; } + @Override + public void close() { + repositorySession.close(); + repositorySystem.close(); + } + } diff --git a/java/maven.indexer/src/org/netbeans/modules/maven/indexer/NexusRepositoryIndexManager.java b/java/maven.indexer/src/org/netbeans/modules/maven/indexer/NexusRepositoryIndexManager.java index 768e76dbdbe2..98d39d1b6ac6 100644 --- a/java/maven.indexer/src/org/netbeans/modules/maven/indexer/NexusRepositoryIndexManager.java +++ b/java/maven.indexer/src/org/netbeans/modules/maven/indexer/NexusRepositoryIndexManager.java @@ -302,6 +302,15 @@ private IndexingContext addIndexingContextForced( public void removeIndexingContext(IndexingContext context, boolean deleteFiles) throws IOException { if (indexingContexts.remove(context.getId()) != null ) { indexer.closeIndexingContext( context, deleteFiles ); + for (IndexCreator creator : context.getIndexCreators()) { + if (creator instanceof AutoCloseable cleanup) { + try { + cleanup.close(); + } catch (Exception ex) { + LOGGER.log(Level.WARNING, "cleanup failed", ex); + } + } + } } } @@ -336,7 +345,7 @@ boolean loadIndexingContext(final RepositoryInfo info) throws IOException { new MinimalArtifactInfoIndexCreator(), new MavenArchetypeArtifactInfoIndexCreator(), new MavenPluginArtifactInfoIndexCreator(), - new ArtifactDependencyIndexCreator(), + new ArtifactDependencyIndexCreator(info), new ClassDependencyIndexCreator() ); } else { From 1543d2deb75bca523ebbf37aa368ae723d2e3631 Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Sun, 4 Oct 2026 05:47:31 +0200 Subject: [PATCH 4/7] NbArtifactFixer single threaded workaround --- java/maven.embedder/nbproject/project.properties | 2 +- .../modules/maven/embedder/MavenEmbedder.java | 13 ++++++++++++- .../org/netbeans/modules/maven/NbArtifactFixer.java | 2 ++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/java/maven.embedder/nbproject/project.properties b/java/maven.embedder/nbproject/project.properties index 2c92ae21560a..ba157c696a78 100644 --- a/java/maven.embedder/nbproject/project.properties +++ b/java/maven.embedder/nbproject/project.properties @@ -16,7 +16,7 @@ # 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 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 710fb0ae2fde..bd5a41731845 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 @@ -101,6 +101,8 @@ import org.eclipse.aether.RepositorySystemSession; import org.eclipse.aether.impl.VersionResolver; import org.eclipse.aether.internal.impl.EnhancedLocalRepositoryManagerFactory; +import org.eclipse.aether.internal.impl.collect.bf.BfDependencyCollector; +import org.eclipse.aether.internal.impl.session.DefaultCloseableSession; import org.eclipse.aether.repository.LocalRepository; import org.eclipse.aether.repository.NoLocalRepositoryManagerException; import org.eclipse.aether.util.repository.AuthenticationBuilder; @@ -253,7 +255,16 @@ public MavenExecutionResult readProjectWithDependencies(MavenExecutionRequest re ProjectBuildingRequest configuration = req.getProjectBuildingRequest(); configuration.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL); configuration.setResolveDependencies(true); - configuration.setRepositorySession(maven.newRepositorySession(req)); + + RepositorySystemSession session = maven.newRepositorySession(req); + + // TODO this forces single threaded dependency collection since NbArtifactFixer heavily + // uses ThreadLocals and doesn't expect the thread to change between collectPlaceholderArtifacts() and resolve() + DefaultRepositorySystemSession mutable = new DefaultRepositorySystemSession(session); + mutable.setConfigProperty(BfDependencyCollector.CONFIG_PROP_THREADS, 1); + configuration.setRepositorySession(mutable); + // end + ProjectBuildingResult projectBuildingResult = projectBuilder.build(pomFile, configuration); result.setProject(projectBuildingResult.getProject()); result.setDependencyResolutionResult(projectBuildingResult.getDependencyResolutionResult()); diff --git a/java/maven/src/org/netbeans/modules/maven/NbArtifactFixer.java b/java/maven/src/org/netbeans/modules/maven/NbArtifactFixer.java index d47b574620d0..9d26652ec74c 100644 --- a/java/maven/src/org/netbeans/modules/maven/NbArtifactFixer.java +++ b/java/maven/src/org/netbeans/modules/maven/NbArtifactFixer.java @@ -90,6 +90,7 @@ public class NbArtifactFixer implements ArtifactFixer { if (pom != null) { //instead of workarounds down the road, we set the artifact's file here. // some stacktraces to maven/aether do set it after querying our code, but some don't for reasons unknown to me. + // TODO Artifact is copy on write -> this isn't doing anything! artifact.setFile(pom); return pom; } @@ -107,6 +108,7 @@ public class NbArtifactFixer implements ArtifactFixer { File f = createFallbackPOM(artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion()); //instead of workarounds down the road, we set the artifact's file here. // some stacktraces to maven/aether do set it after querying our code, but some don't for reasons unknown to me. + // TODO Artifact is copy on write -> this isn't doing anything! artifact.setFile(f); Set s = CAPTURE_PLACEHOLDER_ARTIFACTS.get(); if (s != null) { From 99cc2010d8b21aae221a36dab3a17753bc0d438b Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Mon, 12 Oct 2026 09:35:50 +0200 Subject: [PATCH 5/7] catch IAE in readProjectWithDependencies() --- .../src/org/netbeans/modules/maven/embedder/MavenEmbedder.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 bd5a41731845..8c0b50bbf87b 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 @@ -268,7 +268,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); From fab024e86c3f1a57cac587de1e1867faff2c01b8 Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Tue, 10 Nov 2026 00:03:07 +0100 Subject: [PATCH 6/7] fix ArtifactFixer: now thread safe --- java/maven.embedder/apichanges.xml | 26 ++++++++- .../modules/maven/embedder/ArtifactFixer.java | 21 ++++++- .../modules/maven/embedder/MavenEmbedder.java | 32 +++++----- .../maven/embedder/PlaceholderCapture.java | 58 +++++++++++++++++++ .../embedder/impl/NbWorkspaceReader.java | 11 ++-- .../modules/maven/NbArtifactFixer.java | 53 ++++++++--------- .../maven/modelcache/MavenProjectCache.java | 6 +- .../modules/maven/NbArtifactFixerTest.java | 5 +- 8 files changed, 158 insertions(+), 54 deletions(-) create mode 100644 java/maven.embedder/src/org/netbeans/modules/maven/embedder/PlaceholderCapture.java 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/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 8c0b50bbf87b..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 @@ -101,8 +101,6 @@ import org.eclipse.aether.RepositorySystemSession; import org.eclipse.aether.impl.VersionResolver; import org.eclipse.aether.internal.impl.EnhancedLocalRepositoryManagerFactory; -import org.eclipse.aether.internal.impl.collect.bf.BfDependencyCollector; -import org.eclipse.aether.internal.impl.session.DefaultCloseableSession; import org.eclipse.aether.repository.LocalRepository; import org.eclipse.aether.repository.NoLocalRepositoryManagerException; import org.eclipse.aether.util.repository.AuthenticationBuilder; @@ -244,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(); @@ -255,16 +266,7 @@ public MavenExecutionResult readProjectWithDependencies(MavenExecutionRequest re ProjectBuildingRequest configuration = req.getProjectBuildingRequest(); configuration.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL); configuration.setResolveDependencies(true); - - RepositorySystemSession session = maven.newRepositorySession(req); - - // TODO this forces single threaded dependency collection since NbArtifactFixer heavily - // uses ThreadLocals and doesn't expect the thread to change between collectPlaceholderArtifacts() and resolve() - DefaultRepositorySystemSession mutable = new DefaultRepositorySystemSession(session); - mutable.setConfigProperty(BfDependencyCollector.CONFIG_PROP_THREADS, 1); - configuration.setRepositorySession(mutable); - // end - + configuration.setRepositorySession(maven.newRepositorySession(req)); ProjectBuildingResult projectBuildingResult = projectBuilder.build(pomFile, configuration); result.setProject(projectBuildingResult.getProject()); result.setDependencyResolutionResult(projectBuildingResult.getDependencyResolutionResult()); @@ -280,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(); 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/NbWorkspaceReader.java b/java/maven.embedder/src/org/netbeans/modules/maven/embedder/impl/NbWorkspaceReader.java index 1895995db9f6..acfe0858bf40 100644 --- a/java/maven.embedder/src/org/netbeans/modules/maven/embedder/impl/NbWorkspaceReader.java +++ b/java/maven.embedder/src/org/netbeans/modules/maven/embedder/impl/NbWorkspaceReader.java @@ -26,6 +26,7 @@ import java.util.Map; import java.util.Objects; import org.netbeans.modules.maven.embedder.ArtifactFixer; +import org.netbeans.modules.maven.embedder.PlaceholderCapture; import org.openide.util.Lookup; import org.eclipse.aether.repository.WorkspaceReader; import org.eclipse.aether.repository.WorkspaceRepository; @@ -38,12 +39,14 @@ public class NbWorkspaceReader implements WorkspaceReader { private final WorkspaceRepository repo; private final NbVersionResolver2 resolver; private final Collection fixers; - boolean silence = false; + private final PlaceholderCapture capture; + volatile boolean silence = false; - public NbWorkspaceReader(NbVersionResolver2 resolver) { + public NbWorkspaceReader(NbVersionResolver2 resolver, PlaceholderCapture capture) { repo = new WorkspaceRepository("ide", getClass()); fixers = Lookup.getDefault().lookupAll(ArtifactFixer.class); this.resolver = resolver; + this.capture = capture; } @Override @@ -77,7 +80,7 @@ public File findArtifact(org.eclipse.aether.artifact.Artifact artifact) { } } for (ArtifactFixer fixer : fixers) { - File f = fixer.resolve(artifact); + File f = fixer.resolve(artifact, capture); if (f != null) { return f; } @@ -107,7 +110,7 @@ public List findVersions(org.eclipse.aether.artifact.Artifact artifact) } } for (ArtifactFixer fixer : fixers) { - File f = fixer.resolve(artifact); + File f = fixer.resolve(artifact, capture); if (f != null) { return Collections.singletonList(artifact.getBaseVersion()); } diff --git a/java/maven/src/org/netbeans/modules/maven/NbArtifactFixer.java b/java/maven/src/org/netbeans/modules/maven/NbArtifactFixer.java index 9d26652ec74c..8307183b191c 100644 --- a/java/maven/src/org/netbeans/modules/maven/NbArtifactFixer.java +++ b/java/maven/src/org/netbeans/modules/maven/NbArtifactFixer.java @@ -38,6 +38,7 @@ import org.netbeans.modules.maven.api.NbMavenProject; import org.netbeans.modules.maven.embedder.ArtifactFixer; import org.netbeans.modules.maven.embedder.EmbedderFactory; +import org.netbeans.modules.maven.embedder.PlaceholderCapture; import org.netbeans.modules.maven.queries.MavenFileOwnerQueryImpl; import org.openide.util.Exceptions; import org.openide.util.lookup.ServiceProvider; @@ -52,8 +53,14 @@ public class NbArtifactFixer implements ArtifactFixer { private static final Logger LOG = Logger.getLogger(NbArtifactFixer.class.getName()); private final ThreadLocal> gav = new ThreadLocal>(); //#234586 - - public @Override File resolve(Artifact artifact) { + + @Override + public File resolve(Artifact artifact) { + return resolve(artifact, null); + } + + @Override + public File resolve(Artifact artifact, PlaceholderCapture capture) { if (!artifact.getExtension().equals(NbMavenProject.TYPE_POM)) { return null; } @@ -88,10 +95,6 @@ public class NbArtifactFixer implements ArtifactFixer { gavSet.add(id); //#234586 File pom = MavenFileOwnerQueryImpl.getInstance().getOwnerPOM(artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion()); if (pom != null) { - //instead of workarounds down the road, we set the artifact's file here. - // some stacktraces to maven/aether do set it after querying our code, but some don't for reasons unknown to me. - // TODO Artifact is copy on write -> this isn't doing anything! - artifact.setFile(pom); return pom; } } finally { @@ -106,12 +109,7 @@ public class NbArtifactFixer implements ArtifactFixer { // NOTE: this catches metadata request for all artifacts not locally cached, but all will be repored as POMs. try { File f = createFallbackPOM(artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion()); - //instead of workarounds down the road, we set the artifact's file here. - // some stacktraces to maven/aether do set it after querying our code, but some don't for reasons unknown to me. - // TODO Artifact is copy on write -> this isn't doing anything! - artifact.setFile(f); - Set s = CAPTURE_PLACEHOLDER_ARTIFACTS.get(); - if (s != null) { + if (capture != null) { String c = artifact.getProperty("nbResolvingArtifact.classifier", null); String e = artifact.getProperty("nbResolvingArtifact.extension", null); @@ -121,7 +119,7 @@ public class NbArtifactFixer implements ArtifactFixer { // If it really resolves a POM dependency, add to missing artifacts. if ((c == null && e == null) || (Objects.equals(c, artifact.getClassifier()) && Objects.equals(e, artifact.getExtension()))) { - s.add(artifact); + capture.add(artifact); } else { if (local.getLayout() != null) { // #189807: for unknown reasons, there is no layout when running inside MavenCommandLineExecutor.run @@ -138,7 +136,7 @@ public class NbArtifactFixer implements ArtifactFixer { org.eclipse.aether.artifact.DefaultArtifact da = new org.eclipse.aether.artifact.DefaultArtifact( art.getGroupId(), art.getArtifactId(), art.getClassifier(), art.getType(), art.getVersion(), artifact.getProperties(), af); - s.add(da); + capture.add(da); } } } @@ -196,38 +194,33 @@ private static void sneakyThrow(Throwable exception) throw } /** - * Collects placeholder artifacts, which would be otherwise hidden in maven infrastructure. The value is only valid during {@link #collectPlaceholderArtifacts}, which - * can be invoked recursively. - */ - private static final ThreadLocal> CAPTURE_PLACEHOLDER_ARTIFACTS = new ThreadLocal>(); - - /** - * Performs an operation and collects forged artifacts created during that operation. The invocation can be nested; each invocation gets only artifacts from its own 'level', - * not those from possible nested invocations. The function passes on all runtime exceptions and checked exception thrown by the operation. - * + * Performs an operation and collects the placeholder (forged) artifacts created during that + * operation. The invocation can be nested; each invocation gets only the artifacts recorded + * into its own {@link PlaceholderCapture}. The function passes on all runtime exceptions and + * checked exception thrown by the operation. The capture must be wired into the operation, + * see e.g. {@link MavenEmbedder#readProjectWithDependencies(MavenExecutionRequest, boolean, PlaceholderCapture)}. + * * @param value produced by the executed operation * @param exception thrown from the operation + * @param capture the sink the operation records placeholder artifacts into * @param code the operation to call and monitor * @param collector callback that will get collected artifacts. * @return - * @throws E + * @throws E */ - public static T collectPlaceholderArtifacts(ExceptionCallable code, Consumer> collector) throws E { - Set save = CAPTURE_PLACEHOLDER_ARTIFACTS.get(); + public static T collectPlaceholderArtifacts(PlaceholderCapture capture, ExceptionCallable code, Consumer> collector) throws E { try { - CAPTURE_PLACEHOLDER_ARTIFACTS.set(new HashSet<>()); return code.call(); } catch (Error | RuntimeException r) { throw r; } catch (Exception ex) { sneakyThrow(ex); // unreachable - throw new Error(); + throw new Error(); } finally { if (collector != null) { - collector.accept(CAPTURE_PLACEHOLDER_ARTIFACTS.get()); + collector.accept(capture.getArtifacts()); } - CAPTURE_PLACEHOLDER_ARTIFACTS.set(save); } } } diff --git a/java/maven/src/org/netbeans/modules/maven/modelcache/MavenProjectCache.java b/java/maven/src/org/netbeans/modules/maven/modelcache/MavenProjectCache.java index 5ad342da9b97..4bf9b5862b13 100644 --- a/java/maven/src/org/netbeans/modules/maven/modelcache/MavenProjectCache.java +++ b/java/maven/src/org/netbeans/modules/maven/modelcache/MavenProjectCache.java @@ -54,6 +54,7 @@ import org.netbeans.modules.maven.configurations.M2Configuration; import org.netbeans.modules.maven.embedder.EmbedderFactory; import org.netbeans.modules.maven.embedder.MavenEmbedder; +import org.netbeans.modules.maven.embedder.PlaceholderCapture; import org.netbeans.spi.project.AuxiliaryConfiguration; import org.netbeans.spi.project.ProjectConfiguration; import org.openide.filesystems.FileObject; @@ -234,8 +235,9 @@ public static MavenProject loadOriginalMavenProjectInternal(MavenEmbedder projec long startLoading = System.currentTimeMillis(); try { - res = NbArtifactFixer.collectPlaceholderArtifacts( - () -> projectEmbedder.readProjectWithDependencies(req, true), + PlaceholderCapture capture = new PlaceholderCapture(); + res = NbArtifactFixer.collectPlaceholderArtifacts(capture, + () -> projectEmbedder.readProjectWithDependencies(req, true, capture), set -> set.forEach(a -> { // artifact fixer only injects POMs. placeholders.add( diff --git a/java/maven/test/unit/src/org/netbeans/modules/maven/NbArtifactFixerTest.java b/java/maven/test/unit/src/org/netbeans/modules/maven/NbArtifactFixerTest.java index 8165257ec2b0..edbb9199b8f3 100644 --- a/java/maven/test/unit/src/org/netbeans/modules/maven/NbArtifactFixerTest.java +++ b/java/maven/test/unit/src/org/netbeans/modules/maven/NbArtifactFixerTest.java @@ -21,6 +21,7 @@ import java.io.File; import org.netbeans.junit.NbTestCase; +import org.netbeans.modules.maven.embedder.PlaceholderCapture; import org.netbeans.modules.maven.queries.MavenFileOwnerQueryImpl; import org.openide.util.Utilities; import org.openide.util.test.TestFileUtils; @@ -49,9 +50,11 @@ public void testResolve() throws Exception { MavenFileOwnerQueryImpl.getInstance().registerCoordinates("g", "a", "0", Utilities.toURI(getWorkDir()).toURL(), true); assertEquals(pom, new NbArtifactFixer().resolve(new DefaultArtifact("g:a:pom:0"))); assertEquals(null, new NbArtifactFixer().resolve(new DefaultArtifact("g:a:jar:0"))); - File fallback = new NbArtifactFixer().resolve(new DefaultArtifact("g:a:pom:1")); + PlaceholderCapture capture = new PlaceholderCapture(); + File fallback = new NbArtifactFixer().resolve(new DefaultArtifact("g:a:pom:1"), capture); assertNotNull(fallback); assertFalse(fallback.equals(pom)); + assertEquals(1, capture.getArtifacts().size()); assertEquals(null, new NbArtifactFixer().resolve(new DefaultArtifact("g:a:pom:stuff:0"))); } From 294018cc72f27ee4dde597909ec35a728f30aebe Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Mon, 9 Nov 2026 21:20:24 +0100 Subject: [PATCH 7/7] Upgrade bundled maven to 3.10.1 RC The 3.10.1 release candidate is byte-compatible with the release layout (top-level folder apache-maven-3.10.1), so this also restores the single bundled.maven property and derived zip name from before the snapshot bump. When 3.10.1 is finally released on Maven Central, the binaries-list entry can switch back to the GAV form. - mvn detects now ANSI terminal compatibility (jline back in cp) --- ...0.0-javax.annotation-api-1.3.2-license.txt | 406 ------------------ ...xt => apache-maven-3.10.1-bin-license.txt} | 3 +- ...txt => apache-maven-3.10.1-bin-notice.txt} | 0 ...xt => apache-maven-3.10.1-epl-license.txt} | 6 +- ...en-3.10.1-failureaccess-1.0.3-license.txt} | 2 +- ...maven-3.10.1-guava-33.8.0-jre-license.txt} | 4 +- ...1-jakarta.annotation-api-1.3.5-license.txt | 284 ++++++++++++ ...che-maven-3.10.1-slf4j-2.0.20-license.txt} | 4 +- java/maven.embedder/external/binaries-list | 2 +- .../external/binariesembedded-list | 73 ++-- .../nbproject/project.properties | 2 +- java/maven.embedder/nbproject/project.xml | 86 ++-- java/maven/nbproject/project.properties | 12 +- .../netbeans/nbbuild/extlibs/ignored-overlaps | 22 +- 14 files changed, 380 insertions(+), 526 deletions(-) delete mode 100644 java/maven.embedder/external/apache-maven-3.10.0-javax.annotation-api-1.3.2-license.txt rename java/maven.embedder/external/{apache-maven-3.10.0-bin-license.txt => apache-maven-3.10.1-bin-license.txt} (99%) rename java/maven.embedder/external/{apache-maven-3.10.0-bin-notice.txt => apache-maven-3.10.1-bin-notice.txt} (100%) rename java/maven.embedder/external/{apache-maven-3.10.0-epl-license.txt => apache-maven-3.10.1-epl-license.txt} (98%) rename java/maven.embedder/external/{apache-maven-3.10.0-failureaccess-1.0.3-license.txt => apache-maven-3.10.1-failureaccess-1.0.3-license.txt} (99%) rename java/maven.embedder/external/{apache-maven-3.10.0-guava-33.7.1-jre-license.txt => apache-maven-3.10.1-guava-33.8.0-jre-license.txt} (99%) create mode 100644 java/maven.embedder/external/apache-maven-3.10.1-jakarta.annotation-api-1.3.5-license.txt rename java/maven.embedder/external/{apache-maven-3.10.0-slf4j-2.0.19-license.txt => apache-maven-3.10.1-slf4j-2.0.20-license.txt} (92%) diff --git a/java/maven.embedder/external/apache-maven-3.10.0-javax.annotation-api-1.3.2-license.txt b/java/maven.embedder/external/apache-maven-3.10.0-javax.annotation-api-1.3.2-license.txt deleted file mode 100644 index b8e2a8a32250..000000000000 --- a/java/maven.embedder/external/apache-maven-3.10.0-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.10.0-bin.zip!/apache-maven-3.10.0/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/apache-maven-3.10.0-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.10.0-bin-license.txt rename to java/maven.embedder/external/apache-maven-3.10.1-bin-license.txt index 638c35888500..b5ef9d26f436 100644 --- a/java/maven.embedder/external/apache-maven-3.10.0-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.10.0 +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.10.0-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.10.0-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.10.0-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.10.0-epl-license.txt rename to java/maven.embedder/external/apache-maven-3.10.1-epl-license.txt index 9146d9c9c9db..423d30408fbd 100644 --- a/java/maven.embedder/external/apache-maven-3.10.0-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.1.0.jar org.eclipse.sisu.plexus-1.1.0.jar -Version: 3.10.0 +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.10.0-bin.zip!/apache-maven-3.10.0/lib/org.eclipse.sisu.inject-1.1.0.jar apache-maven-3.10.0-bin.zip!/apache-maven-3.10.0/lib/org.eclipse.sisu.plexus-1.1.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.10.0-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.10.0-failureaccess-1.0.3-license.txt rename to java/maven.embedder/external/apache-maven-3.10.1-failureaccess-1.0.3-license.txt index e1b374bc06b6..8d2dc2bec235 100644 --- a/java/maven.embedder/external/apache-maven-3.10.0-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.10.0-bin.zip!/apache-maven-3.10.0/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.10.0-guava-33.7.1-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.10.0-guava-33.7.1-jre-license.txt rename to java/maven.embedder/external/apache-maven-3.10.1-guava-33.8.0-jre-license.txt index fa6492bf6f1e..55ed2069d0ce 100644 --- a/java/maven.embedder/external/apache-maven-3.10.0-guava-33.7.1-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.7.1 +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.10.0-bin.zip!/apache-maven-3.10.0/lib/guava-33.7.1-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.10.0-slf4j-2.0.19-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.10.0-slf4j-2.0.19-license.txt rename to java/maven.embedder/external/apache-maven-3.10.1-slf4j-2.0.20-license.txt index 6f18cf2337a6..0340f31cb022 100644 --- a/java/maven.embedder/external/apache-maven-3.10.0-slf4j-2.0.19-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: 2.0.19 +Version: 2.0.20 License: MIT-slf4j-22 Origin: Apache Software Foundation -Files: apache-maven-3.10.0-bin.zip!/apache-maven-3.10.0/lib/slf4j-api-2.0.19.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/binaries-list b/java/maven.embedder/external/binaries-list index 5253081d5f65..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 -4678029BE8342B3F3DBA431197C8A30B39007387 org.apache.maven:apache-maven:3.10.0: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 e9f3e7260b09..bf4e486f7ea6 100644 --- a/java/maven.embedder/external/binariesembedded-list +++ b/java/maven.embedder/external/binariesembedded-list @@ -15,60 +15,53 @@ # specific language governing permissions and limitations # under the License. -ADA2141C0CC52EE8F5C48CD5FA4CE0E794F22236;org.ow2.asm:asm:9.10.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 -DA09BCDB330DEEF7CFEE70F30C6889FDA70D5EBF;commons-codec:commons-codec:1.22.1 -EFC0E34EDE4E3204EAEFB84A00E55E8C86634382;com.google.code.gson:gson:2.14.0 -BBE30942A31D1778C74CB272321267ECA82DC708;com.google.errorprone:error_prone_annotations:2.48.0 -77E37866FB969B4FF6710FAAEFD3A86067730ADA;com.google.guava:guava:33.7.1-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 3D60FD98EB8ADE73004F4195C37B6317E02CF3D7;org.jspecify:jspecify:1.0.1 6975DA39A7040257BD51D21A231B76C915872D38;javax.inject:javax.inject:1 -8143D2F5D5E1896B1ECA3AF7E4FEBEFDED52B89C;org.slf4j:jcl-over-slf4j:2.0.19 -934C04D3CFEF185A8008E7BF34331B79730A9D43;javax.annotation:javax.annotation-api:1.3.2 -967999CB8190ABACE09231116F6FD43B2692D884;org.jline:jansi-core:3.30.17 -078AB9B81D344F284938234D8747B7D42EF37A4D;org.jline:jline-terminal-jni:3.30.17 -FAB16373CFD7D879A6C0913DA285DF86307834FB;org.jline:jline-native:3.30.17 -39E514A633149DADD0515F13B7A75E2CA3ADD71A;org.jline:jline-terminal:3.30.17 -04BEDEE3CF32401395620F18F02AC8582C46FF6E;org.jline:jline-terminal-ffm:3.30.17 -27E1F01911BE3BE075EA108D4FE8FD59AE717C5C;org.apache.maven:maven-artifact:3.10.0 -D2331ADCF8B7064901224AAFEFC9BD9779A1D909;org.apache.maven:maven-builder-support:3.10.0 -9AF14E87780B998B3D385F84091332C48EA64770;org.apache.maven:maven-compat:3.10.0 -330ACA272BC504A1BEC3D3AC3949EA8E840191BD;org.apache.maven:maven-core:3.10.0 -ACD6D0B58F7B9218C4654ED540FC0894D8E711C6;org.apache.maven:maven-embedder:3.10.0 -0F5DACF6EFBC0CB13FE68CFA305BEB95C6C75091;org.apache.maven:maven-model:3.10.0 -C6A1E4079442E498F0183FC376BE2CB2E3E75E7A;org.apache.maven:maven-model-builder:3.10.0 -79066C8AB22D88C963754CAC50442C636E36A45F;org.apache.maven:maven-jline:3.10.0 -F93F39067E09AFAB80B2404860AA641465A0F14F;org.apache.maven:maven-plugin-api:3.10.0 -258DF38658F65E6E9DEA4E7A591F7D2729EB88E3;org.apache.maven:maven-repository-metadata:3.10.0 -67E6BB218AA152542A71FE6E71B75903DF1573FF;org.apache.maven.resolver:maven-resolver-api:2.0.24 -D3C56E3D88F32A76EF8A049AF344BA0A91F881EA;org.apache.maven.resolver:maven-resolver-connector-basic:2.0.24 -FF1B82108C48EB69AABB4C2EA7B887DA69DF4CDF;org.apache.maven.resolver:maven-resolver-impl:2.0.24 -9D17F451A78F010CB0595FA1F7DFB68B9BED7EDD;org.apache.maven.resolver:maven-resolver-named-locks:2.0.24 -23FB1FAB1719200E14E8A8B410DA043AA7EB2284;org.apache.maven.resolver:maven-resolver-supplier-mvn3:2.0.24 -49EF606FD1CF4FF7828F8F3094E4C40B7182EFA6;org.apache.maven:maven-resolver-provider:3.10.0 -9738561C983E307B4E0482E0E18691B31507AA81;org.apache.maven.resolver:maven-resolver-spi:2.0.24 -CED2AF8126DA833A6F1EA493403B16C912A29F25;org.apache.maven.resolver:maven-resolver-transport-apache:2.0.24 -6AAEEC3C4F2D15C086F2B231D6E8CF44371026D4;org.apache.maven.resolver:maven-resolver-transport-wagon:2.0.24 -55F43D4CA3744280A367EA68FFACA5EC2A97EDEC;org.apache.maven.resolver:maven-resolver-transport-file:2.0.24 -1E8D9FF7EF457863A604FD6626637AE11BF61C90;org.apache.maven.resolver:maven-resolver-util:2.0.24 -AB7932F9480C2033C63A6F2F9C4C33D682FE7F19;org.apache.maven:maven-settings:3.10.0 -6554E565FA424A1816995958E173C6BCED9EA3E6;org.apache.maven:maven-settings-builder:3.10.0 -BFA28296272A5915B08DE9F11F34A94B0A818FD0;org.apache.maven.shared:maven-shared-utils:3.4.2 -0AC33ADB0F0E864FD8DBA11DC6E9276A66E4BDAD;org.apache.maven:maven-slf4j-provider:3.10.0 -C758820E578794E36A633403AA8411A48C822BBD;org.eclipse.sisu:org.eclipse.sisu.inject:1.1.0 -709EFBF41D101E71B9C5D7AF2B06BABE84AB6150;org.eclipse.sisu:org.eclipse.sisu.plexus:1.1.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 A050C2D8C80E8CC20C423CCD189C262A5D85A260;org.codehaus.plexus:plexus-classworlds:2.12.1 A506F84636EA7AE370D04167DD155C103E616F68;org.codehaus.plexus:plexus-component-annotations:2.2.0 E48988A88CF1624451648F1C150E88C36AA724DE;org.codehaus.plexus:plexus-interpolation:1.30.0 F89C5080614FFD0764E49861895DBEDDE1B47237;org.codehaus.plexus:plexus-sec-dispatcher:2.0 C8E32E2F08FB3A0E6CAF34F1448CC69F077F4282;org.codehaus.plexus:plexus-utils:3.6.2 -EFAD9817997B3A6CE9E058F92E612917A744C290;org.slf4j:slf4j-api:2.0.19 +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 ba157c696a78..91ed6be7ef1e 100644 --- a/java/maven.embedder/nbproject/project.properties +++ b/java/maven.embedder/nbproject/project.properties @@ -20,7 +20,7 @@ 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.10.0 +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 503e5850ce53..322ceea81d85 100644 --- a/java/maven.embedder/nbproject/project.xml +++ b/java/maven.embedder/nbproject/project.xml @@ -328,25 +328,25 @@ ../maven/lib/aopalliance-1.0.jar - ../maven/lib/asm-9.10.1.jar + ../maven/lib/asm-9.11.1.jar ../maven/lib/commons-cli-1.11.0.jar - ../maven/lib/commons-codec-1.22.1.jar + ../maven/lib/commons-codec-1.23.0.jar - ../maven/lib/error_prone_annotations-2.48.0.jar + ../maven/lib/error_prone_annotations-2.50.0.jar ../maven/lib/failureaccess-1.0.3.jar - ../maven/lib/gson-2.14.0.jar + ../maven/lib/gson-2.15.0.jar - ../maven/lib/guava-33.7.1-jre.jar + ../maven/lib/guava-33.8.0-jre.jar ../maven/lib/guice-5.1.0-classes.jar @@ -357,112 +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-2.0.19.jar - - - ../maven/lib/jline-native-3.30.17.jar - - - ../maven/lib/jline-terminal-3.30.17.jar - - - ../maven/lib/jline-terminal-ffm-3.30.17.jar - - - ../maven/lib/jline-terminal-jni-3.30.17.jar + ../maven/lib/jcl-over-slf4j-2.0.20.jar ../maven/lib/jspecify-1.0.1.jar - ../maven/lib/maven-artifact-3.10.0.jar + ../maven/lib/maven-artifact-3.10.1.jar - ../maven/lib/maven-builder-support-3.10.0.jar + ../maven/lib/maven-builder-support-3.10.1.jar - ../maven/lib/maven-compat-3.10.0.jar + ../maven/lib/maven-compat-3.10.1.jar - ../maven/lib/maven-core-3.10.0.jar + ../maven/lib/maven-core-3.10.1.jar - ../maven/lib/maven-embedder-3.10.0.jar + ../maven/lib/maven-embedder-3.10.1.jar - ../maven/lib/maven-jline-3.10.0.jar + ../maven/lib/maven-jline-3.10.1.jar - ../maven/lib/maven-model-3.10.0.jar + ../maven/lib/maven-model-3.10.1.jar - ../maven/lib/maven-model-builder-3.10.0.jar + ../maven/lib/maven-model-builder-3.10.1.jar - ../maven/lib/maven-plugin-api-3.10.0.jar + ../maven/lib/maven-plugin-api-3.10.1.jar - ../maven/lib/maven-repository-metadata-3.10.0.jar + ../maven/lib/maven-repository-metadata-3.10.1.jar - ../maven/lib/maven-resolver-api-2.0.24.jar + ../maven/lib/maven-resolver-api-2.0.25.jar - ../maven/lib/maven-resolver-connector-basic-2.0.24.jar + ../maven/lib/maven-resolver-connector-basic-2.0.25.jar - ../maven/lib/maven-resolver-impl-2.0.24.jar + ../maven/lib/maven-resolver-impl-2.0.25.jar - ../maven/lib/maven-resolver-named-locks-2.0.24.jar + ../maven/lib/maven-resolver-named-locks-2.0.25.jar - ../maven/lib/maven-resolver-provider-3.10.0.jar + ../maven/lib/maven-resolver-provider-3.10.1.jar - ../maven/lib/maven-resolver-spi-2.0.24.jar + ../maven/lib/maven-resolver-spi-2.0.25.jar - ../maven/lib/maven-resolver-transport-apache-2.0.24.jar + ../maven/lib/maven-resolver-transport-apache-2.0.25.jar - ../maven/lib/maven-resolver-transport-file-2.0.24.jar + ../maven/lib/maven-resolver-transport-file-2.0.25.jar - ../maven/lib/maven-resolver-transport-wagon-2.0.24.jar + ../maven/lib/maven-resolver-transport-wagon-2.0.25.jar - ../maven/lib/maven-resolver-util-2.0.24.jar + ../maven/lib/maven-resolver-util-2.0.25.jar - ../maven/lib/maven-settings-3.10.0.jar + ../maven/lib/maven-settings-3.10.1.jar - ../maven/lib/maven-settings-builder-3.10.0.jar + ../maven/lib/maven-settings-builder-3.10.1.jar - ../maven/lib/maven-slf4j-provider-3.10.0.jar + ../maven/lib/maven-slf4j-provider-3.10.1.jar - ../maven/lib/org.eclipse.sisu.inject-1.1.0.jar + ../maven/lib/org.eclipse.sisu.inject-1.1.2.jar - ../maven/lib/org.eclipse.sisu.plexus-1.1.0.jar + ../maven/lib/org.eclipse.sisu.plexus-1.1.2.jar ../maven/lib/plexus-cipher-2.0.jar @@ -480,7 +460,7 @@ ../maven/lib/plexus-utils-3.6.2.jar - ../maven/lib/slf4j-api-2.0.19.jar + ../maven/lib/slf4j-api-2.0.20.jar ../maven/lib/wagon-file-3.5.3.jar diff --git a/java/maven/nbproject/project.properties b/java/maven/nbproject/project.properties index b8fedf0d0bfe..cb7b0cebb4c4 100644 --- a/java/maven/nbproject/project.properties +++ b/java/maven/nbproject/project.properties @@ -40,11 +40,11 @@ mavensrc.cp=:\ ./external/aether-api-1.13.1.jar:\ ${libs.json_simple.dir}/modules/ext/json-simple-1.1.1.jar:\ ${maven.embedder.dir}/maven/boot/plexus-classworlds-2.12.1.jar:\ - ${maven.embedder.dir}/maven/lib/javax.annotation-api-1.3.2.jar:\ + ${maven.embedder.dir}/maven/lib/jakarta.annotation-api-1.3.5.jar:\ ${maven.embedder.dir}/maven/lib/javax.inject-1.jar:\ - ${maven.embedder.dir}/maven/lib/maven-core-3.10.0.jar:\ - ${maven.embedder.dir}/maven/lib/maven-model-3.10.0.jar:\ - ${maven.embedder.dir}/maven/lib/maven-plugin-api-3.10.0.jar:\ - ${maven.embedder.dir}/maven/lib/maven-resolver-api-2.0.24.jar:\ - ${maven.embedder.dir}/maven/lib/org.eclipse.sisu.plexus-1.1.0.jar:\ + ${maven.embedder.dir}/maven/lib/maven-core-3.10.1.jar:\ + ${maven.embedder.dir}/maven/lib/maven-model-3.10.1.jar:\ + ${maven.embedder.dir}/maven/lib/maven-plugin-api-3.10.1.jar:\ + ${maven.embedder.dir}/maven/lib/maven-resolver-api-2.0.25.jar:\ + ${maven.embedder.dir}/maven/lib/org.eclipse.sisu.plexus-1.1.2.jar:\ ${maven.embedder.dir}/maven/lib/plexus-utils-3.6.2.jar diff --git a/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/ignored-overlaps b/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/ignored-overlaps index adccaf1b1ac3..421fa82c3554 100644 --- a/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/ignored-overlaps +++ b/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/ignored-overlaps @@ -23,13 +23,14 @@ ide/db.sql.visualeditor/external/javacc-7.0.10.jar java/performance/external/javacc-7.0.10.jar # bundled maven conflicts with other libraries -java/maven.embedder/external/apache-maven-3.10.0-bin.zip ide/slf4j.api/external/slf4j-api-2.0.19.jar -java/maven.embedder/external/apache-maven-3.10.0-bin.zip platform/libs.asm/external/asm-9.10.1.jar -java/maven.embedder/external/apache-maven-3.10.0-bin.zip platform/o.apache.commons.codec/external/commons-codec-1.22.1.jar -java/maven.embedder/external/apache-maven-3.10.0-bin.zip ide/c.google.guava.failureaccess/external/failureaccess-1.0.3.jar -java/maven.embedder/external/apache-maven-3.10.0-bin.zip ide/c.google.guava/external/guava-33.7.1-jre.jar -java/maven.embedder/external/apache-maven-3.10.0-bin.zip ide/c.google.gson/external/gson-2.13.2.jar -java/maven.embedder/external/apache-maven-3.10.0-bin.zip java/maven.indexer/external/javax.annotation-api-1.3.2.jar +java/maven.embedder/external/apache-maven-3.10.1-bin.zip ide/slf4j.api/external/slf4j-api-2.0.19.jar +java/maven.embedder/external/apache-maven-3.10.1-bin.zip platform/libs.asm/external/asm-9.10.1.jar +java/maven.embedder/external/apache-maven-3.10.1-bin.zip platform/libs.testng/external/slf4j-api-2.0.20.jar +java/maven.embedder/external/apache-maven-3.10.1-bin.zip platform/o.apache.commons.codec/external/commons-codec-1.22.1.jar +java/maven.embedder/external/apache-maven-3.10.1-bin.zip ide/c.google.guava.failureaccess/external/failureaccess-1.0.3.jar +java/maven.embedder/external/apache-maven-3.10.1-bin.zip ide/c.google.guava/external/guava-33.7.1-jre.jar +java/maven.embedder/external/apache-maven-3.10.1-bin.zip ide/c.google.gson/external/gson-2.13.2.jar +java/maven.embedder/external/apache-maven-3.10.1-bin.zip java/maven.indexer/external/javax.annotation-api-1.3.2.jar # Used to parse data during build, but need to as a lib for ide cluster nbbuild/external/json-simple-1.1.1.jar ide/libs.json_simple/external/json-simple-1.1.1.jar @@ -39,9 +40,10 @@ webcommon/javascript2.jade/external/jflex-1.4.3.jar webcommon/javascript2.lexer/ # javax.annotation-api is used by multiple modules. enterprise/javaee8.api/external/javax.annotation-api-1.3.2.jar java/maven.indexer/external/javax.annotation-api-1.3.2.jar -enterprise/javaee8.api/external/javax.annotation-api-1.3.2.jar java/maven.embedder/external/apache-maven-3.10.0-bin.zip +enterprise/javaee8.api/external/javax.annotation-api-1.3.2.jar java/maven.embedder/external/apache-maven-3.10.1-bin.zip enterprise/javaee8.api/external/javax.annotation-api-1.3.2.jar enterprise/websvc.restlib/external/javax.annotation-api-1.3.2.jar -enterprise/websvc.restlib/external/javax.annotation-api-1.3.2.jar java/maven.embedder/external/apache-maven-3.10.0-bin.zip +enterprise/websvc.restlib/external/javax.annotation-api-1.3.2.jar java/maven.embedder/external/apache-maven-3.10.1-bin.zip +enterprise/websvc.restlib/external/javax.annotation-api-1.3.2.jar java/maven.indexer/external/javax.annotation-api-1.3.2.jar # jaxb-api-osgi is used by multiple modules. enterprise/javaee.api/external/jaxb-api-osgi-2.2.7.jar enterprise/javaee7.api/external/jaxb-api-osgi-2.2.7.jar @@ -56,7 +58,7 @@ enterprise/websvc.restlib/external/osgi.core-8.0.0.jar platform/libs.osgi/extern extide/gradle/external/gradle-8.11.1-bin.zip extide/o.apache.tools.ant.module/external/apache-ant-1.10.14-bin.zip extide/gradle/external/gradle-8.11.1-bin.zip ide/o.apache.commons.lang/external/commons-lang-2.6.jar extide/gradle/external/gradle-8.11.1-bin.zip ide/slf4j.api/external/slf4j-api-1.7.36.jar -extide/gradle/external/gradle-8.11.1-bin.zip java/maven.embedder/external/apache-maven-3.10.0-bin.zip +extide/gradle/external/gradle-8.11.1-bin.zip java/maven.embedder/external/apache-maven-3.10.1-bin.zip extide/gradle/external/gradle-8.11.1-bin.zip nbbuild/external/jsoup-1.15.3.jar extide/gradle/external/gradle-8.11.1-bin.zip platform/libs.junit4/external/hamcrest-core-1.3.jar extide/gradle/external/gradle-8.11.1-bin.zip platform/libs.junit4/external/junit-4.13.2.jar