Ticket #8269: 8269.2.patch
File 8269.2.patch, 68.9 KB (added by , 6 months ago) |
---|
-
new file plugins/apache-commons/pom.xml
Subject: [PATCH] Sample POM files for JOSM core and two plugins --- IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 diff --git a/plugins/apache-commons/pom.xml b/plugins/apache-commons/pom.xml new file mode 100644
- + 1 <project xmlns="http://maven.apache.org/POM/4.0.0"> 2 <modelVersion>4.0.0</modelVersion> 3 <parent> 4 <groupId>org.openstreetmap.josm.plugins</groupId> 5 <artifactId>plugin-root</artifactId> 6 <version>1.0-SNAPSHOT</version> 7 <relativePath>../pom.xml</relativePath> 8 </parent> 9 <artifactId>apache-commons</artifactId> 10 <version>1.0-SNAPSHOT</version> 11 <properties> 12 <plugin.src.dir>src</plugin.src.dir> 13 <plugin.main.version>10580</plugin.main.version> 14 <plugin.canloadatruntime>true</plugin.canloadatruntime> 15 <plugin.author>nokutu; Don-vip</plugin.author> 16 <plugin.class>org.openstreetmap.josm.plugins.commons.CommonsPlugin</plugin.class> 17 <plugin.description>Provides Apache Commons library components. Not meant to be installed directly by users, but rather as a dependency for other plugins.</plugin.description> 18 <plugin.stage>10</plugin.stage> 19 </properties> 20 <dependencies> 21 <dependency> 22 <groupId>com.github.luben</groupId> 23 <artifactId>zstd-jni</artifactId> 24 <version>1.5.5-6</version> 25 <scope>compile</scope> 26 </dependency> 27 <dependency> 28 <groupId>org.apache.commons</groupId> 29 <artifactId>commons-collections4</artifactId> 30 <version>4.4</version> 31 <scope>compile</scope> 32 </dependency> 33 <dependency> 34 <groupId>org.apache.commons</groupId> 35 <artifactId>commons-compress</artifactId> 36 <!-- version is in parent pom --> 37 <scope>compile</scope> 38 </dependency> 39 <dependency> 40 <groupId>org.apache.commons</groupId> 41 <artifactId>commons-imaging</artifactId> 42 <version>1.0-alpha3</version> 43 <scope>compile</scope> 44 </dependency> 45 <dependency> 46 <groupId>commons-io</groupId> 47 <artifactId>commons-io</artifactId> 48 <version>2.15.1</version> 49 <scope>compile</scope> 50 </dependency> 51 <dependency> 52 <groupId>commons-logging</groupId> 53 <artifactId>commons-logging</artifactId> 54 <version>1.2</version> 55 <scope>compile</scope> 56 </dependency> 57 <dependency> 58 <groupId>org.apache.commons</groupId> 59 <artifactId>commons-lang3</artifactId> 60 <!-- version is in parent pom --> 61 <scope>compile</scope> 62 </dependency> 63 <dependency> 64 <groupId>org.apache.commons</groupId> 65 <artifactId>commons-math3</artifactId> 66 <version>3.6.1</version> 67 <scope>compile</scope> 68 </dependency> 69 <dependency> 70 <groupId>org.apache.commons</groupId> 71 <artifactId>commons-text</artifactId> 72 <version>1.11.0</version> 73 <scope>compile</scope> 74 </dependency> 75 <dependency> 76 <groupId>org.brotli</groupId> 77 <artifactId>dec</artifactId> 78 <version>0.1.2</version> 79 <scope>compile</scope> 80 </dependency> 81 <dependency> 82 <groupId>org.tukaani</groupId> 83 <artifactId>xz</artifactId> 84 <!-- version is in parent pom --> 85 <scope>compile</scope> 86 </dependency> 87 </dependencies> 88 </project> -
new file plugins/apache-http/pom.xml
IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 diff --git a/plugins/apache-http/pom.xml b/plugins/apache-http/pom.xml new file mode 100644
- + 1 <project xmlns="http://maven.apache.org/POM/4.0.0"> 2 <modelVersion>4.0.0</modelVersion> 3 <parent> 4 <groupId>org.openstreetmap.josm.plugins</groupId> 5 <artifactId>plugin-root</artifactId> 6 <version>1.0-SNAPSHOT</version> 7 <relativePath>../pom.xml</relativePath> 8 </parent> 9 <artifactId>apache-http</artifactId> 10 <version>1.0-SNAPSHOT</version> 11 <properties> 12 <plugin.src.dir>${project.basedir}/src</plugin.src.dir> 13 <plugin.main.version>10580</plugin.main.version> 14 <plugin.author>Don-vip</plugin.author> 15 <plugin.class>org.openstreetmap.josm.plugins.http.HttpPlugin</plugin.class> 16 <plugin.description>Provides Apache HTTP library. Not meant to be installed directly by users, but rather as a dependency for other plugins.</plugin.description> 17 <plugin.requires>apache-commons;jna</plugin.requires> 18 <plugin.stage>15</plugin.stage> 19 </properties> 20 <dependencies> 21 <dependency> 22 <groupId>org.openstreetmap.josm.plugins</groupId> 23 <artifactId>apache-commons</artifactId> 24 <version>1.0-SNAPSHOT</version> 25 <scope>provided</scope> 26 </dependency> 27 <dependency> 28 <groupId>org.apache.httpcomponents.client5</groupId> 29 <artifactId>httpclient5</artifactId> 30 <version>5.2.1</version> 31 <scope>compile</scope> 32 </dependency> 33 </dependencies> 34 <build> 35 <plugins> 36 <plugin> 37 <groupId>com.diffplug.spotless</groupId> 38 <artifactId>spotless-maven-plugin</artifactId> 39 <version>2.30.0</version> 40 <configuration> 41 <java> 42 <eclipse> 43 <version>4.21.0</version> 44 <file>${project.basedir}/../00_core_tools/eclipse/formatter.xml</file> 45 </eclipse> 46 <removeUnusedImports/> 47 <licenseHeader> 48 <content>// License: GPL. For details, see LICENSE file.</content> 49 </licenseHeader> 50 </java> 51 </configuration> 52 <executions> 53 <execution> 54 <goals> 55 <goal>check</goal> 56 </goals> 57 </execution> 58 </executions> 59 </plugin> 60 </plugins> 61 </build> 62 </project> -
core/scripts/BuildProjectionDefinitions.java
IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 diff --git a/core/scripts/BuildProjectionDefinitions.java b/core/scripts/BuildProjectionDefinitions.java
a b 13 13 import java.util.Locale; 14 14 import java.util.Map; 15 15 import java.util.TreeMap; 16 import java.util.logging.Logger; 16 17 import java.util.regex.Matcher; 17 18 import java.util.regex.Pattern; 18 19 import java.util.stream.Collectors; … … 84 85 .collect(Collectors.toList()); 85 86 } 86 87 88 static boolean touchCustomEpsg(String baseDir) throws IOException { 89 final Path path = Paths.get(baseDir).resolve(OUTPUT_EPSG_FILE); 90 if (!Files.exists(path)) { 91 Files.createDirectories(path.getParent()); 92 Files.createFile(path); 93 Logger.getLogger(BuildProjectionDefinitions.class.getCanonicalName()) 94 .info("Could not generate custom-epsg; an empty custom-epsg file was not available on the classpath. " + 95 "This should now be fixed, please rerun the command."); 96 return true; 97 } 98 return false; 99 } 100 87 101 static void initMap(String baseDir, String file, Map<String, ProjectionDefinition> map) throws IOException { 88 102 final Path path = Paths.get(baseDir).resolve(PROJ_DIR).resolve(file); 89 103 final List<ProjectionDefinition> list; … … 106 120 } 107 121 108 122 static void buildList(String baseDir) throws IOException { 123 if (touchCustomEpsg(baseDir)) { 124 return; 125 } 109 126 initMap(baseDir, JOSM_EPSG_FILE, epsgJosm); 110 127 initMap(baseDir, PROJ4_EPSG_FILE, epsgProj4); 111 128 initMap(baseDir, PROJ4_ESRI_FILE, esriProj4); … … 242 259 "EPSG:103471", // lcc/GRS80 - NAD_1983_HARN_WISCRS_Wood_County_Feet [NAD 1983 HARN Wisconsin CRS Wood (US feet)] 243 260 "EPSG:103474", // lcc/GRS80 - NAD_1983_CORS96_StatePlane_Nebraska_FIPS_2600 [NAD 1983 (CORS96) SPCS Nebraska] 244 261 "EPSG:103475" // lcc/GRS80 - NAD_1983_CORS96_StatePlane_Nebraska_FIPS_2600_Ft_US [NAD 1983 (CORS96) SPCS Nebraska (US Feet)] 245 262 ).contains(pd.code)) { 246 263 result = false; 247 264 } 248 265 // CHECKSTYLE.ON: LineLength -
new file core/pom.xml
IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 diff --git a/core/pom.xml b/core/pom.xml new file mode 100644
- + 1 <?xml version="1.0"?> 2 <project xmlns="http://maven.apache.org/POM/4.0.0"> 3 <modelVersion>4.0.0</modelVersion> 4 <groupId>org.openstreetmap.josm</groupId> 5 <artifactId>josm-parent</artifactId> 6 <version>1.0-SNAPSHOT</version> 7 <packaging>pom</packaging> 8 <properties> 9 <project.build.sourceEncoding>US-ASCII</project.build.sourceEncoding> 10 <project.reporting.outputEncoding>US-ASCII</project.reporting.outputEncoding> 11 <java.lang.version>11</java.lang.version> 12 <maven.compiler.release>${java.lang.version}</maven.compiler.release> 13 <test.headless>true</test.headless> 14 </properties> 15 <modules> 16 <module>pom-josm.xml</module> 17 <!-- The test pom is mostly for plugins; JOSM core dev doesn't need it --> 18 <module>test/pom.xml</module> 19 </modules> 20 <repositories> 21 <repository> 22 <id>JOSM-central</id> 23 <url>https://josm.openstreetmap.de/nexus/content/repositories/central/</url> 24 </repository> 25 <repository> 26 <id>JOSM-releases</id> 27 <url>https://josm.openstreetmap.de/nexus/content/repositories/releases/</url> 28 </repository> 29 <repository> 30 <id>JOSM-snapshots</id> 31 <url>https://josm.openstreetmap.de/nexus/content/repositories/snapshots/</url> 32 </repository> 33 <repository> 34 <id>JOSM-osgeo</id> 35 <url>https://josm.openstreetmap.de/nexus/content/repositories/osgeo/</url> 36 </repository> 37 </repositories> 38 <build> 39 <pluginManagement> 40 <plugins> 41 <plugin> 42 <groupId>org.codehaus.mojo</groupId> 43 <artifactId>javacc-maven-plugin</artifactId> 44 <version>3.1.0</version> 45 </plugin> 46 <plugin> 47 <groupId>org.apache.maven.plugins</groupId> 48 <artifactId>maven-clean-plugin</artifactId> 49 <version>3.3.2</version> 50 </plugin> 51 <plugin> 52 <groupId>org.codehaus.mojo</groupId> 53 <artifactId>exec-maven-plugin</artifactId> 54 <version>3.2.0</version> 55 </plugin> 56 <plugin> 57 <groupId>org.apache.maven.plugins</groupId> 58 <artifactId>maven-resources-plugin</artifactId> 59 <version>3.3.1</version> 60 </plugin> 61 <plugin> 62 <groupId>org.apache.maven.plugins</groupId> 63 <artifactId>maven-pmd-plugin</artifactId> 64 <version>3.22.0</version> 65 </plugin> 66 <plugin> 67 <groupId>org.apache.maven.plugins</groupId> 68 <artifactId>maven-surefire-plugin</artifactId> 69 <version>3.2.5</version> 70 </plugin> 71 <plugin> 72 <groupId>com.github.spotbugs</groupId> 73 <artifactId>spotbugs-maven-plugin</artifactId> 74 <version>4.8.5.0</version> 75 </plugin> 76 <plugin> 77 <groupId>org.apache.maven.plugins</groupId> 78 <artifactId>maven-checkstyle-plugin</artifactId> 79 <version>3.3.1</version> 80 </plugin> 81 <plugin> 82 <groupId>org.apache.maven.plugins</groupId> 83 <artifactId>maven-shade-plugin</artifactId> 84 <version>3.5.3</version> 85 </plugin> 86 <plugin> 87 <groupId>org.apache.maven.plugins</groupId> 88 <artifactId>maven-jar-plugin</artifactId> 89 <version>3.4.1</version> 90 </plugin> 91 <!-- Used to set version information --> 92 <plugin> 93 <groupId>org.codehaus.mojo</groupId> 94 <artifactId>buildnumber-maven-plugin</artifactId> 95 <version>3.2.0</version> 96 </plugin> 97 </plugins> 98 </pluginManagement> 99 <plugins> 100 <plugin> 101 <groupId>org.apache.maven.plugins</groupId> 102 <artifactId>maven-enforcer-plugin</artifactId> 103 <version>3.4.1</version> 104 <executions> 105 <execution> 106 <id>enforce-versions</id> 107 <goals> 108 <goal>enforce</goal> 109 </goals> 110 <configuration> 111 <rules> 112 <requireMavenVersion> 113 <version>3.6.3</version> 114 </requireMavenVersion> 115 <requireJavaVersion> 116 <version>11</version> 117 </requireJavaVersion> 118 </rules> 119 </configuration> 120 </execution> 121 </executions> 122 </plugin> 123 </plugins> 124 </build> 125 <dependencyManagement> 126 <dependencies> 127 <dependency> 128 <groupId>org.junit</groupId> 129 <artifactId>junit-bom</artifactId> 130 <version>5.10.2</version> 131 <type>pom</type> 132 <scope>import</scope> 133 </dependency> 134 <dependency> 135 <groupId>org.openstreetmap.jmapviewer</groupId> 136 <artifactId>jmapviewer</artifactId> 137 <version>2.19</version> 138 <scope>provided</scope> 139 </dependency> 140 <dependency> 141 <groupId>jakarta.json</groupId> 142 <artifactId>jakarta.json-api</artifactId> 143 <version>2.1.3</version> 144 <scope>provided</scope> 145 </dependency> 146 <dependency> 147 <groupId>org.eclipse.parsson</groupId> 148 <artifactId>parsson</artifactId> 149 <version>1.1.6</version> 150 <scope>runtime</scope> 151 </dependency> 152 <dependency> 153 <groupId>org.apache.commons</groupId> 154 <artifactId>commons-jcs3-core</artifactId> 155 <version>3.2</version> 156 <scope>provided</scope> 157 </dependency> 158 <dependency> 159 <groupId>org.apache.commons</groupId> 160 <artifactId>commons-compress</artifactId> 161 <version>1.26.1</version> 162 <scope>provided</scope> 163 </dependency> 164 <dependency> 165 <groupId>jakarta.annotation</groupId> 166 <artifactId>jakarta.annotation-api</artifactId> 167 <version>2.1.1</version> 168 <scope>provided</scope> 169 </dependency> 170 <dependency> 171 <groupId>org.tukaani</groupId> 172 <artifactId>xz</artifactId> 173 <version>1.9</version> 174 <scope>provided</scope> 175 </dependency> 176 <dependency> 177 <groupId>com.adobe.xmp</groupId> 178 <artifactId>xmpcore</artifactId> 179 <version>6.1.11</version> 180 <scope>provided</scope> 181 </dependency> 182 <dependency> 183 <groupId>com.drewnoakes</groupId> 184 <artifactId>metadata-extractor</artifactId> 185 <version>2.19.0</version> 186 <scope>provided</scope> 187 </dependency> 188 <dependency> 189 <groupId>com.formdev</groupId> 190 <artifactId>svgSalamander</artifactId> 191 <version>1.1.4</version> 192 <scope>provided</scope> 193 </dependency> 194 <dependency> 195 <groupId>ch.poole</groupId> 196 <artifactId>OpeningHoursParser</artifactId> 197 <version>0.28.2</version> 198 <scope>provided</scope> 199 </dependency> 200 <!-- Don't forget to update org.openstreetmap.josm.tools.Tag2Link#PREF_SOURCE --> 201 <dependency> 202 <groupId>org.webjars.npm</groupId> 203 <artifactId>tag2link</artifactId> 204 <version>2024.2.8</version> 205 <scope>provided</scope> 206 </dependency> 207 <dependency> 208 <groupId>org.jacoco</groupId> 209 <artifactId>org.jacoco.ant</artifactId> 210 <version>0.8.12</version> 211 <scope>test</scope> 212 </dependency> 213 <dependency> 214 <groupId>org.jmockit</groupId> 215 <artifactId>jmockit</artifactId> 216 <version>1.49.a</version> 217 <scope>test</scope> 218 </dependency> 219 <dependency> 220 <groupId>com.github.spotbugs</groupId> 221 <artifactId>spotbugs-annotations</artifactId> 222 <version>4.8.5</version> 223 <scope>test</scope> 224 </dependency> 225 <dependency> 226 <groupId>com.ginsberg</groupId> 227 <artifactId>junit5-system-exit</artifactId> 228 <version>1.1.2</version> 229 <scope>test</scope> 230 </dependency> 231 <dependency> 232 <groupId>org.wiremock</groupId> 233 <artifactId>wiremock</artifactId> 234 <version>3.5.4</version> 235 <scope>test</scope> 236 </dependency> 237 <dependency> 238 <groupId>io.github.classgraph</groupId> 239 <artifactId>classgraph</artifactId> 240 <version>4.8.172</version> 241 <scope>test</scope> 242 </dependency> 243 <dependency> 244 <groupId>net.trajano.commons</groupId> 245 <artifactId>commons-testing</artifactId> 246 <version>2.1.0</version> 247 <scope>test</scope> 248 </dependency> 249 <dependency> 250 <groupId>nl.jqno.equalsverifier</groupId> 251 <artifactId>equalsverifier</artifactId> 252 <version>3.16.1</version> 253 <scope>test</scope> 254 </dependency> 255 <dependency> 256 <groupId>org.apache.commons</groupId> 257 <artifactId>commons-lang3</artifactId> 258 <version>3.14.0</version> 259 <scope>test</scope> 260 </dependency> 261 <dependency> 262 <groupId>org.awaitility</groupId> 263 <artifactId>awaitility</artifactId> 264 <version>4.2.1</version> 265 <scope>test</scope> 266 </dependency> 267 </dependencies> 268 </dependencyManagement> 269 </project> 270 No newline at end of file -
new file core/pom-josm.xml
IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 diff --git a/core/pom-josm.xml b/core/pom-josm.xml new file mode 100644
- + 1 <?xml version="1.0"?> 2 <project xmlns="http://maven.apache.org/POM/4.0.0"> 3 <modelVersion>4.0.0</modelVersion> 4 <artifactId>josm</artifactId> 5 <version>1.0-SNAPSHOT</version> 6 7 <parent> 8 <groupId>org.openstreetmap.josm</groupId> 9 <artifactId>josm-parent</artifactId> 10 <version>1.0-SNAPSHOT</version> 11 <relativePath>./pom.xml</relativePath> 12 </parent> 13 14 <name>JOSM</name> 15 <url>https://josm.openstreetmap.de</url> 16 <properties> 17 <src.dir>${project.basedir}/src</src.dir> 18 <test.dir>${project.basedir}/test</test.dir> 19 <scripts.src.dir>${project.basedir}/scripts</scripts.src.dir> 20 <build.dir>${project.basedir}/build</build.dir> 21 <dist.dir>${project.basedir}/dist</dist.dir> 22 <checkstyle-build.dir>${project.basedir}/build2</checkstyle-build.dir> 23 <checkstyle.dir>${tools.dir}/checkstyle</checkstyle.dir> 24 <mapcss.dir>${src.dir}/org/openstreetmap/josm/gui/mappaint/mapcss</mapcss.dir> 25 <modules.dir>${dist.dir}/modules</modules.dir> 26 <pmd.dir>${tools.dir}/pmd</pmd.dir> 27 <proj-build.dir>${project.basedir}/build2</proj-build.dir> 28 <resources.dir>${project.basedir}/resources</resources.dir> 29 <script-build.dir>${project.basedir}/build2</script-build.dir> 30 <spotbugs.dir>${tools.dir}/spotbugs</spotbugs.dir> 31 <tools.dir>${project.basedir}/tools</tools.dir> 32 <epsg.output>${resources.dir}/data/projection/custom-epsg</epsg.output> 33 <javacc.home>${tools.dir}</javacc.home> 34 <dist.jar>${dist.dir}/josm-custom.jar</dist.jar> 35 <dist-optimized.jar>${dist.dir}/josm-custom-optimized.jar</dist-optimized.jar> 36 <dist-sources.jar>${dist.dir}/josm-custom-sources.jar</dist-sources.jar> 37 <jacoco.includes>org.openstreetmap.josm.*</jacoco.includes> 38 <jacoco.inclbootstrapclasses>false</jacoco.inclbootstrapclasses> 39 <jacoco.inclnolocationclasses>false</jacoco.inclnolocationclasses> 40 <junit.printsummary>on</junit.printsummary> 41 <default-junit-includes>**/*Test.class</default-junit-includes> 42 <default-junitIT-includes>**/*TestIT.class</default-junitIT-includes> 43 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 44 </properties> 45 <packaging>jar</packaging> 46 <inceptionYear>2005</inceptionYear> 47 <licenses> 48 <license> 49 <name>GPL-2.0-or-later</name> 50 <url>https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html</url> 51 <distribution>repo</distribution> 52 </license> 53 </licenses> 54 <organization> 55 <name>JOSM</name> 56 <url>https://josm.openstreetmap.de</url> 57 </organization> 58 <scm> 59 <connection>scm:svn:https://josm.openstreetmap.de/svn/trunk</connection> 60 <url>https://josm.openstreetmap.de/browser/josm/trunk</url> 61 </scm> 62 <issueManagement> 63 <system>Trac</system> 64 <url>https://josm.openstreetmap.de</url> 65 </issueManagement> 66 <mailingLists> 67 <mailingList> 68 <name>josm-dev</name> 69 <archive>https://lists.openstreetmap.org/pipermail/josm-dev/</archive> 70 <post>josm-dev@openstreetmap.org</post> 71 </mailingList> 72 </mailingLists> 73 74 <dependencies> 75 <!-- Deprecated dependencies (to remove sometime in 2024)--> 76 <dependency> 77 <groupId>javax.json</groupId> 78 <artifactId>javax.json-api</artifactId> 79 <version>1.1.4</version> 80 <scope>compile</scope> 81 </dependency> 82 <dependency> 83 <groupId>org.glassfish</groupId> 84 <artifactId>javax.json</artifactId> 85 <version>1.1.4</version> 86 <scope>compile</scope> 87 </dependency> 88 <dependency> 89 <groupId>com.google.code.findbugs</groupId> 90 <artifactId>jsr305</artifactId> 91 <version>3.0.2</version> 92 <scope>compile</scope> 93 </dependency> 94 <!-- end Deprecated dependencies --> 95 <dependency> 96 <groupId>org.openstreetmap.jmapviewer</groupId> 97 <artifactId>jmapviewer</artifactId> 98 <scope>compile</scope> 99 </dependency> 100 <dependency> 101 <groupId>jakarta.json</groupId> 102 <artifactId>jakarta.json-api</artifactId> 103 <scope>compile</scope> 104 </dependency> 105 <dependency> 106 <groupId>org.eclipse.parsson</groupId> 107 <artifactId>parsson</artifactId> 108 </dependency> 109 <dependency> 110 <groupId>org.apache.commons</groupId> 111 <artifactId>commons-jcs3-core</artifactId> 112 <scope>compile</scope> 113 </dependency> 114 <dependency> 115 <groupId>org.apache.commons</groupId> 116 <artifactId>commons-compress</artifactId> 117 <scope>compile</scope> 118 </dependency> 119 <dependency> 120 <groupId>jakarta.annotation</groupId> 121 <artifactId>jakarta.annotation-api</artifactId> 122 <scope>compile</scope> 123 </dependency> 124 <dependency> 125 <groupId>org.tukaani</groupId> 126 <artifactId>xz</artifactId> 127 <scope>compile</scope> 128 </dependency> 129 <dependency> 130 <groupId>com.adobe.xmp</groupId> 131 <artifactId>xmpcore</artifactId> 132 <scope>compile</scope> 133 </dependency> 134 <dependency> 135 <groupId>com.drewnoakes</groupId> 136 <artifactId>metadata-extractor</artifactId> 137 <scope>compile</scope> 138 </dependency> 139 <dependency> 140 <groupId>com.formdev</groupId> 141 <artifactId>svgSalamander</artifactId> 142 <scope>compile</scope> 143 </dependency> 144 <dependency> 145 <groupId>ch.poole</groupId> 146 <artifactId>OpeningHoursParser</artifactId> 147 <scope>compile</scope> 148 </dependency> 149 <!-- Don't forget to update org.openstreetmap.josm.tools.Tag2Link#PREF_SOURCE --> 150 <dependency> 151 <groupId>org.webjars.npm</groupId> 152 <artifactId>tag2link</artifactId> 153 <scope>compile</scope> 154 </dependency> 155 <dependency> 156 <groupId>org.jacoco</groupId> 157 <artifactId>org.jacoco.ant</artifactId> 158 </dependency> 159 <dependency> 160 <groupId>org.jmockit</groupId> 161 <artifactId>jmockit</artifactId> 162 </dependency> 163 <dependency> 164 <groupId>com.github.spotbugs</groupId> 165 <artifactId>spotbugs-annotations</artifactId> 166 </dependency> 167 <dependency> 168 <groupId>com.ginsberg</groupId> 169 <artifactId>junit5-system-exit</artifactId> 170 </dependency> 171 <dependency> 172 <groupId>org.wiremock</groupId> 173 <artifactId>wiremock</artifactId> 174 </dependency> 175 <dependency> 176 <groupId>io.github.classgraph</groupId> 177 <artifactId>classgraph</artifactId> 178 </dependency> 179 <dependency> 180 <groupId>org.junit.platform</groupId> 181 <artifactId>junit-platform-launcher</artifactId> 182 <scope>test</scope> 183 </dependency> 184 <dependency> 185 <groupId>org.junit.platform</groupId> 186 <artifactId>junit-platform-suite</artifactId> 187 <scope>test</scope> 188 </dependency> 189 <dependency> 190 <groupId>org.junit.vintage</groupId> 191 <artifactId>junit-vintage-engine</artifactId> 192 <scope>test</scope> 193 </dependency> 194 <dependency> 195 <groupId>org.junit.jupiter</groupId> 196 <artifactId>junit-jupiter-params</artifactId> 197 <scope>test</scope> 198 </dependency> 199 <dependency> 200 <groupId>org.junit.jupiter</groupId> 201 <artifactId>junit-jupiter-api</artifactId> 202 <scope>test</scope> 203 </dependency> 204 <dependency> 205 <groupId>org.junit.jupiter</groupId> 206 <artifactId>junit-jupiter-engine</artifactId> 207 <scope>test</scope> 208 </dependency> 209 <dependency> 210 <groupId>org.junit.jupiter</groupId> 211 <artifactId>junit-jupiter-migrationsupport</artifactId> 212 <scope>test</scope> 213 </dependency> 214 <dependency> 215 <groupId>net.trajano.commons</groupId> 216 <artifactId>commons-testing</artifactId> 217 </dependency> 218 <dependency> 219 <groupId>nl.jqno.equalsverifier</groupId> 220 <artifactId>equalsverifier</artifactId> 221 </dependency> 222 <dependency> 223 <groupId>org.apache.commons</groupId> 224 <artifactId>commons-lang3</artifactId> 225 </dependency> 226 <dependency> 227 <groupId>org.awaitility</groupId> 228 <artifactId>awaitility</artifactId> 229 </dependency> 230 </dependencies> 231 <build> 232 <sourceDirectory>${src.dir}</sourceDirectory> 233 <testSourceDirectory>${test.dir}/unit</testSourceDirectory> 234 <scriptSourceDirectory>${scripts.src.dir}</scriptSourceDirectory> 235 <resources> 236 <resource> 237 <directory>${resources.dir}</directory> 238 </resource> 239 <resource> 240 <directory>${project.basedir}</directory> 241 <includes> 242 <include>CONTRIBUTION</include> 243 <include>gpl-2.0.txt</include> 244 <include>gpl-3.0.txt</include> 245 <include>LICENSE</include> 246 <include>README</include> 247 <include>REVISION</include> 248 </includes> 249 </resource> 250 </resources> 251 <testResources> 252 <testResource> 253 <directory>${test.dir}/data</directory> 254 </testResource> 255 </testResources> 256 <plugins> 257 <!-- Generate sources --> 258 <plugin> 259 <groupId>org.codehaus.mojo</groupId> 260 <artifactId>javacc-maven-plugin</artifactId> 261 <executions> 262 <execution> 263 <id>javacc</id> 264 <goals> 265 <goal>javacc</goal> 266 </goals> 267 <configuration> 268 <debugParser>false</debugParser> 269 <debugTokenManager>false</debugTokenManager> 270 <jdkVersion>${java.lang.version}</jdkVersion> 271 <grammarEncoding>UTF-8</grammarEncoding> 272 <unicodeInput>true</unicodeInput> 273 <sourceDirectory>${src.dir}</sourceDirectory> 274 <outputDirectory>${src.dir}</outputDirectory> 275 <includes><include>**/MapCSSParser.jj</include></includes> 276 <excludes><exclude>**/*.java</exclude></excludes> 277 </configuration> 278 </execution> 279 </executions> 280 </plugin> 281 <!-- Update proj, epsg, etc. --> 282 <plugin> 283 <groupId>org.codehaus.mojo</groupId> 284 <artifactId>exec-maven-plugin</artifactId> 285 <executions> 286 <!-- mvn test-compile && mvn exec:java@update-proj-reference-files --> 287 <execution> 288 <id>update-proj-reference-files</id> 289 <configuration> 290 <classpathScope>test</classpathScope> 291 <mainClass>org.openstreetmap.josm.data.projection.ProjectionRefTest</mainClass> 292 </configuration> 293 <goals> 294 <goal>java</goal> 295 </goals> 296 </execution> 297 <!-- mvn test-compile && mvn exec:java@update-proj-regression-files --> 298 <execution> 299 <id>update-proj-regression-files</id> 300 <configuration> 301 <classpathScope>test</classpathScope> 302 <mainClass>org.openstreetmap.josm.data.projection.ProjectionRegressionTest</mainClass> 303 </configuration> 304 <goals> 305 <goal>java</goal> 306 </goals> 307 </execution> 308 <!-- mvn compile && mvn exec:java@SyncEditorLayerIndex --> 309 <execution> 310 <id>SyncEditorLayerIndex</id> 311 <configuration> 312 <executable>java</executable> 313 <arguments> 314 <argument>-Djava.awt.headless=true</argument> 315 <argument>-classpath</argument> 316 <classpath/> <!-- Generates the actual classpath using all project dependencies --> 317 <argument>${scripts.src.dir}/SyncEditorLayerIndex.java</argument> 318 <argument>${basedir}</argument> 319 </arguments> 320 <!-- We need commons-lang3, which isn't needed elsewhere in core (besides a test or two) --> 321 <classpathScope>test</classpathScope> 322 </configuration> 323 <goals> 324 <goal>exec</goal> 325 </goals> 326 </execution> 327 <!-- Note that the epsg-touch/epsg executions are NOT duplicates - the first epsg makes an empty file for the 328 next run, which makes a non-empty custom-epsg file --> 329 <execution> 330 <id>epsg-touch</id> 331 <configuration> 332 <executable>java</executable> 333 <arguments> 334 <argument>-Djava.awt.headless=true</argument> 335 <argument>-classpath</argument> 336 <classpath/> <!-- Generates the actual classpath using all project dependencies --> 337 <argument>${basedir}/scripts/BuildProjectionDefinitions.java</argument> 338 <argument>${basedir}</argument> 339 </arguments> 340 </configuration> 341 <phase>process-classes</phase> 342 <goals> 343 <goal>exec</goal> 344 </goals> 345 </execution> 346 <execution> 347 <id>epsg</id> 348 <configuration> 349 <executable>java</executable> 350 <arguments> 351 <argument>-Djava.awt.headless=true</argument> 352 <argument>-classpath</argument> 353 <classpath/> <!-- Generates the actual classpath using all project dependencies --> 354 <argument>${basedir}/scripts/BuildProjectionDefinitions.java</argument> 355 <argument>${basedir}</argument> 356 </arguments> 357 </configuration> 358 <phase>generate-test-resources</phase> 359 <goals> 360 <goal>exec</goal> 361 </goals> 362 </execution> 363 </executions> 364 </plugin> 365 <plugin> 366 <!-- This *must* be after the exec-maven-plugin since the epsg execution must occur first --> 367 <artifactId>maven-resources-plugin</artifactId> 368 <executions> 369 <!-- Note that the copy-resources-{epsg-touch,epsg} executions are NOT duplicates - the first epsg makes an 370 empty file for the next run, which makes a non-empty custom-epsg file --> 371 <execution> 372 <id>copy-resources-epsg-touch</id> 373 <phase>process-classes</phase> 374 <goals> 375 <goal>copy-resources</goal> 376 </goals> 377 <configuration> 378 <outputDirectory>${project.build.outputDirectory}/data/projection</outputDirectory> 379 <resources> 380 <resource> 381 <directory>${resources.dir}/data/projection/</directory> 382 <includes> 383 <include>custom-epsg</include> 384 </includes> 385 </resource> 386 </resources> 387 </configuration> 388 </execution> 389 <execution> 390 <id>copy-resources-epsg</id> 391 <phase>generate-test-resources</phase> 392 <goals> 393 <goal>copy-resources</goal> 394 </goals> 395 <configuration> 396 <outputDirectory>${project.build.outputDirectory}/data/projection</outputDirectory> 397 <resources> 398 <resource> 399 <directory>${resources.dir}/data/projection/</directory> 400 <includes> 401 <include>custom-epsg</include> 402 </includes> 403 </resource> 404 </resources> 405 </configuration> 406 </execution> 407 </executions> 408 </plugin> 409 <!-- Configure checkstyle/pmd/other lint plugins --> 410 <plugin> 411 <groupId>org.apache.maven.plugins</groupId> 412 <artifactId>maven-pmd-plugin</artifactId> 413 <configuration> 414 <analysisCache>true</analysisCache> 415 <analysisCacheLocation>${pmd.dir}/cache</analysisCacheLocation> 416 <language>java</language> 417 <targetJdk>${java.lang.version}</targetJdk> 418 <rulesets> 419 <ruleset>${pmd.dir}/josm-ruleset.xml</ruleset> 420 </rulesets> 421 <includes> 422 <include>**/*.java</include> 423 </includes> 424 <excludes> 425 <exclude>org/openstreetmap/josm/gui/mappaint/mapcss/parsergen/*.java</exclude> 426 </excludes> 427 <printFailingErrors>true</printFailingErrors> 428 <targetDirectory>${project.basedir}</targetDirectory> 429 </configuration> 430 </plugin> 431 <plugin> 432 <groupId>com.github.spotbugs</groupId> 433 <artifactId>spotbugs-maven-plugin</artifactId> 434 <configuration> 435 <xmlOutput>true</xmlOutput> 436 <spotbugsXmlOutputFilename>spotbugs-josm.xml</spotbugsXmlOutputFilename> 437 <effort>max</effort> 438 <excludeFilterFile>${spotbugs.dir}/josm-filter.xml</excludeFilterFile> 439 <onlyAnalyze>org.openstreetmap.josm.-</onlyAnalyze> 440 <threshold>LOW</threshold> 441 </configuration> 442 <!-- This is commented out until all the current bugs are fixed. TODO uncomment! 443 <executions> 444 <execution> 445 <id>validate</id> 446 <phase>validate</phase> 447 <goals> 448 <goal>check</goal> 449 </goals> 450 </execution> 451 </executions> 452 --> 453 </plugin> 454 <plugin> 455 <groupId>org.apache.maven.plugins</groupId> 456 <artifactId>maven-checkstyle-plugin</artifactId> 457 <configuration> 458 <configLocation>${checkstyle.dir}/josm_checks.xml</configLocation> 459 <includeTestSourceDirectory>true</includeTestSourceDirectory> 460 <outputFile>${project.basedir}/checkstyle-josm.xml</outputFile> 461 <!-- checkstyle cannot parse module-info.java yet --> 462 <excludes>module-info.java,org/openstreetmap/josm/gui/mappaint/mapcss/parsergen/*.java</excludes> 463 </configuration> 464 <executions> 465 <execution> 466 <id>validate</id> 467 <phase>validate</phase> 468 <goals> 469 <goal>check</goal> 470 </goals> 471 </execution> 472 </executions> 473 </plugin> 474 <!-- Configure the test plugin, specifically enable autodetection of global extensions --> 475 <plugin> 476 <artifactId>maven-surefire-plugin</artifactId> 477 <configuration> 478 <excludes> 479 <exclude>**/*TestIT</exclude> 480 </excludes> 481 <skipAfterFailureCount>1</skipAfterFailureCount> 482 <argLine>-javaagent:${test.dir}/lib/jmockit.jar</argLine> 483 <properties> 484 <configurationParameters> 485 file.encoding = UTF-8 486 java.locale.providers = SPI,CLDR 487 junit.jupiter.extensions.autodetection.enabled = true 488 junit.jupiter.execution.parallel.enabled = true 489 </configurationParameters> 490 </properties> 491 <systemPropertyVariables> 492 <josm.home>${test.dir}/config/josm.home</josm.home> 493 <josm.test.data>${test.dir}/data</josm.test.data> 494 <java.awt.headless>${test.headless}</java.awt.headless> 495 <glass.platform>Monocle</glass.platform> 496 <monocle.platform>Headless</monocle.platform> 497 <prism.order>sw</prism.order> 498 </systemPropertyVariables> 499 </configuration> 500 <executions> 501 <execution> 502 <id>default-tests</id> 503 <phase>test</phase> 504 <goals> 505 <goal>test</goal> 506 </goals> 507 </execution> 508 <execution> 509 <id>integration-tests</id> 510 <phase>integration-test</phase> 511 <goals> 512 <goal>test</goal> 513 </goals> 514 <configuration> 515 <includes>**/*TestIT</includes> 516 </configuration> 517 </execution> 518 <execution> 519 <id>functional-tests</id> 520 <phase>integration-test</phase> 521 <goals> 522 <goal>test</goal> 523 </goals> 524 <configuration> 525 <testSourceDirectory>${test.dir}/functional</testSourceDirectory> 526 </configuration> 527 </execution> 528 <execution> 529 <id>performance-tests</id> 530 <phase>integration-test</phase> 531 <goals> 532 <goal>test</goal> 533 </goals> 534 <configuration> 535 <testSourceDirectory>${test.dir}/performance</testSourceDirectory> 536 </configuration> 537 </execution> 538 </executions> 539 </plugin> 540 <!-- the clean plugin is needed since we currently store generated sources in the source directory --> 541 <plugin> 542 <groupId>org.apache.maven.plugins</groupId> 543 <artifactId>maven-clean-plugin</artifactId> 544 <configuration> 545 <filesets> 546 <fileset> 547 <directory>${proj-build.dir}</directory> 548 </fileset> 549 <fileset> 550 <directory>${build.dir}</directory> 551 </fileset> 552 <fileset> 553 <directory>${script-build.dir}</directory> 554 </fileset> 555 <fileset> 556 <directory>${checkstyle-build.dir}</directory> 557 </fileset> 558 <fileset> 559 <directory>${dist.dir}</directory> 560 </fileset> 561 <fileset> 562 <directory>${mapcss.dir}/parsergen</directory> 563 </fileset> 564 <fileset> 565 <directory>${src.dir}/org/w3/_2001/xmlschema</directory> 566 <includes> 567 <include>Adapter1.java</include> 568 </includes> 569 </fileset> 570 <fileset> 571 <directory>${src.dir}/org/openstreetmap/josm/data/imagery/types</directory> 572 </fileset> 573 <!-- ${epsg.output} --> 574 <fileset> 575 <directory>${resources.dir}/data/projection/</directory> 576 <includes> 577 <include>custom-epsg</include> 578 </includes> 579 </fileset> 580 <fileset> 581 <directory>${pmd.dir}</directory> 582 <includes> 583 <include>cache</include> 584 </includes> 585 </fileset> 586 </filesets> 587 </configuration> 588 </plugin> 589 <plugin> 590 <groupId>org.codehaus.mojo</groupId> 591 <artifactId>buildnumber-maven-plugin</artifactId> 592 <executions> 593 <execution> 594 <phase>validate</phase> 595 <goals> 596 <goal>create</goal> 597 </goals> 598 </execution> 599 </executions> 600 <configuration> 601 <doCheck>false</doCheck> 602 </configuration> 603 </plugin> 604 <plugin> 605 <groupId>org.apache.maven.plugins</groupId> 606 <artifactId>maven-shade-plugin</artifactId> 607 <executions> 608 <execution> 609 <phase>package</phase> 610 <goals> 611 <goal>shade</goal> 612 </goals> 613 <configuration> 614 <!-- TODO: Do we want to minimize the jar? <minimizeJar>true</minimizeJar> --> 615 <filters> 616 <filter> 617 <artifact>*:*</artifact> 618 <excludes> 619 <!--<exclude>META-INF/*</exclude> 620 <exclude>META-INF/versions/**</exclude> 621 <exclude>*</exclude>--> 622 <exclude>META-INF/maven/**</exclude> 623 </excludes> 624 </filter> 625 <filter> 626 <artifact>org.webjars.npm:tag2link</artifact> 627 <excludes> 628 <exclude>META-INF/resources/webjars/tag2link/*/LICENSE</exclude> 629 <exclude>META-INF/resources/webjars/tag2link/*/README.md</exclude> 630 <exclude>META-INF/resources/webjars/tag2link/*/build.js</exclude> 631 <exclude>META-INF/resources/webjars/tag2link/*/package.json</exclude> 632 <exclude>META-INF/resources/webjars/tag2link/*/schema.json</exclude> 633 <exclude>META-INF/resources/webjars/tag2link/*/tag2link.sophox.sparql</exclude> 634 <exclude>META-INF/resources/webjars/tag2link/*/tag2link.wikidata.sparql</exclude> 635 </excludes> 636 </filter> 637 <filter> 638 <artifact>org.openstreetmap.jmapviewer:jmapviewer</artifact> 639 <excludes> 640 <exclude>org/openstreetmap/gui/jmapviewer/Demo*</exclude> 641 </excludes> 642 </filter> 643 <filter> 644 <artifact>com.drewnoakes:metadata-extractor</artifact> 645 <excludes> 646 <exclude>com/drew/imaging/FileTypeDetector*</exclude> 647 <exclude>com/drew/imaging/ImageMetadataReader*</exclude> 648 <exclude>com/drew/imaging/avi/**</exclude> 649 <exclude>com/drew/imaging/bmp/**</exclude> 650 <exclude>com/drew/imaging/eps/**</exclude> 651 <exclude>com/drew/imaging/gif/**</exclude> 652 <exclude>com/drew/imaging/heif/**</exclude> 653 <exclude>com/drew/imaging/ico/**</exclude> 654 <exclude>com/drew/imaging/mp3/**</exclude> 655 <exclude>com/drew/imaging/mp4/**</exclude> 656 <exclude>com/drew/imaging/pcx/**</exclude> 657 <exclude>com/drew/imaging/psd/**</exclude> 658 <exclude>com/drew/imaging/quicktime/**</exclude> 659 <exclude>com/drew/imaging/raf/**</exclude> 660 <exclude>com/drew/imaging/riff/**</exclude> 661 <exclude>com/drew/imaging/wav/**</exclude> 662 <exclude>com/drew/imaging/webp/**</exclude> 663 <exclude>com/drew/metadata/avi/**</exclude> 664 <exclude>com/drew/metadata/bmp/**</exclude> 665 <exclude>com/drew/metadata/eps/**</exclude> 666 <exclude>com/drew/metadata/gif/**</exclude> 667 <exclude>com/drew/metadata/heif/**</exclude> 668 <exclude>com/drew/metadata/ico/**</exclude> 669 <exclude>com/drew/metadata/mov/**</exclude> 670 <exclude>com/drew/metadata/mp3/**</exclude> 671 <exclude>com/drew/metadata/mp4/**</exclude> 672 <exclude>com/drew/metadata/pcx/**</exclude> 673 <exclude>com/drew/metadata/wav/**</exclude> 674 <exclude>com/drew/metadata/webp/**</exclude> 675 <exclude>com/drew/tools/**</exclude> 676 </excludes> 677 </filter> 678 <filter> 679 <artifact>com.formdev:svgSalamander</artifact> 680 <excludes> 681 <exclude>com/kitfox/svg/app/ant/**</exclude> 682 <exclude>com/kitfox/svg/app/*Dialog*</exclude> 683 <exclude>com/kitfox/svg/app/*Frame*</exclude> 684 <exclude>com/kitfox/svg/app/*Player*</exclude> 685 <exclude>com/kitfox/svg/app/*Viewer*</exclude> 686 </excludes> 687 </filter> 688 <filter> 689 <artifact>org.apache.commons:commons-compress</artifact> 690 <excludes> 691 <exclude>org/apache/commons/compress/PasswordRequiredException*</exclude> 692 <exclude>org/apache/commons/compress/archivers/**</exclude> 693 <exclude>org/apache/commons/compress/changes/**</exclude> 694 <exclude>org/apache/commons/compress/compressors/bzip2/BZip2Utils*</exclude> 695 <exclude>org/apache/commons/compress/compressors/brotli/**</exclude> 696 <exclude>org/apache/commons/compress/compressors/CompressorStreamFactory*</exclude> 697 <exclude>org/apache/commons/compress/compressors/CompressorStreamProvider*</exclude> 698 <exclude>org/apache/commons/compress/compressors/CompressorException*</exclude> 699 <exclude>org/apache/commons/compress/compressors/FileNameUtil*</exclude> 700 <exclude>org/apache/commons/compress/compressors/deflate/**</exclude> 701 <exclude>org/apache/commons/compress/compressors/gzip/**</exclude> 702 <exclude>org/apache/commons/compress/compressors/lz4/**</exclude> 703 <exclude>org/apache/commons/compress/compressors/lzma/**</exclude> 704 <exclude>org/apache/commons/compress/compressors/lz77support/**</exclude> 705 <exclude>org/apache/commons/compress/compressors/pack200/**</exclude> 706 <exclude>org/apache/commons/compress/compressors/snappy/**</exclude> 707 <exclude>org/apache/commons/compress/compressors/xz/XZUtils*</exclude> 708 <exclude>org/apache/commons/compress/compressors/z/**</exclude> 709 <exclude>org/apache/commons/compress/compressors/zstandard/**</exclude> 710 <exclude>org/apache/commons/compress/java/util/jar/Pack200*</exclude> 711 <exclude>org/apache/commons/compress/harmony/pack200/**</exclude> 712 <exclude>org/apache/commons/compress/harmony/unpack200/**</exclude> 713 <exclude>org/apache/commons/compress/parallel/**</exclude> 714 <exclude>org/apache/commons/compress/utils/ArchiveUtils*</exclude> 715 </excludes> 716 </filter> 717 <filter> 718 <artifact>org.apache.commons:commons-jcs3-core</artifact> 719 <excludes> 720 <exclude>org/apache/commons/jcs3/auxiliary/disk/jdbc/**</exclude> 721 <exclude>org/apache/commons/jcs3/auxiliary/remote/http/client/**</exclude> 722 <exclude>org/apache/commons/jcs3/auxiliary/remote/http/server/RemoteHttpCacheServlet*</exclude> 723 <exclude>org/apache/commons/jcs3/auxiliary/remote/server/RemoteCacheStartupServlet*</exclude> 724 <exclude>org/apache/commons/jcs3/log/Log4j2Factory*</exclude> 725 <exclude>org/apache/commons/jcs3/log/Log4j2LogAdapter*</exclude> 726 <exclude>org/apache/commons/jcs3/utils/servlet/**</exclude> 727 </excludes> 728 </filter> 729 </filters> 730 </configuration> 731 </execution> 732 </executions> 733 </plugin> 734 <plugin> 735 <groupId>org.apache.maven.plugins</groupId> 736 <artifactId>maven-jar-plugin</artifactId> 737 <configuration> 738 <archive> 739 <manifest> 740 <mainClass>org.openstreetmap.josm.gui.MainApplication</mainClass> 741 <addDefaultImplementationEntries>true</addDefaultImplementationEntries> 742 <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> 743 </manifest> 744 <manifestEntries> 745 <Main-Version>${buildNumber} SVN</Main-Version> 746 <!-- The default timestamp format is milliseconds since epoch --> 747 <Main-Date>${timestamp}</Main-Date> 748 <Permissions>all-permissions</Permissions> 749 <Codebase>josm.openstreetmap.de</Codebase> 750 <Application-Name>JOSM - Java OpenStreetMap Editor</Application-Name> 751 <Add-Exports>java.base/sun.security.action java.desktop/com.apple.eawt java.desktop/com.sun.imageio.spi java.desktop/com.sun.imageio.plugins.jpeg javafx.graphics/com.sun.javafx.application jdk.deploy/com.sun.deploy.config</Add-Exports> 752 <Add-Opens>java.base/java.lang java.base/java.nio java.base/jdk.internal.loader java.base/jdk.internal.ref java.desktop/javax.imageio.spi java.desktop/javax.swing.text.html java.prefs/java.util.prefs</Add-Opens> 753 <Multi-Release>true</Multi-Release> 754 <Is-Local-Build>true</Is-Local-Build> 755 <foobar>${somthing.not.here}</foobar> 756 </manifestEntries> 757 </archive> 758 </configuration> 759 </plugin> 760 </plugins> 761 </build> 762 </project> -
new file core/test/pom.xml
IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 diff --git a/core/test/pom.xml b/core/test/pom.xml new file mode 100644
- + 1 <?xml version="1.0"?> 2 <project xmlns="http://maven.apache.org/POM/4.0.0"> 3 <modelVersion>4.0.0</modelVersion> 4 <artifactId>josm-unittest</artifactId> 5 <version>1.0-SNAPSHOT</version> 6 7 <parent> 8 <groupId>org.openstreetmap.josm</groupId> 9 <artifactId>josm-parent</artifactId> 10 <version>1.0-SNAPSHOT</version> 11 <relativePath>../pom.xml</relativePath> 12 </parent> 13 <properties> 14 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 15 </properties> 16 <dependencies> 17 <dependency> 18 <groupId>org.openstreetmap.josm</groupId> 19 <artifactId>josm</artifactId> 20 <version>1.0-SNAPSHOT</version> 21 <scope>provided</scope> 22 </dependency> 23 <dependency> 24 <groupId>org.jmockit</groupId> 25 <artifactId>jmockit</artifactId> 26 <scope>compile</scope> 27 </dependency> 28 <dependency> 29 <groupId>com.github.spotbugs</groupId> 30 <artifactId>spotbugs-annotations</artifactId> 31 <scope>compile</scope> 32 </dependency> 33 <dependency> 34 <groupId>com.ginsberg</groupId> 35 <artifactId>junit5-system-exit</artifactId> 36 <scope>compile</scope> 37 </dependency> 38 <dependency> 39 <groupId>org.wiremock</groupId> 40 <artifactId>wiremock</artifactId> 41 <scope>compile</scope> 42 </dependency> 43 <dependency> 44 <groupId>io.github.classgraph</groupId> 45 <artifactId>classgraph</artifactId> 46 <scope>compile</scope> 47 </dependency> 48 <dependency> 49 <groupId>org.junit.platform</groupId> 50 <artifactId>junit-platform-launcher</artifactId> 51 <scope>compile</scope> 52 </dependency> 53 <dependency> 54 <groupId>org.junit.platform</groupId> 55 <artifactId>junit-platform-suite</artifactId> 56 <scope>compile</scope> 57 </dependency> 58 <dependency> 59 <groupId>org.junit.vintage</groupId> 60 <artifactId>junit-vintage-engine</artifactId> 61 <scope>compile</scope> 62 </dependency> 63 <dependency> 64 <groupId>org.junit.jupiter</groupId> 65 <artifactId>junit-jupiter-params</artifactId> 66 <scope>compile</scope> 67 </dependency> 68 <dependency> 69 <groupId>org.junit.jupiter</groupId> 70 <artifactId>junit-jupiter-api</artifactId> 71 <scope>compile</scope> 72 </dependency> 73 <dependency> 74 <groupId>org.junit.jupiter</groupId> 75 <artifactId>junit-jupiter-engine</artifactId> 76 <scope>compile</scope> 77 </dependency> 78 <dependency> 79 <groupId>org.junit.jupiter</groupId> 80 <artifactId>junit-jupiter-migrationsupport</artifactId> 81 <scope>compile</scope> 82 </dependency> 83 <dependency> 84 <groupId>net.trajano.commons</groupId> 85 <artifactId>commons-testing</artifactId> 86 <scope>compile</scope> 87 </dependency> 88 <dependency> 89 <groupId>nl.jqno.equalsverifier</groupId> 90 <artifactId>equalsverifier</artifactId> 91 <scope>compile</scope> 92 </dependency> 93 <dependency> 94 <groupId>org.apache.commons</groupId> 95 <artifactId>commons-lang3</artifactId> 96 <scope>compile</scope> 97 </dependency> 98 <dependency> 99 <groupId>org.awaitility</groupId> 100 <artifactId>awaitility</artifactId> 101 <scope>compile</scope> 102 </dependency> 103 </dependencies> 104 105 <build> 106 <sourceDirectory>${project.basedir}/unit</sourceDirectory> 107 <resources> 108 <resource> 109 <directory>${project.basedir}/data</directory> 110 </resource> 111 </resources> 112 </build> 113 </project> 114 No newline at end of file -
new file plugins/pom.xml
IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 diff --git a/plugins/pom.xml b/plugins/pom.xml new file mode 100644
- + 1 <?xml version="1.0"?> 2 <project xmlns="http://maven.apache.org/POM/4.0.0"> 3 <modelVersion>4.0.0</modelVersion> 4 <groupId>org.openstreetmap.josm.plugins</groupId> 5 <artifactId>plugin-root</artifactId> 6 <version>1.0-SNAPSHOT</version> 7 8 <parent> 9 <groupId>org.openstreetmap.josm</groupId> 10 <artifactId>josm-parent</artifactId> 11 <version>1.0-SNAPSHOT</version> 12 <relativePath>../core/pom.xml</relativePath> 13 </parent> 14 15 <name>JOSM Plugins</name> 16 <url>https://josm.openstreetmap.de</url> 17 <properties> 18 <josm>../../core/dist/josm-custom.jar</josm> 19 <josm.test.build.dir>../../core/test/build</josm.test.build.dir> 20 <plugin.tools.dir>../00_tools</plugin.tools.dir> 21 <plugin.build.dir>build</plugin.build.dir> 22 <plugin.test.dir>test</plugin.test.dir> 23 <plugin.test.data.dir>${plugin.test.dir}/data</plugin.test.data.dir> 24 <plugin.test.src.dir>${plugin.test.dir}/unit</plugin.test.src.dir> 25 <plugin.src.dir>src</plugin.src.dir> 26 <!-- most plugins default to resource directories in root, e.g. ./data, ./images, ./resources --> 27 <plugin.resources.dir>${project.basedir}</plugin.resources.dir> 28 <plugin.doc.dir>javadoc</plugin.doc.dir> 29 <plugin.lib.dir>lib</plugin.lib.dir> 30 <!-- this is the directory where the plugin jar is copied to --> 31 <plugin.dist.dir>../../dist</plugin.dist.dir> 32 <javadoc.executable>javadoc</javadoc.executable> 33 <manifest>MANIFEST</manifest> 34 <manifest.unixoid>MANIFEST-unixoid</manifest.unixoid> 35 <manifest.windows>MANIFEST-windows</manifest.windows> 36 <manifest.osx>MANIFEST-osx</manifest.osx> 37 <plugin.compile.version>1.0-SNAPSHOT</plugin.compile.version> 38 <plugin.jar>${project.name}.jar</plugin.jar> 39 <plugin.unixoid.jar>${project.name}-unixoid.jar</plugin.unixoid.jar> 40 <plugin.windows.jar>${project.name}-windows.jar</plugin.windows.jar> 41 <plugin.osx.jar>${project.name}-osx.jar</plugin.osx.jar> 42 <plugin.sources.jar>${project.name}-sources.jar</plugin.sources.jar> 43 <plugin.javadoc.jar>${project.name}-javadoc.jar</plugin.javadoc.jar> 44 <jacoco.inclbootstrapclasses>false</jacoco.inclbootstrapclasses> 45 <jacoco.inclnolocationclasses>false</jacoco.inclnolocationclasses> 46 <junit.printsummary>on</junit.printsummary> 47 </properties> 48 <packaging>pom</packaging> 49 <inceptionYear>2005</inceptionYear> 50 <licenses> 51 <license> 52 <name>GPL-2.0-or-later</name> 53 <url>https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html</url> 54 <distribution>repo</distribution> 55 </license> 56 </licenses> 57 <organization> 58 <name>JOSM</name> 59 <url>https://josm.openstreetmap.de</url> 60 </organization> 61 <scm> 62 <connection>scm:svn:https://josm.openstreetmap.de/svn/trunk</connection> 63 <url>https://josm.openstreetmap.de/browser/josm/trunk</url> 64 </scm> 65 <issueManagement> 66 <system>Trac</system> 67 <url>https://josm.openstreetmap.de</url> 68 </issueManagement> 69 <mailingLists> 70 <mailingList> 71 <name>josm-dev</name> 72 <archive>https://lists.openstreetmap.org/pipermail/josm-dev/</archive> 73 <post>josm-dev@openstreetmap.org</post> 74 </mailingList> 75 </mailingLists> 76 <modules> 77 <module>../core</module> 78 <module>apache-commons</module> 79 <module>apache-http</module> 80 </modules> 81 <dependencies> 82 <dependency> 83 <groupId>org.openstreetmap.josm</groupId> 84 <artifactId>josm</artifactId> 85 <version>${plugin.compile.version}</version> 86 <scope>provided</scope> 87 </dependency> 88 </dependencies> 89 <dependencyManagement> 90 <dependencies> 91 <dependency> 92 <groupId>org.openstreetmap.josm</groupId> 93 <artifactId>josm-unittest</artifactId> 94 <version>1.0-SNAPSHOT</version> 95 <scope>test</scope> 96 </dependency> 97 </dependencies> 98 </dependencyManagement> 99 <build> 100 <sourceDirectory>${plugin.src.dir}</sourceDirectory> 101 <testSourceDirectory>${plugin.test.src.dir}</testSourceDirectory> 102 <resources> 103 <resource> 104 <directory>${plugin.resources.dir}/data</directory> 105 <targetPath>data</targetPath> 106 </resource> 107 <resource> 108 <directory>${plugin.resources.dir}/images</directory> 109 <targetPath>images</targetPath> 110 </resource> 111 <resource> 112 <directory>${plugin.resources.dir}/resources</directory> 113 <targetPath>resources</targetPath> 114 </resource> 115 </resources> 116 <testResources> 117 <testResource> 118 <directory>${plugin.test.data.dir}</directory> 119 </testResource> 120 </testResources> 121 <pluginManagement> 122 <plugins> 123 <!-- Configure checkstyle/pmd/other lint plugins --> 124 <plugin> 125 <groupId>com.github.spotbugs</groupId> 126 <artifactId>spotbugs-maven-plugin</artifactId> 127 <version>4.8.1.0</version> 128 <configuration> 129 <xmlOutput>true</xmlOutput> 130 <spotbugsXmlOutputFilename>spotbugs-josm.xml</spotbugsXmlOutputFilename> 131 <effort>max</effort> 132 <excludeFilterFile>${spotbugs.dir}/josm-filter.xml</excludeFilterFile> 133 <onlyAnalyze>org.openstreetmap.josm.-</onlyAnalyze> 134 <threshold>LOW</threshold> 135 </configuration> 136 <!-- This is commented out until all the current bugs are fixed. TODO uncomment! 137 <executions> 138 <execution> 139 <id>validate</id> 140 <phase>validate</phase> 141 <goals> 142 <goal>check</goal> 143 </goals> 144 </execution> 145 </executions> 146 --> 147 </plugin> 148 <plugin> 149 <groupId>org.apache.maven.plugins</groupId> 150 <artifactId>maven-checkstyle-plugin</artifactId> 151 <version>3.3.1</version> 152 <configuration> 153 <configLocation>${project.basedir}/../checkstyle-config.xml</configLocation> 154 <includeTestSourceDirectory>true</includeTestSourceDirectory> 155 <outputFile>${project.basedir}/checkstyle-josm-${project.name}.xml</outputFile> 156 <!-- checkstyle cannot parse module-info.java yet --> 157 <excludes>module-info.java</excludes> 158 </configuration> 159 <executions> 160 <execution> 161 <id>validate</id> 162 <phase>validate</phase> 163 <goals> 164 <goal>check</goal> 165 </goals> 166 </execution> 167 </executions> 168 </plugin> 169 <!-- Configure the test plugin, specifically enable autodetection of global extensions --> 170 <plugin> 171 <artifactId>maven-surefire-plugin</artifactId> 172 <version>3.2.5</version> 173 <configuration> 174 <skipAfterFailureCount>1</skipAfterFailureCount> 175 <argLine>-javaagent:"${settings.localRepository}"/org/jmockit/jmockit/${jmockit.version}/jmockit-${jmockit.version}.jar</argLine> 176 <properties> 177 <configurationParameters> 178 file.encoding = UTF-8 179 java.locale.providers = SPI,CLDR 180 junit.jupiter.extensions.autodetection.enabled = true 181 junit.jupiter.execution.parallel.enabled = true 182 </configurationParameters> 183 </properties> 184 <systemPropertyVariables> 185 <josm.home>${plugin.test.dir}/config/josm.home</josm.home> 186 <josm.test.data>${plugin.test.data.dir}</josm.test.data> 187 <java.awt.headless>${test.headless}</java.awt.headless> 188 <glass.platform>Monocle</glass.platform> 189 <monocle.platform>Headless</monocle.platform> 190 <prism.order>sw</prism.order> 191 </systemPropertyVariables> 192 </configuration> 193 </plugin> 194 <!-- the clean plugin is needed since we currently store generated sources in the source directory --> 195 <plugin> 196 <groupId>org.apache.maven.plugins</groupId> 197 <artifactId>maven-clean-plugin</artifactId> 198 <version>3.3.2</version> 199 <configuration> 200 <filesets> 201 <fileset> 202 <directory>${plugin.build.dir}</directory> 203 </fileset> 204 <fileset> 205 <directory>${plugin.dist.dir}</directory> 206 <includes> 207 <include>${plugin.jar}</include> 208 <include>${plugin.unixoid.jar}</include> 209 <include>${plugin.windows.jar}</include> 210 <include>${plugin.osx.jar}</include> 211 <include>${plugin.sources.jar}</include> 212 <include>${plugin.javadoc.jar}</include> 213 </includes> 214 </fileset> 215 <fileset> 216 <directory>${project.basedir}</directory> 217 <includes> 218 <include>checkstyle-josm-${project.name}.xml</include> 219 </includes> 220 </fileset> 221 </filesets> 222 </configuration> 223 </plugin> 224 <plugin> 225 <groupId>com.diffplug.spotless</groupId> 226 <artifactId>spotless-maven-plugin</artifactId> 227 <version>2.43.0</version> 228 <configuration> 229 <java> 230 <eclipse> 231 <version>4.21.0</version> 232 <file>${project.basedir}/../00_core_tools/eclipse/formatter.xml</file> 233 </eclipse> 234 <removeUnusedImports/> 235 <licenseHeader> 236 <content>// License: GPL. For details, see LICENSE file.</content> 237 </licenseHeader> 238 </java> 239 </configuration> 240 <executions> 241 <execution> 242 <goals> 243 <goal>check</goal> 244 </goals> 245 </execution> 246 </executions> 247 </plugin> 248 <plugin> 249 <groupId>org.apache.maven.plugins</groupId> 250 <artifactId>maven-shade-plugin</artifactId> 251 <version>3.5.3</version> 252 <executions> 253 <execution> 254 <phase>package</phase> 255 <goals> 256 <goal>shade</goal> 257 </goals> 258 </execution> 259 </executions> 260 </plugin> 261 <plugin> 262 <groupId>org.apache.maven.plugins</groupId> 263 <artifactId>maven-jar-plugin</artifactId> 264 <configuration> 265 <archive> 266 <manifestEntries> 267 <!-- For full documentation, see https://josm.openstreetmap.de/wiki/DevelopersGuide/DevelopingPlugins#ThemanifestfileforaJOSMplugin --> 268 <Plugin-Mainversion>${plugin.main.version}</Plugin-Mainversion> 269 <Plugin-Version>${project.version}</Plugin-Version> 270 <Plugin-Class>${plugin.class}</Plugin-Class> 271 <Plugin-Description>${plugin.description}</Plugin-Description> 272 <Author>${plugin.author}</Author> 273 <Plugin-Minimum-Java-Version>${plugin.minimum.java.version}</Plugin-Minimum-Java-Version> 274 <!-- plugin.platform must be `Windows`, `Osx`, or `Unixoid` --> 275 <Plugin-Platform>${plugin.platform}</Plugin-Platform> 276 <Plugin-Provides>${plugin.provides}</Plugin-Provides> 277 <Plugin-Date>${maven.build.timestamp}</Plugin-Date> 278 <Plugin-Early>${plugin.early}</Plugin-Early> 279 <Plugin-Link>${plugin.link}</Plugin-Link> 280 <Plugin-Icon>${plugin.icon}</Plugin-Icon> 281 <Plugin-Requires>${plugin.requires}</Plugin-Requires> 282 <Plugin-Canloadatruntime>${plugin.canloadatruntime}</Plugin-Canloadatruntime> 283 <Class-Path>${plugin.classpath}</Class-Path> 284 <!-- Additional entries: <xxx>_Plugin-Url (doesn't work well with xml) and <lang>_Plugin_Description --> 285 </manifestEntries> 286 </archive> 287 </configuration> 288 </plugin> 289 </plugins> 290 </pluginManagement> 291 </build> 292 </project>