Index: .classpath
===================================================================
--- .classpath	(revision 35359)
+++ .classpath	(working copy)
@@ -3,20 +3,6 @@
 	<classpathentry excluding="org/apache/commons/logging/impl/AvalonLogger.java|org/apache/commons/logging/impl/Jdk13LumberjackLogger.java|org/apache/commons/logging/impl/LogKitLogger.java|org/apache/commons/logging/impl/ServletContextCleaner.java|org/apache/commons/collections4/bloomfilter/hasher/function/Murmur128x86Cyclic.java|org/apache/commons/collections4/bloomfilter/hasher/function/Murmur32x86Iterative.java" kind="src" path="src"/>
 	<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: .project
===================================================================
--- .project	(revision 35359)
+++ .project	(working copy)
@@ -3,6 +3,7 @@
 	<name>JOSM-apache-commons</name>
 	<comment></comment>
 	<projects>
+		<project>JOSM</project>
 	</projects>
 	<buildSpec>
 		<buildCommand>
@@ -24,5 +25,6 @@
 	<natures>
 		<nature>org.eclipse.jdt.core.javanature</nature>
 		<nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+		<nature>org.apache.ivyde.eclipse.ivynature</nature>
 	</natures>
 </projectDescription>
Index: .settings/org.eclipse.core.resources.prefs
===================================================================
--- .settings/org.eclipse.core.resources.prefs	(revision 35359)
+++ .settings/org.eclipse.core.resources.prefs	(working copy)
@@ -1,3 +1,2 @@
 eclipse.preferences.version=1
-encoding//src/org/apache/commons/lang3=ISO-8859-1
 encoding/<project>=UTF-8
Index: build.xml
===================================================================
--- build.xml	(revision 35359)
+++ build.xml	(working copy)
@@ -1,55 +1,28 @@
-<?xml version="1.0" encoding="utf-8"?>
-<project name="apache-commons" default="dist" basedir=".">
-
-    <!-- enter the *lowest* JOSM version this plugin is currently compatible with -->
-    <property name="plugin.main.version" value="10580"/>
-
-    <!-- Configure these properties (replace "..." accordingly).
-         See https://josm.openstreetmap.de/wiki/DevelopersGuide/DevelopingPlugins
-    -->
-    <property name="plugin.author" value="nokutu; Don-vip"/>
-    <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"/>
-
-    <property name="plugin.canloadatruntime" value="true"/>
-
-    <!-- ** include targets that all plugins have in common ** -->
-    <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>
-
-    <!--
-    **********************************************************
-    ** 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>
-
-</project>
+<?xml version="1.0" encoding="utf-8"?>
+<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 -->
+    <property name="plugin.main.version" value="10580"/>
+
+    <!-- Configure these properties (replace "..." accordingly).
+         See https://josm.openstreetmap.de/wiki/DevelopersGuide/DevelopingPlugins
+    -->
+    <property name="plugin.author" value="nokutu; Don-vip"/>
+    <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="plugin.requires" value=""/>-->
+    <property name="plugin.stage" value="10"/>
+
+    <property name="plugin.canloadatruntime" value="true"/>
+
+    <!-- ** include targets that all plugins have in common ** -->
+    <import file="../build-common.xml"/>
+
+    <target name="resolve" description="--> retrieve dependencies with Ivy">
+        <ivy:retrieve/>
+    </target>
+
+    <target name="dist" depends="resolve,plugin_common.dist"/>
+
+</project>
Index: ivy.xml
===================================================================
--- ivy.xml	(nonexistent)
+++ ivy.xml	(working copy)
@@ -0,0 +1,31 @@
+<?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"/>
+        <conf name="epsg" description="Everything epsg needs- which is currently all of JOSM."/>
+        <!--  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>
Index: lib/dec-0.1.2-javadoc.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/dec-0.1.2-javadoc.jar
___________________________________________________________________
Deleted: svn:mime-type
## -1 +0,0 ##
-application/octet-stream
\ No newline at end of property
Index: lib/dec-0.1.2-sources.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/dec-0.1.2-sources.jar
___________________________________________________________________
Deleted: svn:mime-type
## -1 +0,0 ##
-application/octet-stream
\ No newline at end of property
Index: lib/dec-0.1.2.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/dec-0.1.2.jar
___________________________________________________________________
Deleted: svn:mime-type
## -1 +0,0 ##
-application/octet-stream
\ No newline at end of property
Index: lib/xz-1.6-javadoc.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/xz-1.6-javadoc.jar
___________________________________________________________________
Deleted: svn:mime-type
## -1 +0,0 ##
-application/octet-stream
\ No newline at end of property
Index: lib/xz-1.6-sources.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/xz-1.6-sources.jar
___________________________________________________________________
Deleted: svn:mime-type
## -1 +0,0 ##
-application/octet-stream
\ No newline at end of property
Index: lib/xz-1.6.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/xz-1.6.jar
___________________________________________________________________
Deleted: svn:mime-type
## -1 +0,0 ##
-application/octet-stream
\ No newline at end of property
Index: lib/zstd-jni-1.3.2-2-javadoc.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/zstd-jni-1.3.2-2-javadoc.jar
___________________________________________________________________
Deleted: svn:mime-type
## -1 +0,0 ##
-application/octet-stream
\ No newline at end of property
Index: lib/zstd-jni-1.3.2-2-sources.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/zstd-jni-1.3.2-2-sources.jar
___________________________________________________________________
Deleted: svn:mime-type
## -1 +0,0 ##
-application/octet-stream
\ No newline at end of property
Index: lib/zstd-jni-1.3.2-2.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: lib/zstd-jni-1.3.2-2.jar
___________________________________________________________________
Deleted: svn:mime-type
## -1 +0,0 ##
-application/octet-stream
\ No newline at end of property
Index: src/org/apache/commons
===================================================================
--- src/org/apache/commons	(revision 35359)
+++ src/org/apache/commons	(working copy)

Property changes on: src/org/apache/commons
___________________________________________________________________
Modified: svn:externals
## -1,6 +1 ##
-https://github.com/apache/commons-imaging/trunk/src/main/java/org/apache/commons/imaging imaging
-https://github.com/apache/commons-io/trunk/src/main/java/org/apache/commons/io io
-https://github.com/apache/commons-lang/trunk/src/main/java/org/apache/commons/lang3 lang3
-https://github.com/apache/commons-collections/trunk/src/main/java/org/apache/commons/collections4 collections4
-https://github.com/apache/commons-text/trunk/src/main/java/org/apache/commons/text text
-https://github.com/apache/commons-compress/trunk/src/main/java/org/apache/commons/compress compress
+
