1 | <?xml version="1.0" encoding="utf-8"?>
|
---|
2 | <project name="josm-plugins" default="dist" basedir="." xmlns:if="ant:if" xmlns:unless="ant:unless">
|
---|
3 | <target name="compile_josm" unless="skip-josm">
|
---|
4 | <ant dir="../core" target="dist"/>
|
---|
5 | </target>
|
---|
6 | <target name="compile_josm_test" unless="skip-josm">
|
---|
7 | <ant dir="../core" target="test-compile"/>
|
---|
8 | </target>
|
---|
9 | <!-- For Java specific stuff by version -->
|
---|
10 | <condition property="isJava21"><matches string="${ant.java.version}" pattern="2[1-9]|[3-9][0-9]" /></condition>
|
---|
11 | <condition property="isJava17"><matches string="${ant.java.version}" pattern="1[7-9]|[2-9][0-9]" /></condition>
|
---|
12 | <condition property="isJava11"><matches string="${ant.java.version}" pattern="1[1-9]|[2-9][0-9]" /></condition>
|
---|
13 | <!-- Specific plugins -->
|
---|
14 | <property name="java21_plugins" value="FIT/build.xml
|
---|
15 | MicrosoftStreetside/build.xml" />
|
---|
16 | <property name="java17_plugins" value="maproulette/build.xml
|
---|
17 | imageio/build.xml
|
---|
18 | pmtiles/build.xml
|
---|
19 | todo/build.xml"/>
|
---|
20 | <property name="java11_plugins" value="geotools/build.xml
|
---|
21 | cadastre-fr/build.xml
|
---|
22 | opendata/build.xml
|
---|
23 | ImportImagePlugin/build.xml
|
---|
24 | OsmInspectorPlugin/build.xml" />
|
---|
25 | <property name="ordered_plugins" value="jackson/build.xml
|
---|
26 | jaxb/build.xml
|
---|
27 | jna/build.xml
|
---|
28 | jts/build.xml
|
---|
29 | ejml/build.xml
|
---|
30 | utilsplugin2/build.xml
|
---|
31 | log4j/build.xml
|
---|
32 | apache-commons/build.xml
|
---|
33 | apache-http/build.xml
|
---|
34 | austriaaddresshelper/build.xml"/>
|
---|
35 | <property name="javafx_plugins" value="javafx/build.xml"/>
|
---|
36 |
|
---|
37 | <!-- We are dropping Java 8 support in January 2024 - these have issues compiling with Java 8, but not with Java 11+ targeting Java 8 -->
|
---|
38 | <!-- Note: Mapillary was in ordered_plugins -->
|
---|
39 | <property name="borked_java8_compilation" value="Mapillary/build.xml
|
---|
40 | Dxf-Import/build.xml
|
---|
41 | photo_geotagging/build.xml" />
|
---|
42 | <macrodef name="iterate">
|
---|
43 | <attribute name="target"/>
|
---|
44 | <sequential>
|
---|
45 | <subant target="@{target}" inheritall="true">
|
---|
46 | <filelist dir="." files="${ordered_plugins}"/>
|
---|
47 | <filelist dir="." files="${borked_java8_compilation}" if:set="isJava11"/>
|
---|
48 | <!-- Build JavaFX plugins only with Java 11+ -->
|
---|
49 | <filelist dir="." files="${javafx_plugins}" if:set="isJava11"/>
|
---|
50 | <filelist dir="." files="${java11_plugins}" if:set="isJava11"/>
|
---|
51 | <filelist dir="." files="${java17_plugins}" if:set="isJava17"/>
|
---|
52 | <filelist dir="." files="${java21_plugins}" if:set="isJava21"/>
|
---|
53 | <fileset dir="." includes="*/build.xml" excludes="00_*/build.xml *.wip/build.xml ${borked_java8_compilation} ${javafx_plugins} ${ordered_plugins} ${java11_plugins} ${java17_plugins} ${java21_plugins} "/>
|
---|
54 | </subant>
|
---|
55 | </sequential>
|
---|
56 | </macrodef>
|
---|
57 | <target name="clean">
|
---|
58 | <iterate target="clean"/>
|
---|
59 | </target>
|
---|
60 | <target name="compile">
|
---|
61 | <iterate target="compile"/>
|
---|
62 | </target>
|
---|
63 | <target name="dist" depends="compile_josm">
|
---|
64 | <mkdir dir="../dist"/>
|
---|
65 | <iterate target="dist"/>
|
---|
66 | <property name="skip-dist" value="true"/>
|
---|
67 | <property name="skip-compile" value="true"/>
|
---|
68 | <property name="skip-revision" value="true"/>
|
---|
69 | </target>
|
---|
70 | <target name="install" depends="dist">
|
---|
71 | <iterate target="install"/>
|
---|
72 | </target>
|
---|
73 | <target name="test" depends="compile_josm_test">
|
---|
74 | <iterate target="test"/>
|
---|
75 | </target>
|
---|
76 | <target name="checkstyle">
|
---|
77 | <iterate target="checkstyle"/>
|
---|
78 | </target>
|
---|
79 | <target name="spotbugs">
|
---|
80 | <iterate target="spotbugs"/>
|
---|
81 | </target>
|
---|
82 | <target name="javadoc">
|
---|
83 | <iterate target="javadoc"/>
|
---|
84 | </target>
|
---|
85 | </project>
|
---|