Index: trunk/build.xml
===================================================================
--- trunk/build.xml	(revision 16140)
+++ trunk/build.xml	(revision 16141)
@@ -64,4 +64,5 @@
         <property name="dist.jar" location="${dist.dir}/josm-custom.jar"/>
         <property name="dist-optimized.jar" location="${dist.dir}/josm-custom-optimized.jar"/>
+        <property name="dist-sources.jar" location="${dist.dir}/josm-custom-sources.jar"/>
         <property name="java.lang.version" value="1.8" />
         <property name="test.headless" value="true" />
@@ -1172,8 +1173,21 @@
         </unzip>
     </target>
+    <target name="sources" description="Generates jar file of JOSM source files and its dependencies" depends="init,create-revision,epsg,resolve">
+        <ivy:cachefileset setid="sources.fileset" conf="sources"/>
+        <jar destfile="${dist-sources.jar}" level="${clevel}">
+            <zipgroupfileset refid="sources.fileset"/>
+            <fileset dir="${src.dir}"/>
+            <fileset dir="${resources.dir}"/>
+            <fileset file="CONTRIBUTION"/>
+            <fileset file="README"/>
+            <fileset file="LICENSE"/>
+            <fileset file="${build.dir}/REVISION"/>
+        </jar>
+    </target>
     <target name="bootstrap-workspace" description="Copy libraries from ivy cache to workspace folders for IDE" depends="resolve">
         <delete dir="${lib.dir}"/>
         <ivy:retrieve pattern="${lib.dir}/compile/[artifact]-[type].[ext]" conf="compile"/>
         <ivy:retrieve pattern="${lib.dir}/runtime/[artifact]-[type].[ext]" conf="runtime"/>
+        <ivy:retrieve pattern="${lib.dir}/sources/[artifact]-[type].[ext]" conf="sources"/>
     </target>
 </project>
Index: trunk/ivy.xml
===================================================================
--- trunk/ivy.xml	(revision 16140)
+++ trunk/ivy.xml	(revision 16141)
@@ -15,6 +15,8 @@
         <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"/>
+        <conf name="sources" description="Source code of used libraries"/>
     </configurations>
     <dependencies>
+        <!-- api->default -->
         <dependency org="org.glassfish" name="javax.json" rev="1.1.4" conf="api->default"/>
         <dependency org="commons-logging" name="commons-logging" rev="1.2" conf="api->default"/>
@@ -23,4 +25,11 @@
         <dependency org="com.drewnoakes" name="metadata-extractor" rev="2.13.0" conf="api->default"/>
         <dependency org="ch.poole" name="OpeningHoursParser" rev="0.21.1" conf="api->default"/>
+        <!-- sources->sources -->
+        <dependency org="org.glassfish" name="javax.json" rev="1.1.4" conf="sources->sources"/>
+        <dependency org="commons-logging" name="commons-logging" rev="1.2" conf="sources->sources"/>
+        <dependency org="org.apache.commons" name="commons-compress" rev="1.20" conf="sources->sources"/>
+        <dependency org="org.tukaani" name="xz" rev="1.8" conf="sources->sources"/>
+        <dependency org="com.drewnoakes" name="metadata-extractor" rev="2.13.0" conf="sources->sources"/>
+        <dependency org="ch.poole" name="OpeningHoursParser" rev="0.21.1" conf="sources->sources"/>
     </dependencies>
 </ivy-module>
