Modify

Opened 5 months ago

Closed 5 months ago

#23666 closed defect (fixed)

commons-io dependency not included in ivy.xml

Reported by: sebastic Owned by: team
Priority: normal Milestone: 24.05
Component: Core Version: tested
Keywords: Cc:

Description

The josm Debian package failed to build for bookworm with libcommons-io-java 2.11.0 unlike in unstable with 2.16.1.

The sources are not included in the JAR because the dependency is not included in ivy.xml despite being required for OsmPbfReader.java, ValidatorCLI.java, and WMTSTileSourceTest.java.

This patch should fix that:

--- a/ivy.xml
+++ b/ivy.xml
@@ -27,6 +27,7 @@
         <dependency conf="api->default" org="jakarta.json" name="jakarta.json-api" rev="2.1.3"/>
         <!-- parsson is an implementation for jakarta.json -->
         <dependency conf="runtimeOnly->default" org="org.eclipse.parsson" name="parsson" rev="1.1.6"/>
+        <dependency conf="api->default" org="commons-io" name="commons-io" rev="2.16.1"/>
         <dependency conf="api->default" org="org.apache.commons" name="commons-jcs3-core" rev="3.2"/>
         <dependency conf="api->default" org="org.apache.commons" name="commons-compress" rev="1.26.1"/>
         <dependency conf="api->default" org="jakarta.annotation" name="jakarta.annotation-api" rev="2.1.1" />
@@ -45,6 +46,7 @@
         <dependency conf="sources->sources" org="org.glassfish" name="javax.json" rev="1.1.4"/>
         <dependency conf="sources->sources" org="jakarta.json" name="jakarta.json-api" rev="2.1.3"/>
         <dependency conf="sources->sources" org="org.eclipse.parsson" name="parsson" rev="1.1.6"/>
+        <dependency conf="sources->sources" org="commons-io" name="commons-io" rev="2.16.1"/>
         <dependency conf="sources->sources" org="org.apache.commons" name="commons-jcs3-core" rev="3.2"/>
         <dependency conf="sources->sources" org="org.apache.commons" name="commons-compress" rev="1.26.1"/>
         <dependency conf="sources->sources" org="jakarta.annotation" name="jakarta.annotation-api" rev="2.1.1" />

Attachments (0)

Change History (4)

comment:1 by taylor.smock, 5 months ago

I'm going to check and see why it is available as part of the current build. It is probably brought in as a transitive dependency or something. If so, the originating dependency might have a subclass I can use.

comment:3 by taylor.smock, 5 months ago

I noticed when I was looking into it. I'm more inclined to move away from using commons-io -- the primary reason why most of those classes are using commons-io is that commons-compress deprecated stuff in the last dependency update, and the recommended replacements were in commons-io. I'd rather not add an additional dependency to JOSM and the coding replacements for the used classes shouldn't be too difficult.

comment:4 by taylor.smock, 5 months ago

Resolution: fixed
Status: newclosed

In 19077/josm:

Fix #23666: commons-io dependency not included in ivy.xml

This removes all imports of org.apache.commons.io classes and replaces them with
similar functionality.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain team.
as The resolution will be set.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.