Index: /applications/editors/josm/plugins/apache-commons/.classpath
===================================================================
--- /applications/editors/josm/plugins/apache-commons/.classpath	(revision 35361)
+++ /applications/editors/josm/plugins/apache-commons/.classpath	(revision 35362)
@@ -4,19 +4,5 @@
 	<classpathentry combineaccessrules="false" kind="src" path="/JOSM"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
-	<classpathentry exported="true" kind="lib" path="lib/xz-1.6.jar" sourcepath="lib/xz-1.6-sources.jar">
-		<attributes>
-			<attribute name="javadoc_location" value="jar:platform:/resource/JOSM-apache-commons/lib/xz-1.6-javadoc.jar!/"/>
-		</attributes>
-	</classpathentry>
-	<classpathentry exported="true" kind="lib" path="lib/dec-0.1.2.jar" sourcepath="lib/dec-0.1.2-sources.jar">
-		<attributes>
-			<attribute name="javadoc_location" value="jar:platform:/resource/JOSM-apache-commons/lib/dec-0.1.2-javadoc.jar!/"/>
-		</attributes>
-	</classpathentry>
-	<classpathentry kind="lib" path="lib/zstd-jni-1.3.2-2.jar" sourcepath="lib/zstd-jni-1.3.2-2-sources.jar">
-		<attributes>
-			<attribute name="javadoc_location" value="jar:platform:/resource/JOSM-apache-commons/lib/zstd-jni-1.3.2-2-javadoc.jar!/"/>
-		</attributes>
-	</classpathentry>
+	<classpathentry exported="true" kind="con" path="org.apache.ivyde.eclipse.cpcontainer.IVYDE_CONTAINER/?project=JOSM-apache-commons&amp;ivyXmlPath=ivy.xml&amp;confs=*"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
Index: /applications/editors/josm/plugins/apache-commons/.project
===================================================================
--- /applications/editors/josm/plugins/apache-commons/.project	(revision 35361)
+++ /applications/editors/josm/plugins/apache-commons/.project	(revision 35362)
@@ -4,4 +4,5 @@
 	<comment></comment>
 	<projects>
+		<project>JOSM</project>
 	</projects>
 	<buildSpec>
@@ -25,4 +26,5 @@
 		<nature>org.eclipse.jdt.core.javanature</nature>
 		<nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+		<nature>org.apache.ivyde.eclipse.ivynature</nature>
 	</natures>
 </projectDescription>
Index: /applications/editors/josm/plugins/apache-commons/.settings/org.eclipse.core.resources.prefs
===================================================================
--- /applications/editors/josm/plugins/apache-commons/.settings/org.eclipse.core.resources.prefs	(revision 35361)
+++ /applications/editors/josm/plugins/apache-commons/.settings/org.eclipse.core.resources.prefs	(revision 35362)
@@ -1,3 +1,2 @@
 eclipse.preferences.version=1
-encoding//src/org/apache/commons/lang3=ISO-8859-1
 encoding/<project>=UTF-8
Index: /applications/editors/josm/plugins/apache-commons/build.xml
===================================================================
--- /applications/editors/josm/plugins/apache-commons/build.xml	(revision 35361)
+++ /applications/editors/josm/plugins/apache-commons/build.xml	(revision 35362)
@@ -1,4 +1,4 @@
 <?xml version="1.0" encoding="utf-8"?>
-<project name="apache-commons" default="dist" basedir=".">
+<project name="apache-commons" default="dist" basedir="." xmlns:ivy="antlib:org.apache.ivy.ant">
 
     <!-- enter the *lowest* JOSM version this plugin is currently compatible with -->
@@ -11,7 +11,5 @@
     <property name="plugin.class" value="org.openstreetmap.josm.plugins.commons.CommonsPlugin"/>
     <property name="plugin.description" value="Provides Apache Commons library components. Not meant to be installed directly by users, but rather as a dependency for other plugins."/>
-    
-	<property name="josm" location="../../core/dist/josm-custom.jar"/>
-	<property name="plugin.dist.dir" value="../../dist"/>
+
     <!--<property name="plugin.requires" value=""/>-->
     <property name="plugin.stage" value="10"/>
@@ -22,34 +20,9 @@
     <import file="../build-common.xml"/>
 
-    <!--
-    ***************************************************************
-    ** compile_lang3 - compiles Apache Commons Lang 3 (not UTF-8 !)
-    ***************************************************************
-    -->
-    <target name="compile_lang3" depends="init">
-        <echo message="compiling Apache Commons Lang 3 ... "/>
-        <javac srcdir="src" includes="org/apache/commons/lang3/**" debug="false" destdir="${plugin.build.dir}" includeAntRuntime="false" encoding="ISO-8859-1" />
+    <target name="resolve" description="--> retrieve dependencies with Ivy">
+        <ivy:retrieve/>
     </target>
 
-    <!--
-    **********************************************************
-    ** compile - compiles the source tree
-    **********************************************************
-    -->
-    <target name="compile" depends="compile_lang3">
-        <echo message="compiling sources for ${plugin.jar} ... "/>
-        <javac srcdir="src" debug="true" destdir="${plugin.build.dir}" includeAntRuntime="false" encoding="UTF-8">
-            <exclude name="**/org/apache/commons/lang3/**" />
-            <exclude name="**/org/apache/commons/collections4/bloomfilter/hasher/function/Murmur*.java" />
-            <classpath>
-                <pathelement path="${plugin.build.dir}"/>
-            	<path refid="plugin.classpath"/>
-            </classpath>
-        </javac>
-    </target>
-
-	<target name="pre-javadoc">
-        <delete><fileset dir="src" includes="**/org/apache/commons/collections4/bloomfilter/hasher/function/Murmur*.java"/></delete>
-    </target>
+    <target name="dist" depends="resolve,plugin_common.dist"/>
 
 </project>
Index: /applications/editors/josm/plugins/apache-commons/ivy.xml
===================================================================
--- /applications/editors/josm/plugins/apache-commons/ivy.xml	(revision 35362)
+++ /applications/editors/josm/plugins/apache-commons/ivy.xml	(revision 35362)
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- License: GPL. For details, see LICENSE file. -->
+<ivy-module version="2.0">
+    <info organisation="org.openstreetmap" module="josm"/>
+    <configurations>
+        <conf name="ivy" description="Apache Ivy configuration for self-update"/>
+        <!--  configuration that should be used when specifying dependencies -->
+        <conf name="implementation" description="All libs JOSM uses that plugins should not use"/>
+        <conf name="api" description="All libs that JOSM uses and are available for plugins"/>
+        <conf name="runtimeOnly" description="The libs shipped with JOSM that we do not need during compilation"/>
+        <conf name="provided" description="The libs we need during compilation but not on application start"/>
+        <!--  Meta configuration used in build scripts -->
+        <conf name="runtime" description="Libraries only needed at runtime" extends="implementation,api,runtimeOnly"/>
+        <conf name="compile" description="Libraries needed only for compilation" extends="implementation,api,provided"/>
+        <conf name="test" description="Libraries only needed for testing" extends="compile,runtime"/>
+    </configurations>
+    <dependencies>
+        <dependency org="com.github.luben" name="zstd-jni" rev="1.4.4-7" conf="api->default"/>
+        <dependency org="org.apache.commons" name="commons-collections4" rev="4.4" conf="api->default"/>
+        <dependency org="org.apache.commons" name="commons-compress" rev="1.20" conf="api->default"/>
+        <dependency org="org.apache.commons" name="commons-imaging" rev="1.0-alpha1" conf="api->default"/>
+        <!-- Apache Commons IO does not use the standard org name -->
+        <dependency org="commons-io" name="commons-io" rev="2.6" conf="api->default"/>
+        <dependency org="org.apache.commons" name="commons-lang3" rev="3.9" conf="api->default"/>
+        <dependency org="org.apache.commons" name="commons-math3" rev="3.6.1" conf="api->default"/>
+        <dependency org="org.apache.commons" name="commons-text" rev="1.8" conf="api->default"/>
+        <dependency org="org.brotli" name="dec" rev="0.1.2" conf="api->default"/>
+        <dependency org="org.tukaani" name="xz" rev="1.8" conf="api->default"/>
+    </dependencies>
+</ivy-module>
