1 | <?xml version="1.0" encoding="utf-8"?>
|
---|
2 | <project name="geotools" default="dist" basedir="." xmlns:ivy="antlib:org.apache.ivy.ant">
|
---|
3 | <!-- enter the SVN commit message -->
|
---|
4 | <property name="commit.message" value="Commit message"/>
|
---|
5 | <!-- enter the *lowest* JOSM version this plugin is currently compatible with -->
|
---|
6 | <property name="plugin.main.version" value="10899"/>
|
---|
7 |
|
---|
8 | <property name="plugin.author" value="Don-vip"/>
|
---|
9 | <property name="plugin.class" value="org.openstreetmap.josm.plugins.geotools.GeoToolsPlugin"/>
|
---|
10 | <property name="plugin.description" value="Provides parts of the GeoTools library for other JOSM plugins. Not meant to be installed directly by users, but rather as a dependency for other plugins."/>
|
---|
11 | <property name="plugin.icon" value="images/compass.png"/>
|
---|
12 | <property name="plugin.canloadatruntime" value="true"/>
|
---|
13 | <property name="plugin.requires" value="apache-commons;ejml;jackson;jaxb;jts"/>
|
---|
14 | <property name="plugin.stage" value="20"/>
|
---|
15 |
|
---|
16 | <!-- ** include targets that all plugins have in common ** -->
|
---|
17 | <import file="../build-common.xml"/>
|
---|
18 |
|
---|
19 | <target name="pre-compile" depends="fetch_dependencies">
|
---|
20 | <!-- include fetch_dependencies task -->
|
---|
21 | </target>
|
---|
22 |
|
---|
23 | <fileset id="plugin.requires.jars" dir="${plugin.dist.dir}">
|
---|
24 | <include name="apache-commons.jar"/>
|
---|
25 | <include name="ejml.jar"/>
|
---|
26 | <include name="jaxb.jar"/>
|
---|
27 | <include name="jts.jar"/>
|
---|
28 | <!-- jackson causes issues if it is on the compile-time path. Since we don't actually use jackson in our code, we can just not have it in the requires.jars array. -->
|
---|
29 | <!--<include name="jackson.jar"/>-->
|
---|
30 | </fileset>
|
---|
31 |
|
---|
32 | <target name="merge-geotools-services" depends="fetch_dependencies">
|
---|
33 | <taskdef resource="org/pescuma/mergeservices/antlib.xml" classpath="tools/merge-services.jar" />
|
---|
34 | <delete dir="jar/META-INF/services"/>
|
---|
35 | <merge-services dest="jar">
|
---|
36 | <fileset dir="lib">
|
---|
37 | <include name="**/*.jar" />
|
---|
38 | <exclude name="**/*-javadoc.jar" />
|
---|
39 | <exclude name="**/*-source.jar" />
|
---|
40 | </fileset>
|
---|
41 | </merge-services>
|
---|
42 | <echo>Check the updated files in jar/META-INF/services for lines where two
|
---|
43 | services got merged. Example:
|
---|
44 | org.geotools.coverage.util.FilterFunction_isCoverageorg.geotools.filter.AreaFunction
|
---|
45 | </echo>
|
---|
46 | </target>
|
---|
47 |
|
---|
48 | <!--
|
---|
49 | **********************************************************
|
---|
50 | ** post-dist - replaces files from the generated jar
|
---|
51 | **********************************************************
|
---|
52 | -->
|
---|
53 | <target name="post-dist">
|
---|
54 | <move file="${plugin.jar}" todir="${plugin.build.dir}" />
|
---|
55 | <jar destfile="${plugin.jar}" filesetmanifest="merge" manifestencoding="UTF-8">
|
---|
56 | <fileset dir="jar"/>
|
---|
57 | <zipfileset src="${plugin.build.dir}/${ant.project.name}.jar">
|
---|
58 | <exclude name="*.class"/>
|
---|
59 | <exclude name="*.html"/>
|
---|
60 | <exclude name="META-INF/**/*"/>
|
---|
61 | <exclude name="javax/*.txt"/>
|
---|
62 | </zipfileset>
|
---|
63 | <zipfileset src="${plugin.build.dir}/${ant.project.name}.jar">
|
---|
64 | <include name="META-INF/MANIFEST.MF"/>
|
---|
65 | <include name="META-INF/javax.media.jai.registryFile.jai"/>
|
---|
66 | </zipfileset>
|
---|
67 | </jar>
|
---|
68 | <delete file="${plugin.build.dir}/${ant.project.name}.jar" />
|
---|
69 | </target>
|
---|
70 |
|
---|
71 | <!--
|
---|
72 | **********************************************************
|
---|
73 | ** additional-manifest - add additional manifest entries
|
---|
74 | **********************************************************
|
---|
75 | -->
|
---|
76 | <target name="additional-manifest">
|
---|
77 | <manifest file="MANIFEST" mode="update">
|
---|
78 | <!-- JAI requires a vendor name for some of its deep internals,
|
---|
79 | see https://stackoverflow.com/a/18495658/2257172 -->
|
---|
80 | <attribute name="Specification-Title" value="JOSM GeoTools plugin"/>
|
---|
81 | <attribute name="Specification-Version" value="${gt.version}"/>
|
---|
82 | <attribute name="Specification-Vendor" value="JOSM developers" />
|
---|
83 | <attribute name="Implementation-Title" value="org.openstreetmap.josm.plugins.geotools" />
|
---|
84 | <attribute name="Implementation-Version" value="${gt.version}" />
|
---|
85 | <attribute name="Implementation-Vendor" value="JOSM developers"/>
|
---|
86 | </manifest>
|
---|
87 | </target>
|
---|
88 | </project>
|
---|