svn commit: r1915219 - /ant/site/ivy/production/history/2.5.2/release-notes.html
Author: bodewig Date: Sat Jan 13 13:10:10 2024 New Revision: 1915219 URL: http://svn.apache.org/viewvc?rev=1915219=rev Log: add hint about removing Ivy cache in order to get rid of bad ivy.xml translated from POMs Modified: ant/site/ivy/production/history/2.5.2/release-notes.html Modified: ant/site/ivy/production/history/2.5.2/release-notes.html URL: http://svn.apache.org/viewvc/ant/site/ivy/production/history/2.5.2/release-notes.html?rev=1915219=1915218=1915219=diff == --- ant/site/ivy/production/history/2.5.2/release-notes.html (original) +++ ant/site/ivy/production/history/2.5.2/release-notes.html Sat Jan 13 13:10:10 2024 @@ -250,7 +250,11 @@ configurability, and tight integration w FIX: reading POMs may loose dependencies when multiple Maven -dependencies only differ in classifier (https://issues.apache.org/jira/browse/IVY-1642;>IVY-1642) +dependencies only differ in classifier + (https://issues.apache.org/jira/browse/IVY-1642;>IVY-1642). Note, + if you have resolved dependencies with version of Ivy prior to + 2.5.2 you may need to remove your Ivy cache for this fix to have + any effect. Fixes a Security Vulnerability, see https://ant.apache.org/ivy/security.html;>the scurity page for details. @@ -275,7 +279,11 @@ dependencies only differ in classi FIX: reading POMs may loose dependencies when multiple Maven -dependencies only differ in classifier (https://issues.apache.org/jira/browse/IVY-1642;>IVY-1642) +dependencies only differ in classifier + (https://issues.apache.org/jira/browse/IVY-1642;>IVY-1642). Note, + if you have resolved dependencies with version of Ivy prior to + 2.5.2 you may need to remove your Ivy cache for this fix to have + any effect. IMPROVEMENT: Upgrade Apache HttpClient to 4.5.13 (https://issues.apache.org/jira/browse/IVY-1644;>IVY-1644) @@ -758,4 +766,4 @@ dependencies only differ in classi -::Home::Reference::Tutorials::Developer's doc::Copyright 2007 - 2023 The Apache Software Foundation, Licensed under thehttp://www.apache.org/licenses/;>Apache License, Version 2.0.Apache Ivy, Apache Ant, Ivy, Ant, Apache, the Apache Ivy logo, the Apache Ant logo and the Apache feather logo are trademarks of The Apache Software Foundation.All other marks mentioned may be trademarks or registered trademarks of their respective owners. \ No newline at end of file +::Home::Reference::Tutorials::Developer's doc::Copyright 2007 - 2023 The Apache Software Foundation, Licensed under thehttp://www.apache.org/licenses/;>Apache License, Version 2.0.Apache Ivy, Apache Ant, Ivy, Ant, Apache, the Apache Ivy logo, the Apache Ant logo and the Apache feather logo are trademarks of The Apache Software Foundation.All other marks mentioned may be trademarks or registered trademarks of their respective owners.
svn commit: r1914783 - in /ant/site/ivyde: production/download.html production/index.html sources/download.html sources/index.html
Author: bodewig Date: Tue Dec 19 18:00:57 2023 New Revision: 1914783 URL: http://svn.apache.org/viewvc?rev=1914783=rev Log: strip down IvyDE's download page Modified: ant/site/ivyde/production/download.html ant/site/ivyde/production/index.html ant/site/ivyde/sources/download.html ant/site/ivyde/sources/index.html Modified: ant/site/ivyde/production/download.html URL: http://svn.apache.org/viewvc/ant/site/ivyde/production/download.html?rev=1914783=1914782=1914783=diff == --- ant/site/ivyde/production/download.html (original) +++ ant/site/ivyde/production/download.html Tue Dec 19 18:00:57 2023 @@ -132,96 +132,17 @@ Download -The Apache IvyDE distribution is available as an Eclipse update site, but you can also download and install it manually from one of our mirrors. We encourage you to verify the integrity of the downloaded files using signatures downloaded from our main distribution directory. You are also invited to look to the ASF git if you are interested into contributing to IvyDE.Update site + The Ant PMC https://lists.apache.org/thread/wo32q8s8o8z9m126gz3m533q2fnqq21o;>voted to archive the IvyDE subproject. This means that all its resources are removed or made read only and no further development will be done. + It also means that, if a community grows, the subproject could be https://ant.apache.org/processes.html#Reactivate%20a%20subproject%20or%20component;>reactivated. -You can install Apache IvyDE plugins from the IvyDE update site: http://www.apache.org/dist/ant/ivyde/updatesite;>http://www.apache.org/dist/ant/ivyde/updatesite.First you have to configure Eclipse: add the IvyDE update site. In order to do it, follow these steps (Note that for Eclipse 3.4 it may differ): - -Open the update manager in Eclipse: Help > Software Updates > Find and Install... -In the popup window, select Search for features to install, and click Next -Then click on New Remote Site... -Name: Apache Ivy update site -URL: http://www.apache.org/dist/ant/ivyde/updatesite;>http://www.apache.org/dist/ant/ivyde/updatesite -Click OK -A new entry "Apache Ivy update site" will appear in the list of update sites - + Old releases +Apache IvyDE 2.x +All ASF releases of IvyDE are available via the Apache software archive https://archive.apache.org/dist/ant/ivyde/;>here. -And to proceed to the installation of the plugins from the configured IvyDE update site: - -Make sure you selected the "Apache Ivy update site" and click Finish to trigger the search for features -After some amount of time, you will see the list of available features to install. Select the ones in which you are interested in -If Eclipse warns you about non resolved dependencies, click on Select Required -To continue click Next -Then you have to accept the http://www.apache.org/licenses/LICENSE-2.0;>Apache Software License agreement -Eclipse will present you the summary of the plugins to download: click Finish to start downloading -After the download, Eclipse will ask you if you really want to install the plugins. Click Install or Install All. -It is then recommended to restart Eclipse: click Yes -After restarting, the IvyDE plugins should have started. You can check the version of Ivy you are using on the top of the configuration panel of Ivy (Window > Preferences, and select Ivy); or in Eclipse's list of plugins (Help > About Eclipse, click Plug-in Details) - +IvyDE 1,x +Releases described below were made by Jayasoft, and are listed here for historical reason, and should not be considered as Apache software. -Manual install - -Select mirror -You are currently using [preferred]. If you encounter a problem with this mirror, please select another mirror. If all mirrors are failing, there are backup mirrors (at the end of the mirrors list) that should be available. -Other mirrors: -[if-any http] [for http][http][end][end][if-any ftp] [for ftp][ftp][end][end][if-any backup] [for backup][backup] (backup)[end][end] - - - -IvyDE binaries - -This distribution contains every binaries ready to be installed in your Eclipse installation.Download the IvyDE plugins: - - as a zip: apache-ivyde-2.2.0.final-201311091524-RELEASE.zip - or as a gzip compressed tar: apache-ivyde-2.2.0.final-201311091524-RELEASE.tar.gz - - -Uncompress the archive. In there you will find two folders containing the artifacts to deploy in your Eclipse: - - the IvyDE features features/org.apache.ivyde.*.jar to put in your $ECLIPSE_HOME/features - the IvyDE plugins plugins/org.apache.ivyde.*.jar to put in your $ECLIPSE_HOME/plugins - - -Install the latest Ivy bundle - -Get the latest Ivy feature and bundle for the updatesite: - -the features folder -the plugins folder - - -And then just copy them respectively in the $ECLIPSE_HOME/fe
(ant) branch master updated: can't bootstrap without jupiter engine anymore
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ant.git The following commit(s) were added to refs/heads/master by this push: new 12cbc24f6 can't bootstrap without jupiter engine anymore 12cbc24f6 is described below commit 12cbc24f63f495cafed7c3fdd1dcbb8b759f42b3 Author: Stefan Bodewig AuthorDate: Sun Nov 26 18:04:49 2023 +0100 can't bootstrap without jupiter engine anymore --- build.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/build.xml b/build.xml index b2309d000..0ecde7671 100644 --- a/build.xml +++ b/build.xml @@ -234,6 +234,7 @@ +
svn commit: r65547 - /release/ant/ivyde/
Author: bodewig Date: Sun Nov 26 15:58:44 2023 New Revision: 65547 Log: IvyDE is retired Removed: release/ant/ivyde/
(ant-ivyde) branch master updated: change project description
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ant-ivyde.git The following commit(s) were added to refs/heads/master by this push: new d8ef5c2 change project description d8ef5c2 is described below commit d8ef5c20880c920772cdc970d16c118d143d9c29 Author: Stefan Bodewig AuthorDate: Sun Nov 26 16:50:11 2023 +0100 change project description --- doap_IvyDE.rdf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doap_IvyDE.rdf b/doap_IvyDE.rdf index 40eb1e0..5f9d250 100644 --- a/doap_IvyDE.rdf +++ b/doap_IvyDE.rdf @@ -27,8 +27,8 @@ Apache IvyDE http://ant.apache.org/ivyde/; /> http://ant.apache.org; /> -Integrate Ivy in Eclipse with the IvyDE plugin. -IvyDE lets you manage your dependencies declared in an ivy.xml in your Java Eclipse projects. IvyDE will contribute to the classpath of your Java project, with the classpath container. It also bring an editor of ivy.xml files, with completion. +Retired project: Integrate Ivy in Eclipse with the IvyDE plugin. +The now retired IvyDE lets you manage your dependencies declared in an ivy.xml in your Java Eclipse projects. IvyDE will contribute to the classpath of your Java project, with the classpath container. It also bring an editor of ivy.xml files, with completion. https://issues.apache.org/jira/browse/IVYDE; /> http://ant.apache.org/ivy/ivyde/mailing-lists.html; /> http://ant.apache.org/ivy/ivyde/download.cgi; />
svn commit: r1914140 - in /ant/site/ant: production/antnews.html production/index.html sources/antnews.xml sources/index.xml
Author: bodewig Date: Sun Nov 26 15:47:04 2023 New Revision: 1914140 URL: http://svn.apache.org/viewvc?rev=1914140=rev Log: Forgot Apache prefix Modified: ant/site/ant/production/antnews.html ant/site/ant/production/index.html ant/site/ant/sources/antnews.xml ant/site/ant/sources/index.xml Modified: ant/site/ant/production/antnews.html URL: http://svn.apache.org/viewvc/ant/site/ant/production/antnews.html?rev=1914140=1914139=1914140=diff == --- ant/site/ant/production/antnews.html (original) +++ ant/site/ant/production/antnews.html Sun Nov 26 15:47:04 2023 @@ -230,8 +230,8 @@ Apache Ant Project News - - IvyDE retired + + Apache IvyDE retired Nov 26, 2023 - IvyDE retired The Ant PMC https://lists.apache.org/thread/wo32q8s8o8z9m126gz3m533q2fnqq21o;>voted Modified: ant/site/ant/production/index.html URL: http://svn.apache.org/viewvc/ant/site/ant/production/index.html?rev=1914140=1914139=1914140=diff == --- ant/site/ant/production/index.html (original) +++ ant/site/ant/production/index.html Sun Nov 26 15:47:04 2023 @@ -253,8 +253,8 @@ the https://www.apache.org/;>Apache Software Foundation. - - IvyDE retired + + Apache IvyDE retired Nov 26, 2023 - IvyDE retired The Ant PMC https://lists.apache.org/thread/wo32q8s8o8z9m126gz3m533q2fnqq21o;>voted Modified: ant/site/ant/sources/antnews.xml URL: http://svn.apache.org/viewvc/ant/site/ant/sources/antnews.xml?rev=1914140=1914139=1914140=diff == --- ant/site/ant/sources/antnews.xml (original) +++ ant/site/ant/sources/antnews.xml Sun Nov 26 15:47:04 2023 @@ -28,7 +28,7 @@ - + Nov 26, 2023 - IvyDE retired The Ant PMC https://lists.apache.org/thread/wo32q8s8o8z9m126gz3m533q2fnqq21o;>voted to archive the IvyDE subproject. This means that all Modified: ant/site/ant/sources/index.xml URL: http://svn.apache.org/viewvc/ant/site/ant/sources/index.xml?rev=1914140=1914139=1914140=diff == --- ant/site/ant/sources/index.xml (original) +++ ant/site/ant/sources/index.xml Sun Nov 26 15:47:04 2023 @@ -56,7 +56,7 @@ the https://www.apache.org/;>Apache Software Foundation. - + Nov 26, 2023 - IvyDE retired The Ant PMC https://lists.apache.org/thread/wo32q8s8o8z9m126gz3m533q2fnqq21o;>voted to archive the IvyDE subproject. This means that all
svn commit: r1914139 - in /ant/site/ant: production/antnews.html production/index.html production/projects/ivyde.html sources/antnews.xml sources/index.xml sources/projects/ivyde.xml
Author: bodewig Date: Sun Nov 26 15:45:43 2023 New Revision: 1914139 URL: http://svn.apache.org/viewvc?rev=1914139=rev Log: IvyDE is retired Modified: ant/site/ant/production/antnews.html ant/site/ant/production/index.html ant/site/ant/production/projects/ivyde.html ant/site/ant/sources/antnews.xml ant/site/ant/sources/index.xml ant/site/ant/sources/projects/ivyde.xml Modified: ant/site/ant/production/antnews.html URL: http://svn.apache.org/viewvc/ant/site/ant/production/antnews.html?rev=1914139=1914138=1914139=diff == --- ant/site/ant/production/antnews.html (original) +++ ant/site/ant/production/antnews.html Sun Nov 26 15:45:43 2023 @@ -230,6 +230,18 @@ Apache Ant Project News + + IvyDE retired + +Nov 26, 2023 - IvyDE retired +The Ant PMC https://lists.apache.org/thread/wo32q8s8o8z9m126gz3m533q2fnqq21o;>voted + to archive the IvyDE subproject. This means that all + its resources are removed or made read only and no further development will + be done. + It also means that, if a community grows, the subproject could be + https://ant.apache.org/processes.html#Reactivate%20a%20subproject%20or%20component;>reactivated. + + Apache Ant 1.10.14 Modified: ant/site/ant/production/index.html URL: http://svn.apache.org/viewvc/ant/site/ant/production/index.html?rev=1914139=1914138=1914139=diff == --- ant/site/ant/production/index.html (original) +++ ant/site/ant/production/index.html Sun Nov 26 15:45:43 2023 @@ -253,6 +253,18 @@ the https://www.apache.org/;>Apache Software Foundation. + + IvyDE retired + +Nov 26, 2023 - IvyDE retired +The Ant PMC https://lists.apache.org/thread/wo32q8s8o8z9m126gz3m533q2fnqq21o;>voted + to archive the IvyDE subproject. This means that all + its resources are removed or made read only and no further development will + be done. + It also means that, if a community grows, the subproject could be + https://ant.apache.org/processes.html#Reactivate%20a%20subproject%20or%20component;>reactivated. + + Apache Ant 1.10.14 Modified: ant/site/ant/production/projects/ivyde.html URL: http://svn.apache.org/viewvc/ant/site/ant/production/projects/ivyde.html?rev=1914139=1914138=1914139=diff == --- ant/site/ant/production/projects/ivyde.html (original) +++ ant/site/ant/production/projects/ivyde.html Sun Nov 26 15:45:43 2023 @@ -191,6 +191,11 @@ The Apache IvyDE Subproject Apache IvyDE +The Ant PMC https://lists.apache.org/thread/wo32q8s8o8z9m126gz3m533q2fnqq21o;>voted + to archive the IvyDE subproject. This means that all its resources are removed or made read only + and no further development will be done. + It also means that, if a community grows, the subproject could be + https://ant.apache.org/processes.html#Reactivate%20a%20subproject%20or%20component;>reactivated. Apache IvyDE is the Eclipse plugin which intergrates Apache Ivy into your java development enviromnent. It includes: an Ivy xml files editor: creation wizard, html preview and completion for Ivy xml tag, attributes but also attributes' values. an Ivy settings files editor: completion for xml tag, attributes but also attributes' values. Modified: ant/site/ant/sources/antnews.xml URL: http://svn.apache.org/viewvc/ant/site/ant/sources/antnews.xml?rev=1914139=1914138=1914139=diff == --- ant/site/ant/sources/antnews.xml (original) +++ ant/site/ant/sources/antnews.xml Sun Nov 26 15:45:43 2023 @@ -28,6 +28,17 @@ + +Nov 26, 2023 - IvyDE retired +The Ant PMC https://lists.apache.org/thread/wo32q8s8o8z9m126gz3m533q2fnqq21o;>voted + to archive the IvyDE subproject. This means that all + its resources are removed or made read only and no further development will + be done. + It also means that, if a community grows, the subproject could be + https://ant.apache.org/processes.html#Reactivate%20a%20subproject%20or%20component;>reactivated. + + + August 20, 2023 - Apache Ant 1.10.14 Released Apache Ant 1.10.14 is now available for download from Modified: ant/site/ant/sources/index.xml URL: http://svn.apache.org/viewvc/ant/site/ant/sources/index.xml?rev=1
svn commit: r1914138 - in /ant/site/ivyde: production/ production/history/latest-milestone/ production/history/latest-milestone/cpc/ production/history/latest-milestone/dev/ production/history/latest-
Author: bodewig Date: Sun Nov 26 15:40:50 2023 New Revision: 1914138 URL: http://svn.apache.org/viewvc?rev=1914138=rev Log: IvyDE is retired Added: ant/site/ivyde/production/RETIRED_PROJECT ant/site/ivyde/sources/RETIRED_PROJECT Modified: ant/site/ivyde/production/history/latest-milestone/ant.html ant/site/ivyde/production/history/latest-milestone/compatibility.html ant/site/ivyde/production/history/latest-milestone/console.html ant/site/ivyde/production/history/latest-milestone/cp_container.html ant/site/ivyde/production/history/latest-milestone/cpc/cleancache.html ant/site/ivyde/production/history/latest-milestone/cpc/create.html ant/site/ivyde/production/history/latest-milestone/cpc/edit.html ant/site/ivyde/production/history/latest-milestone/cpc/jarmapping.html ant/site/ivyde/production/history/latest-milestone/cpc/launch.html ant/site/ivyde/production/history/latest-milestone/cpc/maven.html ant/site/ivyde/production/history/latest-milestone/cpc/resolve.html ant/site/ivyde/production/history/latest-milestone/cpc/retrieve.html ant/site/ivyde/production/history/latest-milestone/cpc/workspace.html ant/site/ivyde/production/history/latest-milestone/cpc/wtp.html ant/site/ivyde/production/history/latest-milestone/dev.html ant/site/ivyde/production/history/latest-milestone/dev/build.html ant/site/ivyde/production/history/latest-milestone/dev/dev-env-setup.html ant/site/ivyde/production/history/latest-milestone/dev/release.html ant/site/ivyde/production/history/latest-milestone/dev/updatesite.html ant/site/ivyde/production/history/latest-milestone/eclipsevar.html ant/site/ivyde/production/history/latest-milestone/index.html ant/site/ivyde/production/history/latest-milestone/install.html ant/site/ivyde/production/history/latest-milestone/ivyeditor.html ant/site/ivyde/production/history/latest-milestone/non-java.html ant/site/ivyde/production/history/latest-milestone/preferences.html ant/site/ivyde/production/history/latest-milestone/release-notes.html ant/site/ivyde/production/history/latest-milestone/resolve-visualizer.html ant/site/ivyde/production/history/latest-milestone/revdepexplorer.html ant/site/ivyde/production/history/latest-milestone/sample/webapp-js-repo.zip ant/site/ivyde/production/history/latest-milestone/settingseditor.html ant/site/ivyde/production/index.html ant/site/ivyde/sources/index.html Added: ant/site/ivyde/production/RETIRED_PROJECT URL: http://svn.apache.org/viewvc/ant/site/ivyde/production/RETIRED_PROJECT?rev=1914138=auto == (empty) Modified: ant/site/ivyde/production/history/latest-milestone/ant.html URL: http://svn.apache.org/viewvc/ant/site/ivyde/production/history/latest-milestone/ant.html?rev=1914138=1914137=1914138=diff == --- ant/site/ivyde/production/history/latest-milestone/ant.html (original) +++ ant/site/ivyde/production/history/latest-milestone/ant.html Sun Nov 26 15:40:50 2023 @@ -118,6 +118,7 @@ Foundationhttp://www.apache.org; >ASF http://www.apache.org/foundation/sponsorship.html; >Sponsorship http://www.apache.org/foundation/thanks.html; >Thanks +https://privacy.apache.org/policies/privacy-policy-public.html; >Privacy Policy Modified: ant/site/ivyde/production/history/latest-milestone/compatibility.html URL: http://svn.apache.org/viewvc/ant/site/ivyde/production/history/latest-milestone/compatibility.html?rev=1914138=1914137=1914138=diff == --- ant/site/ivyde/production/history/latest-milestone/compatibility.html (original) +++ ant/site/ivyde/production/history/latest-milestone/compatibility.html Sun Nov 26 15:40:50 2023 @@ -119,6 +119,7 @@ Foundationhttp://www.apache.org; >ASF http://www.apache.org/foundation/sponsorship.html; >Sponsorship http://www.apache.org/foundation/thanks.html; >Thanks +https://privacy.apache.org/policies/privacy-policy-public.html; >Privacy Policy Modified: ant/site/ivyde/production/history/latest-milestone/console.html URL: http://svn.apache.org/viewvc/ant/site/ivyde/production/history/latest-milestone/console.html?rev=1914138=1914137=1914138=diff == --- ant/site/ivyde/production/history/latest-milestone/console.html (original) +++ ant/site/ivyde/production/history/latest-milestone/console.html Sun Nov 26 15:40:50 2023 @@ -119,6 +119,7 @@ Foundationhttp://www.apache.org; >ASF http://www.apache.org/foundation/sponsorship.html; >Sponsorship http://www.apache.org/foundation/thanks.html; >Thanks +https://privacy.apache.org/policies/privacy-policy-public.html; >Privacy Policy Modified: ant/site/ivyde/production/history/latest-mi
(ant-ivyde) branch master updated: mark IvyDE as retired
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ant-ivyde.git The following commit(s) were added to refs/heads/master by this push: new a3db5e1 mark IvyDE as retired a3db5e1 is described below commit a3db5e1e45f4895004f4de6ade72c4fa14f886b0 Author: Stefan Bodewig AuthorDate: Sun Nov 26 16:30:28 2023 +0100 mark IvyDE as retired --- README.adoc | 5 + RETIRED_PROJECT | 0 2 files changed, 5 insertions(+) diff --git a/README.adoc b/README.adoc index 917c612..303d625 100644 --- a/README.adoc +++ b/README.adoc @@ -1,3 +1,8 @@ +WARNING: The Ant PMC link:https://lists.apache.org/thread/wo32q8s8o8z9m126gz3m533q2fnqq21o[voted] to archive the IvyDE subproject. This means that all its resources are removed or made read only and no further development will be done. + +NOTE: It also means that, if a community grows, the subproject could +be link:https://ant.apache.org/processes.html#Reactivate%20a%20subproject%20or%20component[reactivated]. + = Apache IvyDE diff --git a/RETIRED_PROJECT b/RETIRED_PROJECT new file mode 100644 index 000..e69de29
svn commit: r65419 - in /dev/ant/ivyde/updatesite/ivy-2.5.2.final_20230817170011: ./ features/ plugins/
Author: bodewig Date: Sun Nov 19 17:12:04 2023 New Revision: 65419 Log: Trying to create an updatesite for Ivy 2.5.2 Added: dev/ant/ivyde/updatesite/ivy-2.5.2.final_20230817170011/ dev/ant/ivyde/updatesite/ivy-2.5.2.final_20230817170011/artifacts.xml (with props) dev/ant/ivyde/updatesite/ivy-2.5.2.final_20230817170011/content.xml (with props) dev/ant/ivyde/updatesite/ivy-2.5.2.final_20230817170011/features/ dev/ant/ivyde/updatesite/ivy-2.5.2.final_20230817170011/features/org.apache.ivy.eclipse.ant.feature_2.5.2.final_20230817170011.jar (with props) dev/ant/ivyde/updatesite/ivy-2.5.2.final_20230817170011/features/org.apache.ivy.eclipse.ant.feature_2.5.2.final_20230817170011.jar.asc dev/ant/ivyde/updatesite/ivy-2.5.2.final_20230817170011/features/org.apache.ivy.eclipse.ant.feature_2.5.2.final_20230817170011.jar.sha256 dev/ant/ivyde/updatesite/ivy-2.5.2.final_20230817170011/features/org.apache.ivy.eclipse.ant.feature_2.5.2.final_20230817170011.jar.sha512 dev/ant/ivyde/updatesite/ivy-2.5.2.final_20230817170011/features/org.apache.ivy.feature_2.5.2.final_20230817170011.jar (with props) dev/ant/ivyde/updatesite/ivy-2.5.2.final_20230817170011/features/org.apache.ivy.feature_2.5.2.final_20230817170011.jar.asc dev/ant/ivyde/updatesite/ivy-2.5.2.final_20230817170011/features/org.apache.ivy.feature_2.5.2.final_20230817170011.jar.sha256 dev/ant/ivyde/updatesite/ivy-2.5.2.final_20230817170011/features/org.apache.ivy.feature_2.5.2.final_20230817170011.jar.sha512 dev/ant/ivyde/updatesite/ivy-2.5.2.final_20230817170011/plugins/ dev/ant/ivyde/updatesite/ivy-2.5.2.final_20230817170011/plugins/org.apache.ivy.eclipse.ant_2.5.2.final_20230817170011.jar (with props) dev/ant/ivyde/updatesite/ivy-2.5.2.final_20230817170011/plugins/org.apache.ivy.eclipse.ant_2.5.2.final_20230817170011.jar.asc dev/ant/ivyde/updatesite/ivy-2.5.2.final_20230817170011/plugins/org.apache.ivy.eclipse.ant_2.5.2.final_20230817170011.jar.sha256 dev/ant/ivyde/updatesite/ivy-2.5.2.final_20230817170011/plugins/org.apache.ivy.eclipse.ant_2.5.2.final_20230817170011.jar.sha512 dev/ant/ivyde/updatesite/ivy-2.5.2.final_20230817170011/plugins/org.apache.ivy_2.5.2.final_20230817170011.jar (with props) dev/ant/ivyde/updatesite/ivy-2.5.2.final_20230817170011/plugins/org.apache.ivy_2.5.2.final_20230817170011.jar.asc dev/ant/ivyde/updatesite/ivy-2.5.2.final_20230817170011/plugins/org.apache.ivy_2.5.2.final_20230817170011.jar.sha256 dev/ant/ivyde/updatesite/ivy-2.5.2.final_20230817170011/plugins/org.apache.ivy_2.5.2.final_20230817170011.jar.sha512 Added: dev/ant/ivyde/updatesite/ivy-2.5.2.final_20230817170011/artifacts.xml == --- dev/ant/ivyde/updatesite/ivy-2.5.2.final_20230817170011/artifacts.xml (added) +++ dev/ant/ivyde/updatesite/ivy-2.5.2.final_20230817170011/artifacts.xml Sun Nov 19 17:12:04 2023 @@ -0,0 +1,64 @@ + + + + + http://ant.apache.org/ivy/ivyde/updatesite/p2-mirrors--xml.cgi?path=ivy-2.5.2.final_20230817170011; name="p2.mirrorsURL"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file Propchange: dev/ant/ivyde/updatesite/ivy-2.5.2.final_20230817170011/artifacts.xml -- svn:eol-style = native Added: dev/ant/ivyde/updatesite/ivy-2.5.2.final_20230817170011/content.xml == --- dev/ant/ivyde/updatesite/ivy-2.5.2.final_20230817170011/content.xml (added) +++ dev/ant/ivyde/updatesite/ivy-2.5.2.final_20230817170011/content.xml Sun Nov 19 17:12:04 2023 @@ -0,0 +1,363 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +(org.eclipse.update.install.features=true) + + + + + + + %license + + + +Copyright © 2015 The Apache Software Foundation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +true + + +Bundle-SymbolicName: org.apache.ivy.eclipse.ant;singleton:=trueBundle-Version: 2.5.2.final_2
svn commit: r1913964 - /ant/ivy/updatesite/trunk/signArtifacts.sh
Author: bodewig Date: Sun Nov 19 17:11:33 2023 New Revision: 1913964 URL: http://svn.apache.org/viewvc?rev=1913964=rev Log: revert commit Modified: ant/ivy/updatesite/trunk/signArtifacts.sh Modified: ant/ivy/updatesite/trunk/signArtifacts.sh URL: http://svn.apache.org/viewvc/ant/ivy/updatesite/trunk/signArtifacts.sh?rev=1913964=1913963=1913964=diff == --- ant/ivy/updatesite/trunk/signArtifacts.sh (original) +++ ant/ivy/updatesite/trunk/signArtifacts.sh Sun Nov 19 17:11:33 2023 @@ -24,5 +24,5 @@ fi; read -s -p "Key passphrase: " passphrase -for i in dist/dev/$1/features/*.jar; do gpg -u bode...@apache.org --use-agent --output $i.asc --detach-sig --armor $i; done -for i in dist/dev/$1/plugins/*.jar; do gpg -u bode...@apache.org --use-agent --output $i.asc --detach-sig --armor $i; done +for i in dist/dev/$1/features/*.jar; do gpg --passphrase "$passphrase" --output $i.asc --detach-sig --armor $i; done +for i in dist/dev/$1/plugins/*.jar; do gpg --passphrase "$passphrase" --output $i.asc --detach-sig --armor $i; done
svn commit: r1913963 - /ant/ivy/updatesite/trunk/signArtifacts.sh
Author: bodewig Date: Sun Nov 19 17:07:30 2023 New Revision: 1913963 URL: http://svn.apache.org/viewvc?rev=1913963=rev Log: Trying to create an updatesite for Ivy 2.5.2 Modified: ant/ivy/updatesite/trunk/signArtifacts.sh Modified: ant/ivy/updatesite/trunk/signArtifacts.sh URL: http://svn.apache.org/viewvc/ant/ivy/updatesite/trunk/signArtifacts.sh?rev=1913963=1913962=1913963=diff == --- ant/ivy/updatesite/trunk/signArtifacts.sh (original) +++ ant/ivy/updatesite/trunk/signArtifacts.sh Sun Nov 19 17:07:30 2023 @@ -24,5 +24,5 @@ fi; read -s -p "Key passphrase: " passphrase -for i in dist/dev/$1/features/*.jar; do gpg --passphrase "$passphrase" --output $i.asc --detach-sig --armor $i; done -for i in dist/dev/$1/plugins/*.jar; do gpg --passphrase "$passphrase" --output $i.asc --detach-sig --armor $i; done +for i in dist/dev/$1/features/*.jar; do gpg -u bode...@apache.org --use-agent --output $i.asc --detach-sig --armor $i; done +for i in dist/dev/$1/plugins/*.jar; do gpg -u bode...@apache.org --use-agent --output $i.asc --detach-sig --armor $i; done
(ant) branch master updated: record new failOnError attribute of replaceregexp
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ant.git The following commit(s) were added to refs/heads/master by this push: new 5e286d274 record new failOnError attribute of replaceregexp 5e286d274 is described below commit 5e286d2746a33e09da8cb941167c6cc8360d6895 Author: Stefan Bodewig AuthorDate: Fri Nov 17 06:11:40 2023 +0100 record new failOnError attribute of replaceregexp see #206 --- WHATSNEW | 8 manual/Tasks/replaceregexp.html | 9 + .../org/apache/tools/ant/taskdefs/optional/ReplaceRegExp.java| 1 + 3 files changed, 18 insertions(+) diff --git a/WHATSNEW b/WHATSNEW index c598d4485..cde56282d 100644 --- a/WHATSNEW +++ b/WHATSNEW @@ -43,6 +43,14 @@ Changes that could break older environments: updated to launch in a forked JVM so that the System.exit() call will not impact the JVM in which Ant process runs. +Other changes: +-- + + * has a new failOnError attirbute which, when + enabled, makes the task throw a BuildException for certain error + cases that will only be logged otherwise. + Github Pull Request #206 + Fixed bugs: --- diff --git a/manual/Tasks/replaceregexp.html b/manual/Tasks/replaceregexp.html index 5077fbcba..2523e6a36 100644 --- a/manual/Tasks/replaceregexp.html +++ b/manual/Tasks/replaceregexp.html @@ -95,6 +95,15 @@ documentation of the Regexp Type. No; defaults to false + +failonerror +Stop the build process if certain file operations fail. + For historical reasons the task swallows and logs certain + failure cases, enabling this option makes sure the exception + make the build fail instead. + since Ant 1.10.15 +No; defaults to false + Examples diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/ReplaceRegExp.java b/src/main/org/apache/tools/ant/taskdefs/optional/ReplaceRegExp.java index aca6d1ac6..61bcc6799 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/ReplaceRegExp.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/ReplaceRegExp.java @@ -325,6 +325,7 @@ public class ReplaceRegExp extends Task { * If false, note errors but continue. * * @param failonerror true or false + * @since Ant 1.10.15 */ public void setFailOnError(boolean failonerror) { this.failonerror = failonerror;
(ant) branch master updated (5c89d9e25 -> 5a1ae9b8b)
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/ant.git from 5c89d9e25 Fix `--release` param check in bootstrap.bat new c7a282f94 Throw BuildExceptions in ReplaceRegExp for errors new 0432a5009 Add failonerror flag new 5a1ae9b8b Merge pull request #206 from mfaquan/master The 14975 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../tools/ant/taskdefs/optional/ReplaceRegExp.java | 31 +- 1 file changed, 30 insertions(+), 1 deletion(-)
[jira] [Resolved] (IVY-1648) Some Unit Tests fail on Java8
[ https://issues.apache.org/jira/browse/IVY-1648?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Stefan Bodewig resolved IVY-1648. - Resolution: Fixed see https://github.com/apache/ant-ivy/commit/503aafc594b777ffb035a457ed341e31334c23a4 > Some Unit Tests fail on Java8 > - > > Key: IVY-1648 > URL: https://issues.apache.org/jira/browse/IVY-1648 > Project: Ivy > Issue Type: Bug > Components: Core >Affects Versions: 2.5.2 > Reporter: Stefan Bodewig >Priority: Major > Fix For: 2.5.3 > > > While porting changes from Ivy to SBT's fork Adrien Piquerez found some > issues with running tests on Java8 (see https://github.com/sbt/ivy/pull/46 ). -- This message was sent by Atlassian Jira (v8.20.10#820010)
[ant-ivy] branch master updated: IVY-1648 some tests are failing on Java8
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ant-ivy.git The following commit(s) were added to refs/heads/master by this push: new 503aafc5 IVY-1648 some tests are failing on Java8 503aafc5 is described below commit 503aafc594b777ffb035a457ed341e31334c23a4 Author: Stefan Bodewig AuthorDate: Fri Sep 15 18:09:50 2023 +0200 IVY-1648 some tests are failing on Java8 --- asciidoc/release-notes.adoc | 1 + test/java/org/apache/ivy/core/resolve/ResolveTest.java| 3 +-- .../ivy/plugins/parser/xml/XmlModuleUpdaterTest.java | 15 +++ 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/asciidoc/release-notes.adoc b/asciidoc/release-notes.adoc index 782e75df..d0fd7c31 100644 --- a/asciidoc/release-notes.adoc +++ b/asciidoc/release-notes.adoc @@ -43,6 +43,7 @@ For details about the following changes, check our JIRA install at link:https:// *List of changes since Ivy 2.5.2:* - FIX: trying to set safe XML features causes SAXExceptions when used with certain XML parsers (jira:IVY-1647[]) +- FIX: some unit tests failed on Java 8 (jira:IVY-1648[]) (Thanks to Adrien Piquerez) Samples : diff --git a/test/java/org/apache/ivy/core/resolve/ResolveTest.java b/test/java/org/apache/ivy/core/resolve/ResolveTest.java index 5c611420..4dba1e59 100644 --- a/test/java/org/apache/ivy/core/resolve/ResolveTest.java +++ b/test/java/org/apache/ivy/core/resolve/ResolveTest.java @@ -323,9 +323,8 @@ public class ResolveTest { int expectedNumberOfDependencies) { Ivy ivy = new Ivy(); Throwable th = null; -Properties p = System.getProperties(); +Properties p = (Properties) System.getProperties().clone(); try { -System.setProperties(new Properties()); System.setProperty(XMLHelper.ALLOW_DOCTYPE_PROCESSING, "true"); if (externalResourcesSystemProperty != null) { System.setProperty(XMLHelper.EXTERNAL_RESOURCES, externalResourcesSystemProperty); diff --git a/test/java/org/apache/ivy/plugins/parser/xml/XmlModuleUpdaterTest.java b/test/java/org/apache/ivy/plugins/parser/xml/XmlModuleUpdaterTest.java index c38eca3d..df0ce6a1 100644 --- a/test/java/org/apache/ivy/plugins/parser/xml/XmlModuleUpdaterTest.java +++ b/test/java/org/apache/ivy/plugins/parser/xml/XmlModuleUpdaterTest.java @@ -37,6 +37,7 @@ import java.util.GregorianCalendar; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Properties; import org.apache.ivy.Ivy; import org.apache.ivy.core.module.descriptor.Artifact; @@ -47,14 +48,28 @@ import org.apache.ivy.core.module.id.ModuleRevisionId; import org.apache.ivy.core.settings.IvySettings; import org.apache.ivy.plugins.repository.BasicResource; import org.apache.ivy.util.FileUtil; +import org.apache.ivy.util.XMLHelper; import org.junit.After; +import org.junit.Before; import org.junit.Test; public class XmlModuleUpdaterTest { +// Java8 tries to load ivy.xsd mentioned in +// xsd:noNamespaceLocation via https bypassing our UriResolver so +// we must allow using http(s) (and thus all) and external entities +private final Properties p = (Properties) System.getProperties().clone(); + +@Before +public void setUp() { +System.setProperty(XMLHelper.ALLOW_DOCTYPE_PROCESSING, "true"); +System.setProperty(XMLHelper.EXTERNAL_RESOURCES, "all"); +} + @After public void tearDown() { XmlModuleDescriptorUpdater.LINE_SEPARATOR = System.lineSeparator(); +System.setProperties(p); } @Test
[jira] [Created] (IVY-1648) Some Unit Tests fail on Java8
Stefan Bodewig created IVY-1648: --- Summary: Some Unit Tests fail on Java8 Key: IVY-1648 URL: https://issues.apache.org/jira/browse/IVY-1648 Project: Ivy Issue Type: Bug Components: Core Affects Versions: 2.5.2 Reporter: Stefan Bodewig Fix For: 2.5.3 While porting changes from Ivy to SBT's fork Adrien Piquerez found some issues with running tests on Java8 (see https://github.com/sbt/ivy/pull/46 ). -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Resolved] (IVY-1647) Setting features and properties for XMLReader may throw
[ https://issues.apache.org/jira/browse/IVY-1647?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Stefan Bodewig resolved IVY-1647. - Resolution: Fixed fixed with https://github.com/apache/ant-ivy/commit/5d69c9a5447d32780e5c11f65a44b853647abdf4 > Setting features and properties for XMLReader may throw > --- > > Key: IVY-1647 > URL: https://issues.apache.org/jira/browse/IVY-1647 > Project: Ivy > Issue Type: Bug > Components: Core >Affects Versions: 2.5.2 > Reporter: Stefan Bodewig > Assignee: Stefan Bodewig >Priority: Major > Fix For: 2.5.3 > > > see > https://github.com/apache/ant-ivy/commit/2be17bc18b0e1d4123007d579e43ba1a4b6fab3d#commitcomment-127113717 > setting the features and properties for XMLReader may need to be protected in > a way similar to the code setting features and attributes for factories. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[ant-ivy] branch master updated: IVY-1647 better check whether properties/features can be set
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ant-ivy.git The following commit(s) were added to refs/heads/master by this push: new 5d69c9a5 IVY-1647 better check whether properties/features can be set 5d69c9a5 is described below commit 5d69c9a5447d32780e5c11f65a44b853647abdf4 Author: Stefan Bodewig AuthorDate: Fri Sep 15 17:26:32 2023 +0200 IVY-1647 better check whether properties/features can be set --- asciidoc/release-notes.adoc | 6 ++-- src/java/org/apache/ivy/util/XMLHelper.java | 56 +++-- version.properties | 4 +-- 3 files changed, 59 insertions(+), 7 deletions(-) diff --git a/asciidoc/release-notes.adoc b/asciidoc/release-notes.adoc index 7de155a1..782e75df 100644 --- a/asciidoc/release-notes.adoc +++ b/asciidoc/release-notes.adoc @@ -19,7 +19,7 @@ = Ivy Release Announcement - Date - The Apache Ivy project is pleased to announce its 2.6.0 release. + Date - The Apache Ivy project is pleased to announce its 2.5.3 release. == What is Ivy? Apache Ivy is a tool for managing (recording, tracking, resolving and reporting) project dependencies, characterized by flexibility, @@ -34,7 +34,7 @@ More information about the project can be found on the website link:https://ant. == Key features in this release -Key features of this 2.6.0 release are: +Key features of this 2.5.3 release are: == List of Changes in this Release @@ -42,6 +42,8 @@ For details about the following changes, check our JIRA install at link:https:// *List of changes since Ivy 2.5.2:* +- FIX: trying to set safe XML features causes SAXExceptions when used with certain XML parsers (jira:IVY-1647[]) + Samples : - NEW: bla bla bla (jira:IVY-1234[]) (Thanks to Jane Doe) diff --git a/src/java/org/apache/ivy/util/XMLHelper.java b/src/java/org/apache/ivy/util/XMLHelper.java index e5bfa7be..9fc740ac 100644 --- a/src/java/org/apache/ivy/util/XMLHelper.java +++ b/src/java/org/apache/ivy/util/XMLHelper.java @@ -88,9 +88,11 @@ public abstract class XMLHelper { } } final XMLReader reader = parser.getXMLReader(); -reader.setFeature(XML_NAMESPACE_PREFIXES, true); -reader.setProperty(XML_ACCESS_EXTERNAL_SCHEMA, externalResources.getAllowedProtocols()); -reader.setProperty(XML_ACCESS_EXTERNAL_DTD, externalResources.getAllowedProtocols()); +trySetFeature(reader, XML_NAMESPACE_PREFIXES, true); +trySetProperty(reader, XML_ACCESS_EXTERNAL_SCHEMA, + externalResources.getAllowedProtocols()); +trySetProperty(reader, XML_ACCESS_EXTERNAL_DTD, + externalResources.getAllowedProtocols()); return parser; } @@ -425,6 +427,15 @@ public abstract class XMLHelper { } } +private static boolean isFeatureSupported(final XMLReader reader, final String feature) { +try { +reader.getFeature(feature); +return true; +} catch (SAXException e) { +return false; +} +} + private static boolean isAttributeSupported(final TransformerFactory factory, final String attribute) { try { factory.getAttribute(attribute); @@ -434,6 +445,15 @@ public abstract class XMLHelper { } } +private static boolean isPropertySupported(final XMLReader reader, final String property) { +try { +reader.getProperty(property); +return true; +} catch (SAXException e) { +return false; +} +} + private static boolean trySetFeature(final DocumentBuilderFactory factory, final String feature, final boolean val) { if (!isFeatureSupported(factory, feature)) { @@ -472,6 +492,21 @@ public abstract class XMLHelper { } } +private static boolean trySetFeature(final XMLReader reader, + final String feature, final boolean val) { +if (!isFeatureSupported(reader, feature)) { +return false; +} +try { +reader.setFeature(feature, val); +return true; +} catch (SAXException e) { +// log and continue +Message.warn("Failed to set feature " + feature + " on XMLReader", e); +return false; +} +} + private static boolean trySetAttribute(final TransformerFactory factory, final String attribute, final String val) { if (!isAttributeSupported(factory, attribute)) { @@ -487,6 +522,21 @@ public abstract class XMLHelper { } } +private static boolean trySetProperty(final XMLReader reader, + final St
[jira] [Created] (IVY-1647) Setting features and properties for XMLReader may throw
Stefan Bodewig created IVY-1647: --- Summary: Setting features and properties for XMLReader may throw Key: IVY-1647 URL: https://issues.apache.org/jira/browse/IVY-1647 Project: Ivy Issue Type: Bug Components: Core Affects Versions: 2.5.2 Reporter: Stefan Bodewig Assignee: Stefan Bodewig Fix For: 2.5.3 see https://github.com/apache/ant-ivy/commit/2be17bc18b0e1d4123007d579e43ba1a4b6fab3d#commitcomment-127113717 setting the features and properties for XMLReader may need to be protected in a way similar to the code setting features and attributes for factories. -- This message was sent by Atlassian Jira (v8.20.10#820010)
svn commit: r63587 - /release/ant/ivy/2.5.1/
Author: bodewig Date: Tue Aug 22 22:31:42 2023 New Revision: 63587 Log: clean up old release Removed: release/ant/ivy/2.5.1/
[ant-ivy] annotated tag rel/2.5.2 created (now 04268d62)
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a change to annotated tag rel/2.5.2 in repository https://gitbox.apache.org/repos/asf/ant-ivy.git at 04268d62 (tag) tagging 6c0560f93ca421bc5ce210010b3c5f0bff01f2d9 (commit) replaces rel/2.5.1 by Stefan Bodewig on Sun Aug 20 13:02:11 2023 +0200 - Log - Tag 2.5.2 -BEGIN PGP SIGNATURE- iHEEABECADEWIQTOgHWiUVR77iSbwVGiEVrhX2uLcgUCZOHysxMcYm9kZXdpZ0Bh cGFjaGUub3JnAAoJEKIRWuFfa4ty+w0AoI8WwO2VtOWmEVQ9x5mgymn4E6QeAKCV uAoj022ynJ+pVBPbhNj8XM83qA== =RJbR -END PGP SIGNATURE- --- No new revisions were added by this update.
[ant-ivy] 03/03: prepare for next development iteration
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ant-ivy.git commit e00e9e0ee072baf26e018ed27f30e23adf1c9953 Author: Stefan Bodewig AuthorDate: Sun Aug 20 13:06:15 2023 +0200 prepare for next development iteration --- asciidoc/release-notes.adoc | 16 +++- doap_Ivy.rdf| 7 +++ ivy.xml | 2 +- version.properties | 6 +++--- 4 files changed, 14 insertions(+), 17 deletions(-) diff --git a/asciidoc/release-notes.adoc b/asciidoc/release-notes.adoc index 653fa9ae..7de155a1 100644 --- a/asciidoc/release-notes.adoc +++ b/asciidoc/release-notes.adoc @@ -19,7 +19,7 @@ = Ivy Release Announcement -August 20 2023 - The Apache Ivy project is pleased to announce its 2.5.2 release. + Date - The Apache Ivy project is pleased to announce its 2.6.0 release. == What is Ivy? Apache Ivy is a tool for managing (recording, tracking, resolving and reporting) project dependencies, characterized by flexibility, @@ -34,17 +34,13 @@ More information about the project can be found on the website link:https://ant. == Key features in this release -Key features of this 2.5.2 release are: - -- FIX: reading POMs may loose dependencies when multiple Maven - dependencies only differ in `classifier` (jira:IVY-1642[]) -- Fixes a Security Vulnerability, see link:https://ant.apache.org/ivy/security.html[the scurity page] for details. +Key features of this 2.6.0 release are: == List of Changes in this Release For details about the following changes, check our JIRA install at link:https://issues.apache.org/jira/browse/IVY[] -*List of changes since Ivy 2.5.1:* +*List of changes since Ivy 2.5.2:* Samples : @@ -54,12 +50,6 @@ For details about the following changes, check our JIRA install at link:https:// - DOCUMENTATION: bla bla bla (jira:IVY-1234[]) (Thanks to Jane Doe) -- FIX: ivy:retrieve could fail because of a `NullPointerException` (jira:IVY-1641[]) -- FIX: reading POMs may loose dependencies when multiple Maven - dependencies only differ in `classifier` (jira:IVY-1642[]) -- IMPROVEMENT: Upgrade Apache HttpClient to 4.5.13 (jira:IVY-1644[]) -- FIX: CVE-2022-46751: Apache Ivy Is Vulnerable to XML External Entity Injections - == Committers and Contributors Here is the list of people who have contributed source code and documentation up to this release. Many thanks to all of them, and also to the whole IvyDE community contributing ideas and feedback, and promoting the use of Apache Ivy ! diff --git a/doap_Ivy.rdf b/doap_Ivy.rdf index 21a5de39..2fe7b5f0 100644 --- a/doap_Ivy.rdf +++ b/doap_Ivy.rdf @@ -34,6 +34,13 @@ http://ant.apache.org/ivy/download.cgi; /> Java http://projects.apache.org/category/build-management; /> + + +Apache Ivy 2.5.2 +2023-08-20 +2.5.2 + + Apache Ivy 2.5.1 diff --git a/ivy.xml b/ivy.xml index 47a21578..c3dac27e 100644 --- a/ivy.xml +++ b/ivy.xml @@ -21,7 +21,7 @@ xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd;> + status="integration"> http://ant.apache.org/ivy/;> Apache Ivy is a tool for managing (recording, tracking, resolving and reporting) project dependencies. diff --git a/version.properties b/version.properties index f90a3e3b..57a04932 100644 --- a/version.properties +++ b/version.properties @@ -16,13 +16,13 @@ # * specific language governing permissions and limitations # * under the License. # *** -target.ivy.version=2.5.2 +target.ivy.version=2.6.0 # Following OSGi spec: have to be 3 numbers separated by dots -target.ivy.bundle.version=2.5.2 +target.ivy.bundle.version=2.6.0 # in case we want to add a qualifier such as alpha, beta, etc... # if non empty, add a '_' at the end of the qualifier, so the version would look like 1.2.3.alpha_200901011200 # NB: be careful with naming, OSGi orders version alphabetically. Suggested values: alpha_, beta_, cr1_ (for RC-1), final_ -target.ivy.bundle.version.qualifier=final_ +target.ivy.bundle.version.qualifier=alpha_ # Versions of dependencies
[ant-ivy] branch master updated (6ac4f36c -> e00e9e0e)
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/ant-ivy.git from 6ac4f36c bump copyright line new 2be17bc1 CVE-2022-46751 don't parse doctypes and access external entities by default new 6c0560f9 update release notes with CVE-2022-46751 new e00e9e0e prepare for next development iteration The 3 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: asciidoc/release-notes.adoc| 14 +- asciidoc/settings.adoc | 2 + asciidoc/systemproperties.adoc | 67 asciidoc/toc.json | 5 + doap_Ivy.rdf | 7 + ivy.xml| 2 +- src/java/org/apache/ivy/ant/IvyArtifactReport.java | 9 +- src/java/org/apache/ivy/ant/IvyReport.java | 5 +- .../ivy/core/settings/XmlSettingsParser.java | 9 +- .../org/apache/ivy/osgi/obr/xml/OBRXMLWriter.java | 11 +- .../apache/ivy/plugins/parser/m2/PomReader.java| 3 +- .../parser/xml/XmlModuleDescriptorParser.java | 69 +++- .../apache/ivy/plugins/report/XmlReportParser.java | 7 +- src/java/org/apache/ivy/util/XMLHelper.java| 446 +++-- .../org/apache/ivy/core/resolve/ResolveTest.java | 39 ++ version.properties | 6 +- 16 files changed, 619 insertions(+), 82 deletions(-) create mode 100644 asciidoc/systemproperties.adoc
[ant-ivy] 02/03: update release notes with CVE-2022-46751
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ant-ivy.git commit 6c0560f93ca421bc5ce210010b3c5f0bff01f2d9 Author: Stefan Bodewig AuthorDate: Sun Aug 20 11:59:44 2023 +0200 update release notes with CVE-2022-46751 --- asciidoc/release-notes.adoc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/asciidoc/release-notes.adoc b/asciidoc/release-notes.adoc index 9f34ae99..653fa9ae 100644 --- a/asciidoc/release-notes.adoc +++ b/asciidoc/release-notes.adoc @@ -19,7 +19,7 @@ = Ivy Release Announcement - Date - The Apache Ivy project is pleased to announce its 2.5.2 release. +August 20 2023 - The Apache Ivy project is pleased to announce its 2.5.2 release. == What is Ivy? Apache Ivy is a tool for managing (recording, tracking, resolving and reporting) project dependencies, characterized by flexibility, @@ -38,6 +38,7 @@ Key features of this 2.5.2 release are: - FIX: reading POMs may loose dependencies when multiple Maven dependencies only differ in `classifier` (jira:IVY-1642[]) +- Fixes a Security Vulnerability, see link:https://ant.apache.org/ivy/security.html[the scurity page] for details. == List of Changes in this Release @@ -57,6 +58,7 @@ For details about the following changes, check our JIRA install at link:https:// - FIX: reading POMs may loose dependencies when multiple Maven dependencies only differ in `classifier` (jira:IVY-1642[]) - IMPROVEMENT: Upgrade Apache HttpClient to 4.5.13 (jira:IVY-1644[]) +- FIX: CVE-2022-46751: Apache Ivy Is Vulnerable to XML External Entity Injections == Committers and Contributors
[ant-ivy] 01/03: CVE-2022-46751 don't parse doctypes and access external entities by default
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ant-ivy.git commit 2be17bc18b0e1d4123007d579e43ba1a4b6fab3d Author: Stefan Bodewig AuthorDate: Sun Jan 22 17:30:23 2023 +0100 CVE-2022-46751 don't parse doctypes and access external entities by default --- asciidoc/settings.adoc | 2 + asciidoc/systemproperties.adoc | 67 asciidoc/toc.json | 5 + src/java/org/apache/ivy/ant/IvyArtifactReport.java | 9 +- src/java/org/apache/ivy/ant/IvyReport.java | 5 +- .../ivy/core/settings/XmlSettingsParser.java | 9 +- .../org/apache/ivy/osgi/obr/xml/OBRXMLWriter.java | 11 +- .../apache/ivy/plugins/parser/m2/PomReader.java| 3 +- .../parser/xml/XmlModuleDescriptorParser.java | 69 +++- .../apache/ivy/plugins/report/XmlReportParser.java | 7 +- src/java/org/apache/ivy/util/XMLHelper.java| 446 +++-- .../org/apache/ivy/core/resolve/ResolveTest.java | 39 ++ 12 files changed, 605 insertions(+), 67 deletions(-) diff --git a/asciidoc/settings.adoc b/asciidoc/settings.adoc index c18c9a27..770794fc 100644 --- a/asciidoc/settings.adoc +++ b/asciidoc/settings.adoc @@ -23,6 +23,8 @@ In order to work as you want, Ivy sometimes needs some settings. Actually, Ivy c Settings are specified through an XML file, usually called `ivysettings.xml`. To configure Ivy from Ant, you just have to use the link:use/settings{outfilesuffix}[settings] datatype with the path of your settings file. +In addition certain link:systemproperties{outfilesuffix}[Java system properties] affect the XML parsing behavior of Ivy. + Here is an example of the settings file: [source, xml] diff --git a/asciidoc/systemproperties.adoc b/asciidoc/systemproperties.adoc new file mode 100644 index ..47592436 --- /dev/null +++ b/asciidoc/systemproperties.adoc @@ -0,0 +1,67 @@ + + 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 + + https://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. + + += Java System Properties Affecting Ivy + +== XML Parser Settings + +Starting with Ivy 2.5.2 Ivy's XML parser can be controlled via the use +of two newly introduced system properties. + +If you want to restore the default behavior of Ivy 2.5.1 and earlier +you need to set `ivy.xml.allow-doctype-processing` to `true` and +`ivy.xml.external-resources` to `ALL`. + +=== `ivy.xml.allow-doctype-processing` + +This system property accepts `true` or `false` as values. When set to +`false` Ivy will not allow any processing of doctype declarations at +all, while setting it to `true` enables it. + +The default is to allow doctype processing if and only if Ivy is +parsing a Maven POM file. + +=== `ivy.xml.external-resources` + +This system property controls if external resources are read during +doctype processing - and if so, where they can be loadad from. The +value of this system property is only ever used if +`ivy.xml.allow-doctype-processing` is not `false`. + +The accepted values are + +* `PROHIBIT` makes Ivy fail if any doctype tries to load an external + resource. +* `IGNORE` makes Ivy ignore any external resource that the doctype + declaration wants to load. +* `LOCAL_ONLY` allows external resources to be loaded via `file:` or + `jar:file` URIs only. +* `ALL` allows external resources to be loaded from any URI. + +The default behavior is to not allow doctype processing at all, but if +it is enabled the value `PROHIBIT` is assumed unless the property has +been set explicitly. + +When reading Maven POMs a specific internal system id is recognized as +resource and will be loaded from a resource shipping with the Ivy +distribution in order to deal with invalid POM files accepted by +Apache Maven - and the default value for this property is +`IGNORE`in that case. See +link:https://issues.apache.org/jira/browse/IVY-921[IVY-921] for +details. diff --git a/asciidoc/toc.json b/asciidoc/toc.json index 2c8f1908..c6f6ec44 100644 --- a/asciidoc/toc.json +++ b/asciidoc/toc.js
svn commit: r1911813 - in /ant/site: ant/production/ ant/sources/ ivy/production/ ivy/production/history/ ivy/production/history/2.5.2/ ivy/production/history/2.5.2/configuration/ ivy/production/histo
Author: bodewig Date: Sun Aug 20 18:39:51 2023 New Revision: 1911813 URL: http://svn.apache.org/viewvc?rev=1911813=rev Log: Ivy 2.5.2 released [This commit notification would consist of 84 parts, which exceeds the limit of 50 ones, so it was shortened to the summary.]
svn commit: r63522 - /dev/ant/ivy/2.5.2/ /release/ant/ivy/2.5.2/
Author: bodewig Date: Sun Aug 20 17:07:23 2023 New Revision: 63522 Log: RC2 of Ivy 2.5.2 has been accepted Added: release/ant/ivy/2.5.2/ - copied from r63521, dev/ant/ivy/2.5.2/ Removed: dev/ant/ivy/2.5.2/
svn commit: r63486 - in /dev/ant/ivy/2.5.2: apache-ivy-2.5.2-bin-with-deps.tar.gz.asc apache-ivy-2.5.2-bin-with-deps.zip.asc apache-ivy-2.5.2-bin.tar.gz.asc apache-ivy-2.5.2-bin.zip.asc apache-ivy-2.5
Author: bodewig Date: Thu Aug 17 16:44:56 2023 New Revision: 63486 Log: forgot to create gpg signatures, one could think I'm doing this for the first time Added: dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.tar.gz.asc dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.zip.asc dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin.zip.asc dev/ant/ivy/2.5.2/apache-ivy-2.5.2-src.tar.gz.asc dev/ant/ivy/2.5.2/apache-ivy-2.5.2-src.zip.asc Modified: dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin.tar.gz.asc Added: dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.tar.gz.asc == --- dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.tar.gz.asc (added) +++ dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.tar.gz.asc Thu Aug 17 16:44:56 2023 @@ -0,0 +1,7 @@ +-BEGIN PGP SIGNATURE- + +iHEEABECADEWIQTOgHWiUVR77iSbwVGiEVrhX2uLcgUCZN5ORRMcYm9kZXdpZ0Bh +cGFjaGUub3JnAAoJEKIRWuFfa4tyzvYAnjZtlu7+3iA9Lo9nMw/YrnqnwhT/AKC7 +b7HR06yA3KqLhkXJWJM1Qjs7qA== +=EggH +-END PGP SIGNATURE- Added: dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.zip.asc == --- dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.zip.asc (added) +++ dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.zip.asc Thu Aug 17 16:44:56 2023 @@ -0,0 +1,7 @@ +-BEGIN PGP SIGNATURE- + +iHEEABECADEWIQTOgHWiUVR77iSbwVGiEVrhX2uLcgUCZN5ORBMcYm9kZXdpZ0Bh +cGFjaGUub3JnAAoJEKIRWuFfa4tyN78AoMV6oOdbrmSkwIvEG/xHU7M3hFnWAJwK +LqTByDqwr5L8OUveGsrSW3UmdA== +=Sy0i +-END PGP SIGNATURE- Modified: dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin.tar.gz.asc == --- dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin.tar.gz.asc (original) +++ dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin.tar.gz.asc Thu Aug 17 16:44:56 2023 @@ -1,7 +1,7 @@ -BEGIN PGP SIGNATURE- -iHEEABECADEWIQTOgHWiUVR77iSbwVGiEVrhX2uLcgUCZN5NAxMcYm9kZXdpZ0Bh -cGFjaGUub3JnAAoJEKIRWuFfa4ty/LsAn06zWZxxXsTadQhXmbdNJDgEkv8KAKCu -Zmefo1JJ/nrjVkL27HLXVEVpOw== -=V5cs +iHEEABECADEWIQTOgHWiUVR77iSbwVGiEVrhX2uLcgUCZN5ORRMcYm9kZXdpZ0Bh +cGFjaGUub3JnAAoJEKIRWuFfa4ty0HIAoIEck/tVwkc1/10wo1rYixTFvUh1AJ9E +QzxB7vGcJYUEzH0m/c1IYnjyaw== +=ndXu -END PGP SIGNATURE- Added: dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin.zip.asc == --- dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin.zip.asc (added) +++ dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin.zip.asc Thu Aug 17 16:44:56 2023 @@ -0,0 +1,7 @@ +-BEGIN PGP SIGNATURE- + +iHEEABECADEWIQTOgHWiUVR77iSbwVGiEVrhX2uLcgUCZN5ORRMcYm9kZXdpZ0Bh +cGFjaGUub3JnAAoJEKIRWuFfa4tyZGAAoJrQmJrUdG2wsaMVJRAB3kc8FNb4AJ9+ +kg1V67v1azY3Q5JNMjdmkj1gOA== +=I4cu +-END PGP SIGNATURE- Added: dev/ant/ivy/2.5.2/apache-ivy-2.5.2-src.tar.gz.asc == --- dev/ant/ivy/2.5.2/apache-ivy-2.5.2-src.tar.gz.asc (added) +++ dev/ant/ivy/2.5.2/apache-ivy-2.5.2-src.tar.gz.asc Thu Aug 17 16:44:56 2023 @@ -0,0 +1,7 @@ +-BEGIN PGP SIGNATURE- + +iHEEABECADEWIQTOgHWiUVR77iSbwVGiEVrhX2uLcgUCZN5ORhMcYm9kZXdpZ0Bh +cGFjaGUub3JnAAoJEKIRWuFfa4tyHJwAn2lDMqmYq5AVGjQtdO+RpmKRZB0KAJ9b +2pDFdt/bZzmISnhP4R91Jup9pA== +=i/PP +-END PGP SIGNATURE- Added: dev/ant/ivy/2.5.2/apache-ivy-2.5.2-src.zip.asc == --- dev/ant/ivy/2.5.2/apache-ivy-2.5.2-src.zip.asc (added) +++ dev/ant/ivy/2.5.2/apache-ivy-2.5.2-src.zip.asc Thu Aug 17 16:44:56 2023 @@ -0,0 +1,7 @@ +-BEGIN PGP SIGNATURE- + +iHEEABECADEWIQTOgHWiUVR77iSbwVGiEVrhX2uLcgUCZN5ORRMcYm9kZXdpZ0Bh +cGFjaGUub3JnAAoJEKIRWuFfa4ty2xAAoKPZ2JPkAKpKJb5gFQMwcQBPACgDAKCV +eWuHZczGMXO60KzaHcPQ3h+b0A== +=QsqV +-END PGP SIGNATURE-
svn commit: r63485 - in /dev/ant/ivy/2.5.2: apache-ivy-2.5.2-bin-with-deps.tar.gz.sha1 apache-ivy-2.5.2-bin-with-deps.zip.sha1 apache-ivy-2.5.2-bin.tar.gz.sha1 apache-ivy-2.5.2-bin.zip.sha1 apache-ivy
Author: bodewig Date: Thu Aug 17 16:42:09 2023 New Revision: 63485 Log: superfluous sha1 checksums Removed: dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.tar.gz.sha1 dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.zip.sha1 dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin.tar.gz.sha1 dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin.zip.sha1 dev/ant/ivy/2.5.2/apache-ivy-2.5.2-src.tar.gz.sha1 dev/ant/ivy/2.5.2/apache-ivy-2.5.2-src.zip.sha1
svn commit: r63484 - /dev/ant/ivy/2.5.2/
Author: bodewig Date: Thu Aug 17 16:40:40 2023 New Revision: 63484 Log: RC2 of Ivy 2.5.2 Added: dev/ant/ivy/2.5.2/ dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.tar.gz (with props) dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.tar.gz.sha1 dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.tar.gz.sha512 dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.zip (with props) dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.zip.sha1 dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.zip.sha512 dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin.tar.gz (with props) dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin.tar.gz.asc dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin.tar.gz.sha1 dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin.tar.gz.sha512 dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin.zip (with props) dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin.zip.sha1 dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin.zip.sha512 dev/ant/ivy/2.5.2/apache-ivy-2.5.2-src.tar.gz (with props) dev/ant/ivy/2.5.2/apache-ivy-2.5.2-src.tar.gz.sha1 dev/ant/ivy/2.5.2/apache-ivy-2.5.2-src.tar.gz.sha512 dev/ant/ivy/2.5.2/apache-ivy-2.5.2-src.zip (with props) dev/ant/ivy/2.5.2/apache-ivy-2.5.2-src.zip.sha1 dev/ant/ivy/2.5.2/apache-ivy-2.5.2-src.zip.sha512 Added: dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.tar.gz == Binary file - no diff available. Propchange: dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.tar.gz -- svn:mime-type = application/octet-stream Added: dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.tar.gz.sha1 == --- dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.tar.gz.sha1 (added) +++ dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.tar.gz.sha1 Thu Aug 17 16:40:40 2023 @@ -0,0 +1 @@ +19d6a65e7668974da6055922413289bc8d9c8c87 Added: dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.tar.gz.sha512 == --- dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.tar.gz.sha512 (added) +++ dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.tar.gz.sha512 Thu Aug 17 16:40:40 2023 @@ -0,0 +1 @@ +da03f3b48e7fc486d7961a9a7271ec53ddc895dad9b1a7b2182e09b6b71ef9ec1427e957b3f201e5662b8c07962d910f10b77cf62d5110d80692bbd6d6e23867 Added: dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.zip == Binary file - no diff available. Propchange: dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.zip -- svn:mime-type = application/octet-stream Added: dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.zip.sha1 == --- dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.zip.sha1 (added) +++ dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.zip.sha1 Thu Aug 17 16:40:40 2023 @@ -0,0 +1 @@ +4e89fa28f7cc2f734067a1b68099e3882052e5dc Added: dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.zip.sha512 == --- dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.zip.sha512 (added) +++ dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.zip.sha512 Thu Aug 17 16:40:40 2023 @@ -0,0 +1 @@ +c550fb9b2610c52ba5b06260c45b0d73a6485ffd2bfe17201cdb05cc2485718115d7998445458f3aee74ce288ee3fd236c2ed3ef0bb7cfeb6bd6431bbb93ab5d Added: dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin.tar.gz == Binary file - no diff available. Propchange: dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin.tar.gz -- svn:mime-type = application/octet-stream Added: dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin.tar.gz.asc == --- dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin.tar.gz.asc (added) +++ dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin.tar.gz.asc Thu Aug 17 16:40:40 2023 @@ -0,0 +1,7 @@ +-BEGIN PGP SIGNATURE- + +iHEEABECADEWIQTOgHWiUVR77iSbwVGiEVrhX2uLcgUCZN5NAxMcYm9kZXdpZ0Bh +cGFjaGUub3JnAAoJEKIRWuFfa4ty/LsAn06zWZxxXsTadQhXmbdNJDgEkv8KAKCu +Zmefo1JJ/nrjVkL27HLXVEVpOw== +=V5cs +-END PGP SIGNATURE- Added: dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin.tar.gz.sha1 == --- dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin.tar.gz.sha1 (added) +++ dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin.tar.gz.sha1 Thu Aug 17 16:40:40 2023 @@ -0,0 +1 @@ +fdc297bfb677aff2ed893c0f11e9da08ab51db88 Added: dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin.tar.gz.sha512
svn commit: r63481 - /dev/ant/ivy/2.5.2/
Author: bodewig Date: Thu Aug 17 14:57:34 2023 New Revision: 63481 Log: need to reroll a new release candidate Removed: dev/ant/ivy/2.5.2/
[ant-ivy] branch master updated: bump copyright line
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ant-ivy.git The following commit(s) were added to refs/heads/master by this push: new 6ac4f36c bump copyright line 6ac4f36c is described below commit 6ac4f36c9e1b5ba7958cb097727b8058acb733fb Author: Stefan Bodewig AuthorDate: Thu Aug 17 16:52:06 2023 +0200 bump copyright line --- NOTICE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NOTICE b/NOTICE index 327047d7..ef0f330d 100644 --- a/NOTICE +++ b/NOTICE @@ -1,5 +1,5 @@ Apache Ivy (TM) -Copyright 2007-2019,2022 The Apache Software Foundation +Copyright 2007-2019,2022-2023 The Apache Software Foundation This product includes software developed at The Apache Software Foundation (http://www.apache.org/).
svn commit: r63477 - /dev/ant/ivy/2.5.2/
Author: bodewig Date: Thu Aug 17 04:13:07 2023 New Revision: 63477 Log: RC1 of Ivy 2.5.2 Added: dev/ant/ivy/2.5.2/ dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.tar.gz (with props) dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.tar.gz.asc dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.tar.gz.sha512 dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.zip (with props) dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.zip.asc dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.zip.sha512 dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin.tar.gz (with props) dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin.tar.gz.asc dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin.tar.gz.sha512 dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin.zip (with props) dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin.zip.asc dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin.zip.sha512 dev/ant/ivy/2.5.2/apache-ivy-2.5.2-src.tar.gz (with props) dev/ant/ivy/2.5.2/apache-ivy-2.5.2-src.tar.gz.asc dev/ant/ivy/2.5.2/apache-ivy-2.5.2-src.tar.gz.sha512 dev/ant/ivy/2.5.2/apache-ivy-2.5.2-src.zip (with props) dev/ant/ivy/2.5.2/apache-ivy-2.5.2-src.zip.asc dev/ant/ivy/2.5.2/apache-ivy-2.5.2-src.zip.sha512 Added: dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.tar.gz == Binary file - no diff available. Propchange: dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.tar.gz -- svn:mime-type = application/octet-stream Added: dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.tar.gz.asc == --- dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.tar.gz.asc (added) +++ dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.tar.gz.asc Thu Aug 17 04:13:07 2023 @@ -0,0 +1,7 @@ +-BEGIN PGP SIGNATURE- + +iHEEABECADEWIQTOgHWiUVR77iSbwVGiEVrhX2uLcgUCZN2dsBMcYm9kZXdpZ0Bh +cGFjaGUub3JnAAoJEKIRWuFfa4tyT04AoIgMv/Z4HnnRJr5kXivkg52LiPF/AJwK +0AtylMsK8By/YmMcX3yBhObDpA== +=I5J6 +-END PGP SIGNATURE- Added: dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.tar.gz.sha512 == --- dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.tar.gz.sha512 (added) +++ dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.tar.gz.sha512 Thu Aug 17 04:13:07 2023 @@ -0,0 +1 @@ +5296856859071c1fd7e1a7aff3241adecc78254bed838f2f375aa8b7904de0b21534b34d0136bbdd7f8dd8e215da66642f6fa9c78f56ab8f02cf5737395f4f92 Added: dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.zip == Binary file - no diff available. Propchange: dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.zip -- svn:mime-type = application/octet-stream Added: dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.zip.asc == --- dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.zip.asc (added) +++ dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.zip.asc Thu Aug 17 04:13:07 2023 @@ -0,0 +1,7 @@ +-BEGIN PGP SIGNATURE- + +iHEEABECADEWIQTOgHWiUVR77iSbwVGiEVrhX2uLcgUCZN2drxMcYm9kZXdpZ0Bh +cGFjaGUub3JnAAoJEKIRWuFfa4tyCP4An1p1yh7mlr60VSrX8kVjRkQp1Z+6AJ4h +ulEachj1UwEFlf6Kw0ejyL7TgA== +=ocpb +-END PGP SIGNATURE- Added: dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.zip.sha512 == --- dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.zip.sha512 (added) +++ dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin-with-deps.zip.sha512 Thu Aug 17 04:13:07 2023 @@ -0,0 +1 @@ +ee1e7447711793e9f7bbc2ae62959af57636937fdec29c0d1971184019778dc5407a7e62cf05b1a371a663665c9f05832ceb39aa55969d026d7528f509af4091 Added: dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin.tar.gz == Binary file - no diff available. Propchange: dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin.tar.gz -- svn:mime-type = application/octet-stream Added: dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin.tar.gz.asc == --- dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin.tar.gz.asc (added) +++ dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin.tar.gz.asc Thu Aug 17 04:13:07 2023 @@ -0,0 +1,7 @@ +-BEGIN PGP SIGNATURE- + +iHEEABECADEWIQTOgHWiUVR77iSbwVGiEVrhX2uLcgUCZN2dsBMcYm9kZXdpZ0Bh +cGFjaGUub3JnAAoJEKIRWuFfa4tydzoAoNmR56tibWQgGJAu3j/XJsd6RHtqAJ9l +jvj6TWY4ux9SiyMOLnydAPSpCA== +=4EhP +-END PGP SIGNATURE- Added: dev/ant/ivy/2.5.2/apache-ivy-2.5.2-bin.tar.gz.sha512 == --- dev/ant/ivy/2.5.2
[ant-ivy] branch master updated: prepare Ivy 2.5.2
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ant-ivy.git The following commit(s) were added to refs/heads/master by this push: new 6fc8657b prepare Ivy 2.5.2 6fc8657b is described below commit 6fc8657b81082b1c986aa35a787a15cad06c4b98 Author: Stefan Bodewig AuthorDate: Wed Aug 16 20:58:47 2023 +0200 prepare Ivy 2.5.2 --- ivy.xml| 2 +- version.properties | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ivy.xml b/ivy.xml index c3dac27e..47a21578 100644 --- a/ivy.xml +++ b/ivy.xml @@ -21,7 +21,7 @@ xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd;> + status="release"> http://ant.apache.org/ivy/;> Apache Ivy is a tool for managing (recording, tracking, resolving and reporting) project dependencies. diff --git a/version.properties b/version.properties index dc92edea..f90a3e3b 100644 --- a/version.properties +++ b/version.properties @@ -22,7 +22,7 @@ target.ivy.bundle.version=2.5.2 # in case we want to add a qualifier such as alpha, beta, etc... # if non empty, add a '_' at the end of the qualifier, so the version would look like 1.2.3.alpha_200901011200 # NB: be careful with naming, OSGi orders version alphabetically. Suggested values: alpha_, beta_, cr1_ (for RC-1), final_ -target.ivy.bundle.version.qualifier=alpha_ +target.ivy.bundle.version.qualifier=final_ # Versions of dependencies
[ant-ivy] branch master updated: record HttpClient upgrade
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ant-ivy.git The following commit(s) were added to refs/heads/master by this push: new aa011fea record HttpClient upgrade aa011fea is described below commit aa011feaef3e9d1c3fbf8ef0ae141bf5125f3509 Author: Stefan Bodewig AuthorDate: Wed Jun 21 13:26:53 2023 +0200 record HttpClient upgrade --- asciidoc/release-notes.adoc | 1 + 1 file changed, 1 insertion(+) diff --git a/asciidoc/release-notes.adoc b/asciidoc/release-notes.adoc index c04489ab..9f34ae99 100644 --- a/asciidoc/release-notes.adoc +++ b/asciidoc/release-notes.adoc @@ -56,6 +56,7 @@ For details about the following changes, check our JIRA install at link:https:// - FIX: ivy:retrieve could fail because of a `NullPointerException` (jira:IVY-1641[]) - FIX: reading POMs may loose dependencies when multiple Maven dependencies only differ in `classifier` (jira:IVY-1642[]) +- IMPROVEMENT: Upgrade Apache HttpClient to 4.5.13 (jira:IVY-1644[]) == Committers and Contributors
[jira] [Commented] (IVY-1644) Upgrade httpclient to 4.5.13
[ https://issues.apache.org/jira/browse/IVY-1644?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17735667#comment-17735667 ] Stefan Bodewig commented on IVY-1644: - Thank you Claus, Ivy's master already uses HttpClient 4.5.13 (see https://github.com/apache/ant-ivy/blob/master/version.properties ) . There is no explicit dependency in either commons-codec nor httpcore AFAICS, so we transitively get whatever httpclient depends on, I guess. > Upgrade httpclient to 4.5.13 > > > Key: IVY-1644 > URL: https://issues.apache.org/jira/browse/IVY-1644 > Project: Ivy > Issue Type: Dependency upgrade > Components: Core >Affects Versions: 2.5.1 >Reporter: Claus Ibsen >Priority: Major > > The apache ivy 4.5.1 release comes with 4.5.10 version of the http client > httpclient-4.5.10.jar > httpcore-4.4.12.jar > > org.apache.httpcomponents > httpclient > 4.5.10 > > It would be good to upgrade to 4.5.13 to fix CVEs > If you manual upgrade then you have an ugly WARN from apache ivy > Exception in thread "ivy-httpclient-shutdown-handler" > java.lang.NoClassDefFoundError: > org/apache/http/impl/conn/PoolingHttpClientConnectionManager$2 > at > org.apache.http.impl.conn.PoolingHttpClientConnectionManager.shutdown(PoolingHttpClientConnectionManager.java:413) > at > org.apache.http.impl.client.HttpClientBuilder$2.close(HttpClientBuilder.java:1244) > at > org.apache.http.impl.client.InternalHttpClient.close(InternalHttpClient.java:201) > at > org.apache.ivy.util.url.HttpClientHandler.close(HttpClientHandler.java:357) > at > org.apache.ivy.util.url.HttpClientHandler$1.run(HttpClientHandler.java:84) > at java.base/java.lang.Thread.run(Thread.java:833) > Caused by: java.lang.ClassNotFoundException: > org.apache.http.impl.conn.PoolingHttpClientConnectionManager$2 > at > org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50) > at > org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271) > at > org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:247) > at > org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239) -- This message was sent by Atlassian Jira (v8.20.10#820010)
[ant] branch master updated (8fb54871b -> 6f68fbdef)
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/ant.git from 8fb54871b bz-66411: Handling forked VM timeout in a similar way as failed test so that settings like haltonfailure have effect This closes #197 pull request at github.com/apache/ant new d08818ad6 unconditionally sort entrySet in new 6f68fbdef whitespace The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: WHATSNEW | 3 +++ .../tools/ant/taskdefs/optional/EchoProperties.java | 16 ++-- 2 files changed, 9 insertions(+), 10 deletions(-)
[ant] 02/02: whitespace
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ant.git commit 6f68fbdefad521741b37304cfdfc6d8646cf1839 Author: Stefan Bodewig AuthorDate: Sun May 14 11:25:01 2023 +0200 whitespace --- .../apache/tools/ant/taskdefs/optional/EchoProperties.java | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/EchoProperties.java b/src/main/org/apache/tools/ant/taskdefs/optional/EchoProperties.java index 2eb91820d..1ca9441a5 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/EchoProperties.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/EchoProperties.java @@ -359,12 +359,12 @@ public class EchoProperties extends Task { @Override public Set> entrySet() { -Set> t = -new TreeSet<>(Comparator.comparing( -((Function, Object>) Map.Entry::getKey) -.andThen(Object::toString))); -t.addAll(super.entrySet()); -return t; +Set> t = +new TreeSet<>(Comparator.comparing( +((Function, Object>) Map.Entry::getKey) +.andThen(Object::toString))); +t.addAll(super.entrySet()); +return t; } }; allProps.forEach((k, v) -> props.put(String.valueOf(k), String.valueOf(v)));
[ant] 01/02: unconditionally sort entrySet in
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ant.git commit d08818ad6de7e1ce3228db970125987bb3dc3d7c Author: Stefan Bodewig AuthorDate: Sun May 14 11:24:05 2023 +0200 unconditionally sort entrySet in see https://bz.apache.org/bugzilla/show_bug.cgi?id=66588 --- WHATSNEW| 3 +++ src/main/org/apache/tools/ant/taskdefs/optional/EchoProperties.java | 6 +- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/WHATSNEW b/WHATSNEW index eb9d38b6b..4e4252ab1 100644 --- a/WHATSNEW +++ b/WHATSNEW @@ -41,6 +41,9 @@ Other changes: for runnning the forked tests. Bugzilla Report 66464 + * made sure sorts the echoed properties on JDK9+ as well. + Bugzilla Report 66588 + Changes from Ant 1.10.12 TO Ant 1.10.13 === diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/EchoProperties.java b/src/main/org/apache/tools/ant/taskdefs/optional/EchoProperties.java index 7404bdcae..2eb91820d 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/EchoProperties.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/EchoProperties.java @@ -359,16 +359,12 @@ public class EchoProperties extends Task { @Override public Set> entrySet() { -Set> result = super.entrySet(); -if (JavaEnvUtils.isKaffe()) { Set> t = new TreeSet<>(Comparator.comparing( ((Function, Object>) Map.Entry::getKey) .andThen(Object::toString))); -t.addAll(result); +t.addAll(super.entrySet()); return t; -} -return result; } }; allProps.forEach((k, v) -> props.put(String.valueOf(k), String.valueOf(v)));
[ant-ivy] branch ivy-1642 deleted (was 226f7c26)
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a change to branch ivy-1642 in repository https://gitbox.apache.org/repos/asf/ant-ivy.git was 226f7c26 ensure artifacts are only resolved once This change permanently discards the following revisions: discard 226f7c26 ensure artifacts are only resolved once discard f577ca98 ensure default artifacts is added to correct configuration discard 6d28c2cf add the "default" artifact explicitly for dependency if POM contains more than one
[jira] [Resolved] (IVY-1641) NullPointerException when using Basic Auth for repository together with Apache HttpClient
[ https://issues.apache.org/jira/browse/IVY-1641?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Stefan Bodewig resolved IVY-1641. - Resolution: Fixed > NullPointerException when using Basic Auth for repository together with > Apache HttpClient > - > > Key: IVY-1641 > URL: https://issues.apache.org/jira/browse/IVY-1641 > Project: Ivy > Issue Type: Bug > Components: Core >Affects Versions: 2.5.1 > Reporter: Stefan Bodewig >Assignee: Stefan Bodewig >Priority: Major > Fix For: 2.5.2 > > Attachments: build.xml, ivy.xml, ivysettings.xml > > > For context see > https://lists.apache.org/thread/9qk9z7h1xn7xs4ngyfhgcd9d1wjwb36r > Full Stack Trace: > {code} > java.lang.NullPointerException: Cannot invoke > "java.nio.charset.Charset.name()" because "charSet" is null > at > org.apache.ivy.util.url.HttpClientHandler.getURLInfo(HttpClientHandler.java:243) > at > org.apache.ivy.util.url.URLHandlerDispatcher.getURLInfo(URLHandlerDispatcher.java:122) > at > org.apache.ivy.plugins.repository.url.URLResource.init(URLResource.java:82) > at > org.apache.ivy.plugins.repository.url.URLResource.exists(URLResource.java:101) > at > org.apache.ivy.plugins.resolver.RepositoryResolver.findResourceUsingPattern(RepositoryResolver.java:102) > at > org.apache.ivy.plugins.resolver.AbstractPatternsBasedResolver.findResourceUsingPatterns(AbstractPatternsBasedResolver.java:94) > at > org.apache.ivy.plugins.resolver.AbstractPatternsBasedResolver.findArtifactRef(AbstractPatternsBasedResolver.java:74) > at > org.apache.ivy.plugins.resolver.BasicResolver.getArtifactRef(BasicResolver.java:1029) > at > org.apache.ivy.plugins.resolver.BasicResolver.findFirstArtifactRef(BasicResolver.java:966) > at > org.apache.ivy.plugins.resolver.BasicResolver.getDependency(BasicResolver.java:247) > at > org.apache.ivy.plugins.resolver.ChainResolver.getDependency(ChainResolver.java:101) > at org.apache.ivy.core.resolve.IvyNode.loadData(IvyNode.java:191) > at org.apache.ivy.core.resolve.VisitNode.loadData(VisitNode.java:284) > at > org.apache.ivy.core.resolve.ResolveEngine.fetchDependencies(ResolveEngine.java:722) > at > org.apache.ivy.core.resolve.ResolveEngine.doFetchDependencies(ResolveEngine.java:801) > at > org.apache.ivy.core.resolve.ResolveEngine.fetchDependencies(ResolveEngine.java:729) > at > org.apache.ivy.core.resolve.ResolveEngine.getDependencies(ResolveEngine.java:607) > at > org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:250) > at > org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:206) > at org.apache.ivy.Ivy.resolve(Ivy.java:507) > at org.apache.ivy.ant.IvyResolve.doExecute(IvyResolve.java:328) > at org.apache.ivy.ant.IvyTask.execute(IvyTask.java:259) > at > org.apache.ivy.ant.IvyPostResolveTask.ensureResolved(IvyPostResolveTask.java:229) > at > org.apache.ivy.ant.IvyPostResolveTask.prepareAndCheck(IvyPostResolveTask.java:183) > at org.apache.ivy.ant.IvyRetrieve.doExecute(IvyRetrieve.java:92) > at org.apache.ivy.ant.IvyTask.execute(IvyTask.java:259) > at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:299) > at > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) > at > java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.base/java.lang.reflect.Method.invoke(Method.java:568) > at > org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99) > at org.apache.tools.ant.Task.perform(Task.java:350) > at org.apache.tools.ant.Target.execute(Target.java:449) > at org.apache.tools.ant.Target.performTasks(Target.java:470) > at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1401) > at org.apache.tools.ant.Project.executeTarget(Project.java:1374) > at > org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) > at org.apache.tools.ant.Project.executeTargets(Project.java:1264) > at org.apache.tools.ant.Main.runBuild(Main.java:818) > at org.apache.tools.ant.Main.startAnt(Main.java:223) > at org.apache.tools.ant.launch.Launcher.run
[jira] [Resolved] (IVY-1642) PomModuleDescriptorBuilder may lose dependencies in translation
[ https://issues.apache.org/jira/browse/IVY-1642?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Stefan Bodewig resolved IVY-1642. - Fix Version/s: 2.5.2 Resolution: Fixed fixed with https://github.com/apache/ant-ivy/commit/5f11f05fe38b2fc3779d5bec6287505798bc701c > PomModuleDescriptorBuilder may lose dependencies in translation > --- > > Key: IVY-1642 > URL: https://issues.apache.org/jira/browse/IVY-1642 > Project: Ivy > Issue Type: Bug >Affects Versions: 2.5.0, 2.5.1 > Reporter: Stefan Bodewig > Assignee: Stefan Bodewig >Priority: Major > Fix For: 2.5.2 > > > https://github.com/Fernal73/CheckStyleSample/ shows an example where I fails > to resolve one of the dependencies of Saxon-H2. > Saxon-H2's POM says > {code} > > org.xmlresolver > xmlresolver > 5.1.1 > > > org.xmlresolver > xmlresolver > 5.1.1 > data > > {code} > but when translated to an ivy.xml file we only have > {code} > conf="compile->compile(*),\ > master(*);runtime->runtime(*)"> > > m:classifier="data"/> > > {code} > It looks as if {{PomModuleDescriptorBuilder}} was merging the two > dependencies into one rather than creating two artifacts. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[ant-ivy] branch master updated: IVY-1642 fix POM translation for multiple artifacts in one module
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ant-ivy.git The following commit(s) were added to refs/heads/master by this push: new 5f11f05f IVY-1642 fix POM translation for multiple artifacts in one module 5f11f05f is described below commit 5f11f05fe38b2fc3779d5bec6287505798bc701c Author: Stefan Bodewig AuthorDate: Fri Apr 14 07:05:28 2023 +0200 IVY-1642 fix POM translation for multiple artifacts in one module --- asciidoc/release-notes.adoc| 5 +- src/java/org/apache/ivy/core/resolve/IvyNode.java | 6 ++ .../org/apache/ivy/core/resolve/IvyNodeUsage.java | 50 ++-- .../parser/m2/PomModuleDescriptorBuilder.java | 24 +- .../parser/m2/PomModuleDescriptorParserTest.java | 89 + ...st-dependencies-with-and-without-classifier.pom | 91 ++ 6 files changed, 220 insertions(+), 45 deletions(-) diff --git a/asciidoc/release-notes.adoc b/asciidoc/release-notes.adoc index 84379627..c04489ab 100644 --- a/asciidoc/release-notes.adoc +++ b/asciidoc/release-notes.adoc @@ -36,7 +36,8 @@ More information about the project can be found on the website link:https://ant. Key features of this 2.5.2 release are: -- FIX: ivy:retrieve could fail because of a `NullPointerException` (jira:IVY-1641[]) +- FIX: reading POMs may loose dependencies when multiple Maven + dependencies only differ in `classifier` (jira:IVY-1642[]) == List of Changes in this Release @@ -53,6 +54,8 @@ For details about the following changes, check our JIRA install at link:https:// - FIX: ivy:retrieve could fail because of a `NullPointerException` (jira:IVY-1641[]) +- FIX: reading POMs may loose dependencies when multiple Maven + dependencies only differ in `classifier` (jira:IVY-1642[]) == Committers and Contributors diff --git a/src/java/org/apache/ivy/core/resolve/IvyNode.java b/src/java/org/apache/ivy/core/resolve/IvyNode.java index 273488ef..c7872c89 100644 --- a/src/java/org/apache/ivy/core/resolve/IvyNode.java +++ b/src/java/org/apache/ivy/core/resolve/IvyNode.java @@ -49,6 +49,7 @@ import org.apache.ivy.core.module.descriptor.IncludeRule; import org.apache.ivy.core.module.descriptor.MDArtifact; import org.apache.ivy.core.module.descriptor.ModuleDescriptor; import org.apache.ivy.core.module.id.ArtifactId; +import org.apache.ivy.core.module.id.ArtifactRevisionId; import org.apache.ivy.core.module.id.ModuleId; import org.apache.ivy.core.module.id.ModuleRevisionId; import org.apache.ivy.core.resolve.IvyNodeCallers.Caller; @@ -873,6 +874,7 @@ public class IvyNode implements Comparable { // now exclude artifacts that aren't accepted by any caller Iterator iter = artifacts.iterator(); +Set artifactRevisionsSeen = new HashSet(); while (iter.hasNext()) { Artifact artifact = iter.next(); boolean excluded = callers.doesCallersExclude(rootModuleConf, artifact); @@ -880,6 +882,10 @@ public class IvyNode implements Comparable { Message.debug(this + " in " + rootModuleConf + ": excluding " + artifact); iter.remove(); } +if (!artifactRevisionsSeen.add(artifact.getId())) { +Message.debug(this + " in " + rootModuleConf + ": skipping duplicate " + artifact); +iter.remove(); +} } return artifacts.toArray(new Artifact[artifacts.size()]); } diff --git a/src/java/org/apache/ivy/core/resolve/IvyNodeUsage.java b/src/java/org/apache/ivy/core/resolve/IvyNodeUsage.java index f96beb91..c9676dcc 100644 --- a/src/java/org/apache/ivy/core/resolve/IvyNodeUsage.java +++ b/src/java/org/apache/ivy/core/resolve/IvyNodeUsage.java @@ -24,15 +24,10 @@ import java.util.HashSet; import java.util.Map; import java.util.Set; -import org.apache.ivy.core.module.descriptor.DefaultIncludeRule; import org.apache.ivy.core.module.descriptor.DependencyArtifactDescriptor; import org.apache.ivy.core.module.descriptor.DependencyDescriptor; import org.apache.ivy.core.module.descriptor.IncludeRule; import org.apache.ivy.core.module.descriptor.WorkspaceModuleDescriptor; -import org.apache.ivy.core.module.id.ArtifactId; -import org.apache.ivy.core.module.id.ModuleId; -import org.apache.ivy.plugins.matcher.ExactPatternMatcher; -import org.apache.ivy.plugins.matcher.PatternMatcher; /** * Class collecting usage data for an IvyNode. @@ -243,35 +238,15 @@ public class IvyNodeUsage { if (dependersInConf == null) { return null; } -final Set dependencyIncludes = new HashSet<>(); -// true if the depedency descriptor of any of the depender *doesn't* have an explicit -// "" or an "". false otherwise -boolean atLeastOneDependerNeedsAllArtif
[ant-ivy] branch ivy-1642 updated (ed104821 -> 226f7c26)
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a change to branch ivy-1642 in repository https://gitbox.apache.org/repos/asf/ant-ivy.git discard ed104821 don't revert changes made for IVY-1580 new 226f7c26 ensure artifacts are only resolved once This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (ed104821) \ N -- N -- N refs/heads/ivy-1642 (226f7c26) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../org/apache/ivy/core/resolve/IvyNodeUsage.java | 50 -- 1 file changed, 8 insertions(+), 42 deletions(-)
[ant-ivy] 01/01: ensure artifacts are only resolved once
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a commit to branch ivy-1642 in repository https://gitbox.apache.org/repos/asf/ant-ivy.git commit 226f7c26a54da56a72eca708ef18939e3ac1f1f2 Author: Stefan Bodewig AuthorDate: Tue Apr 25 21:12:58 2023 +0200 ensure artifacts are only resolved once --- src/java/org/apache/ivy/core/resolve/IvyNode.java | 6 ++ 1 file changed, 6 insertions(+) diff --git a/src/java/org/apache/ivy/core/resolve/IvyNode.java b/src/java/org/apache/ivy/core/resolve/IvyNode.java index 273488ef..c7872c89 100644 --- a/src/java/org/apache/ivy/core/resolve/IvyNode.java +++ b/src/java/org/apache/ivy/core/resolve/IvyNode.java @@ -49,6 +49,7 @@ import org.apache.ivy.core.module.descriptor.IncludeRule; import org.apache.ivy.core.module.descriptor.MDArtifact; import org.apache.ivy.core.module.descriptor.ModuleDescriptor; import org.apache.ivy.core.module.id.ArtifactId; +import org.apache.ivy.core.module.id.ArtifactRevisionId; import org.apache.ivy.core.module.id.ModuleId; import org.apache.ivy.core.module.id.ModuleRevisionId; import org.apache.ivy.core.resolve.IvyNodeCallers.Caller; @@ -873,6 +874,7 @@ public class IvyNode implements Comparable { // now exclude artifacts that aren't accepted by any caller Iterator iter = artifacts.iterator(); +Set artifactRevisionsSeen = new HashSet(); while (iter.hasNext()) { Artifact artifact = iter.next(); boolean excluded = callers.doesCallersExclude(rootModuleConf, artifact); @@ -880,6 +882,10 @@ public class IvyNode implements Comparable { Message.debug(this + " in " + rootModuleConf + ": excluding " + artifact); iter.remove(); } +if (!artifactRevisionsSeen.add(artifact.getId())) { +Message.debug(this + " in " + rootModuleConf + ": skipping duplicate " + artifact); +iter.remove(); +} } return artifacts.toArray(new Artifact[artifacts.size()]); }
[ant-ivy] branch ivy-1642 updated: don't revert changes made for IVY-1580
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a commit to branch ivy-1642 in repository https://gitbox.apache.org/repos/asf/ant-ivy.git The following commit(s) were added to refs/heads/ivy-1642 by this push: new ed104821 don't revert changes made for IVY-1580 ed104821 is described below commit ed104821825bafb113c5a8bac2c81d97a8e6a729 Author: Stefan Bodewig AuthorDate: Fri Apr 14 12:13:58 2023 +0200 don't revert changes made for IVY-1580 --- src/java/org/apache/ivy/core/resolve/IvyNode.java | 6 +++ .../org/apache/ivy/core/resolve/IvyNodeUsage.java | 50 ++ 2 files changed, 48 insertions(+), 8 deletions(-) diff --git a/src/java/org/apache/ivy/core/resolve/IvyNode.java b/src/java/org/apache/ivy/core/resolve/IvyNode.java index 273488ef..c7872c89 100644 --- a/src/java/org/apache/ivy/core/resolve/IvyNode.java +++ b/src/java/org/apache/ivy/core/resolve/IvyNode.java @@ -49,6 +49,7 @@ import org.apache.ivy.core.module.descriptor.IncludeRule; import org.apache.ivy.core.module.descriptor.MDArtifact; import org.apache.ivy.core.module.descriptor.ModuleDescriptor; import org.apache.ivy.core.module.id.ArtifactId; +import org.apache.ivy.core.module.id.ArtifactRevisionId; import org.apache.ivy.core.module.id.ModuleId; import org.apache.ivy.core.module.id.ModuleRevisionId; import org.apache.ivy.core.resolve.IvyNodeCallers.Caller; @@ -873,6 +874,7 @@ public class IvyNode implements Comparable { // now exclude artifacts that aren't accepted by any caller Iterator iter = artifacts.iterator(); +Set artifactRevisionsSeen = new HashSet(); while (iter.hasNext()) { Artifact artifact = iter.next(); boolean excluded = callers.doesCallersExclude(rootModuleConf, artifact); @@ -880,6 +882,10 @@ public class IvyNode implements Comparable { Message.debug(this + " in " + rootModuleConf + ": excluding " + artifact); iter.remove(); } +if (!artifactRevisionsSeen.add(artifact.getId())) { +Message.debug(this + " in " + rootModuleConf + ": skipping duplicate " + artifact); +iter.remove(); +} } return artifacts.toArray(new Artifact[artifacts.size()]); } diff --git a/src/java/org/apache/ivy/core/resolve/IvyNodeUsage.java b/src/java/org/apache/ivy/core/resolve/IvyNodeUsage.java index c9676dcc..f96beb91 100644 --- a/src/java/org/apache/ivy/core/resolve/IvyNodeUsage.java +++ b/src/java/org/apache/ivy/core/resolve/IvyNodeUsage.java @@ -24,10 +24,15 @@ import java.util.HashSet; import java.util.Map; import java.util.Set; +import org.apache.ivy.core.module.descriptor.DefaultIncludeRule; import org.apache.ivy.core.module.descriptor.DependencyArtifactDescriptor; import org.apache.ivy.core.module.descriptor.DependencyDescriptor; import org.apache.ivy.core.module.descriptor.IncludeRule; import org.apache.ivy.core.module.descriptor.WorkspaceModuleDescriptor; +import org.apache.ivy.core.module.id.ArtifactId; +import org.apache.ivy.core.module.id.ModuleId; +import org.apache.ivy.plugins.matcher.ExactPatternMatcher; +import org.apache.ivy.plugins.matcher.PatternMatcher; /** * Class collecting usage data for an IvyNode. @@ -238,15 +243,35 @@ public class IvyNodeUsage { if (dependersInConf == null) { return null; } -Set dependencyIncludes = new HashSet<>(); -for (Depender depender : dependersInConf) { -IncludeRule[] rules = depender.dd.getIncludeRules(depender.dependerConf); -if (rules == null || rules.length == 0) { -// no include rule in at least one depender -> we must include everything, -// and so return no include rule at all -return null; +final Set dependencyIncludes = new HashSet<>(); +// true if the depedency descriptor of any of the depender *doesn't* have an explicit +// "" or an "". false otherwise +boolean atLeastOneDependerNeedsAllArtifacts = false; +// true if the dependency descriptor of any of the depender either has an explicit "" +// or an "". false otherwise +boolean atLeastOneDependerHasSpecificArtifactSelection = false; +for (final Depender depender : dependersInConf) { +final DependencyArtifactDescriptor dads[] = depender.dd.getDependencyArtifacts(depender.dd.getModuleConfigurations()); +final boolean declaresArtifacts = dads != null && dads.length > 0; +final IncludeRule[] rules = depender.dd.getIncludeRules(depender.dependerConf); +final boolean hasIncludeRule = rules != null && rules.length > 0; +if (hasIncludeRule) { +
[ant-ivy] 01/02: add the "default" artifact explicitly for dependency if POM contains more than one
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a commit to branch ivy-1642 in repository https://gitbox.apache.org/repos/asf/ant-ivy.git commit 6d28c2cfb662224c374fec21f2a2233caea667e0 Author: Stefan Bodewig AuthorDate: Fri Apr 14 07:05:28 2023 +0200 add the "default" artifact explicitly for dependency if POM contains more than one https://issues.apache.org/jira/browse/IVY-1642 --- asciidoc/release-notes.adoc| 5 +- .../org/apache/ivy/core/resolve/IvyNodeUsage.java | 50 +++- .../parser/m2/PomModuleDescriptorBuilder.java | 20 ++- .../parser/m2/PomModuleDescriptorParserTest.java | 60 +++ ...st-dependencies-with-and-without-classifier.pom | 67 ++ 5 files changed, 157 insertions(+), 45 deletions(-) diff --git a/asciidoc/release-notes.adoc b/asciidoc/release-notes.adoc index 84379627..c04489ab 100644 --- a/asciidoc/release-notes.adoc +++ b/asciidoc/release-notes.adoc @@ -36,7 +36,8 @@ More information about the project can be found on the website link:https://ant. Key features of this 2.5.2 release are: -- FIX: ivy:retrieve could fail because of a `NullPointerException` (jira:IVY-1641[]) +- FIX: reading POMs may loose dependencies when multiple Maven + dependencies only differ in `classifier` (jira:IVY-1642[]) == List of Changes in this Release @@ -53,6 +54,8 @@ For details about the following changes, check our JIRA install at link:https:// - FIX: ivy:retrieve could fail because of a `NullPointerException` (jira:IVY-1641[]) +- FIX: reading POMs may loose dependencies when multiple Maven + dependencies only differ in `classifier` (jira:IVY-1642[]) == Committers and Contributors diff --git a/src/java/org/apache/ivy/core/resolve/IvyNodeUsage.java b/src/java/org/apache/ivy/core/resolve/IvyNodeUsage.java index f96beb91..c9676dcc 100644 --- a/src/java/org/apache/ivy/core/resolve/IvyNodeUsage.java +++ b/src/java/org/apache/ivy/core/resolve/IvyNodeUsage.java @@ -24,15 +24,10 @@ import java.util.HashSet; import java.util.Map; import java.util.Set; -import org.apache.ivy.core.module.descriptor.DefaultIncludeRule; import org.apache.ivy.core.module.descriptor.DependencyArtifactDescriptor; import org.apache.ivy.core.module.descriptor.DependencyDescriptor; import org.apache.ivy.core.module.descriptor.IncludeRule; import org.apache.ivy.core.module.descriptor.WorkspaceModuleDescriptor; -import org.apache.ivy.core.module.id.ArtifactId; -import org.apache.ivy.core.module.id.ModuleId; -import org.apache.ivy.plugins.matcher.ExactPatternMatcher; -import org.apache.ivy.plugins.matcher.PatternMatcher; /** * Class collecting usage data for an IvyNode. @@ -243,35 +238,15 @@ public class IvyNodeUsage { if (dependersInConf == null) { return null; } -final Set dependencyIncludes = new HashSet<>(); -// true if the depedency descriptor of any of the depender *doesn't* have an explicit -// "" or an "". false otherwise -boolean atLeastOneDependerNeedsAllArtifacts = false; -// true if the dependency descriptor of any of the depender either has an explicit "" -// or an "". false otherwise -boolean atLeastOneDependerHasSpecificArtifactSelection = false; -for (final Depender depender : dependersInConf) { -final DependencyArtifactDescriptor dads[] = depender.dd.getDependencyArtifacts(depender.dd.getModuleConfigurations()); -final boolean declaresArtifacts = dads != null && dads.length > 0; -final IncludeRule[] rules = depender.dd.getIncludeRules(depender.dependerConf); -final boolean hasIncludeRule = rules != null && rules.length > 0; -if (hasIncludeRule) { -dependencyIncludes.addAll(Arrays.asList(rules)); -} -if (declaresArtifacts || hasIncludeRule) { -atLeastOneDependerHasSpecificArtifactSelection = true; -} -if (!hasIncludeRule && !declaresArtifacts) { -atLeastOneDependerNeedsAllArtifacts = true; +Set dependencyIncludes = new HashSet<>(); +for (Depender depender : dependersInConf) { +IncludeRule[] rules = depender.dd.getIncludeRules(depender.dependerConf); +if (rules == null || rules.length == 0) { +// no include rule in at least one depender -> we must include everything, +// and so return no include rule at all +return null; } -} -// so there's at least one depender D1 which has a specific artifact dependency and at the -// same time there's a depender D2 which doesn't have any explicit artifact/includes. -// so it is expected that an implicit "include all artifacts
[ant-ivy] branch ivy-1642 updated (79fb2af1 -> f577ca98)
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a change to branch ivy-1642 in repository https://gitbox.apache.org/repos/asf/ant-ivy.git discard 79fb2af1 add the "default" artifact explicitly for dependency if POM contains more than one new 6d28c2cf add the "default" artifact explicitly for dependency if POM contains more than one new f577ca98 ensure default artifacts is added to correct configuration This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (79fb2af1) \ N -- N -- N refs/heads/ivy-1642 (f577ca98) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../parser/m2/PomModuleDescriptorBuilder.java | 6 ++- .../parser/m2/PomModuleDescriptorParserTest.java | 57 -- ...st-dependencies-with-and-without-classifier.pom | 24 + 3 files changed, 72 insertions(+), 15 deletions(-)
[ant-ivy] 02/02: ensure default artifacts is added to correct configuration
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a commit to branch ivy-1642 in repository https://gitbox.apache.org/repos/asf/ant-ivy.git commit f577ca989c47d4be2c289ecde72a6c85ea64c2d6 Author: Stefan Bodewig AuthorDate: Fri Apr 14 10:42:23 2023 +0200 ensure default artifacts is added to correct configuration https://issues.apache.org/jira/browse/IVY-1642 --- .../parser/m2/PomModuleDescriptorBuilder.java | 6 ++- .../parser/m2/PomModuleDescriptorParserTest.java | 57 -- ...st-dependencies-with-and-without-classifier.pom | 24 + 3 files changed, 72 insertions(+), 15 deletions(-) diff --git a/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorBuilder.java b/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorBuilder.java index ba28af4e..3c6eff88 100644 --- a/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorBuilder.java +++ b/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorBuilder.java @@ -305,6 +305,8 @@ public class PomModuleDescriptorBuilder { // the same dependency mrid could appear twice in the module descriptor, // so we check if we already have created a dependency descriptor for the dependency mrid final DependencyDescriptor existing = this.ivyModuleDescriptor.depDescriptors.get(moduleRevId); +final String[] existingConfigurations = existing == null ? new String[0] +: existing.getModuleConfigurations(); final DefaultDependencyDescriptor dd = (existing != null && existing instanceof DefaultDependencyDescriptor) ? (DefaultDependencyDescriptor) existing : new PomDependencyDescriptor(dep, ivyModuleDescriptor, moduleRevId, !excludeAllTransitiveDeps); @@ -317,8 +319,10 @@ public class PomModuleDescriptorBuilder { final String optionalizedScope = dep.isOptional() ? "optional" : scope; if (isNonDefaultArtifact(dep)) { if (existing != null && existing.getAllDependencyArtifacts().length == 0) { +String moduleConfiguration = existingConfigurations.length == 1 +? existingConfigurations[0] : optionalizedScope; // previously added dependency has been the "default artifact" -dd.addDependencyArtifact(optionalizedScope, createDefaultArtifact(dd)); +dd.addDependencyArtifact(moduleConfiguration, createDefaultArtifact(dd)); } String type = "jar"; if (dep.getType() != null) { diff --git a/test/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParserTest.java b/test/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParserTest.java index 310b21f5..a9673cc0 100644 --- a/test/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParserTest.java +++ b/test/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParserTest.java @@ -21,6 +21,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; +import static org.junit.Assert.assertSame; import static org.junit.Assert.fail; import java.io.File; @@ -357,27 +358,55 @@ public class PomModuleDescriptorParserTest extends AbstractModuleDescriptorParse DependencyDescriptor[] dds = md.getDependencies(); assertNotNull(dds); -assertEquals(3, dds.length); +assertEquals(5, dds.length); +Map extraAtt = Collections.singletonMap("classifier", "asl"); assertEquals(ModuleRevisionId.newInstance("commons-logging", "commons-logging", "1.0.4"), dds[0].getDependencyRevisionId()); -Map extraAtt = Collections.singletonMap("classifier", "asl"); -assertEquals(2, dds[0].getAllDependencyArtifacts().length); -assertEquals(Collections.emptyMap(), dds[0].getAllDependencyArtifacts()[0].getExtraAttributes()); -assertEquals(extraAtt, dds[0].getAllDependencyArtifacts()[1].getExtraAttributes()); +DependencyArtifactDescriptor[] dads = dds[0].getAllDependencyArtifacts(); +assertEquals(2, dads.length); +assertEquals(Collections.emptyMap(), dads[0].getExtraAttributes()); +assertEquals(extraAtt, dads[1].getExtraAttributes()); assertEquals(ModuleRevisionId.newInstance("commons-logging", "commons-logging2", "1.0.4"), dds[1].getDependencyRevisionId()); - -assertEquals(2, dds[1].getAllDependencyArtifacts().length); -assertEquals(Collections.emptyMap(), dds[1].getAllDependencyArtifacts()[1].getExtraAttributes()); -assertEquals(extraAtt, dds[1].getAllDependencyArtifacts()[0].getExtraAttributes()); +dads = dds[1].getAllDependencyArtifacts(); +
[ant-ivy] branch ivy-1642 updated: add the "default" artifact explicitly for dependency if POM contains more than one
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a commit to branch ivy-1642 in repository https://gitbox.apache.org/repos/asf/ant-ivy.git The following commit(s) were added to refs/heads/ivy-1642 by this push: new 79fb2af1 add the "default" artifact explicitly for dependency if POM contains more than one 79fb2af1 is described below commit 79fb2af1c54efc7eb8e13ff9bee88724ba972448 Author: Stefan Bodewig AuthorDate: Fri Apr 14 07:05:28 2023 +0200 add the "default" artifact explicitly for dependency if POM contains more than one --- asciidoc/release-notes.adoc| 5 +- .../org/apache/ivy/core/resolve/IvyNodeUsage.java | 50 +++- .../parser/m2/PomModuleDescriptorBuilder.java | 20 ++- .../parser/m2/PomModuleDescriptorParserTest.java | 60 +++ ...st-dependencies-with-and-without-classifier.pom | 67 ++ 5 files changed, 157 insertions(+), 45 deletions(-) diff --git a/asciidoc/release-notes.adoc b/asciidoc/release-notes.adoc index 84379627..c04489ab 100644 --- a/asciidoc/release-notes.adoc +++ b/asciidoc/release-notes.adoc @@ -36,7 +36,8 @@ More information about the project can be found on the website link:https://ant. Key features of this 2.5.2 release are: -- FIX: ivy:retrieve could fail because of a `NullPointerException` (jira:IVY-1641[]) +- FIX: reading POMs may loose dependencies when multiple Maven + dependencies only differ in `classifier` (jira:IVY-1642[]) == List of Changes in this Release @@ -53,6 +54,8 @@ For details about the following changes, check our JIRA install at link:https:// - FIX: ivy:retrieve could fail because of a `NullPointerException` (jira:IVY-1641[]) +- FIX: reading POMs may loose dependencies when multiple Maven + dependencies only differ in `classifier` (jira:IVY-1642[]) == Committers and Contributors diff --git a/src/java/org/apache/ivy/core/resolve/IvyNodeUsage.java b/src/java/org/apache/ivy/core/resolve/IvyNodeUsage.java index f96beb91..c9676dcc 100644 --- a/src/java/org/apache/ivy/core/resolve/IvyNodeUsage.java +++ b/src/java/org/apache/ivy/core/resolve/IvyNodeUsage.java @@ -24,15 +24,10 @@ import java.util.HashSet; import java.util.Map; import java.util.Set; -import org.apache.ivy.core.module.descriptor.DefaultIncludeRule; import org.apache.ivy.core.module.descriptor.DependencyArtifactDescriptor; import org.apache.ivy.core.module.descriptor.DependencyDescriptor; import org.apache.ivy.core.module.descriptor.IncludeRule; import org.apache.ivy.core.module.descriptor.WorkspaceModuleDescriptor; -import org.apache.ivy.core.module.id.ArtifactId; -import org.apache.ivy.core.module.id.ModuleId; -import org.apache.ivy.plugins.matcher.ExactPatternMatcher; -import org.apache.ivy.plugins.matcher.PatternMatcher; /** * Class collecting usage data for an IvyNode. @@ -243,35 +238,15 @@ public class IvyNodeUsage { if (dependersInConf == null) { return null; } -final Set dependencyIncludes = new HashSet<>(); -// true if the depedency descriptor of any of the depender *doesn't* have an explicit -// "" or an "". false otherwise -boolean atLeastOneDependerNeedsAllArtifacts = false; -// true if the dependency descriptor of any of the depender either has an explicit "" -// or an "". false otherwise -boolean atLeastOneDependerHasSpecificArtifactSelection = false; -for (final Depender depender : dependersInConf) { -final DependencyArtifactDescriptor dads[] = depender.dd.getDependencyArtifacts(depender.dd.getModuleConfigurations()); -final boolean declaresArtifacts = dads != null && dads.length > 0; -final IncludeRule[] rules = depender.dd.getIncludeRules(depender.dependerConf); -final boolean hasIncludeRule = rules != null && rules.length > 0; -if (hasIncludeRule) { -dependencyIncludes.addAll(Arrays.asList(rules)); -} -if (declaresArtifacts || hasIncludeRule) { -atLeastOneDependerHasSpecificArtifactSelection = true; -} -if (!hasIncludeRule && !declaresArtifacts) { -atLeastOneDependerNeedsAllArtifacts = true; +Set dependencyIncludes = new HashSet<>(); +for (Depender depender : dependersInConf) { +IncludeRule[] rules = depender.dd.getIncludeRules(depender.dependerConf); +if (rules == null || rules.length == 0) { +// no include rule in at least one depender -> we must include everything, +// and so return no include rule at all +return null; } -} -// so there's at least one depender D1 which has a specific artifact dependency and at the -
[ant-ivy] branch ivy-1642 created (now c63ce79f)
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a change to branch ivy-1642 in repository https://gitbox.apache.org/repos/asf/ant-ivy.git at c63ce79f IVY-1641: fix NullPointerException if content type has no charset No new revisions were added by this update.
[jira] [Commented] (IVY-1642) PomModuleDescriptorBuilder may lose dependencies in translation
[ https://issues.apache.org/jira/browse/IVY-1642?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17712051#comment-17712051 ] Stefan Bodewig commented on IVY-1642: - on first glance this is a duplicate of IVY-1580 but it seems the fix back then has been incomplete. > PomModuleDescriptorBuilder may lose dependencies in translation > --- > > Key: IVY-1642 > URL: https://issues.apache.org/jira/browse/IVY-1642 > Project: Ivy > Issue Type: Bug >Affects Versions: 2.5.0, 2.5.1 > Reporter: Stefan Bodewig > Assignee: Stefan Bodewig >Priority: Major > > https://github.com/Fernal73/CheckStyleSample/ shows an example where I fails > to resolve one of the dependencies of Saxon-H2. > Saxon-H2's POM says > {code} > > org.xmlresolver > xmlresolver > 5.1.1 > > > org.xmlresolver > xmlresolver > 5.1.1 > data > > {code} > but when translated to an ivy.xml file we only have > {code} > conf="compile->compile(*),\ > master(*);runtime->runtime(*)"> > > m:classifier="data"/> > > {code} > It looks as if {{PomModuleDescriptorBuilder}} was merging the two > dependencies into one rather than creating two artifacts. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (IVY-1642) PomModuleDescriptorBuilder may lose dependencies in translation
[ https://issues.apache.org/jira/browse/IVY-1642?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Stefan Bodewig updated IVY-1642: Summary: PomModuleDescriptorBuilder may lose dependencies in translation (was: PomModuleDescriptorBuilder may lose depndencies in translation) > PomModuleDescriptorBuilder may lose dependencies in translation > --- > > Key: IVY-1642 > URL: https://issues.apache.org/jira/browse/IVY-1642 > Project: Ivy > Issue Type: Bug >Affects Versions: 2.5.0, 2.5.1 > Reporter: Stefan Bodewig > Assignee: Stefan Bodewig >Priority: Major > > https://github.com/Fernal73/CheckStyleSample/ shows an example where I fails > to resolve one of the dependencies of Saxon-H2. > Saxon-H2's POM says > {code} > > org.xmlresolver > xmlresolver > 5.1.1 > > > org.xmlresolver > xmlresolver > 5.1.1 > data > > {code} > but when translated to an ivy.xml file we only have > {code} > conf="compile->compile(*),\ > master(*);runtime->runtime(*)"> > > m:classifier="data"/> > > {code} > It looks as if {{PomModuleDescriptorBuilder}} was merging the two > dependencies into one rather than creating two artifacts. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (IVY-1642) PomModuleDescriptorBuilder may lose depndencies in translation
[ https://issues.apache.org/jira/browse/IVY-1642?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Stefan Bodewig updated IVY-1642: Affects Version/s: 2.5.1 > PomModuleDescriptorBuilder may lose depndencies in translation > -- > > Key: IVY-1642 > URL: https://issues.apache.org/jira/browse/IVY-1642 > Project: Ivy > Issue Type: Bug >Affects Versions: 2.5.0, 2.5.1 > Reporter: Stefan Bodewig > Assignee: Stefan Bodewig >Priority: Major > > https://github.com/Fernal73/CheckStyleSample/ shows an example where I fails > to resolve one of the dependencies of Saxon-H2. > Saxon-H2's POM says > {code} > > org.xmlresolver > xmlresolver > 5.1.1 > > > org.xmlresolver > xmlresolver > 5.1.1 > data > > {code} > but when translated to an ivy.xml file we only have > {code} > conf="compile->compile(*),\ > master(*);runtime->runtime(*)"> > > m:classifier="data"/> > > {code} > It looks as if {{PomModuleDescriptorBuilder}} was merging the two > dependencies into one rather than creating two artifacts. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (IVY-1642) PomModuleDescriptorBuilder may lose depndencies in translation
Stefan Bodewig created IVY-1642: --- Summary: PomModuleDescriptorBuilder may lose depndencies in translation Key: IVY-1642 URL: https://issues.apache.org/jira/browse/IVY-1642 Project: Ivy Issue Type: Bug Affects Versions: 2.5.0 Reporter: Stefan Bodewig Assignee: Stefan Bodewig https://github.com/Fernal73/CheckStyleSample/ shows an example where I fails to resolve one of the dependencies of Saxon-H2. Saxon-H2's POM says {code} org.xmlresolver xmlresolver 5.1.1 org.xmlresolver xmlresolver 5.1.1 data {code} but when translated to an ivy.xml file we only have {code} {code} It looks as if {{PomModuleDescriptorBuilder}} was merging the two dependencies into one rather than creating two artifacts. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[ant] branch master updated: really compare the names as the javadocs claim
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ant.git The following commit(s) were added to refs/heads/master by this push: new d29f62fcc really compare the names as the javadocs claim d29f62fcc is described below commit d29f62fcc2d263878c1b53fc10d9bd4b9dbc8377 Author: Stefan Bodewig AuthorDate: Mon Apr 3 12:36:33 2023 +0200 really compare the names as the javadocs claim https://bz.apache.org/bugzilla/show_bug.cgi?id=66496 --- WHATSNEW | 7 +++ src/main/org/apache/tools/ant/types/Resource.java | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/WHATSNEW b/WHATSNEW index 267b0d549..7c80e8926 100644 --- a/WHATSNEW +++ b/WHATSNEW @@ -1,6 +1,13 @@ Changes from Ant 1.10.13 TO Ant 1.10.14 === +Changes that could break older environments: +--- + + * Resource#compareTo now invokes getName rather than toString as the + later may be costly (for example in the case of a StringResource). + Bugzilla Report 66496 + Fixed bugs: --- diff --git a/src/main/org/apache/tools/ant/types/Resource.java b/src/main/org/apache/tools/ant/types/Resource.java index 12563d426..954757f25 100644 --- a/src/main/org/apache/tools/ant/types/Resource.java +++ b/src/main/org/apache/tools/ant/types/Resource.java @@ -277,7 +277,7 @@ public class Resource extends DataType implements Comparable, Resource if (isReference()) { return getRef().compareTo(other); } -return toString().compareTo(other.toString()); +return getName().compareTo(other.getName()); } /**
[ant] branch master updated: credit Thomas Starlinger for Bugzila Issue 66522
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ant.git The following commit(s) were added to refs/heads/master by this push: new ec02ae2c3 credit Thomas Starlinger for Bugzila Issue 66522 ec02ae2c3 is described below commit ec02ae2c3df7ea40d8099ab1da35e1c9d3b3533f Author: Stefan Bodewig AuthorDate: Sun Mar 19 11:52:15 2023 +0100 credit Thomas Starlinger for Bugzila Issue 66522 --- CONTRIBUTORS | 1 + contributors.xml | 4 2 files changed, 5 insertions(+) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 5b52cb54e..f93d2e229 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -434,6 +434,7 @@ Thomas Christen Thomas Christensen Thomas Haas Thomas Quas +Thomas Starlinger Tim Boemker Tim Drury Tim Fennell diff --git a/contributors.xml b/contributors.xml index 395f9c34f..ce78271ac 100644 --- a/contributors.xml +++ b/contributors.xml @@ -1789,6 +1789,10 @@ Thomas Quas + +Thomas +Starlinger + Tim Boemker
[ant] branch master updated: fix since tag
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ant.git The following commit(s) were added to refs/heads/master by this push: new 0b6a29b2c fix since tag 0b6a29b2c is described below commit 0b6a29b2c5139525f70d26668f9606a7dac44947 Author: Stefan Bodewig AuthorDate: Sat Mar 18 10:49:44 2023 +0100 fix since tag --- src/main/org/apache/tools/ant/util/FileUtils.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/org/apache/tools/ant/util/FileUtils.java b/src/main/org/apache/tools/ant/util/FileUtils.java index 150bf5f85..15dd90ddd 100644 --- a/src/main/org/apache/tools/ant/util/FileUtils.java +++ b/src/main/org/apache/tools/ant/util/FileUtils.java @@ -1469,7 +1469,7 @@ public class FileUtils { * @throws IOException if anything bad happens during this * process. Note that to may have been deleted * already when this happens. - * @since Ant 1.6 + * @since Ant 1.10.14 */ public void rename(File from, File to, boolean keepTargetFilePermissions) throws IOException { Set existingFilePermissions = null;
[ant] branch master updated: try to preserve file permissions of exisiting target when renaming
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ant.git The following commit(s) were added to refs/heads/master by this push: new bb02a4d80 try to preserve file permissions of exisiting target when renaming bb02a4d80 is described below commit bb02a4d806652d6e01e8eb1b74fc74d5c94b3317 Author: Stefan Bodewig AuthorDate: Sat Mar 18 10:42:58 2023 +0100 try to preserve file permissions of exisiting target when renaming https://bz.apache.org/bugzilla/show_bug.cgi?id=66522 --- WHATSNEW | 4 +++ .../org/apache/tools/ant/taskdefs/FixCRLF.java | 2 +- .../org/apache/tools/ant/taskdefs/Replace.java | 2 +- .../tools/ant/taskdefs/optional/ReplaceRegExp.java | 2 +- src/main/org/apache/tools/ant/util/FileUtils.java | 33 + .../org/apache/tools/ant/util/FileUtilsTest.java | 34 ++ 6 files changed, 74 insertions(+), 3 deletions(-) diff --git a/WHATSNEW b/WHATSNEW index cd2d2bcfc..267b0d549 100644 --- a/WHATSNEW +++ b/WHATSNEW @@ -18,6 +18,10 @@ Fixed bugs: This is now fixed. Bugzilla Report 66468 + * , and now try to preserve the + file permissions of the files they modify. + Bugzilla Report 66522 + Other changes: -- diff --git a/src/main/org/apache/tools/ant/taskdefs/FixCRLF.java b/src/main/org/apache/tools/ant/taskdefs/FixCRLF.java index cff7ed820..82f7843ba 100644 --- a/src/main/org/apache/tools/ant/taskdefs/FixCRLF.java +++ b/src/main/org/apache/tools/ant/taskdefs/FixCRLF.java @@ -372,7 +372,7 @@ public class FixCRLF extends MatchingTask implements ChainableReader { Project.MSG_DEBUG); } if (destIsWrong) { -FILE_UTILS.rename(tmpFile, destFile); +FILE_UTILS.rename(tmpFile, destFile, true); if (preserveLastModified) { log("preserved lastModified for " + destFile, Project.MSG_DEBUG); diff --git a/src/main/org/apache/tools/ant/taskdefs/Replace.java b/src/main/org/apache/tools/ant/taskdefs/Replace.java index 66cdef43b..a7daa0370 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Replace.java +++ b/src/main/org/apache/tools/ant/taskdefs/Replace.java @@ -670,7 +670,7 @@ public class Replace extends MatchingTask { if (changes) { fileCount++; long origLastModified = src.lastModified(); -FILE_UTILS.rename(temp, src); +FILE_UTILS.rename(temp, src, true); if (preserveLastModified) { FILE_UTILS.setFileLastModified(src, origLastModified); } diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/ReplaceRegExp.java b/src/main/org/apache/tools/ant/taskdefs/optional/ReplaceRegExp.java index 5b7e3e695..c5b9d7d43 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/ReplaceRegExp.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/ReplaceRegExp.java @@ -434,7 +434,7 @@ public class ReplaceRegExp extends Task { log("File has changed; saving the updated file", Project.MSG_VERBOSE); try { long origLastModified = f.lastModified(); -FILE_UTILS.rename(temp, f); +FILE_UTILS.rename(temp, f, true); if (preserveLastModified) { FILE_UTILS.setFileLastModified(f, origLastModified); } diff --git a/src/main/org/apache/tools/ant/util/FileUtils.java b/src/main/org/apache/tools/ant/util/FileUtils.java index 0deecaa7c..150bf5f85 100644 --- a/src/main/org/apache/tools/ant/util/FileUtils.java +++ b/src/main/org/apache/tools/ant/util/FileUtils.java @@ -40,6 +40,7 @@ import java.nio.file.attribute.FileAttribute; import java.nio.file.attribute.PosixFileAttributeView; import java.nio.file.attribute.PosixFilePermission; import java.nio.file.attribute.PosixFilePermissions; +import java.lang.UnsupportedOperationException; import java.text.DecimalFormat; import java.util.ArrayList; import java.util.Arrays; @@ -48,6 +49,7 @@ import java.util.List; import java.util.Locale; import java.util.Optional; import java.util.Random; +import java.util.Set; import java.util.Stack; import java.util.StringTokenizer; import java.util.Vector; @@ -1450,6 +1452,27 @@ public class FileUtils { * @since Ant 1.6 */ public void rename(File from, File to) throws IOException { +rename(from, to, false); +} + +/** + * Renames a file, even if that involves crossing file system boundaries. + * + * This will remove to (if it exists), ensure that + * to's parent directory exists and move + * from, which involves deleting from as + * well. + * + *
[ant-ivy] branch master updated: IVY-1641: fix NullPointerException if content type has no charset
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ant-ivy.git The following commit(s) were added to refs/heads/master by this push: new c63ce79f IVY-1641: fix NullPointerException if content type has no charset c63ce79f is described below commit c63ce79f52133857d1146cd2335d51178714effd Author: Stefan Bodewig AuthorDate: Fri Mar 17 12:59:02 2023 +0100 IVY-1641: fix NullPointerException if content type has no charset --- asciidoc/release-notes.adoc | 7 +-- src/java/org/apache/ivy/util/url/HttpClientHandler.java | 3 ++- version.properties | 4 ++-- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/asciidoc/release-notes.adoc b/asciidoc/release-notes.adoc index 91453803..84379627 100644 --- a/asciidoc/release-notes.adoc +++ b/asciidoc/release-notes.adoc @@ -19,7 +19,7 @@ = Ivy Release Announcement - Date - The Apache Ivy project is pleased to announce its 2.6.0 release. + Date - The Apache Ivy project is pleased to announce its 2.5.2 release. == What is Ivy? Apache Ivy is a tool for managing (recording, tracking, resolving and reporting) project dependencies, characterized by flexibility, @@ -34,8 +34,9 @@ More information about the project can be found on the website link:https://ant. == Key features in this release -Key features of this 2.6.0 release are: +Key features of this 2.5.2 release are: +- FIX: ivy:retrieve could fail because of a `NullPointerException` (jira:IVY-1641[]) == List of Changes in this Release @@ -51,6 +52,8 @@ For details about the following changes, check our JIRA install at link:https:// - DOCUMENTATION: bla bla bla (jira:IVY-1234[]) (Thanks to Jane Doe) +- FIX: ivy:retrieve could fail because of a `NullPointerException` (jira:IVY-1641[]) + == Committers and Contributors Here is the list of people who have contributed source code and documentation up to this release. Many thanks to all of them, and also to the whole IvyDE community contributing ideas and feedback, and promoting the use of Apache Ivy ! diff --git a/src/java/org/apache/ivy/util/url/HttpClientHandler.java b/src/java/org/apache/ivy/util/url/HttpClientHandler.java index d79cd27c..8f117753 100644 --- a/src/java/org/apache/ivy/util/url/HttpClientHandler.java +++ b/src/java/org/apache/ivy/util/url/HttpClientHandler.java @@ -239,8 +239,9 @@ public class HttpClientHandler extends AbstractURLHandler implements TimeoutCons if (checkStatusCode(httpMethod, url, response)) { final HttpEntity responseEntity = response.getEntity(); final Charset charSet = ContentType.getOrDefault(responseEntity).getCharset(); +final String charSetName = charSet != null ? charSet.name() : null; return new URLInfo(true, responseEntity == null ? 0 : responseEntity.getContentLength(), -getLastModified(response), charSet.name()); +getLastModified(response), charSetName); } } catch (IOException | IllegalArgumentException e) { // IllegalArgumentException is thrown by HttpClient library to indicate the URL is not valid, diff --git a/version.properties b/version.properties index 57a04932..dc92edea 100644 --- a/version.properties +++ b/version.properties @@ -16,9 +16,9 @@ # * specific language governing permissions and limitations # * under the License. # *** -target.ivy.version=2.6.0 +target.ivy.version=2.5.2 # Following OSGi spec: have to be 3 numbers separated by dots -target.ivy.bundle.version=2.6.0 +target.ivy.bundle.version=2.5.2 # in case we want to add a qualifier such as alpha, beta, etc... # if non empty, add a '_' at the end of the qualifier, so the version would look like 1.2.3.alpha_200901011200 # NB: be careful with naming, OSGi orders version alphabetically. Suggested values: alpha_, beta_, cr1_ (for RC-1), final_
[jira] [Updated] (IVY-1641) NullPointerException when using Basic Auth for repository together with Apache HttpClient
[ https://issues.apache.org/jira/browse/IVY-1641?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Stefan Bodewig updated IVY-1641: Attachment: ivysettings.xml ivy.xml build.xml > NullPointerException when using Basic Auth for repository together with > Apache HttpClient > - > > Key: IVY-1641 > URL: https://issues.apache.org/jira/browse/IVY-1641 > Project: Ivy > Issue Type: Bug > Components: Core >Affects Versions: 2.5.1 > Reporter: Stefan Bodewig >Assignee: Stefan Bodewig >Priority: Major > Fix For: 2.5.2 > > Attachments: build.xml, ivy.xml, ivysettings.xml > > > For context see > https://lists.apache.org/thread/9qk9z7h1xn7xs4ngyfhgcd9d1wjwb36r > Full Stack Trace: > {code} > java.lang.NullPointerException: Cannot invoke > "java.nio.charset.Charset.name()" because "charSet" is null > at > org.apache.ivy.util.url.HttpClientHandler.getURLInfo(HttpClientHandler.java:243) > at > org.apache.ivy.util.url.URLHandlerDispatcher.getURLInfo(URLHandlerDispatcher.java:122) > at > org.apache.ivy.plugins.repository.url.URLResource.init(URLResource.java:82) > at > org.apache.ivy.plugins.repository.url.URLResource.exists(URLResource.java:101) > at > org.apache.ivy.plugins.resolver.RepositoryResolver.findResourceUsingPattern(RepositoryResolver.java:102) > at > org.apache.ivy.plugins.resolver.AbstractPatternsBasedResolver.findResourceUsingPatterns(AbstractPatternsBasedResolver.java:94) > at > org.apache.ivy.plugins.resolver.AbstractPatternsBasedResolver.findArtifactRef(AbstractPatternsBasedResolver.java:74) > at > org.apache.ivy.plugins.resolver.BasicResolver.getArtifactRef(BasicResolver.java:1029) > at > org.apache.ivy.plugins.resolver.BasicResolver.findFirstArtifactRef(BasicResolver.java:966) > at > org.apache.ivy.plugins.resolver.BasicResolver.getDependency(BasicResolver.java:247) > at > org.apache.ivy.plugins.resolver.ChainResolver.getDependency(ChainResolver.java:101) > at org.apache.ivy.core.resolve.IvyNode.loadData(IvyNode.java:191) > at org.apache.ivy.core.resolve.VisitNode.loadData(VisitNode.java:284) > at > org.apache.ivy.core.resolve.ResolveEngine.fetchDependencies(ResolveEngine.java:722) > at > org.apache.ivy.core.resolve.ResolveEngine.doFetchDependencies(ResolveEngine.java:801) > at > org.apache.ivy.core.resolve.ResolveEngine.fetchDependencies(ResolveEngine.java:729) > at > org.apache.ivy.core.resolve.ResolveEngine.getDependencies(ResolveEngine.java:607) > at > org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:250) > at > org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:206) > at org.apache.ivy.Ivy.resolve(Ivy.java:507) > at org.apache.ivy.ant.IvyResolve.doExecute(IvyResolve.java:328) > at org.apache.ivy.ant.IvyTask.execute(IvyTask.java:259) > at > org.apache.ivy.ant.IvyPostResolveTask.ensureResolved(IvyPostResolveTask.java:229) > at > org.apache.ivy.ant.IvyPostResolveTask.prepareAndCheck(IvyPostResolveTask.java:183) > at org.apache.ivy.ant.IvyRetrieve.doExecute(IvyRetrieve.java:92) > at org.apache.ivy.ant.IvyTask.execute(IvyTask.java:259) > at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:299) > at > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) > at > java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.base/java.lang.reflect.Method.invoke(Method.java:568) > at > org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99) > at org.apache.tools.ant.Task.perform(Task.java:350) > at org.apache.tools.ant.Target.execute(Target.java:449) > at org.apache.tools.ant.Target.performTasks(Target.java:470) > at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1401) > at org.apache.tools.ant.Project.executeTarget(Project.java:1374) > at > org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) > at org.apache.tools.ant.Project.executeTargets(Project.java:1264) > at org.apache.tools.ant.Main.runBuild(Main.java:818) > at org.apache.tools.ant.Main.startAnt(Main.jav
[jira] [Updated] (IVY-1641) NullPointerException when using Basic Auth for repository together with Apache HttpClient
[ https://issues.apache.org/jira/browse/IVY-1641?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Stefan Bodewig updated IVY-1641: Fix Version/s: 2.5.2 > NullPointerException when using Basic Auth for repository together with > Apache HttpClient > - > > Key: IVY-1641 > URL: https://issues.apache.org/jira/browse/IVY-1641 > Project: Ivy > Issue Type: Bug > Components: Core >Affects Versions: 2.5.1 > Reporter: Stefan Bodewig >Assignee: Stefan Bodewig >Priority: Major > Fix For: 2.5.2 > > > For context see > https://lists.apache.org/thread/9qk9z7h1xn7xs4ngyfhgcd9d1wjwb36r > Full Stack Trace: > {code} > java.lang.NullPointerException: Cannot invoke > "java.nio.charset.Charset.name()" because "charSet" is null > at > org.apache.ivy.util.url.HttpClientHandler.getURLInfo(HttpClientHandler.java:243) > at > org.apache.ivy.util.url.URLHandlerDispatcher.getURLInfo(URLHandlerDispatcher.java:122) > at > org.apache.ivy.plugins.repository.url.URLResource.init(URLResource.java:82) > at > org.apache.ivy.plugins.repository.url.URLResource.exists(URLResource.java:101) > at > org.apache.ivy.plugins.resolver.RepositoryResolver.findResourceUsingPattern(RepositoryResolver.java:102) > at > org.apache.ivy.plugins.resolver.AbstractPatternsBasedResolver.findResourceUsingPatterns(AbstractPatternsBasedResolver.java:94) > at > org.apache.ivy.plugins.resolver.AbstractPatternsBasedResolver.findArtifactRef(AbstractPatternsBasedResolver.java:74) > at > org.apache.ivy.plugins.resolver.BasicResolver.getArtifactRef(BasicResolver.java:1029) > at > org.apache.ivy.plugins.resolver.BasicResolver.findFirstArtifactRef(BasicResolver.java:966) > at > org.apache.ivy.plugins.resolver.BasicResolver.getDependency(BasicResolver.java:247) > at > org.apache.ivy.plugins.resolver.ChainResolver.getDependency(ChainResolver.java:101) > at org.apache.ivy.core.resolve.IvyNode.loadData(IvyNode.java:191) > at org.apache.ivy.core.resolve.VisitNode.loadData(VisitNode.java:284) > at > org.apache.ivy.core.resolve.ResolveEngine.fetchDependencies(ResolveEngine.java:722) > at > org.apache.ivy.core.resolve.ResolveEngine.doFetchDependencies(ResolveEngine.java:801) > at > org.apache.ivy.core.resolve.ResolveEngine.fetchDependencies(ResolveEngine.java:729) > at > org.apache.ivy.core.resolve.ResolveEngine.getDependencies(ResolveEngine.java:607) > at > org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:250) > at > org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:206) > at org.apache.ivy.Ivy.resolve(Ivy.java:507) > at org.apache.ivy.ant.IvyResolve.doExecute(IvyResolve.java:328) > at org.apache.ivy.ant.IvyTask.execute(IvyTask.java:259) > at > org.apache.ivy.ant.IvyPostResolveTask.ensureResolved(IvyPostResolveTask.java:229) > at > org.apache.ivy.ant.IvyPostResolveTask.prepareAndCheck(IvyPostResolveTask.java:183) > at org.apache.ivy.ant.IvyRetrieve.doExecute(IvyRetrieve.java:92) > at org.apache.ivy.ant.IvyTask.execute(IvyTask.java:259) > at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:299) > at > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) > at > java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.base/java.lang.reflect.Method.invoke(Method.java:568) > at > org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99) > at org.apache.tools.ant.Task.perform(Task.java:350) > at org.apache.tools.ant.Target.execute(Target.java:449) > at org.apache.tools.ant.Target.performTasks(Target.java:470) > at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1401) > at org.apache.tools.ant.Project.executeTarget(Project.java:1374) > at > org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) > at org.apache.tools.ant.Project.executeTargets(Project.java:1264) > at org.apache.tools.ant.Main.runBuild(Main.java:818) > at org.apache.tools.ant.Main.startAnt(Main.java:223) > at org.apache.tools.ant.launch.Launcher.run(Launcher.java:284) > at org.apache.tools.ant.launch.Lau
[jira] [Created] (IVY-1641) NullPointerException when using Basic Auth for repository together with Apache HttpClient
Stefan Bodewig created IVY-1641: --- Summary: NullPointerException when using Basic Auth for repository together with Apache HttpClient Key: IVY-1641 URL: https://issues.apache.org/jira/browse/IVY-1641 Project: Ivy Issue Type: Bug Components: Core Affects Versions: 2.5.1 Reporter: Stefan Bodewig Assignee: Stefan Bodewig For context see https://lists.apache.org/thread/9qk9z7h1xn7xs4ngyfhgcd9d1wjwb36r Full Stack Trace: {code} java.lang.NullPointerException: Cannot invoke "java.nio.charset.Charset.name()" because "charSet" is null at org.apache.ivy.util.url.HttpClientHandler.getURLInfo(HttpClientHandler.java:243) at org.apache.ivy.util.url.URLHandlerDispatcher.getURLInfo(URLHandlerDispatcher.java:122) at org.apache.ivy.plugins.repository.url.URLResource.init(URLResource.java:82) at org.apache.ivy.plugins.repository.url.URLResource.exists(URLResource.java:101) at org.apache.ivy.plugins.resolver.RepositoryResolver.findResourceUsingPattern(RepositoryResolver.java:102) at org.apache.ivy.plugins.resolver.AbstractPatternsBasedResolver.findResourceUsingPatterns(AbstractPatternsBasedResolver.java:94) at org.apache.ivy.plugins.resolver.AbstractPatternsBasedResolver.findArtifactRef(AbstractPatternsBasedResolver.java:74) at org.apache.ivy.plugins.resolver.BasicResolver.getArtifactRef(BasicResolver.java:1029) at org.apache.ivy.plugins.resolver.BasicResolver.findFirstArtifactRef(BasicResolver.java:966) at org.apache.ivy.plugins.resolver.BasicResolver.getDependency(BasicResolver.java:247) at org.apache.ivy.plugins.resolver.ChainResolver.getDependency(ChainResolver.java:101) at org.apache.ivy.core.resolve.IvyNode.loadData(IvyNode.java:191) at org.apache.ivy.core.resolve.VisitNode.loadData(VisitNode.java:284) at org.apache.ivy.core.resolve.ResolveEngine.fetchDependencies(ResolveEngine.java:722) at org.apache.ivy.core.resolve.ResolveEngine.doFetchDependencies(ResolveEngine.java:801) at org.apache.ivy.core.resolve.ResolveEngine.fetchDependencies(ResolveEngine.java:729) at org.apache.ivy.core.resolve.ResolveEngine.getDependencies(ResolveEngine.java:607) at org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:250) at org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:206) at org.apache.ivy.Ivy.resolve(Ivy.java:507) at org.apache.ivy.ant.IvyResolve.doExecute(IvyResolve.java:328) at org.apache.ivy.ant.IvyTask.execute(IvyTask.java:259) at org.apache.ivy.ant.IvyPostResolveTask.ensureResolved(IvyPostResolveTask.java:229) at org.apache.ivy.ant.IvyPostResolveTask.prepareAndCheck(IvyPostResolveTask.java:183) at org.apache.ivy.ant.IvyRetrieve.doExecute(IvyRetrieve.java:92) at org.apache.ivy.ant.IvyTask.execute(IvyTask.java:259) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:299) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99) at org.apache.tools.ant.Task.perform(Task.java:350) at org.apache.tools.ant.Target.execute(Target.java:449) at org.apache.tools.ant.Target.performTasks(Target.java:470) at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1401) at org.apache.tools.ant.Project.executeTarget(Project.java:1374) at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) at org.apache.tools.ant.Project.executeTargets(Project.java:1264) at org.apache.tools.ant.Main.runBuild(Main.java:818) at org.apache.tools.ant.Main.startAnt(Main.java:223) at org.apache.tools.ant.launch.Launcher.run(Launcher.java:284) at org.apache.tools.ant.launch.Launcher.main(Launcher.java:101) Unexpected error: Cannot invoke "java.nio.charset.Charset.name()" because "charSet" is null (java.lang.NullPointerException: Cannot invoke "java.nio.charset.Charset.name()" because "charSet" is null) java.lang.NullPointerException: Cannot invoke "java.nio.charset.Charset.name()" because "charSet" is null at org.apache.ivy.util.url.HttpClientHandler.getURLInfo(HttpClientHandler.java:243) at org.apache.ivy.util.url.URLHandlerDispatcher.getURLInfo(URLHandlerDispatcher.java:122)
[ant] branch master updated: unused target
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ant.git The following commit(s) were added to refs/heads/master by this push: new 77f3ec9e8 unused target 77f3ec9e8 is described below commit 77f3ec9e842130d26a7413c1332d85b8aeee51dc Author: Stefan Bodewig AuthorDate: Sat Mar 4 15:30:36 2023 +0100 unused target --- fetch.xml | 5 + 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/fetch.xml b/fetch.xml index 07292d389..07fcf7f8e 100644 --- a/fetch.xml +++ b/fetch.xml @@ -375,14 +375,11 @@ Set -Ddest=LOCATION on the command line + depends="init-no-m2"> https://netrexx.org/files/NetRexxC-${netrexx.version}.jar; dest="${dest.dir}" skipexisting="true"/> - - -
[ant] branch master updated: IBM's ftp now requires ftps which is not supported by java.net.URL
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ant.git The following commit(s) were added to refs/heads/master by this push: new 541a1d244 IBM's ftp now requires ftps which is not supported by java.net.URL 541a1d244 is described below commit 541a1d2448af3e95134f79a970a608403deab00a Author: Stefan Bodewig AuthorDate: Sat Mar 4 15:22:53 2023 +0100 IBM's ftp now requires ftps which is not supported by java.net.URL --- fetch.xml| 28 +++- lib/libraries.properties | 3 ++- 2 files changed, 5 insertions(+), 26 deletions(-) diff --git a/fetch.xml b/fetch.xml index 038ee120e..07292d389 100644 --- a/fetch.xml +++ b/fetch.xml @@ -375,34 +375,12 @@ Set -Ddest=LOCATION on the command line - - - - - - - - - - - - - - - + depends="init-no-m2,-setup-temp-cache,-fetch-netrexx"> +https://netrexx.org/files/NetRexxC-${netrexx.version}.jar; + dest="${dest.dir}" skipexisting="true"/> - - - - - - -ftp://ftp.software.ibm.com/software/awdtools/netrexx/NetRexx.zip; - dest="${temp.dir}/NetRexx.zip" skipexisting="true"/> https://repo1.maven.org/maven2/ # hashes of libraries loaded over insecure connections -netrexx.sha256=1f99f054e9b1e412d29823088f3fa7cfce90a7af25d907a60a6d7908a6b97ea4 +.sha256=2443dfe8d8974a38a390ee55c2757396f3e2350d4b18cc8dc489709bf5593b61 # Versions of different libraries. Please keep in alphabetical order, except # when a specific dependency forces them to be out-of-order @@ -51,6 +51,7 @@ hamcrest-core.version=1.3 hamcrest-library.version=${hamcrest-core.version} jai-core.version=1.1.3 jai-codec.version=1.1.3 +netrexx.version=2.05 # Later 1.6 versions call themselves "jakarta.mail" but do not use the namespace yet javax.mail.version=1.6.2 jakarta.mail.version=2.0.1
[ant] branch master updated: "modernize" antunit report styelsheet
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ant.git The following commit(s) were added to refs/heads/master by this push: new 60a2ab286 "modernize" antunit report styelsheet 60a2ab286 is described below commit 60a2ab286dc3afefeafe47e56ccded74cc035a75 Author: Stefan Bodewig AuthorDate: Thu Mar 2 18:06:53 2023 +0100 "modernize" antunit report styelsheet --- src/tests/antunit/junit-frames.xsl | 74 ++ 1 file changed, 51 insertions(+), 23 deletions(-) diff --git a/src/tests/antunit/junit-frames.xsl b/src/tests/antunit/junit-frames.xsl index bbb0c7643..5732ae890 100644 --- a/src/tests/antunit/junit-frames.xsl +++ b/src/tests/antunit/junit-frames.xsl @@ -2,28 +2,26 @@ http://www.w3.org/1999/XSL/Transform; version="1.0" xmlns:lxslt="http://xml.apache.org/xslt; xmlns:redirect="http://xml.apache.org/xalan/redirect; -xmlns:stringutils="xalan://org.apache.tools.ant.util.StringUtils" +xmlns:string="xalan://java.lang.String" extension-element-prefixes="redirect"> - + + 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 + + https://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. + --> - +32 + + + + + + + + + + + + + + + + + + + + + + + + + + + +
[ant] branch master updated: use the local variable just created
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ant.git The following commit(s) were added to refs/heads/master by this push: new cfbc2f745 use the local variable just created cfbc2f745 is described below commit cfbc2f7458fe5420c51250472d133b524a039cf1 Author: Stefan Bodewig AuthorDate: Thu Mar 2 12:52:32 2023 +0100 use the local variable just created --- src/main/org/apache/tools/ant/taskdefs/optional/jlink/jlink.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/jlink/jlink.java b/src/main/org/apache/tools/ant/taskdefs/optional/jlink/jlink.java index e9cdb103a..d4b5b2170 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/jlink/jlink.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/jlink/jlink.java @@ -259,7 +259,7 @@ public class jlink { if (names == null || names.length == 0) { return; } -for (String name : dir.list()) { +for (String name : names) { File file = new File(dir, name); if (file.isDirectory()) {
[ant] 01/02: properly handle File.list() returning null
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ant.git commit 38b7e94c17c304aa3b7e13fc7d9ccdb47e4a4f89 Author: Stefan Bodewig AuthorDate: Thu Mar 2 12:31:08 2023 +0100 properly handle File.list() returning null --- src/main/org/apache/tools/ant/taskdefs/Delete.java | 2 +- src/main/org/apache/tools/ant/taskdefs/Sync.java | 10 +++--- src/main/org/apache/tools/ant/taskdefs/XSLTProcess.java| 3 +++ .../org/apache/tools/ant/taskdefs/optional/jlink/jlink.java| 4 .../apache/tools/ant/taskdefs/optional/sound/SoundTask.java| 5 - src/main/org/apache/tools/tar/TarEntry.java| 3 +++ 6 files changed, 22 insertions(+), 5 deletions(-) diff --git a/src/main/org/apache/tools/ant/taskdefs/Delete.java b/src/main/org/apache/tools/ant/taskdefs/Delete.java index 82d84e10f..1917c8391 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Delete.java +++ b/src/main/org/apache/tools/ant/taskdefs/Delete.java @@ -747,7 +747,7 @@ public class Delete extends MatchingTask { if (!f.exists()) { continue; } -if (!f.isDirectory() || f.list().length == 0) { +if (!f.isDirectory() || f.list() == null || f.list().length == 0) { log("Deleting " + f, verbosity); if (!delete(f) && failonerror) { handle("Unable to delete " diff --git a/src/main/org/apache/tools/ant/taskdefs/Sync.java b/src/main/org/apache/tools/ant/taskdefs/Sync.java index 48eb6473d..34bed4400 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Sync.java +++ b/src/main/org/apache/tools/ant/taskdefs/Sync.java @@ -110,7 +110,9 @@ public class Sync extends Task { // If the destination directory didn't already exist, // or was empty, then no previous file removal is necessary! -boolean noRemovalNecessary = !toDir.exists() || toDir.list().length < 1; +String[] toDirChildren = toDir.list(); +boolean noRemovalNecessary = !toDir.exists() || toDirChildren == null +|| toDirChildren.length < 1; // Copy all the necessary out-of-date files log("PASS#1: Copying files to " + toDir, Project.MSG_DEBUG); @@ -290,6 +292,7 @@ public class Sync extends Task { int removedCount = 0; if (dir.isDirectory()) { File[] children = dir.listFiles(); +if (children != null) { for (File file : children) { // Test here again to avoid method call for non-directories! if (file.isDirectory()) { @@ -297,12 +300,13 @@ public class Sync extends Task { preservedEmptyDirectories); } } -if (children.length > 0) { +} +if (children == null || children.length > 0) { // This directory may have become empty... // We need to re-query its children list! children = dir.listFiles(); } -if (children.length < 1 && removeIfEmpty +if ((children == null || children.length < 1) && removeIfEmpty && !preservedEmptyDirectories.contains(dir)) { log("Removing empty directory: " + dir, Project.MSG_DEBUG); dir.delete(); diff --git a/src/main/org/apache/tools/ant/taskdefs/XSLTProcess.java b/src/main/org/apache/tools/ant/taskdefs/XSLTProcess.java index ef2b1a727..78c556bb0 100644 --- a/src/main/org/apache/tools/ant/taskdefs/XSLTProcess.java +++ b/src/main/org/apache/tools/ant/taskdefs/XSLTProcess.java @@ -428,10 +428,13 @@ public class XSLTProcess extends MatchingTask implements XSLTLogger { if (performDirectoryScan) { // Process all the directories marked for styling for (String dir : scanner.getIncludedDirectories()) { +String[] elements = new File(baseDir, dir).list(); +if (elements != null) { for (String element : new File(baseDir, dir).list()) { process(baseDir, dir + File.separator + element, destDir, styleResource); } +} } } } else if (resources.isEmpty()) { diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/jlink/jlink.java b/src/main/org/apache/tools/ant/taskdefs/optional/jlink/jlink.java index 480c4cab0..e9cdb103a 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/jlink/jlink.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/jlink/jlin
[ant] 02/02: whitespace
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ant.git commit f830c705d543e06d8b871b927708ef11230db4be Author: Stefan Bodewig AuthorDate: Thu Mar 2 12:34:08 2023 +0100 whitespace --- src/main/org/apache/tools/ant/taskdefs/Sync.java | 12 ++-- src/main/org/apache/tools/ant/taskdefs/XSLTProcess.java | 9 + .../apache/tools/ant/taskdefs/optional/sound/SoundTask.java | 10 +- 3 files changed, 16 insertions(+), 15 deletions(-) diff --git a/src/main/org/apache/tools/ant/taskdefs/Sync.java b/src/main/org/apache/tools/ant/taskdefs/Sync.java index 34bed4400..a009fe691 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Sync.java +++ b/src/main/org/apache/tools/ant/taskdefs/Sync.java @@ -293,14 +293,14 @@ public class Sync extends Task { if (dir.isDirectory()) { File[] children = dir.listFiles(); if (children != null) { -for (File file : children) { -// Test here again to avoid method call for non-directories! -if (file.isDirectory()) { -removedCount += removeEmptyDirectories(file, true, -preservedEmptyDirectories); +for (File file : children) { +// Test here again to avoid method call for non-directories! +if (file.isDirectory()) { +removedCount += removeEmptyDirectories(file, true, +preservedEmptyDirectories); +} } } -} if (children == null || children.length > 0) { // This directory may have become empty... // We need to re-query its children list! diff --git a/src/main/org/apache/tools/ant/taskdefs/XSLTProcess.java b/src/main/org/apache/tools/ant/taskdefs/XSLTProcess.java index 78c556bb0..829ab0006 100644 --- a/src/main/org/apache/tools/ant/taskdefs/XSLTProcess.java +++ b/src/main/org/apache/tools/ant/taskdefs/XSLTProcess.java @@ -430,10 +430,11 @@ public class XSLTProcess extends MatchingTask implements XSLTLogger { for (String dir : scanner.getIncludedDirectories()) { String[] elements = new File(baseDir, dir).list(); if (elements != null) { -for (String element : new File(baseDir, dir).list()) { -process(baseDir, dir + File.separator + element, destDir, -styleResource); -} +for (String element : new File(baseDir, dir).list()) { +process(baseDir, +dir + File.separator + element, +destDir, styleResource); +} } } } diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/sound/SoundTask.java b/src/main/org/apache/tools/ant/taskdefs/optional/sound/SoundTask.java index 1f0363318..67e568922 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/sound/SoundTask.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/sound/SoundTask.java @@ -150,13 +150,13 @@ public class SoundTask extends Task { Vector files = new Vector<>(); String[] fileNames = source.list(); if (fileNames != null) { -for (String file : fileNames) { -File f = new File(source, file); -if (f.isFile()) { -files.addElement(f); +for (String file : fileNames) { +File f = new File(source, file); +if (f.isFile()) { +files.addElement(f); +} } } -} if (files.size() < 1) { throw new BuildException("No files found in directory " + source); }
[ant] branch master updated (59e456372 -> f830c705d)
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/ant.git from 59e456372 66464: junitlauncher task's fork element now has a new optional "java" attribute to allow specifying a different Java installation to run the forked tests new 38b7e94c1 properly handle File.list() returning null new f830c705d whitespace The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: src/main/org/apache/tools/ant/taskdefs/Delete.java | 2 +- src/main/org/apache/tools/ant/taskdefs/Sync.java | 20 .../org/apache/tools/ant/taskdefs/XSLTProcess.java | 10 +++--- .../tools/ant/taskdefs/optional/jlink/jlink.java | 4 .../tools/ant/taskdefs/optional/sound/SoundTask.java | 11 +++ src/main/org/apache/tools/tar/TarEntry.java | 3 +++ 6 files changed, 34 insertions(+), 16 deletions(-)
[ant] branch master updated: update dependencies with known vulnerabilities
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ant.git The following commit(s) were added to refs/heads/master by this push: new e720c4d80 update dependencies with known vulnerabilities e720c4d80 is described below commit e720c4d8095d064b70d16ccee427248ed757c22f Author: Stefan Bodewig AuthorDate: Wed Dec 21 19:24:26 2022 +0100 update dependencies with known vulnerabilities --- lib/libraries.properties | 4 ++-- src/etc/poms/ant-apache-bcel/pom.xml | 2 +- src/etc/poms/ant-commons-net/pom.xml | 2 +- src/etc/poms/ant-junit/pom.xml | 2 +- src/etc/poms/ant/pom.xml | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/libraries.properties b/lib/libraries.properties index f6c03562b..91b9b859f 100644 --- a/lib/libraries.properties +++ b/lib/libraries.properties @@ -36,10 +36,10 @@ netrexx.sha256=1f99f054e9b1e412d29823088f3fa7cfce90a7af25d907a60a6d7908a6b97ea4 ivy.version=2.5.0 ant-antunit.version=1.4.1 antlr.version=2.7.7 -bcel.version=6.5.0 +bcel.version=6.7.0 bsf.version=2.4.0 bsh.version=2.0b5 -commons-net.version=3.8.0 +commons-net.version=3.9.0 commons-logging.version=1.1 commons-logging-api.version=${commons-logging.version} js.version=20.1.0 diff --git a/src/etc/poms/ant-apache-bcel/pom.xml b/src/etc/poms/ant-apache-bcel/pom.xml index f271feb8b..bb714e726 100644 --- a/src/etc/poms/ant-apache-bcel/pom.xml +++ b/src/etc/poms/ant-apache-bcel/pom.xml @@ -45,7 +45,7 @@ org.apache.bcel bcel - 6.5.0 + 6.7.0 compile diff --git a/src/etc/poms/ant-commons-net/pom.xml b/src/etc/poms/ant-commons-net/pom.xml index 938562a86..7dcb09b83 100644 --- a/src/etc/poms/ant-commons-net/pom.xml +++ b/src/etc/poms/ant-commons-net/pom.xml @@ -45,7 +45,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/m commons-net commons-net - 3.8.0 + 3.9.0 compile diff --git a/src/etc/poms/ant-junit/pom.xml b/src/etc/poms/ant-junit/pom.xml index a39d6f364..41a330a06 100644 --- a/src/etc/poms/ant-junit/pom.xml +++ b/src/etc/poms/ant-junit/pom.xml @@ -51,7 +51,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/m xerces xercesImpl - 2.12.0 + 2.12.2 test diff --git a/src/etc/poms/ant/pom.xml b/src/etc/poms/ant/pom.xml index 8ce508b84..43f08ed2e 100644 --- a/src/etc/poms/ant/pom.xml +++ b/src/etc/poms/ant/pom.xml @@ -64,7 +64,7 @@ xerces xercesImpl - 2.12.0 + 2.12.2 test
[ant] branch master updated: fix forward test, but I don't find any host with a stable reverse lookup
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ant.git The following commit(s) were added to refs/heads/master by this push: new 7601bf176 fix forward test, but I don't find any host with a stable reverse lookup 7601bf176 is described below commit 7601bf1767a0c191ff22f661c8fde97302d0cd3a Author: Stefan Bodewig AuthorDate: Sat Nov 26 19:23:52 2022 +0100 fix forward test, but I don't find any host with a stable reverse lookup --- src/tests/antunit/taskdefs/hostinfo-test.xml | 27 ++- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/src/tests/antunit/taskdefs/hostinfo-test.xml b/src/tests/antunit/taskdefs/hostinfo-test.xml index 1a42403e5..398bfafa2 100644 --- a/src/tests/antunit/taskdefs/hostinfo-test.xml +++ b/src/tests/antunit/taskdefs/hostinfo-test.xml @@ -27,10 +27,10 @@ - - - - + + + + @@ -41,17 +41,18 @@ - - - - + + + + - - - - - + + + + +
[ant] branch master updated: try to properly decode multibyte encoded names in tar entries
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ant.git The following commit(s) were added to refs/heads/master by this push: new e04fbe7ff try to properly decode multibyte encoded names in tar entries e04fbe7ff is described below commit e04fbe7ffa4f549bdc00bdfce688fb587120eedd Author: Stefan Bodewig AuthorDate: Sat Nov 26 18:47:07 2022 +0100 try to properly decode multibyte encoded names in tar entries --- src/main/org/apache/tools/tar/TarUtils.java | 71 +++-- 1 file changed, 66 insertions(+), 5 deletions(-) diff --git a/src/main/org/apache/tools/tar/TarUtils.java b/src/main/org/apache/tools/tar/TarUtils.java index f6f103654..ffa24b1cb 100644 --- a/src/main/org/apache/tools/tar/TarUtils.java +++ b/src/main/org/apache/tools/tar/TarUtils.java @@ -26,6 +26,8 @@ package org.apache.tools.tar; import java.io.IOException; import java.math.BigInteger; import java.nio.ByteBuffer; +import java.util.Arrays; +import java.util.WeakHashMap; import org.apache.tools.zip.ZipEncoding; import org.apache.tools.zip.ZipEncodingHelper; @@ -38,6 +40,10 @@ import org.apache.tools.zip.ZipEncodingHelper; public class TarUtils { private static final int BYTE_MASK = 255; +private static final String NUL = "\0"; +private static final String X = "X"; +private static final String X_NUL = "X\0"; +private static final WeakHashMap NUL_BY_ENCODING = new WeakHashMap<>(); static final ZipEncoding DEFAULT_ENCODING = ZipEncodingHelper.getZipEncoding(null); @@ -286,20 +292,75 @@ public class TarUtils { final ZipEncoding encoding) throws IOException { +final byte[] nul = getNulByteEquivalent(encoding); +final int nulLen = nul.length; int len = 0; -for (; len < length; ++len) { -if (buffer[offset + len] == 0) { -break; +if (nulLen == 1) { +final byte nulByte = nul[0]; +for (; len < length; ++len) { +if (buffer[offset + len] == nulByte) { +break; +} +} +} else if (nulLen == 0) { +len = length; +} else { +boolean found = false; +for (; len <= length - nulLen; ++len) { +// six-arg Arrays.equals requires Java 9 +byte[] atOffset = Arrays.copyOfRange(buffer, offset + len, offset + len + nulLen); +if (Arrays.equals(atOffset, nul)) { +found = true; +break; +} +} +if (!found) { +len = length; } } if (len > 0) { -final byte[] b = new byte[len]; -System.arraycopy(buffer, offset, b, 0, len); +final byte[] b = Arrays.copyOfRange(buffer, offset, offset + len); return encoding.decode(b); } return ""; } +private static byte[] getNulByteEquivalent(ZipEncoding encoding) throws IOException { +byte[] value = NUL_BY_ENCODING.get(encoding); +if (value == null) { +value = getUncachedNulByteEquivalent(encoding); +NUL_BY_ENCODING.put(encoding, value); +} +return value; +} + +private static byte[] getUncachedNulByteEquivalent(ZipEncoding encoding) throws IOException { +final ByteBuffer nulBuffer = encoding.encode(NUL); +final int nulLen = nulBuffer.limit() - nulBuffer.position(); +final byte[] nul = +Arrays.copyOfRange(nulBuffer.array(), nulBuffer.arrayOffset(), nulBuffer.arrayOffset() + nulLen); +if (nulLen <= 1) { +return nul; +} +final ByteBuffer xBuffer = encoding.encode(X); +final int xBufferLen = xBuffer.limit() - xBuffer.position(); +final ByteBuffer xNulBuffer = encoding.encode(X_NUL); +final int xNulBufferLen = xNulBuffer.limit() - xNulBuffer.position(); +if (xBufferLen >= xNulBufferLen) { +return nul; +} +final byte[] x = +Arrays.copyOfRange(xBuffer.array(), xBuffer.arrayOffset(), xBuffer.arrayOffset() + xBufferLen); +final byte[] nulPrefix = +Arrays.copyOfRange(xNulBuffer.array(), xNulBuffer.arrayOffset(), xNulBuffer.arrayOffset() + xBufferLen); +if (Arrays.equals(x, nulPrefix)) { +// strip of BOM or similar prefix +return Arrays.copyOfRange(xNulBuffer.array(), xNulBuffer.arrayOffset() + xBufferLen, + xNulBuffer.arrayOffset() + xNulBufferLen); +} +return nul; +} + /** * Copy a name into a buffer. * Copies characters from the name into the buffer
[ant] branch master updated: warn against multi-byte encoding in tar
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ant.git The following commit(s) were added to refs/heads/master by this push: new 22ef1323c warn against multi-byte encoding in tar 22ef1323c is described below commit 22ef1323cc2e38505dcfde911939cd92b6539dd5 Author: Stefan Bodewig AuthorDate: Sat Nov 26 17:23:20 2022 +0100 warn against multi-byte encoding in tar --- manual/Tasks/tar.html| 5 - src/etc/testcases/taskdefs/untar.xml | 8 src/tests/junit/org/apache/tools/ant/taskdefs/UntarTest.java | 8 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/manual/Tasks/tar.html b/manual/Tasks/tar.html index 88d3c3a73..985625b32 100644 --- a/manual/Tasks/tar.html +++ b/manual/Tasks/tar.html @@ -133,7 +133,10 @@ to gzip, bzip2, or xz. The character encoding to use for filenames inside the tar file. For a list of possible values see the https://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html; - target="_top">Supported Encodings.Since Ant 1.9.5 + target="_top">Supported Encodings. In general the tar format + expects names to use a single byte encoding and specifying a + multi-byte encoding here may lead to archives that cannot be + properly extracted by my tar tools.Since Ant 1.9.5 No; defaults to default JVM character encoding diff --git a/src/etc/testcases/taskdefs/untar.xml b/src/etc/testcases/taskdefs/untar.xml index a443e120d..1255d9d87 100644 --- a/src/etc/testcases/taskdefs/untar.xml +++ b/src/etc/testcases/taskdefs/untar.xml @@ -58,6 +58,14 @@ + + + + + + + + diff --git a/src/tests/junit/org/apache/tools/ant/taskdefs/UntarTest.java b/src/tests/junit/org/apache/tools/ant/taskdefs/UntarTest.java index 6a1cca457..4f414f877 100644 --- a/src/tests/junit/org/apache/tools/ant/taskdefs/UntarTest.java +++ b/src/tests/junit/org/apache/tools/ant/taskdefs/UntarTest.java @@ -85,6 +85,14 @@ public class UntarTest { buildRule.getProject().resolveFile(filename).exists()); } +@Test +public void testMultiByteEncoding() { +buildRule.executeTarget("multiByteEncodingTest"); +String filename = buildRule.getProject().getProperty("output") + "/untartestout/foo"; +assertTrue("foo has been properly named", + buildRule.getProject().resolveFile(filename).exists()); +} + @Test public void testResourceCollection() throws IOException { testLogoExtraction("resourceCollection");
[ant] branch master updated: paths with wildcards do not work in javac's arg-file
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ant.git The following commit(s) were added to refs/heads/master by this push: new 3e6d6acc3 paths with wildcards do not work in javac's arg-file 3e6d6acc3 is described below commit 3e6d6acc38a47aa66e629e519f482ee975dd0480 Author: Stefan Bodewig AuthorDate: Sat Nov 19 17:50:29 2022 +0100 paths with wildcards do not work in javac's arg-file https://bz.apache.org/bugzilla/show_bug.cgi?id=65621 --- WHATSNEW | 4 ++ .../ant/taskdefs/compilers/JavacExternal.java | 61 ++ .../ant/taskdefs/compilers/JavacExternalTest.java | 42 +++ 3 files changed, 98 insertions(+), 9 deletions(-) diff --git a/WHATSNEW b/WHATSNEW index c5a83128b..c4ca47bd7 100644 --- a/WHATSNEW +++ b/WHATSNEW @@ -47,6 +47,10 @@ Fixed bugs: * loadresource might log warnings even though quiet was set to true Bugzilla Report 65647 + * javac task would add paths constructs containing wildcards to the + internally created argument file where wildcards are not allowed + Bugzilla Report 65621 + Other changes: -- diff --git a/src/main/org/apache/tools/ant/taskdefs/compilers/JavacExternal.java b/src/main/org/apache/tools/ant/taskdefs/compilers/JavacExternal.java index 8ce805900..d4487699c 100644 --- a/src/main/org/apache/tools/ant/taskdefs/compilers/JavacExternal.java +++ b/src/main/org/apache/tools/ant/taskdefs/compilers/JavacExternal.java @@ -20,6 +20,8 @@ package org.apache.tools.ant.taskdefs.compilers; import java.io.File; import java.io.IOException; +import java.util.Arrays; +import java.util.List; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.Project; @@ -86,27 +88,68 @@ public class JavacExternal extends DefaultCompilerAdapter { */ private int moveArgFileEligibleOptionsToEnd(String[] commandLine) { int nonArgFileOptionIdx = 1; // 0 for javac executable -while(nonArgFileOptionIdx < commandLine.length && -!isArgFileEligible(commandLine[nonArgFileOptionIdx])) { -nonArgFileOptionIdx++; +while (nonArgFileOptionIdx < commandLine.length) { +int argsToMove = numberOfArgsNotEligibleForFile(commandLine, nonArgFileOptionIdx); +if (argsToMove > 0) { +nonArgFileOptionIdx += argsToMove; +} else { +break; +} } for(int i = nonArgFileOptionIdx + 1; i < commandLine.length; i++) { -if (!isArgFileEligible(commandLine[i])) { -String option = commandLine[i]; +int argsToMove = numberOfArgsNotEligibleForFile(commandLine, i); +if (argsToMove > 0) { +String[] options = Arrays.copyOfRange(commandLine, i, i + argsToMove); if (i - nonArgFileOptionIdx >= 0) { -System.arraycopy( commandLine, nonArgFileOptionIdx, commandLine, nonArgFileOptionIdx + 1, i - nonArgFileOptionIdx ); +System.arraycopy( commandLine, nonArgFileOptionIdx, commandLine, nonArgFileOptionIdx + argsToMove, i - nonArgFileOptionIdx ); } -commandLine[nonArgFileOptionIdx] = option; -nonArgFileOptionIdx++; +System.arraycopy(options, 0, commandLine, nonArgFileOptionIdx, argsToMove); +nonArgFileOptionIdx += argsToMove; +i += argsToMove - 1; } } return nonArgFileOptionIdx; } +private static int numberOfArgsNotEligibleForFile(String[] args, int currentIndex) { +String currentOption = args[currentIndex]; +if (!isArgFileEligible(currentOption)) { +return 1; +} +if (currentIndex + 1 < args.length && isArgFollowedByPath(currentOption) +&& containsWildcards(args[currentIndex + 1])) { +return 2; +} +return 0; +} + +private static boolean containsWildcards(String path) { +return path.contains("*") || path.contains("?"); +} + private static boolean isArgFileEligible(String option) { -return !(option.startsWith("-J") || option.startsWith("@")); +return !(option.startsWith("-J") || option.startsWith("@") +|| (option.startsWith("-Xbootclasspath/") && containsWildcards(option)) +); +} + +private static List ARGS_FOLLOWED_BY_PATH = Arrays.asList( +"-cp", "-classpath", "--class-path", +"-endorseddirs", +"-extdirs", +"--module-path", "-p", +"--module-source-path", +"--process
[ant] branch master updated: loadresource might log warnings even though quiet was set to true
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ant.git The following commit(s) were added to refs/heads/master by this push: new 0aca73974 loadresource might log warnings even though quiet was set to true 0aca73974 is described below commit 0aca73974a1f03afc3f985a4beb94a5cd26e6bcf Author: Stefan Bodewig AuthorDate: Sat Nov 19 13:25:44 2022 +0100 loadresource might log warnings even though quiet was set to true https://bz.apache.org/bugzilla/show_bug.cgi?id=65647 --- WHATSNEW | 3 +++ src/main/org/apache/tools/ant/taskdefs/LoadResource.java | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/WHATSNEW b/WHATSNEW index ca067e3c3..c5a83128b 100644 --- a/WHATSNEW +++ b/WHATSNEW @@ -44,6 +44,9 @@ Fixed bugs: NUL rather than the first. Github Pull Request #194 + * loadresource might log warnings even though quiet was set to true + Bugzilla Report 65647 + Other changes: -- diff --git a/src/main/org/apache/tools/ant/taskdefs/LoadResource.java b/src/main/org/apache/tools/ant/taskdefs/LoadResource.java index a9e4c629b..41f5d351f 100644 --- a/src/main/org/apache/tools/ant/taskdefs/LoadResource.java +++ b/src/main/org/apache/tools/ant/taskdefs/LoadResource.java @@ -141,7 +141,7 @@ public class LoadResource extends Task { if (failOnError) { throw new BuildException(message); } -log(message, quiet ? Project.MSG_WARN : Project.MSG_ERR); +log(message, quiet ? Project.MSG_VERBOSE : Project.MSG_ERR); return; }
[ant] branch master updated: credit @keithc-ca for #194
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ant.git The following commit(s) were added to refs/heads/master by this push: new 37d0b40ff credit @keithc-ca for #194 37d0b40ff is described below commit 37d0b40ff8f636a3591ae5b58d920da692002e12 Author: Stefan Bodewig AuthorDate: Mon Nov 7 18:46:34 2022 +0100 credit @keithc-ca for #194 --- CONTRIBUTORS | 1 + contributors.xml | 5 + 2 files changed, 6 insertions(+) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 6b29f067e..0d22d843d 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -235,6 +235,7 @@ Justyna Horwat Karl Jansen Keiron Liddle Keith Visco +Keith W. Campbell Kevin Connor Arpe Kevin Greiner Kevin Jackson diff --git a/contributors.xml b/contributors.xml index 6b2530153..0ef36b213 100644 --- a/contributors.xml +++ b/contributors.xml @@ -979,6 +979,11 @@ Keith Visco + +Keith +W. +Campbell + Kevin Connor
[ant] branch master updated: record tar fix of #194
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ant.git The following commit(s) were added to refs/heads/master by this push: new ab96bfdd1 record tar fix of #194 ab96bfdd1 is described below commit ab96bfdd1ea2984f34a22c19a430dc49f042a1d8 Author: Stefan Bodewig AuthorDate: Mon Nov 7 18:36:23 2022 +0100 record tar fix of #194 --- WHATSNEW | 5 + 1 file changed, 5 insertions(+) diff --git a/WHATSNEW b/WHATSNEW index 9872c70c4..52282736b 100644 --- a/WHATSNEW +++ b/WHATSNEW @@ -39,6 +39,11 @@ Fixed bugs: will be left untouched. Bugzilla Report 66164 + * parsing tar entries with multiple NUL bytes in their name would + include garbage bytes as the name included all bytes up to the last + NUL rather than the first. + Github Pull Request #194 + Other changes: --
[ant] branch master updated: Names end before the first NULL (not the last)
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ant.git The following commit(s) were added to refs/heads/master by this push: new 048df1e3c Names end before the first NULL (not the last) new 837eab258 Merge pull request #194 from keithc-ca/tar 048df1e3c is described below commit 048df1e3cfbc0da8a9e6a063a1f476804f2e4f06 Author: Keith W. Campbell AuthorDate: Wed Oct 26 13:30:00 2022 -0400 Names end before the first NULL (not the last) This fixes parsing of archives produced on macOS. Signed-off-by: Keith W. Campbell --- src/main/org/apache/tools/tar/TarUtils.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/org/apache/tools/tar/TarUtils.java b/src/main/org/apache/tools/tar/TarUtils.java index b6e12c4da..f6f103654 100644 --- a/src/main/org/apache/tools/tar/TarUtils.java +++ b/src/main/org/apache/tools/tar/TarUtils.java @@ -286,9 +286,9 @@ public class TarUtils { final ZipEncoding encoding) throws IOException { -int len = length; -for (; len > 0; len--) { -if (buffer[offset + len - 1] != 0) { +int len = 0; +for (; len < length; ++len) { +if (buffer[offset + len] == 0) { break; } }
[ant-ivy] branch master updated: add last two Ivy releases
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ant-ivy.git The following commit(s) were added to refs/heads/master by this push: new fe57d586 add last two Ivy releases fe57d586 is described below commit fe57d586321d06e7146a42af6304b759046129db Author: Stefan Bodewig AuthorDate: Sat Nov 5 13:07:29 2022 +0100 add last two Ivy releases --- doap_Ivy.rdf | 14 ++ 1 file changed, 14 insertions(+) diff --git a/doap_Ivy.rdf b/doap_Ivy.rdf index 74909205..21a5de39 100644 --- a/doap_Ivy.rdf +++ b/doap_Ivy.rdf @@ -34,6 +34,20 @@ http://ant.apache.org/ivy/download.cgi; /> Java http://projects.apache.org/category/build-management; /> + + +Apache Ivy 2.5.1 +2022-11-04 +2.5.1 + + + + +Apache Ivy 2.5.0 +2019-10-20 +2.5.0 + + Apache Ivy 2.4.0
svn commit: r57804 - /release/ant/ivy/2.5.0/
Author: bodewig Date: Sat Nov 5 12:05:00 2022 New Revision: 57804 Log: post release cleanup Removed: release/ant/ivy/2.5.0/
svn commit: r1905066 - in /ant/site/ant: production/antnews.html production/index.html sources/antnews.xml sources/index.xml
Author: bodewig Date: Fri Nov 4 11:40:10 2022 New Revision: 1905066 URL: http://svn.apache.org/viewvc?rev=1905066=rev Log: announce Ivy 2.5.1 release Modified: ant/site/ant/production/antnews.html ant/site/ant/production/index.html ant/site/ant/sources/antnews.xml ant/site/ant/sources/index.xml Modified: ant/site/ant/production/antnews.html URL: http://svn.apache.org/viewvc/ant/site/ant/production/antnews.html?rev=1905066=1905065=1905066=diff == --- ant/site/ant/production/antnews.html (original) +++ ant/site/ant/production/antnews.html Fri Nov 4 11:40:10 2022 @@ -230,6 +230,17 @@ Apache Ant Project News + + Apache Ivy 2.5.1 + +November 4, 2022 - Apache Ivy 2.5.1 Released +Apache Ivy 2.5.1 is now available for download as source or + binary from + https://ant.apache.org/ivy/download.cgi;>https://ant.apache.org/ivy/download.cgi. +Ivy 2.5.1 is mainly a bug fix release that also fixes two +security vulnerabilities, see https://ant.apache.org/ivy/security.html;>security +reports for details. + Apache Ant 1.10.12 Modified: ant/site/ant/production/index.html URL: http://svn.apache.org/viewvc/ant/site/ant/production/index.html?rev=1905066=1905065=1905066=diff == --- ant/site/ant/production/index.html (original) +++ ant/site/ant/production/index.html Fri Nov 4 11:40:10 2022 @@ -269,6 +269,17 @@ build process. Ant 1.10.12 is mainly a bug fix release + + Apache Ivy 2.5.1 + +November 4, 2022 - Apache Ivy 2.5.1 Released +Apache Ivy 2.5.1 is now available for download as source or + binary from + https://ant.apache.org/ivy/download.cgi;>https://ant.apache.org/ivy/download.cgi. +Ivy 2.5.1 is mainly a bug fix release that also fixes two +security vulnerabilities, see https://ant.apache.org/ivy/security.html;>security +reports for details. + Apache AntUnit 1.4.1 @@ -292,23 +303,6 @@ https://ant.apache.org/processes.html#Reactivate%20a%20subproject%20or%20component;>reactivated. - - Apache Ivy 2.4.0 - -December 26, 2014 - Apache Ivy 2.4.0 Released -Apache Ivy 2.4.0 is now available for download as source or binary (with and without - dependencies) from - https://ant.apache.org/ivy/download.cgi;>https://ant.apache.org/ivy/download.cgi. -Key features of the 2.4.0 release are - - some new Ant tasks - improved OSGI support - a Bintray resolver - numerous bug fixes as documented in Jira and in the release notes - -For more information see - the https://ant.apache.org/ivy/;>Ivy home page. - Apache IvyDE 2.2.0 Modified: ant/site/ant/sources/antnews.xml URL: http://svn.apache.org/viewvc/ant/site/ant/sources/antnews.xml?rev=1905066=1905065=1905066=diff == --- ant/site/ant/sources/antnews.xml (original) +++ ant/site/ant/sources/antnews.xml Fri Nov 4 11:40:10 2022 @@ -28,6 +28,18 @@ + +November 4, 2022 - Apache Ivy 2.5.1 Released +Apache Ivy 2.5.1 is now available for download as source or + binary from + https://ant.apache.org/ivy/download.cgi;>https://ant.apache.org/ivy/download.cgi. + +Ivy 2.5.1 is mainly a bug fix release that also fixes two +security vulnerabilities, see https://ant.apache.org/ivy/security.html;>security +reports for details. + + October 19, 2021 - Apache Ant 1.10.12 Released Apache Ant 1.10.12 are now available for download as source or Modified: ant/site/ant/sources/index.xml URL: http://svn.apache.org/viewvc/ant/site/ant/sources/index.xml?rev=1905066=1905065=1905066=diff == --- ant/site/ant/sources/index.xml (original) +++ ant/site/ant/sources/index.xml Fri Nov 4 11:40:10 2022 @@ -74,6 +74,19 @@ + +November 4, 2022 - Apache Ivy 2.5.1 Released +Apache Ivy 2.5.1 is now available for download as source or + binary from + https://ant.apache.org/ivy/download.cgi;>https://ant.apache.org/ivy/download.cgi. + +Ivy 2.5.1 is mainly a bug fix release that also fixes two +security vulnerabilities, see https://ant.apache.org/ivy/security.html;>security +reports
[ant-ivy] branch master updated: back to normal development
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ant-ivy.git The following commit(s) were added to refs/heads/master by this push: new 4ffed632 back to normal development 4ffed632 is described below commit 4ffed6329f2bf914bd0b8419b76de7f4839e6419 Author: Stefan Bodewig AuthorDate: Fri Nov 4 12:32:53 2022 +0100 back to normal development --- asciidoc/release-notes.adoc | 21 +++-- ivy.xml | 2 +- version.properties | 6 +++--- 3 files changed, 7 insertions(+), 22 deletions(-) diff --git a/asciidoc/release-notes.adoc b/asciidoc/release-notes.adoc index 08fc2b79..91453803 100644 --- a/asciidoc/release-notes.adoc +++ b/asciidoc/release-notes.adoc @@ -19,7 +19,7 @@ = Ivy Release Announcement -4th November 2022 - The Apache Ivy project is pleased to announce its 2.5.1 release. + Date - The Apache Ivy project is pleased to announce its 2.6.0 release. == What is Ivy? Apache Ivy is a tool for managing (recording, tracking, resolving and reporting) project dependencies, characterized by flexibility, @@ -34,29 +34,14 @@ More information about the project can be found on the website link:https://ant. == Key features in this release -Key features of this 2.5.1 release are: - -* Ivy now requires a minimum of Java 8 runtime. -* Fixes two Security Vulnerabilities, see link:https://ant.apache.org/ivy/security.html[the scurity page] for details. +Key features of this 2.6.0 release are: == List of Changes in this Release For details about the following changes, check our JIRA install at link:https://issues.apache.org/jira/browse/IVY[] -*List of changes since Ivy 2.5.0:* - -- BREAKING: Removed old fr\jayasoft\ivy\ant\antlib.xml AntLib definition file (jira:IVY-1612[]) -- FIX: ResolveEngine resets dictator resolver to null in the global configuration (jira:IVY-1618[]) -- FIX: ConcurrentModificationException in MessageLoggerHelper.sumupProblems (jira:IVY-1628[]) -- FIX: useOrigin="true" fails with file-based ibiblio (jira:IVY-1616[]) -- FIX: ivy:retrieve Ant task didn't create an empty fileset when no files were retrieved to a non-empty directory (jira:IVY-1631[]) -- FIX: ivy:retrieve Ant task relied on the default HTTP header "Accept" which caused problems with servers that interpret it strictly (e.g. AWS CodeArtifact) (jira:IVY-1632[]) - -- IMPROVEMENT: Ivy command now accepts a URL for the -settings option (jira:IVY-1615[]) -- FIX: CVE-2022-37865 allow create/overwrite any file on the system (see link:https://ant.apache.org/ivy/security.html[]) -- FIX: CVE-2022-37866 Path traversal in patterns (see link:https://ant.apache.org/ivy/security.html[]) - +*List of changes since Ivy 2.5.1:* Samples : diff --git a/ivy.xml b/ivy.xml index 47a21578..c3dac27e 100644 --- a/ivy.xml +++ b/ivy.xml @@ -21,7 +21,7 @@ xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd;> + status="integration"> http://ant.apache.org/ivy/;> Apache Ivy is a tool for managing (recording, tracking, resolving and reporting) project dependencies. diff --git a/version.properties b/version.properties index 2c8809a1..02c77158 100644 --- a/version.properties +++ b/version.properties @@ -16,13 +16,13 @@ # * specific language governing permissions and limitations # * under the License. # *** -target.ivy.version=2.5.1 +target.ivy.version=2.6.0 # Following OSGi spec: have to be 3 numbers separated by dots -target.ivy.bundle.version=2.5.1 +target.ivy.bundle.version=2.6.0 # in case we want to add a qualifier such as alpha, beta, etc... # if non empty, add a '_' at the end of the qualifier, so the version would look like 1.2.3.alpha_200901011200 # NB: be careful with naming, OSGi orders version alphabetically. Suggested values: alpha_, beta_, cr1_ (for RC-1), final_ -target.ivy.bundle.version.qualifier=final_ +target.ivy.bundle.version.qualifier=alpha_ # Versions of dependencies
svn commit: r1905065 - in /ant/site/ivy: ./ production/ production/history/ production/history/2.5.1/ production/history/2.5.1/configuration/ production/history/2.5.1/configuration/caches/ production/
Author: bodewig Date: Fri Nov 4 10:43:27 2022 New Revision: 1905065 URL: http://svn.apache.org/viewvc?rev=1905065=rev Log: Ivy 2.5.1 released [This commit notification would consist of 90 parts, which exceeds the limit of 50 ones, so it was shortened to the summary.]
[ant-ivy] annotated tag rel/2.5.1 created (now 51263dba)
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a change to annotated tag rel/2.5.1 in repository https://gitbox.apache.org/repos/asf/ant-ivy.git at 51263dba (tag) tagging 9c4802b70c430019c083e39a8200f239bb7f8929 (commit) replaces rel/2.5.0 by Stefan Bodewig on Fri Nov 4 11:30:46 2022 +0100 - Log - Apache Ivy 2.5.1 -BEGIN PGP SIGNATURE- iHEEABECADEWIQTOgHWiUVR77iSbwVGiEVrhX2uLcgUCY2Tp1hMcYm9kZXdpZ0Bh cGFjaGUub3JnAAoJEKIRWuFfa4tyPj4An312u6y2cUfEjVWz/LFxROpPIOGNAKDA 8hq5DvE8Hu+x+k5yFp9Xazj+0g== =CXjS -END PGP SIGNATURE- --- No new revisions were added by this update.
[ant-ivy] 03/03: update release notes with CVE information
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ant-ivy.git commit 9c4802b70c430019c083e39a8200f239bb7f8929 Author: Stefan Bodewig AuthorDate: Tue Nov 1 12:31:33 2022 +0100 update release notes with CVE information --- asciidoc/release-notes.adoc | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/asciidoc/release-notes.adoc b/asciidoc/release-notes.adoc index c59c5135..08fc2b79 100644 --- a/asciidoc/release-notes.adoc +++ b/asciidoc/release-notes.adoc @@ -19,7 +19,7 @@ = Ivy Release Announcement - Date - The Apache Ivy project is pleased to announce its 2.5.1 release. +4th November 2022 - The Apache Ivy project is pleased to announce its 2.5.1 release. == What is Ivy? Apache Ivy is a tool for managing (recording, tracking, resolving and reporting) project dependencies, characterized by flexibility, @@ -37,6 +37,7 @@ More information about the project can be found on the website link:https://ant. Key features of this 2.5.1 release are: * Ivy now requires a minimum of Java 8 runtime. +* Fixes two Security Vulnerabilities, see link:https://ant.apache.org/ivy/security.html[the scurity page] for details. == List of Changes in this Release @@ -53,6 +54,8 @@ For details about the following changes, check our JIRA install at link:https:// - FIX: ivy:retrieve Ant task relied on the default HTTP header "Accept" which caused problems with servers that interpret it strictly (e.g. AWS CodeArtifact) (jira:IVY-1632[]) - IMPROVEMENT: Ivy command now accepts a URL for the -settings option (jira:IVY-1615[]) +- FIX: CVE-2022-37865 allow create/overwrite any file on the system (see link:https://ant.apache.org/ivy/security.html[]) +- FIX: CVE-2022-37866 Path traversal in patterns (see link:https://ant.apache.org/ivy/security.html[])
[ant-ivy] branch master updated (9d7b5e13 -> 9c4802b7)
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/ant-ivy.git from 9d7b5e13 ignore failing test new 03b6b8c3 CVE-2022-37865 ZipPacking allows overwriting arbitrary files new 3f374602 CVE-2022-37866 prevent path-traversal with bogus module coordinates new 9c4802b7 update release notes with CVE information The 3 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: asciidoc/release-notes.adoc| 5 +- src/java/org/apache/ivy/core/IvyPatternHelper.java | 72 +++--- .../core/cache/DefaultRepositoryCacheManager.java | 25 - .../core/cache/DefaultResolutionCacheManager.java | 12 +++ src/java/org/apache/ivy/core/pack/ZipPacking.java | 11 ++- .../org/apache/ivy/core/resolve/ResolveEngine.java | 4 + .../apache/ivy/core/retrieve/RetrieveEngine.java | 15 ++- .../ivy/plugins/report/XmlReportOutputter.java | 4 + .../plugins/repository/file/FileRepository.java| 12 ++- src/java/org/apache/ivy/util/FileUtil.java | 62 + test/java/org/apache/ivy/ant/FileUtilTest.java | 72 ++ .../cache/DefaultRepositoryCacheManagerTest.java | 58 .../cache/DefaultResolutionCacheManagerTest.java | 64 + .../org/apache/ivy/core/pack/ZipPackingTest.java | 72 ++ .../apache/ivy/core/resolve/ResolveEngineTest.java | 35 +++ .../org/apache/ivy/core/retrieve/RetrieveTest.java | 103 + .../repository/file/FileRepositoryTest.java| 85 + .../org/apache/ivy/util/IvyPatternHelperTest.java | 91 ++ test/zip/test.zip | Bin 0 -> 554 bytes 19 files changed, 778 insertions(+), 24 deletions(-) create mode 100644 test/java/org/apache/ivy/core/cache/DefaultResolutionCacheManagerTest.java create mode 100644 test/java/org/apache/ivy/core/pack/ZipPackingTest.java create mode 100644 test/java/org/apache/ivy/plugins/repository/file/FileRepositoryTest.java create mode 100644 test/zip/test.zip
[ant-ivy] 01/03: CVE-2022-37865 ZipPacking allows overwriting arbitrary files
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ant-ivy.git commit 03b6b8c3ae27406fadb3b3539b51294af246aafa Author: Stefan Bodewig AuthorDate: Sun Aug 7 21:01:12 2022 +0200 CVE-2022-37865 ZipPacking allows overwriting arbitrary files --- src/java/org/apache/ivy/core/pack/ZipPacking.java | 11 +++- src/java/org/apache/ivy/util/FileUtil.java | 62 ++ test/java/org/apache/ivy/ant/FileUtilTest.java | 72 + .../org/apache/ivy/core/pack/ZipPackingTest.java | 72 + test/zip/test.zip | Bin 0 -> 554 bytes 5 files changed, 215 insertions(+), 2 deletions(-) diff --git a/src/java/org/apache/ivy/core/pack/ZipPacking.java b/src/java/org/apache/ivy/core/pack/ZipPacking.java index 18a010ec..197463c4 100644 --- a/src/java/org/apache/ivy/core/pack/ZipPacking.java +++ b/src/java/org/apache/ivy/core/pack/ZipPacking.java @@ -52,8 +52,15 @@ public class ZipPacking extends ArchivePacking { try (ZipInputStream zip = new ZipInputStream(packed)) { ZipEntry entry = null; while (((entry = zip.getNextEntry()) != null)) { -File f = new File(dest, entry.getName()); -Message.verbose("\t\texpanding " + entry.getName() + " to " + f); +String entryName = entry.getName(); +File f = FileUtil.resolveFile(dest, entryName); +if (!FileUtil.isLeadingPath(dest, f, true)) { +Message.verbose("\t\tskipping " + entryName + " as its target " ++ f.getCanonicalPath() ++ " is outside of " + dest.getCanonicalPath() + "."); +continue; +} +Message.verbose("\t\texpanding " + entryName + " to " + f); // create intermediary directories - sometimes zip don't add them File dirF = f.getParentFile(); diff --git a/src/java/org/apache/ivy/util/FileUtil.java b/src/java/org/apache/ivy/util/FileUtil.java index e5e31d5a..4d387412 100644 --- a/src/java/org/apache/ivy/util/FileUtil.java +++ b/src/java/org/apache/ivy/util/FileUtil.java @@ -610,6 +610,68 @@ public final class FileUtil { return new DissectedPath(File.separator, pathToDissect); } +/** + * Learn whether one path "leads" another. + * + * This method uses {@link #normalize} under the covers and + * does not resolve symbolic links. + * + * If either path tries to go beyond the file system root + * (i.e. it contains more ".." segments than can be travelled up) + * the method will return false. + * + * @param leading The leading path, must not be null, must be absolute. + * @param path The path to check, must not be null, must be absolute. + * @return true if path starts with leading; false otherwise. + * @since Ant 1.7 + */ +public static boolean isLeadingPath(File leading, File path) { +String l = normalize(leading.getAbsolutePath()).getAbsolutePath(); +String p = normalize(path.getAbsolutePath()).getAbsolutePath(); +if (l.equals(p)) { +return true; +} +// ensure that l ends with a / +// so we never think /foo was a parent directory of /foobar +if (!l.endsWith(File.separator)) { +l += File.separator; +} +// ensure "/foo/" is not considered a parent of "/foo/../../bar" +String up = File.separator + ".." + File.separator; +if (l.contains(up) || p.contains(up) || (p + File.separator).contains(up)) { +return false; +} +return p.startsWith(l); +} + +/** + * Learn whether one path "leads" another. + * + * @param leading The leading path, must not be null, must be absolute. + * @param path The path to check, must not be null, must be absolute. + * @param resolveSymlinks whether symbolic links shall be resolved + * prior to comparing the paths. + * @return true if path starts with leading; false otherwise. + * @since Ant 1.9.13 + * @throws IOException if resolveSymlinks is true and invoking + * getCanonicaPath on either argument throws an exception + */ +public static boolean isLeadingPath(File leading, File path, boolean resolveSymlinks) +throws IOException { +if (!resolveSymlinks) { +return isLeadingPath(leading, path); +} +final File l = leading.getCanonicalFile(); +File p = path.getCanonicalFile(); +do { +if (l.equals(p)) { +return true; +} +p = p.getParentFile()
[ant-ivy] 02/03: CVE-2022-37866 prevent path-traversal with bogus module coordinates
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ant-ivy.git commit 3f374602d4d63691398951b9af692960d019f4d9 Author: Stefan Bodewig AuthorDate: Sun Aug 21 18:54:43 2022 +0200 CVE-2022-37866 prevent path-traversal with bogus module coordinates --- src/java/org/apache/ivy/core/IvyPatternHelper.java | 72 +++--- .../core/cache/DefaultRepositoryCacheManager.java | 25 - .../core/cache/DefaultResolutionCacheManager.java | 12 +++ .../org/apache/ivy/core/resolve/ResolveEngine.java | 4 + .../apache/ivy/core/retrieve/RetrieveEngine.java | 15 ++- .../ivy/plugins/report/XmlReportOutputter.java | 4 + .../plugins/repository/file/FileRepository.java| 12 ++- .../cache/DefaultRepositoryCacheManagerTest.java | 58 .../cache/DefaultResolutionCacheManagerTest.java | 64 + .../apache/ivy/core/resolve/ResolveEngineTest.java | 35 +++ .../org/apache/ivy/core/retrieve/RetrieveTest.java | 103 + .../repository/file/FileRepositoryTest.java| 85 + .../org/apache/ivy/util/IvyPatternHelperTest.java | 91 ++ 13 files changed, 559 insertions(+), 21 deletions(-) diff --git a/src/java/org/apache/ivy/core/IvyPatternHelper.java b/src/java/org/apache/ivy/core/IvyPatternHelper.java index 3dacb7d5..3614ac78 100644 --- a/src/java/org/apache/ivy/core/IvyPatternHelper.java +++ b/src/java/org/apache/ivy/core/IvyPatternHelper.java @@ -22,6 +22,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Stack; +import java.util.StringTokenizer; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -135,7 +136,7 @@ public final class IvyPatternHelper { if (token.indexOf(':') > 0) { token = token.substring(token.indexOf(':') + 1); } -tokens.put(token, entry.getValue()); +tokens.put(token, new Validated(token, entry.getValue())); } } if (extraArtifactAttributes != null) { @@ -144,19 +145,19 @@ public final class IvyPatternHelper { if (token.indexOf(':') > 0) { token = token.substring(token.indexOf(':') + 1); } -tokens.put(token, entry.getValue()); +tokens.put(token, new Validated(token, entry.getValue())); } } -tokens.put(ORGANISATION_KEY, org == null ? "" : org); -tokens.put(ORGANISATION_KEY2, org == null ? "" : org); +tokens.put(ORGANISATION_KEY, org == null ? "" : new Validated(ORGANISATION_KEY, org)); +tokens.put(ORGANISATION_KEY2, org == null ? "" : new Validated(ORGANISATION_KEY2, org)); tokens.put(ORGANISATION_PATH_KEY, org == null ? "" : org.replace('.', '/')); -tokens.put(MODULE_KEY, module == null ? "" : module); -tokens.put(BRANCH_KEY, branch == null ? "" : branch); -tokens.put(REVISION_KEY, revision == null ? "" : revision); -tokens.put(ARTIFACT_KEY, artifact == null ? module : artifact); -tokens.put(TYPE_KEY, type == null ? "jar" : type); -tokens.put(EXT_KEY, ext == null ? "jar" : ext); -tokens.put(CONF_KEY, conf == null ? "default" : conf); +tokens.put(MODULE_KEY, module == null ? "" : new Validated(MODULE_KEY, module)); +tokens.put(BRANCH_KEY, branch == null ? "" : new Validated(BRANCH_KEY, branch)); +tokens.put(REVISION_KEY, revision == null ? "" : new Validated(REVISION_KEY, revision)); +tokens.put(ARTIFACT_KEY, new Validated(ARTIFACT_KEY, artifact == null ? module : artifact)); +tokens.put(TYPE_KEY, type == null ? "jar" : new Validated(TYPE_KEY, type)); +tokens.put(EXT_KEY, ext == null ? "jar" : new Validated(EXT_KEY, ext)); +tokens.put(CONF_KEY, conf == null ? "default" : new Validated(CONF_KEY, conf)); if (origin == null) { tokens.put(ORIGINAL_ARTIFACTNAME_KEY, new OriginalArtifactNameValue(org, module, branch, revision, artifact, type, ext, extraModuleAttributes, @@ -328,7 +329,9 @@ public final class IvyPatternHelper { + pattern); } -return buffer.toString(); +String afterTokenSubstitution = buffer.toString(); +checkAgainstPathTraversal(pattern, afterTokenSubstitution); +return afterTokenSubstitution; } public static String substituteVariable(String pattern, String variable, String value) { @@ -518,4 +521,49 @@ public final class IvyPatternHelper { } return pattern.substring(startIndex + 1, endIndex); } + +/** +
svn commit: r57792 - /dev/ant/ivy/ /release/ant/ivy/2.5.1/
Author: bodewig Date: Fri Nov 4 10:28:49 2022 New Revision: 57792 Log: Apache Ivy 2.5.1 Released Added: release/ant/ivy/2.5.1/ release/ant/ivy/2.5.1/apache-ivy-2.5.1-bin-with-deps.tar.gz - copied unchanged from r57791, dev/ant/ivy/apache-ivy-2.5.1-bin-with-deps.tar.gz release/ant/ivy/2.5.1/apache-ivy-2.5.1-bin-with-deps.tar.gz.asc - copied unchanged from r57791, dev/ant/ivy/apache-ivy-2.5.1-bin-with-deps.tar.gz.asc release/ant/ivy/2.5.1/apache-ivy-2.5.1-bin-with-deps.tar.gz.sha512 - copied unchanged from r57791, dev/ant/ivy/apache-ivy-2.5.1-bin-with-deps.tar.gz.sha512 release/ant/ivy/2.5.1/apache-ivy-2.5.1-bin-with-deps.zip - copied unchanged from r57791, dev/ant/ivy/apache-ivy-2.5.1-bin-with-deps.zip release/ant/ivy/2.5.1/apache-ivy-2.5.1-bin-with-deps.zip.asc - copied unchanged from r57791, dev/ant/ivy/apache-ivy-2.5.1-bin-with-deps.zip.asc release/ant/ivy/2.5.1/apache-ivy-2.5.1-bin-with-deps.zip.sha512 - copied unchanged from r57791, dev/ant/ivy/apache-ivy-2.5.1-bin-with-deps.zip.sha512 release/ant/ivy/2.5.1/apache-ivy-2.5.1-bin.tar.gz - copied unchanged from r57791, dev/ant/ivy/apache-ivy-2.5.1-bin.tar.gz release/ant/ivy/2.5.1/apache-ivy-2.5.1-bin.tar.gz.asc - copied unchanged from r57791, dev/ant/ivy/apache-ivy-2.5.1-bin.tar.gz.asc release/ant/ivy/2.5.1/apache-ivy-2.5.1-bin.tar.gz.sha512 - copied unchanged from r57791, dev/ant/ivy/apache-ivy-2.5.1-bin.tar.gz.sha512 release/ant/ivy/2.5.1/apache-ivy-2.5.1-bin.zip - copied unchanged from r57791, dev/ant/ivy/apache-ivy-2.5.1-bin.zip release/ant/ivy/2.5.1/apache-ivy-2.5.1-bin.zip.asc - copied unchanged from r57791, dev/ant/ivy/apache-ivy-2.5.1-bin.zip.asc release/ant/ivy/2.5.1/apache-ivy-2.5.1-bin.zip.sha512 - copied unchanged from r57791, dev/ant/ivy/apache-ivy-2.5.1-bin.zip.sha512 release/ant/ivy/2.5.1/apache-ivy-2.5.1-src.tar.gz - copied unchanged from r57791, dev/ant/ivy/apache-ivy-2.5.1-src.tar.gz release/ant/ivy/2.5.1/apache-ivy-2.5.1-src.tar.gz.asc - copied unchanged from r57791, dev/ant/ivy/apache-ivy-2.5.1-src.tar.gz.asc release/ant/ivy/2.5.1/apache-ivy-2.5.1-src.tar.gz.sha512 - copied unchanged from r57791, dev/ant/ivy/apache-ivy-2.5.1-src.tar.gz.sha512 release/ant/ivy/2.5.1/apache-ivy-2.5.1-src.zip - copied unchanged from r57791, dev/ant/ivy/apache-ivy-2.5.1-src.zip release/ant/ivy/2.5.1/apache-ivy-2.5.1-src.zip.asc - copied unchanged from r57791, dev/ant/ivy/apache-ivy-2.5.1-src.zip.asc release/ant/ivy/2.5.1/apache-ivy-2.5.1-src.zip.sha512 - copied unchanged from r57791, dev/ant/ivy/apache-ivy-2.5.1-src.zip.sha512 Removed: dev/ant/ivy/apache-ivy-2.5.1-bin-with-deps.tar.gz dev/ant/ivy/apache-ivy-2.5.1-bin-with-deps.tar.gz.asc dev/ant/ivy/apache-ivy-2.5.1-bin-with-deps.tar.gz.sha512 dev/ant/ivy/apache-ivy-2.5.1-bin-with-deps.zip dev/ant/ivy/apache-ivy-2.5.1-bin-with-deps.zip.asc dev/ant/ivy/apache-ivy-2.5.1-bin-with-deps.zip.sha512 dev/ant/ivy/apache-ivy-2.5.1-bin.tar.gz dev/ant/ivy/apache-ivy-2.5.1-bin.tar.gz.asc dev/ant/ivy/apache-ivy-2.5.1-bin.tar.gz.sha512 dev/ant/ivy/apache-ivy-2.5.1-bin.zip dev/ant/ivy/apache-ivy-2.5.1-bin.zip.asc dev/ant/ivy/apache-ivy-2.5.1-bin.zip.sha512 dev/ant/ivy/apache-ivy-2.5.1-src.tar.gz dev/ant/ivy/apache-ivy-2.5.1-src.tar.gz.asc dev/ant/ivy/apache-ivy-2.5.1-src.tar.gz.sha512 dev/ant/ivy/apache-ivy-2.5.1-src.zip dev/ant/ivy/apache-ivy-2.5.1-src.zip.asc dev/ant/ivy/apache-ivy-2.5.1-src.zip.sha512
svn commit: r57703 - /dev/ant/ivy/
Author: bodewig Date: Tue Nov 1 09:44:15 2022 New Revision: 57703 Log: RC1 for Ivy 2.5.1 Added: dev/ant/ivy/apache-ivy-2.5.1-bin-with-deps.tar.gz (with props) dev/ant/ivy/apache-ivy-2.5.1-bin-with-deps.tar.gz.asc dev/ant/ivy/apache-ivy-2.5.1-bin-with-deps.tar.gz.sha512 dev/ant/ivy/apache-ivy-2.5.1-bin-with-deps.zip (with props) dev/ant/ivy/apache-ivy-2.5.1-bin-with-deps.zip.asc dev/ant/ivy/apache-ivy-2.5.1-bin-with-deps.zip.sha512 dev/ant/ivy/apache-ivy-2.5.1-bin.tar.gz (with props) dev/ant/ivy/apache-ivy-2.5.1-bin.tar.gz.asc dev/ant/ivy/apache-ivy-2.5.1-bin.tar.gz.sha512 dev/ant/ivy/apache-ivy-2.5.1-bin.zip (with props) dev/ant/ivy/apache-ivy-2.5.1-bin.zip.asc dev/ant/ivy/apache-ivy-2.5.1-bin.zip.sha512 dev/ant/ivy/apache-ivy-2.5.1-src.tar.gz (with props) dev/ant/ivy/apache-ivy-2.5.1-src.tar.gz.asc dev/ant/ivy/apache-ivy-2.5.1-src.tar.gz.sha512 dev/ant/ivy/apache-ivy-2.5.1-src.zip (with props) dev/ant/ivy/apache-ivy-2.5.1-src.zip.asc dev/ant/ivy/apache-ivy-2.5.1-src.zip.sha512 Added: dev/ant/ivy/apache-ivy-2.5.1-bin-with-deps.tar.gz == Binary file - no diff available. Propchange: dev/ant/ivy/apache-ivy-2.5.1-bin-with-deps.tar.gz -- svn:mime-type = application/octet-stream Added: dev/ant/ivy/apache-ivy-2.5.1-bin-with-deps.tar.gz.asc == --- dev/ant/ivy/apache-ivy-2.5.1-bin-with-deps.tar.gz.asc (added) +++ dev/ant/ivy/apache-ivy-2.5.1-bin-with-deps.tar.gz.asc Tue Nov 1 09:44:15 2022 @@ -0,0 +1,7 @@ +-BEGIN PGP SIGNATURE- + +iHEEABECADEWIQTOgHWiUVR77iSbwVGiEVrhX2uLcgUCY2DpnhMcYm9kZXdpZ0Bh +cGFjaGUub3JnAAoJEKIRWuFfa4tyJrwAoMAeGadu6qZ5ktzwDFGflOpFV6OCAKDM +tfXToiO4QIcfUmFNSA7/GEz+mA== +=eoFy +-END PGP SIGNATURE- Added: dev/ant/ivy/apache-ivy-2.5.1-bin-with-deps.tar.gz.sha512 == --- dev/ant/ivy/apache-ivy-2.5.1-bin-with-deps.tar.gz.sha512 (added) +++ dev/ant/ivy/apache-ivy-2.5.1-bin-with-deps.tar.gz.sha512 Tue Nov 1 09:44:15 2022 @@ -0,0 +1 @@ +94f43bc3c1bd1c75ddb4dcec7640d5c56d8c3fb5194883e0df1b3c5d6c7c43b67c633553f9c3a206b338840141b29a32a45a56ffcb206811d24f5e4ac2d4966a Added: dev/ant/ivy/apache-ivy-2.5.1-bin-with-deps.zip == Binary file - no diff available. Propchange: dev/ant/ivy/apache-ivy-2.5.1-bin-with-deps.zip -- svn:mime-type = application/octet-stream Added: dev/ant/ivy/apache-ivy-2.5.1-bin-with-deps.zip.asc == --- dev/ant/ivy/apache-ivy-2.5.1-bin-with-deps.zip.asc (added) +++ dev/ant/ivy/apache-ivy-2.5.1-bin-with-deps.zip.asc Tue Nov 1 09:44:15 2022 @@ -0,0 +1,7 @@ +-BEGIN PGP SIGNATURE- + +iHEEABECADEWIQTOgHWiUVR77iSbwVGiEVrhX2uLcgUCY2DpnxMcYm9kZXdpZ0Bh +cGFjaGUub3JnAAoJEKIRWuFfa4tyWf4AoLJSl7DPcg+HDayiAd7A1TukcKegAKCf +/GE/9J7ZdjiYQ4E0ra/54Ld+tg== +=9/RE +-END PGP SIGNATURE- Added: dev/ant/ivy/apache-ivy-2.5.1-bin-with-deps.zip.sha512 == --- dev/ant/ivy/apache-ivy-2.5.1-bin-with-deps.zip.sha512 (added) +++ dev/ant/ivy/apache-ivy-2.5.1-bin-with-deps.zip.sha512 Tue Nov 1 09:44:15 2022 @@ -0,0 +1 @@ +c1da5ac982c21362efc793cd3a48e648b8484c39802bedf9d3413c519a7807da095a4e2bc067069bf33d5c455f12159c64e741773251019f1a12e4d5af084602 Added: dev/ant/ivy/apache-ivy-2.5.1-bin.tar.gz == Binary file - no diff available. Propchange: dev/ant/ivy/apache-ivy-2.5.1-bin.tar.gz -- svn:mime-type = application/octet-stream Added: dev/ant/ivy/apache-ivy-2.5.1-bin.tar.gz.asc == --- dev/ant/ivy/apache-ivy-2.5.1-bin.tar.gz.asc (added) +++ dev/ant/ivy/apache-ivy-2.5.1-bin.tar.gz.asc Tue Nov 1 09:44:15 2022 @@ -0,0 +1,7 @@ +-BEGIN PGP SIGNATURE- + +iHEEABECADEWIQTOgHWiUVR77iSbwVGiEVrhX2uLcgUCY2DpnhMcYm9kZXdpZ0Bh +cGFjaGUub3JnAAoJEKIRWuFfa4tyd/MAniLZVWHx9FbxMvIZ5CSmhUFGiwOBAJ0a +38UCucmuUpN7wPpu/keFAcv1bA== +=kCUO +-END PGP SIGNATURE- Added: dev/ant/ivy/apache-ivy-2.5.1-bin.tar.gz.sha512 == --- dev/ant/ivy/apache-ivy-2.5.1-bin.tar.gz.sha512 (added) +++ dev/ant/ivy/apache-ivy-2.5.1-bin.tar.gz.sha512 Tue Nov 1 09:44:15 2022 @@ -0,0 +1 @@ +523ecce17052bc6330ae032de470f71b2d4c178b8e160c6fa4bb79bd0a03438dc3d3e5d9332c6629a1eb513a567d922e5cccb6cb832b0399bd40c7a00e9cf078 Added
svn commit: r57701 - /dev/ant/ivy/2.5.0-site-docs/
Author: bodewig Date: Tue Nov 1 09:30:42 2022 New Revision: 57701 Log: remove old dist stuff Removed: dev/ant/ivy/2.5.0-site-docs/
[ant-ivy] 01/02: need newer version of RAT for https license URIs
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ant-ivy.git commit 55179bb0b6523173e7d215ea8ff4f0d7afa082b6 Author: Stefan Bodewig AuthorDate: Tue Nov 1 10:13:15 2022 +0100 need newer version of RAT for https license URIs --- build-release.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-release.xml b/build-release.xml index 656a10e1..e84fda58 100644 --- a/build-release.xml +++ b/build-release.xml @@ -480,7 +480,7 @@ -
[ant-ivy] 02/02: ignore failing test
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ant-ivy.git commit 9d7b5e133fbd04cc043770f9686cac2d2f6d7e72 Author: Stefan Bodewig AuthorDate: Tue Nov 1 10:13:33 2022 +0100 ignore failing test --- test/java/org/apache/ivy/osgi/updatesite/UpdateSiteLoaderTest.java | 1 + 1 file changed, 1 insertion(+) diff --git a/test/java/org/apache/ivy/osgi/updatesite/UpdateSiteLoaderTest.java b/test/java/org/apache/ivy/osgi/updatesite/UpdateSiteLoaderTest.java index 81754e87..e13cb370 100644 --- a/test/java/org/apache/ivy/osgi/updatesite/UpdateSiteLoaderTest.java +++ b/test/java/org/apache/ivy/osgi/updatesite/UpdateSiteLoaderTest.java @@ -73,6 +73,7 @@ public class UpdateSiteLoaderTest { } } +@Ignore // download site seems to have changed @Test public void testM2Eclipse() throws IOException, ParseException, SAXException, URISyntaxException {
[ant-ivy] branch master updated (ff6adbeb -> 9d7b5e13)
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/ant-ivy.git from ff6adbeb prepare Ivy 2.5.1 new 55179bb0 need newer version of RAT for https license URIs new 9d7b5e13 ignore failing test The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: build-release.xml | 2 +- test/java/org/apache/ivy/osgi/updatesite/UpdateSiteLoaderTest.java | 1 + 2 files changed, 2 insertions(+), 1 deletion(-)
[ant-ivy] branch master updated: prepare Ivy 2.5.1
This is an automated email from the ASF dual-hosted git repository. bodewig pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ant-ivy.git The following commit(s) were added to refs/heads/master by this push: new ff6adbeb prepare Ivy 2.5.1 ff6adbeb is described below commit ff6adbeb00ddd52a48eb33c658f7beebcf4c4056 Author: Stefan Bodewig AuthorDate: Tue Nov 1 09:56:06 2022 +0100 prepare Ivy 2.5.1 --- asciidoc/release-notes.adoc | 7 +++ ivy.xml | 2 +- version.properties | 6 +++--- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/asciidoc/release-notes.adoc b/asciidoc/release-notes.adoc index 61b02f90..c59c5135 100644 --- a/asciidoc/release-notes.adoc +++ b/asciidoc/release-notes.adoc @@ -19,7 +19,7 @@ = Ivy Release Announcement - Date - The Apache Ivy project is pleased to announce its 2.6.0 release. + Date - The Apache Ivy project is pleased to announce its 2.5.1 release. == What is Ivy? Apache Ivy is a tool for managing (recording, tracking, resolving and reporting) project dependencies, characterized by flexibility, @@ -34,7 +34,7 @@ More information about the project can be found on the website link:https://ant. == Key features in this release -Key features of this 2.6.0 release are: +Key features of this 2.5.1 release are: * Ivy now requires a minimum of Java 8 runtime. @@ -54,8 +54,6 @@ For details about the following changes, check our JIRA install at link:https:// - IMPROVEMENT: Ivy command now accepts a URL for the -settings option (jira:IVY-1615[]) -- NEW: - Samples : @@ -82,6 +80,7 @@ Here is the list of people who have contributed source code and documentation up * Jaikiran Pai * Jon Schneider * Gilles Scokart +* Stefan Bodewig *Contributors:* diff --git a/ivy.xml b/ivy.xml index c3dac27e..47a21578 100644 --- a/ivy.xml +++ b/ivy.xml @@ -21,7 +21,7 @@ xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd;> + status="release"> http://ant.apache.org/ivy/;> Apache Ivy is a tool for managing (recording, tracking, resolving and reporting) project dependencies. diff --git a/version.properties b/version.properties index 02c77158..2c8809a1 100644 --- a/version.properties +++ b/version.properties @@ -16,13 +16,13 @@ # * specific language governing permissions and limitations # * under the License. # *** -target.ivy.version=2.6.0 +target.ivy.version=2.5.1 # Following OSGi spec: have to be 3 numbers separated by dots -target.ivy.bundle.version=2.6.0 +target.ivy.bundle.version=2.5.1 # in case we want to add a qualifier such as alpha, beta, etc... # if non empty, add a '_' at the end of the qualifier, so the version would look like 1.2.3.alpha_200901011200 # NB: be careful with naming, OSGi orders version alphabetically. Suggested values: alpha_, beta_, cr1_ (for RC-1), final_ -target.ivy.bundle.version.qualifier=alpha_ +target.ivy.bundle.version.qualifier=final_ # Versions of dependencies
[jira] [Updated] (IVY-1632) Ivy can't access AWS CodeArtifact Repository
[ https://issues.apache.org/jira/browse/IVY-1632?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Stefan Bodewig updated IVY-1632: Fix Version/s: 2.5.1 > Ivy can't access AWS CodeArtifact Repository > > > Key: IVY-1632 > URL: https://issues.apache.org/jira/browse/IVY-1632 > Project: Ivy > Issue Type: Bug > Components: Core >Affects Versions: 2.4.0, 2.5.0 >Reporter: Berno Langer >Priority: Major > Fix For: 2.5.1 > > Time Spent: 40m > Remaining Estimate: 0h > > Ivy can't access (Maven) CodeArtifact Repositories at AWS. The Server answers > with HTTP 400 Bad Request. > After debugging and looking into the sources, I found that Ivy sends an > invalid "Accept" header. This seems to be related to > [https://bugs.openjdk.java.net/browse/JDK-8163921] > Changing the class org.apache.ivy.util.url.BasicUrlHandler, so that it sets > an Accept header after opening a connection, like this ... > > {noformat} > 95 con = normalizedURL.openConnection(); > 96 con.setRequestProperty("Accept", "*/*"); // <-- added > {noformat} > ... Ivy can access CodeArtifact Repositories perfectly. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Resolved] (IVY-1632) Ivy can't access AWS CodeArtifact Repository
[ https://issues.apache.org/jira/browse/IVY-1632?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Stefan Bodewig resolved IVY-1632. - Resolution: Fixed > Ivy can't access AWS CodeArtifact Repository > > > Key: IVY-1632 > URL: https://issues.apache.org/jira/browse/IVY-1632 > Project: Ivy > Issue Type: Bug > Components: Core >Affects Versions: 2.4.0, 2.5.0 >Reporter: Berno Langer >Priority: Major > Fix For: 2.5.1 > > Time Spent: 40m > Remaining Estimate: 0h > > Ivy can't access (Maven) CodeArtifact Repositories at AWS. The Server answers > with HTTP 400 Bad Request. > After debugging and looking into the sources, I found that Ivy sends an > invalid "Accept" header. This seems to be related to > [https://bugs.openjdk.java.net/browse/JDK-8163921] > Changing the class org.apache.ivy.util.url.BasicUrlHandler, so that it sets > an Accept header after opening a connection, like this ... > > {noformat} > 95 con = normalizedURL.openConnection(); > 96 con.setRequestProperty("Accept", "*/*"); // <-- added > {noformat} > ... Ivy can access CodeArtifact Repositories perfectly. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (IVY-1626) Investigate impact of Bintray/JCenter shutdown
[ https://issues.apache.org/jira/browse/IVY-1626?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Stefan Bodewig updated IVY-1626: Fix Version/s: 2.5.1 (was: master) > Investigate impact of Bintray/JCenter shutdown > -- > > Key: IVY-1626 > URL: https://issues.apache.org/jira/browse/IVY-1626 > Project: Ivy > Issue Type: Task >Reporter: Aurélien Pupier >Assignee: Jaikiran Pai >Priority: Major > Fix For: 2.5.1 > > > on 1st May 2021, the Bintray/Jcenter service will be shutdown. Ivy is > providing bintray resolver. I think it is set by default (o maybe it is Grape > that is setting by default?) > https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/ > Which changes in codebase are required? > Which changes in user config can be done to avoid issues if cannot upgrade to > latest version easily? -- This message was sent by Atlassian Jira (v8.20.10#820010)