svn commit: r1915219 - /ant/site/ivy/production/history/2.5.2/release-notes.html

2024-01-13 Thread bodewig
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

2023-12-19 Thread bodewig
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

2023-11-26 Thread bodewig
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/

2023-11-26 Thread bodewig
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

2023-11-26 Thread bodewig
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

2023-11-26 Thread bodewig
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

2023-11-26 Thread bodewig
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-

2023-11-26 Thread bodewig
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

2023-11-26 Thread bodewig
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/

2023-11-19 Thread bodewig
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

2023-11-19 Thread bodewig
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

2023-11-19 Thread bodewig
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

2023-11-16 Thread bodewig
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)

2023-11-16 Thread bodewig
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

2023-09-15 Thread Stefan Bodewig (Jira)


 [ 
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

2023-09-15 Thread bodewig
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

2023-09-15 Thread Stefan Bodewig (Jira)
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

2023-09-15 Thread Stefan Bodewig (Jira)


 [ 
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

2023-09-15 Thread bodewig
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

2023-09-15 Thread Stefan Bodewig (Jira)
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/

2023-08-22 Thread bodewig
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)

2023-08-20 Thread bodewig
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

2023-08-20 Thread bodewig
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)

2023-08-20 Thread bodewig
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

2023-08-20 Thread bodewig
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

2023-08-20 Thread bodewig
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

2023-08-20 Thread bodewig
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/

2023-08-20 Thread bodewig
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

2023-08-17 Thread bodewig
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

2023-08-17 Thread bodewig
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/

2023-08-17 Thread bodewig
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/

2023-08-17 Thread bodewig
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

2023-08-17 Thread bodewig
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/

2023-08-16 Thread bodewig
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

2023-08-16 Thread bodewig
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

2023-06-21 Thread bodewig
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

2023-06-21 Thread Stefan Bodewig (Jira)


[ 
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)

2023-05-14 Thread bodewig
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

2023-05-14 Thread bodewig
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

2023-05-14 Thread bodewig
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)

2023-04-25 Thread bodewig
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

2023-04-25 Thread Stefan Bodewig (Jira)


 [ 
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

2023-04-25 Thread Stefan Bodewig (Jira)


 [ 
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

2023-04-25 Thread bodewig
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)

2023-04-25 Thread bodewig
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

2023-04-25 Thread bodewig
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

2023-04-14 Thread bodewig
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

2023-04-14 Thread bodewig
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)

2023-04-14 Thread bodewig
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

2023-04-14 Thread bodewig
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

2023-04-13 Thread bodewig
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)

2023-04-13 Thread bodewig
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

2023-04-13 Thread Stefan Bodewig (Jira)


[ 
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

2023-04-13 Thread Stefan Bodewig (Jira)


 [ 
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

2023-04-13 Thread Stefan Bodewig (Jira)


 [ 
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

2023-04-13 Thread Stefan Bodewig (Jira)
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

2023-04-03 Thread bodewig
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

2023-03-19 Thread bodewig
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

2023-03-18 Thread bodewig
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

2023-03-18 Thread bodewig
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

2023-03-17 Thread bodewig
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

2023-03-17 Thread Stefan Bodewig (Jira)


 [ 
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

2023-03-17 Thread Stefan Bodewig (Jira)


 [ 
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

2023-03-17 Thread Stefan Bodewig (Jira)
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

2023-03-04 Thread bodewig
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

2023-03-04 Thread bodewig
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

2023-03-02 Thread bodewig
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

2023-03-02 Thread bodewig
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

2023-03-02 Thread bodewig
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

2023-03-02 Thread bodewig
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)

2023-03-02 Thread bodewig
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

2022-12-21 Thread bodewig
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

2022-11-26 Thread bodewig
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

2022-11-26 Thread bodewig
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

2022-11-26 Thread bodewig
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

2022-11-19 Thread bodewig
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

2022-11-19 Thread bodewig
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

2022-11-07 Thread bodewig
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

2022-11-07 Thread bodewig
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)

2022-11-07 Thread bodewig
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

2022-11-05 Thread bodewig
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/

2022-11-05 Thread bodewig
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

2022-11-04 Thread bodewig
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

2022-11-04 Thread bodewig
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/

2022-11-04 Thread bodewig
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)

2022-11-04 Thread bodewig
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

2022-11-04 Thread bodewig
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)

2022-11-04 Thread bodewig
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

2022-11-04 Thread bodewig
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

2022-11-04 Thread bodewig
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/

2022-11-04 Thread bodewig
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/

2022-11-01 Thread bodewig
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/

2022-11-01 Thread bodewig
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

2022-11-01 Thread bodewig
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

2022-11-01 Thread bodewig
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)

2022-11-01 Thread bodewig
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

2022-11-01 Thread bodewig
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

2022-10-31 Thread Stefan Bodewig (Jira)


 [ 
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

2022-10-31 Thread Stefan Bodewig (Jira)


 [ 
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

2022-10-31 Thread Stefan Bodewig (Jira)


 [ 
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)


  1   2   3   4   5   6   7   8   9   10   >