source: subversion/applications/editors/josm/plugins/geotools/build.xml

Last change on this file was 35154, checked in by donvip, 5 months ago

fix #josm18174 - make geotools plugin depend on apache-commons

  • Property svn:mime-type set to text/xml
File size: 3.7 KB
Line 
1<?xml version="1.0" encoding="utf-8"?>
2<project name="geotools" default="dist" basedir=".">
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="jts;ejml;apache-commons"/>
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        <fileset id="plugin.requires.jars" dir="${plugin.dist.dir}">
20        <include name="jts.jar"/>
21        <include name="ejml.jar"/>
22        <include name="apache-commons.jar"/>
23    </fileset>
24
25    <target name="merge-geotools-services">
26        <taskdef resource="org/pescuma/mergeservices/antlib.xml" classpath="tools/merge-services.jar" />
27        <delete dir="jar/META-INF/services"/>
28        <merge-services dest="jar">
29            <fileset dir="lib">
30                <include name="**/*.jar" />
31                <exclude name="**/*-javadoc.jar" />
32                <exclude name="**/*-source.jar" />
33            </fileset>
34        </merge-services>
35    </target>
36
37    <!--
38    **********************************************************
39    ** post-dist - replaces files from the generated jar
40    **********************************************************
41    -->
42    <target name="post-dist">
43        <move file="${plugin.jar}" todir="${plugin.build.dir}" />
44        <jar destfile="${plugin.jar}" filesetmanifest="merge" manifestencoding="UTF-8">
45            <fileset dir="jar"/>
46            <zipfileset src="${plugin.build.dir}/${ant.project.name}.jar">
47                <exclude name="*.class"/>
48                <exclude name="*.html"/>
49                <exclude name="META-INF/**/*"/>
50                <exclude name="javax/*.txt"/>
51            </zipfileset>
52            <zipfileset src="${plugin.build.dir}/${ant.project.name}.jar">
53                <include name="META-INF/MANIFEST.MF"/>
54                <include name="META-INF/javax.media.jai.registryFile.jai"/>
55            </zipfileset>
56        </jar>
57        <delete file="${plugin.build.dir}/${ant.project.name}.jar" />
58    </target>
59
60    <!--
61    **********************************************************
62    ** additional-manifest - add additional manifest entries
63    **********************************************************
64    -->
65    <target name="additional-manifest">
66        <manifest file="MANIFEST" mode="update">
67                <!-- JAI requires a vendor name for some of its deep internals,
68                     see https://stackoverflow.com/a/18495658/2257172 -->
69            <attribute name="Specification-Title" value="JOSM GeoTools plugin"/>
70            <attribute name="Specification-Version" value="22.0"/>
71            <attribute name="Specification-Vendor" value="JOSM developers" />
72            <attribute name="Implementation-Title" value="org.openstreetmap.josm.plugins.geotools" />
73            <attribute name="Implementation-Version" value="22.0" />
74            <attribute name="Implementation-Vendor" value="JOSM developers"/>
75        </manifest>
76    </target>
77</project>
Note: See TracBrowser for help on using the repository browser.