source: osm/applications/editors/josm/plugins/geotools/build.xml@ 36176

Last change on this file since 36176 was 36176, checked in by taylor.smock, 13 months ago

Fix error_prone version issue and dependency updates (see #23218)

Plugins with an ivy_settings.xml file were not reading the error_prone version
from the core ivysettings.xml file. This removes redundant ivy_settings.xml files
and includes the core ivysettings.xml file in the remaining ivy_settings.xml
files.

Dependency updates:
apache-commons:

  • zstd-jni: 1.5.2-5 -> 1.5.5-6
  • commons-compress: 1.22 -> 1.24.0
  • commons-io: 2.11.0 -> 2.14.0
  • commons-lang3: 3.12.0 -> 3.13.0

apache-http:

  • httpclient5: 5.1.2 -> 5.2.1
  • Drops legacy httpcore, httpclient, and httpmime dependencies

ejml: 0.41 -> 0.43.1

  • ejml now requires Java 11

flatlaf: 3.2 -> 3.2.2
geotools: 28.2 -> 30.0

  • geotools now requires Java 11
  • 30.0 had some breaking API changes, but provided a migration script

jackson: 2.14.0 -> 2.15.3
jna: 5.12.1 -> 5.13.0
log4j: 2.19.0 -> 2.21.0
lwjgl: 3.3.1 -> 3.3.3
pbf:

  • protobuf-java: 3.20.3 -> 3.24.4
  • Property svn:mime-type set to text/xml
File size: 5.8 KB
Line 
1<?xml version="1.0" encoding="utf-8"?>
2 <project name="geotools" default="dist" basedir="." xmlns:ivy="antlib:org.apache.ivy.ant" xmlns:rsel="antlib:org.apache.tools.ant.types.resources.selectors">
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 <property name="plugin.minimum.java.version" value="11"/>
16
17 <!-- ** include targets that all plugins have in common ** -->
18 <import file="../build-common.xml"/>
19
20 <target name="pre-compile" depends="fetch_dependencies">
21 <!-- include fetch_dependencies task -->
22 </target>
23
24 <fileset id="plugin.requires.jars" dir="${plugin.dist.dir}">
25 <include name="apache-commons.jar"/>
26 <include name="ejml.jar"/>
27 <include name="jaxb.jar"/>
28 <include name="jts.jar"/>
29 <!-- 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. -->
30 <!--<include name="jackson.jar"/>-->
31 </fileset>
32 <macrodef name="merge-text-files">
33 <attribute name="mergefile"/>
34 <attribute name="targetdir"/>
35 <sequential>
36 <concat destfile="@{targetdir}/@{mergefile}">
37 <restrict>
38 <rsel:name name="@{mergefile}"/>
39 <archives>
40 <zips>
41 <fileset dir="${plugin.lib.dir}" includes="*.jar" excludes="*-sources.jar, *-javadoc.jar" erroronmissingdir="no"/>
42 </zips>
43 </archives>
44 </restrict>
45 </concat>
46 </sequential>
47 </macrodef>
48
49 <target name="merge-geotools-services" depends="fetch_dependencies">
50 <taskdef resource="org/pescuma/mergeservices/antlib.xml" classpath="tools/merge-services.jar" />
51 <delete dir="jar/"/>
52 <mkdir dir="jar"/>
53 <merge-services dest="jar">
54 <fileset dir="lib">
55 <include name="**/*.jar" />
56 <exclude name="**/*-javadoc.jar" />
57 <exclude name="**/*-source.jar" />
58 </fileset>
59 </merge-services>
60 <!-- We currently don't like shipping maven pom files or other "useless" files (see #21667) -->
61 <delete includeEmptyDirs="true">
62 <fileset dir="jar">
63 <include name="META-INF/maven/**/*"/>
64 <include name="META-INF/maven"/>
65 <include name="META-INF/ECLIPSE*"/>
66 <include name="META-INF/eclipse*"/>
67 <include name="META-INF/INDEX.LIST"/>
68 <include name="META-INF/MANIFEST.MF"/>
69 <include name="META-INF/**/module-info.class"/>
70 </fileset>
71 </delete>
72
73 <merge-text-files mergefile="META-INF/javax.media.jai.registryFile.jai" targetdir="jar"/>
74 <merge-text-files mergefile="META-INF/registryFile.jai" targetdir="jar"/>
75 <merge-text-files mergefile="META-INF/registryFile.jaiext" targetdir="jar"/>
76 </target>
77
78 <!--
79 **********************************************************
80 ** post-dist - replaces files from the generated jar
81 **********************************************************
82 -->
83 <target name="post-dist" depends="merge-geotools-services">
84 <move file="${plugin.jar}" todir="${plugin.build.dir}" />
85 <jar destfile="${plugin.jar}" filesetmanifest="merge" manifestencoding="UTF-8">
86 <fileset dir="jar"/>
87 <zipfileset src="${plugin.build.dir}/${ant.project.name}.jar">
88 <exclude name="*.class"/>
89 <exclude name="*.html"/>
90 <exclude name="META-INF/**/*"/>
91 <exclude name="javax/*.txt"/>
92 </zipfileset>
93 <zipfileset src="${plugin.build.dir}/${ant.project.name}.jar">
94 <include name="META-INF/MANIFEST.MF"/>
95 <include name="META-INF/javax.media.jai.registryFile.jai"/>
96 </zipfileset>
97 </jar>
98 <delete file="${plugin.build.dir}/${ant.project.name}.jar" />
99 <delete dir="jar" />
100 </target>
101
102 <!--
103 **********************************************************
104 ** additional-manifest - add additional manifest entries
105 **********************************************************
106 -->
107 <target name="additional-manifest">
108 <manifest file="MANIFEST" mode="update">
109 <!-- JAI requires a vendor name for some of its deep internals,
110 see https://stackoverflow.com/a/18495658/2257172 -->
111 <attribute name="Specification-Title" value="JOSM GeoTools plugin"/>
112 <attribute name="Specification-Version" value="${gt.version}"/>
113 <attribute name="Specification-Vendor" value="JOSM developers" />
114 <attribute name="Implementation-Title" value="org.openstreetmap.josm.plugins.geotools" />
115 <attribute name="Implementation-Version" value="${gt.version}" />
116 <attribute name="Implementation-Vendor" value="JOSM developers"/>
117 </manifest>
118 </target>
119</project>
Note: See TracBrowser for help on using the repository browser.