代码拉取完成,页面将自动刷新
<?xml version="1.0" encoding="UTF-8"?>
<!-- =======================================================================
Maven Project Configuration File
The Geotools Project
http://www.geotools.org/
Version: $Id$
======================================================================= -->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!-- =========================================================== -->
<!-- Project Description -->
<!-- =========================================================== -->
<groupId>org.geotools</groupId>
<artifactId>geotools</artifactId>
<version>32-SNAPSHOT</version>
<packaging>pom</packaging>
<name>GeoTools</name>
<description>Welcome to the homepage of the GeoTools build process
In the left side bar you should see a list of active modules,
visit each for more details on the status of each module.</description>
<inceptionYear>1996</inceptionYear>
<organization>
<name>Geotools</name>
<url>http://www.geotools.org</url>
</organization>
<licenses>
<license>
<name>Lesser General Public License (LGPL)</name>
<url>http://www.gnu.org/copyleft/lesser.txt</url>
<distribution>repo</distribution>
</license>
</licenses>
<!-- =========================================================== -->
<!-- Developers and Contributors -->
<!-- TODO: Change this to the PMC list -->
<!-- =========================================================== -->
<developers>
<developer>
<id>jmacgill</id>
<name>James Macgill</name>
<email>jmacgill@users.sourceforge.net</email>
<organization>Google</organization>
<roles>
<role>Exhalted Leader</role>
<role>Java Developer</role>
<role>Project Management Committee (PMC) Member</role>
</roles>
</developer>
<developer>
<id>ianturton</id>
<name>Ian Turton</name>
<email>ianturton@users.sourceforge.net</email>
<organization>Astun Technology</organization>
<roles>
<role>Java Developer</role>
<role>Project Management Committee (PMC) Member</role>
</roles>
</developer>
<developer>
<id>robhranac</id>
<name>Rob Hranac</name>
<email>robhranac@users.sourceforge.net</email>
<organization>VFNY</organization>
<roles>
<role>Java Developer</role>
<role>Project Management Committee (PMC) Member</role>
</roles>
</developer>
<developer>
<id>camerons</id>
<name>Cameron Shorter</name>
<email>cameronsl@users.sourceforge.net</email>
<roles>
<role>Java Developer</role>
<role>Project Management Committee (PMC) Member</role>
</roles>
</developer>
<developer>
<id>cholmesny</id>
<name>Chris Holmes</name>
<email>cholmesny@users.sourceforge.net</email>
<organization>TOPP</organization>
<roles>
<role>Java Developer</role>
<role>Project Management Committee (PMC) Member</role>
</roles>
</developer>
<developer>
<id>desruisseaux</id>
<name>Martin Desruisseaux</name>
<email>desruisseaux@users.sourceforge.net</email>
<organization>Geomatys</organization>
<organizationUrl>http://www.geomatys.fr/</organizationUrl>
<roles>
<role>Java Developer</role>
<role>Project Management Committee (PMC) Member</role>
</roles>
<timezone>+1</timezone>
</developer>
<developer>
<id>ianschne</id>
<name>Ian Schneider</name>
<email>ianschne@users.sourceforge.net</email>
<organization>USDA ARS</organization>
<roles>
<role>Java Developer</role>
<role>Project Management Committee (PMC) Member</role>
</roles>
</developer>
<developer>
<id>aaime</id>
<name>Andrea Aime</name>
<email>aaime@users.sourceforge.net</email>
<organization>University of Modena and Reggio Emilia</organization>
<roles>
<role>Java Developer</role>
<role>Project Management Committee (PMC) Member</role>
</roles>
</developer>
<developer>
<id>kobit</id>
<name>Artur Hefczyc</name>
<email>kobit@users.sourceforge.net</email>
<roles>
<role>Java Developer</role>
<role>Project Management Committee (PMC) Member</role>
</roles>
</developer>
<developer>
<id>jodygarnett</id>
<name>Jody Garnett</name>
<email>jody.garnett@gmail.com</email>
<organization>GeoCat B.V.</organization>
<organizationUrl>https://www.geocat.net</organizationUrl>
<roles>
<role>Java Developer</role>
<role>Module Maintainer</role>
<role>Project Management Committee (PMC) Member</role>
</roles>
<!-- America/Vancouver -->
<timezone>-8</timezone>
</developer>
<developer>
<id>jdeolive</id>
<name>Justin Deoliveira</name>
<email>jdeolive@users.sourceforge.net</email>
<organization>Refractions Research</organization>
<roles>
<role>Java Developer</role>
<role>Module Maintainer</role>
</roles>
</developer>
<developer>
<id>rgould</id>
<name>Richard Gould</name>
<email>rgould@refractions.net</email>
<organization>Refractions Research, Inc.</organization>
<roles>
<role>Java Developer</role>
<role>Module Maintainer</role>
<role>Project Management Committee (PMC) Member</role>
</roles>
</developer>
<developer>
<id>mauricio.pazos</id>
<name>Mauricio Pazos</name>
<email>mauricio.pazos@axios.es</email>
<organization>Axios</organization>
<roles>
<role>Java Developer</role>
<role>Module Maintainer</role>
</roles>
</developer>
<developer>
<id>ckl</id>
<name>Christiaan ten Klooster</name>
<email>ckl@dacelo.nl</email>
<organization>Dacelo</organization>
<roles>
<role>Java Developer</role>
</roles>
</developer>
<developer>
<id>groldan</id>
<name>Gabriel Roldan</name>
<email>groldan@users.sourceforge.net</email>
<organization>TOPP</organization>
<roles>
<role>Java Developer</role>
<role>Module Maintainer</role>
</roles>
</developer>
<developer>
<id>seangeo</id>
<name>Sean Geoghegan</name>
<email>sean.geoghegan@dsto.defence.gov.au</email>
<organization>Defence Science and Technology Organisation</organization>
<roles>
<role>Java Developer</role>
<role>Module Maintainer</role>
</roles>
</developer>
<developer>
<id>jjray</id>
<name>Julian Ray</name>
<email>jjray@users.sourceforge.net</email>
<roles>
<role>Module Maintainer</role>
<role>Java Developer</role>
</roles>
</developer>
<developer>
<id>dledmonds</id>
<name>Darren Edmonds</name>
<email>dledmonds@users.sourceforge.net</email>
<roles>
<role>Module Maintainer</role>
<role>Java Developer</role>
</roles>
</developer>
<developer>
<id>omyar</id>
<name>Ray Gallagher</name>
<email>omyar@users.sourceforge.net</email>
<roles>
<role>Java Developer</role>
</roles>
</developer>
<developer>
<name>Jianhui Jin</name>
<organization>CCG</organization>
<roles>
<role>Java Developer</role>
</roles>
</developer>
<developer>
<id>shepshep</id>
<name>Gary Sheppard</name>
<email>garysheppard@psu.edu</email>
<organization>Penn State GeoVISTA Center</organization>
<roles>
<role>Java Developer</role>
</roles>
</developer>
<developer>
<name>Simon Rass</name>
<roles>
<role>Bug Fixer</role>
</roles>
</developer>
<developer>
<id>dmzwiers</id>
<name>David Zwiers</name>
<email>dzwiers@refractions.net</email>
<roles>
<role>Java Developer</role>
</roles>
</developer>
<developer>
<id>sploreg</id>
<name>Brent Owens</name>
<email>sploreg@users.sourceforge.net</email>
<roles>
<role>Java Developer</role>
<role>Module Maintainer</role>
</roles>
</developer>
<developer>
<id>rschulz</id>
<name>Rueben Schulz</name>
<organization>University of British Columbia</organization>
<roles>
<role>Tester</role>
<role>Documentation</role>
<role>Java Developer</role>
</roles>
</developer>
<developer>
<id>simboss</id>
<name>Simone Giannecchini</name>
<email>simboss1@gmail.com</email>
<organization></organization>
<roles>
<role>Java Developer</role>
<role>Documentation</role>
<role>Module Maintainer</role>
</roles>
</developer>
<developer>
<id>lpercich</id>
<name>Luca Sigfrido Percich</name>
<email>luca.percich@ama-mi.it</email>
<organization>AMA-MI</organization>
<roles>
<role>Java Developer</role>
<role>Module Maintainer</role>
</roles>
</developer>
<developer>
<id>lmoran</id>
<name>Luca Morandini</name>
<email>lmorandini@ieee.org</email>
<organization></organization>
<roles>
<role>Java Developer</role>
<role>Module Maintainer</role>
</roles>
</developer>
<developer>
<id>mprins</id>
<name>Mark Prins</name>
<email>mprins@users.sf.net</email>
<organization>B3Partners BV</organization>
<organizationUrl>https://b3partners.nl/</organizationUrl>
<roles>
<role>Java Developer</role>
</roles>
<timezone>+1</timezone>
</developer>
</developers>
<contributors></contributors>
<mailingLists>
<mailingList>
<name>geotools-gt2-users</name>
<subscribe>http://lists.sourceforge.net/lists/listinfo/geotools-gt2-users</subscribe>
<post>geotools-geotools-gt2-users@lists.sourceforge.net</post>
<archive>http://sourceforge.net/p/geotools/mailman/geotools-gt2-users/</archive>
</mailingList>
<mailingList>
<name>geotools-devel</name>
<subscribe>http://lists.sourceforge.net/lists/listinfo/geotools-devel</subscribe>
<post>geotools-devel@lists.sourceforge.net</post>
<archive>http://sourceforge.net/p/geotools/mailman/geotools-devel/</archive>
</mailingList>
<mailingList>
<name>geotools-gt2-commits</name>
<subscribe>https://lists.sourceforge.net/lists/listinfo/geotools-commits</subscribe>
<post>geotools-geotools-gt2-commits@lists.sourceforge.net</post>
<archive>http://sourceforge.net/p/geotools/mailman/geotools-commits/</archive>
</mailingList>
</mailingLists>
<!-- =========================================================== -->
<!-- Modules for the build in approximate dependency order -->
<!-- =========================================================== -->
<modules>
<module>build</module>
<module>modules</module>
<module>release</module>
</modules>
<scm>
<connection>scm:git:git://github.com/geotools/geotools.git</connection>
<developerConnection>scm:git:[fetch=]git://github.com/geotools/geotools.git[push=]git@github.com:geotools/geotools.git</developerConnection>
<url>https://github.com/geotools/geotools</url>
</scm>
<!-- =========================================================== -->
<!-- Issue managements and mailing lists. -->
<!-- =========================================================== -->
<issueManagement>
<system>JIRA</system>
<url>https://osgeo-org.atlassian.net/projects/GEOT</url>
</issueManagement>
<!-- =========================================================== -->
<!-- Continuous Integration -->
<!-- =========================================================== -->
<ciManagement>
<system>jenkins</system>
<url>http://ares.opengeo.org/jenkins/view/geotools/</url>
</ciManagement>
<distributionManagement>
<repository>
<uniqueVersion>false</uniqueVersion>
<id>nexus</id>
<name>OSGeo Release Repository</name>
<url>https://repo.osgeo.org/repository/geotools-releases/</url>
</repository>
<snapshotRepository>
<uniqueVersion>false</uniqueVersion>
<id>nexus</id>
<name>OSGeo Snapshot Repository</name>
<url>https://repo.osgeo.org/repository/geotools-snapshots/</url>
</snapshotRepository>
</distributionManagement>
<!-- =========================================================== -->
<!-- Properties and Profiles -->
<!-- modify the build process in certain conditions. -->
<!-- -->
<!-- Available properties are: -->
<!-- -->
<!-- -Dall build all the usual suspects the -->
<!-- core library with any unsupported -->
<!-- modules or example code used by the -->
<!-- build box. -->
<!-- -->
<!-- -Dqa Enable all quality control profiles -->
<!-- -->
<!-- Available profiles are: -->
<!-- -->
<!-- docs include docs -->
<!-- -->
<!-- pending Includes modules that are pending -->
<!-- -->
<!-- extensive.tests Performs more extensive tests than -->
<!-- the default. Only a few modules -->
<!-- check for this profile. -->
<!-- -->
<!-- interactive.tests Allows tests to show up dialogs -->
<!-- -->
<!-- skip.image.tests Allows excluding comparison tests -->
<!-- -->
<!-- interactive.image Image comparison will show -->
<!-- comparison dialogs (image.tests -->
<!-- must be set to true) -->
<!-- -->
<!-- site.build The main purpose of this build is to -->
<!-- create reports. Consequently, a -->
<!-- JUnit test failure will not stop the -->
<!-- build. The failure should be -->
<!-- reported by the surefire report -->
<!-- plugin. -->
<!-- -->
<!-- online Profile to activate tests which end -->
<!-- in "OnlineTest.java -->
<!-- -->
<!-- stress Profile to activate tests which end -->
<!-- in "StressTest.java" -->
<!-- -->
<!-- dependencycheck Profile to check dependency versions -->
<!-- -->
<!-- Example: -->
<!-- mvn install -Dall -->
<!-- mvn eclipse:eclipse -Dall -->
<!-- mvn -P docs install -->
<!-- mvn -P extensive.tests install -->
<!-- mvn -P online,stress install -->
<!-- mvn -P site.build site -->
<!-- -->
<!-- While you can specify properties one at a time on the -->
<!-- command line, for properties describing your -->
<!-- environment you will want to modify settings.xml -->
<!-- -->
<!-- Note that profiles like "site.build" are not mandatory -->
<!-- for using the "site" goal. Such profiles just modify -->
<!-- the build process prior the "site" goal execution in a -->
<!-- manner relevant to the purpose of the "site" goal. -->
<!-- =========================================================== -->
<properties>
<!-- build configuration -->
<build.timestamp>${maven.build.timestamp}</build.timestamp>
<fork.javac>false</fork.javac>
<git.commit.runOnlyOnce>true</git.commit.runOnlyOnce>
<git.commit.useNative>false</git.commit.useNative>
<javac.maxHeapSize>256M</javac.maxHeapSize>
<javac.version>9+181-r4173-1</javac.version>
<maven.build.timestamp.format>dd-MMM-yyyy HH:mm</maven.build.timestamp.format>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<series>latest</series>
<!-- dependency management -->
<batik.version>1.17</batik.version>
<commons-beanutils.version>1.9.2</commons-beanutils.version>
<db2.jdbc.version>11.5.9.0</db2.jdbc.version>
<eclipse.emf.version>2.15.0</eclipse.emf.version>
<elasticsearch.version>7.14.0</elasticsearch.version>
<imageio.ext.version>1.4.9</imageio.ext.version>
<informix.jdbc.version>4.50.7.1</informix.jdbc.version>
<jackson2.databind.version>2.15.2</jackson2.databind.version>
<jackson2.version>2.15.2</jackson2.version>
<jaiext.version>1.1.25</jaiext.version>
<javax.activation-api.version>1.2.0</javax.activation-api.version>
<jaxb.api.version>2.4.0-b180830.0359</jaxb.api.version>
<jaxb.runtime.version>2.4.0-b180830.0438</jaxb.runtime.version>
<jt.version>1.6.0</jt.version>
<jtds.jdbc.version>1.3.1</jtds.jdbc.version>
<jts.version>1.19.0</jts.version>
<log4j2.version>2.17.2</log4j2.version>
<logback.version>1.3.12</logback.version>
<mockito.core.version>5.6.0</mockito.core.version>
<mssql-jdbc.version>9.4.0.jre8</mssql-jdbc.version>
<mysql-connector-java.version>8.0.28</mysql-connector-java.version>
<netcdf.version>4.6.15</netcdf.version>
<ojdbc8.version>19.18.0.0</ojdbc8.version>
<postgresql.jdbc.version>42.7.2</postgresql.jdbc.version>
<reload4j.version>1.2.19</reload4j.version>
<sl4j.version>1.7.32</sl4j.version>
<solrj.version>8.9.0</solrj.version>
<!-- javadoc configuration -->
<javadoc.maxHeapSize>1536M</javadoc.maxHeapSize>
<maven.javadoc.plugin.version>3.0.1</maven.javadoc.plugin.version>
<!-- surefire configuration -->
<allow.test.failure.ignore>false</allow.test.failure.ignore>
<allow.test.skip>true</allow.test.skip>
<argLine></argLine>
<extensive.tests>false</extensive.tests>
<interactive.image>false</interactive.image>
<interactive.tests>false</interactive.tests>
<java.awt.headless>true</java.awt.headless>
<jvm.opts></jvm.opts>
<lint>deprecation,unchecked</lint>
<logging-profile>quiet-logging</logging-profile>
<online.skip.pattern>**/*OnlineTest.java</online.skip.pattern>
<skip.image.tests>false</skip.image.tests>
<src.output>${basedir}/target</src.output>
<stress.skip.pattern>**/*StressTest.java</stress.skip.pattern>
<sun.java2d.d3d>true</sun.java2d.d3d>
<test.args></test.args>
<test.exclude.pattern>disabled</test.exclude.pattern>
<test.forkMode>once</test.forkMode>
<test.maxHeapSize>256M</test.maxHeapSize>
<test.otherJVMParams></test.otherJVMParams>
<!-- qa configuration -->
<checkstyle.excludes>**/generated/**/*</checkstyle.excludes>
<checkstyle.file>checkstyle.xml</checkstyle.file>
<checkstyle.skip>false</checkstyle.skip>
<errorProne.version>2.18.0</errorProne.version>
<errorProneFlags></errorProneFlags>
<jacoco.version>0.8.7</jacoco.version>
<lint>deprecation,unchecked</lint>
<maven.jacoco.plugin.version>0.8.10</maven.jacoco.plugin.version>
<maven.pmd.plugin.version>3.20.0</maven.pmd.plugin.version>
<pmd.skip>false</pmd.skip>
<pmd.version>6.55.0</pmd.version>
<pom.fmt.action>sort</pom.fmt.action>
<pom.fmt.skip>${spotless.apply.skip}</pom.fmt.skip>
<qa>false</qa>
<spotbugs.skip>false</spotbugs.skip>
<spotless.action>apply</spotless.action>
<spotless.apply.skip>false</spotless.apply.skip>
</properties>
<!-- =========================================================== -->
<!-- Dependency Management -->
<!-- If a POM declares one of those dependencies, then it -->
<!-- will use the version specified here. Otherwise, those -->
<!-- dependencies are ignored. -->
<!-- =========================================================== -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>systems.uom</groupId>
<artifactId>systems-common</artifactId>
<version>2.1</version>
<exclusions>
<exclusion>
<groupId>tech.units</groupId>
<artifactId>indriya</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>tech.units</groupId>
<artifactId>indriya</artifactId>
<version>2.1.3</version>
</dependency>
<dependency>
<groupId>javax.measure</groupId>
<artifactId>unit-api</artifactId>
<version>2.1.3</version>
</dependency>
<!-- Java Advanced Imaging (JAI) -->
<dependency>
<groupId>javax.media</groupId>
<artifactId>jai_core</artifactId>
<version>1.1.3</version>
</dependency>
<dependency>
<groupId>javax.media</groupId>
<artifactId>jai_codec</artifactId>
<version>1.1.3</version>
</dependency>
<dependency>
<groupId>javax.media</groupId>
<artifactId>jai_imageio</artifactId>
<version>1.1</version>
</dependency>
<!-- ImageIO-Ext -->
<dependency>
<groupId>it.geosolutions.imageio-ext</groupId>
<artifactId>imageio-ext-tiff</artifactId>
<version>${imageio.ext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.imageio-ext</groupId>
<artifactId>imageio-ext-arcgrid</artifactId>
<version>${imageio.ext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.imageio-ext</groupId>
<artifactId>imageio-ext-gdalarcbinarygrid</artifactId>
<version>${imageio.ext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.imageio-ext</groupId>
<artifactId>imageio-ext-gdalmrsid</artifactId>
<version>${imageio.ext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.imageio-ext</groupId>
<artifactId>imageio-ext-gdalecw</artifactId>
<version>${imageio.ext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.imageio-ext</groupId>
<artifactId>imageio-ext-gdaldted</artifactId>
<version>${imageio.ext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.imageio-ext</groupId>
<artifactId>imageio-ext-gdalkakadujp2</artifactId>
<version>${imageio.ext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.imageio-ext</groupId>
<artifactId>imageio-ext-gdalidrisi</artifactId>
<version>${imageio.ext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.imageio-ext</groupId>
<artifactId>imageio-ext-gdalmrsidjp2</artifactId>
<version>${imageio.ext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.imageio-ext</groupId>
<artifactId>imageio-ext-gdalecwjp2</artifactId>
<version>${imageio.ext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.imageio-ext</groupId>
<artifactId>imageio-ext-gdalehdr</artifactId>
<version>${imageio.ext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.imageio-ext</groupId>
<artifactId>imageio-ext-gdalenvihdr</artifactId>
<version>${imageio.ext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.imageio-ext</groupId>
<artifactId>imageio-ext-gdalerdasimg</artifactId>
<version>${imageio.ext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.imageio-ext</groupId>
<artifactId>imageio-ext-gdalnitf</artifactId>
<version>${imageio.ext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.imageio-ext</groupId>
<artifactId>imageio-ext-gdalrpftoc</artifactId>
<version>${imageio.ext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.imageio-ext</groupId>
<artifactId>imageio-ext-gdalvrt</artifactId>
<version>${imageio.ext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.imageio-ext</groupId>
<artifactId>imageio-ext-gdalsrp</artifactId>
<version>${imageio.ext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.imageio-ext</groupId>
<artifactId>imageio-ext-imagereadmt</artifactId>
<version>${imageio.ext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.imageio-ext</groupId>
<artifactId>imageio-ext-kakadu</artifactId>
<version>${imageio.ext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.imageio-ext</groupId>
<artifactId>imageio-ext-utilities</artifactId>
<version>${imageio.ext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.imageio-ext</groupId>
<artifactId>imageio-ext-streams</artifactId>
<version>${imageio.ext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.imageio-ext</groupId>
<artifactId>imageio-ext-netcdf</artifactId>
<version>${imageio.ext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.imageio-ext</groupId>
<artifactId>imageio-ext-geocore</artifactId>
<version>${imageio.ext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.imageio-ext</groupId>
<artifactId>imageio-ext-hdf4</artifactId>
<version>${imageio.ext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.imageio-ext</groupId>
<artifactId>imageio-ext-grib1</artifactId>
<version>${imageio.ext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.imageio-ext</groupId>
<artifactId>imageio-ext-png</artifactId>
<version>${imageio.ext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.imageio-ext</groupId>
<artifactId>imageio-ext-cog-reader</artifactId>
<version>${imageio.ext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.imageio-ext</groupId>
<artifactId>imageio-ext-cog-streams</artifactId>
<version>${imageio.ext.version}</version>
</dependency>
<!-- JAITools -->
<dependency>
<groupId>org.jaitools</groupId>
<artifactId>jt-utils</artifactId>
<version>${jt.version}</version>
</dependency>
<dependency>
<groupId>org.jaitools</groupId>
<artifactId>jt-vectorbinarize</artifactId>
<version>${jt.version}</version>
</dependency>
<dependency>
<groupId>org.jaitools</groupId>
<artifactId>jt-zonalstats</artifactId>
<version>${jt.version}</version>
</dependency>
<!-- JAXB -->
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>${jaxb.api.version}</version>
</dependency>
<dependency>
<groupId>javax.activation</groupId>
<artifactId>javax.activation-api</artifactId>
<version>${javax.activation-api.version}</version>
</dependency>
<!-- Mathematic, geometries, SVG... -->
<dependency>
<groupId>org.ejml</groupId>
<artifactId>ejml-ddense</artifactId>
<version>0.41</version>
</dependency>
<dependency>
<groupId>org.locationtech.jts</groupId>
<artifactId>jts-core</artifactId>
<version>${jts.version}</version>
</dependency>
<dependency>
<groupId>org.locationtech.jts</groupId>
<artifactId>jts-example</artifactId>
<version>${jts.version}</version>
</dependency>
<dependency>
<groupId>org.locationtech.spatial4j</groupId>
<artifactId>spatial4j</artifactId>
<version>0.8</version>
</dependency>
<dependency>
<groupId>com.github.davidmoten</groupId>
<artifactId>geo</artifactId>
<version>0.7.7</version>
</dependency>
<dependency>
<groupId>org.wkb4j</groupId>
<artifactId>wkb4j</artifactId>
<version>1.0-RC1</version>
</dependency>
<dependency>
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>batik-transcoder</artifactId>
<version>${batik.version}</version>
</dependency>
<dependency>
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>batik-codec</artifactId>
<version>${batik.version}</version>
</dependency>
<dependency>
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>batik-svggen</artifactId>
<version>${batik.version}</version>
</dependency>
<dependency>
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>batik-awt-util</artifactId>
<version>${batik.version}</version>
</dependency>
<dependency>
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>batik-rasterizer</artifactId>
<version>${batik.version}</version>
</dependency>
<dependency>
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>batik-dom</artifactId>
<version>${batik.version}</version>
<exclusions>
<exclusion>
<groupId>xml-apis</groupId>
<artifactId>xml-apis</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>batik-bridge</artifactId>
<version>${batik.version}</version>
</dependency>
<dependency>
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>batik-gvt</artifactId>
<version>${batik.version}</version>
</dependency>
<dependency>
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>batik-svg-dom</artifactId>
<version>${batik.version}</version>
</dependency>
<dependency>
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>batik-util</artifactId>
<version>${batik.version}</version>
</dependency>
<dependency>
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>batik-css</artifactId>
<version>${batik.version}</version>
</dependency>
<dependency>
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>batik-parser</artifactId>
<version>${batik.version}</version>
</dependency>
<dependency>
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>batik-xml</artifactId>
<version>${batik.version}</version>
</dependency>
<dependency>
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>batik-ext</artifactId>
<version>${batik.version}</version>
</dependency>
<dependency>
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>batik-script</artifactId>
<version>${batik.version}</version>
</dependency>
<dependency>
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>batik-anim</artifactId>
<version>${batik.version}</version>
</dependency>
<!-- Chart -->
<dependency>
<groupId>jfree</groupId>
<artifactId>eastwood</artifactId>
<version>1.1.1-20090908</version>
</dependency>
<!-- XML -->
<dependency>
<groupId>org.jdom</groupId>
<artifactId>jdom2</artifactId>
<version>2.0.6.1</version>
</dependency>
<dependency>
<groupId>jaxen</groupId>
<artifactId>jaxen</artifactId>
<version>1.1.6</version>
</dependency>
<!-- Apache -->
<dependency>
<groupId>oro</groupId>
<artifactId>oro</artifactId>
<version>2.0.8</version>
</dependency>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant</artifactId>
<version>1.10.12</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.14.0</version>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.2.2</version>
<!-- Updated for security (CVE-2015-8103) binary compatible with 3.1 -->
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>4.4</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-exec</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>commons-pool</groupId>
<artifactId>commons-pool</artifactId>
<version>1.5.4</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.12.0</version>
</dependency>
<dependency>
<groupId>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
<version>1.4</version>
</dependency>
<!-- replaces log4j:log4j -->
<dependency>
<groupId>ch.qos.reload4j</groupId>
<artifactId>reload4j</artifactId>
<version>${reload4j.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>${log4j2.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>${log4j2.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-jcl</artifactId>
<version>${log4j2.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>${log4j2.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${sl4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-jdk14</artifactId>
<version>${sl4j.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>${logback.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>${logback.version}</version>
</dependency>
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>1.9.4</version>
</dependency>
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.14</version>
</dependency>
<dependency>
<groupId>velocity</groupId>
<artifactId>velocity</artifactId>
<version>1.4</version>
</dependency>
<!-- Databases -->
<dependency>
<groupId>org.postgis</groupId>
<artifactId>postgis-driver</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>${postgresql.jdbc.version}</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql-connector-java.version}</version>
</dependency>
<dependency>
<groupId>com.ibm.informix</groupId>
<artifactId>jdbc</artifactId>
<version>${informix.jdbc.version}</version>
</dependency>
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>2.7.2</version>
</dependency>
<dependency>
<groupId>org.openplans</groupId>
<artifactId>spatialdb</artifactId>
<version>0.1</version>
</dependency>
<!-- ORACLE -->
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
<version>${ojdbc8.version}</version>
</dependency>
<!-- Older version required by imagemosaic -->
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc14</artifactId>
<version>10.2.0.3.0</version>
</dependency>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>sdoapi</artifactId>
<version>10.2.0</version>
</dependency>
<dependency>
<groupId>net.sourceforge.jtds</groupId>
<artifactId>jtds</artifactId>
<version>${jtds.jdbc.version}</version>
</dependency>
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>${mssql-jdbc.version}</version>
</dependency>
<dependency>
<groupId>com.ibm.db2</groupId>
<artifactId>jcc</artifactId>
<version>${db2.jdbc.version}</version>
</dependency>
<!-- H2 -->
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.1.119</version>
</dependency>
<!-- Grid data formats -->
<dependency>
<groupId>edu.ucar</groupId>
<artifactId>cdm</artifactId>
<version>${netcdf.version}</version>
</dependency>
<dependency>
<groupId>edu.ucar</groupId>
<artifactId>netcdf4</artifactId>
<version>${netcdf.version}</version>
</dependency>
<dependency>
<groupId>edu.ucar</groupId>
<artifactId>bufr</artifactId>
<version>${netcdf.version}</version>
</dependency>
<dependency>
<groupId>opendap</groupId>
<artifactId>opendap</artifactId>
<version>2.1</version>
</dependency>
<!-- EMF -->
<dependency>
<groupId>org.eclipse.emf</groupId>
<artifactId>org.eclipse.emf.common</artifactId>
<version>${eclipse.emf.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.emf</groupId>
<artifactId>org.eclipse.emf.ecore.xmi</artifactId>
<version>${eclipse.emf.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.emf</groupId>
<artifactId>org.eclipse.emf.ecore</artifactId>
<version>${eclipse.emf.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.xsd</groupId>
<artifactId>org.eclipse.xsd</artifactId>
<version>2.12.0</version>
</dependency>
<!-- Other random non test dependencies -->
<dependency>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache</artifactId>
<version>2.10.3</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>32.0.0-jre</version>
</dependency>
<!-- Quality control dependencies -->
<dependency>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs-annotations</artifactId>
<version>4.0.2</version>
</dependency>
<!-- Tests or legacy -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-library</artifactId>
<version>1.3</version>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-core</artifactId>
<version>1.3</version>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-all</artifactId>
<version>1.3</version>
</dependency>
<dependency>
<groupId>org.easymock</groupId>
<artifactId>easymock</artifactId>
<version>5.2.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.mockrunner</groupId>
<artifactId>mockrunner-jdbc</artifactId>
<version>2.0.6</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>simple-jndi</groupId>
<artifactId>simple-jndi</artifactId>
<version>0.11.4.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.xmlunit</groupId>
<artifactId>xmlunit-core</artifactId>
<version>2.9.1</version>
</dependency>
<dependency>
<groupId>org.xmlunit</groupId>
<artifactId>xmlunit-matchers</artifactId>
<version>2.9.1</version>
</dependency>
<dependency>
<groupId>com.jayway.jsonpath</groupId>
<artifactId>json-path</artifactId>
<version>2.9.0</version>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>${mockito.core.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-archiver</artifactId>
<version>2.2</version>
</dependency>
<!-- JAIExt -->
<dependency>
<groupId>it.geosolutions.jaiext.affine</groupId>
<artifactId>jt-affine</artifactId>
<version>${jaiext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.jaiext.algebra</groupId>
<artifactId>jt-algebra</artifactId>
<version>${jaiext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.jaiext.bandmerge</groupId>
<artifactId>jt-bandmerge</artifactId>
<version>${jaiext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.jaiext.bandselect</groupId>
<artifactId>jt-bandselect</artifactId>
<version>${jaiext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.jaiext.bandcombine</groupId>
<artifactId>jt-bandcombine</artifactId>
<version>${jaiext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.jaiext.border</groupId>
<artifactId>jt-border</artifactId>
<version>${jaiext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.jaiext.buffer</groupId>
<artifactId>jt-buffer</artifactId>
<version>${jaiext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.jaiext.crop</groupId>
<artifactId>jt-crop</artifactId>
<version>${jaiext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.jaiext.iterators</groupId>
<artifactId>jt-iterators</artifactId>
<version>${jaiext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.jaiext.lookup</groupId>
<artifactId>jt-lookup</artifactId>
<version>${jaiext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.jaiext.mosaic</groupId>
<artifactId>jt-mosaic</artifactId>
<version>${jaiext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.jaiext.nullop</groupId>
<artifactId>jt-nullop</artifactId>
<version>${jaiext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.jaiext.rescale</groupId>
<artifactId>jt-rescale</artifactId>
<version>${jaiext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.jaiext.scale</groupId>
<artifactId>jt-scale</artifactId>
<version>${jaiext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.jaiext.scale2</groupId>
<artifactId>jt-scale2</artifactId>
<version>${jaiext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.jaiext.stats</groupId>
<artifactId>jt-stats</artifactId>
<version>${jaiext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.jaiext.translate</groupId>
<artifactId>jt-translate</artifactId>
<version>${jaiext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.jaiext.utilities</groupId>
<artifactId>jt-utilities</artifactId>
<version>${jaiext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.jaiext.warp</groupId>
<artifactId>jt-warp</artifactId>
<version>${jaiext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.jaiext.zonal</groupId>
<artifactId>jt-zonal</artifactId>
<version>${jaiext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.jaiext.binarize</groupId>
<artifactId>jt-binarize</artifactId>
<version>${jaiext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.jaiext.format</groupId>
<artifactId>jt-format</artifactId>
<version>${jaiext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.jaiext.colorconvert</groupId>
<artifactId>jt-colorconvert</artifactId>
<version>${jaiext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.jaiext.errordiffusion</groupId>
<artifactId>jt-errordiffusion</artifactId>
<version>${jaiext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.jaiext.orderdither</groupId>
<artifactId>jt-orderdither</artifactId>
<version>${jaiext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.jaiext.colorindexer</groupId>
<artifactId>jt-colorindexer</artifactId>
<version>${jaiext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.jaiext.imagefunction</groupId>
<artifactId>jt-imagefunction</artifactId>
<version>${jaiext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.jaiext.piecewise</groupId>
<artifactId>jt-piecewise</artifactId>
<version>${jaiext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.jaiext.classifier</groupId>
<artifactId>jt-classifier</artifactId>
<version>${jaiext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.jaiext.rlookup</groupId>
<artifactId>jt-rlookup</artifactId>
<version>${jaiext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.jaiext.vectorbin</groupId>
<artifactId>jt-vectorbin</artifactId>
<version>${jaiext.version}</version>
</dependency>
<dependency>
<groupId>it.geosolutions.jaiext.shadedrelief</groupId>
<artifactId>jt-shadedrelief</artifactId>
<version>${jaiext.version}</version>
</dependency>
<!-- Third-party -->
<dependency>
<groupId>com.conversantmedia</groupId>
<artifactId>disruptor</artifactId>
<version>1.2.15</version>
</dependency>
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1.1</version>
<exclusions>
<!-- junit is carried over as a compile scope dependency, exclude it -->
<!-- see https://mvnrepository.com/artifact/com.googlecode.json-simple/json-simple/1.1.1 -->
<exclusion>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.xerial</groupId>
<artifactId>sqlite-jdbc</artifactId>
<version>3.41.2.2</version>
</dependency>
<dependency>
<groupId>org.apache.solr</groupId>
<artifactId>solr-solrj</artifactId>
<version>${solrj.version}</version>
</dependency>
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-client</artifactId>
<version>${elasticsearch.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson2.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson2.databind.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${jackson2.version}</version>
</dependency>
<dependency>
<groupId>no.ecc.vectortile</groupId>
<artifactId>java-vector-tile</artifactId>
<version>1.3.9</version>
</dependency>
<dependency>
<groupId>com.github.tomakehurst</groupId>
<artifactId>wiremock-jre8-standalone</artifactId>
<version>2.35.1</version>
</dependency>
</dependencies>
</dependencyManagement>
<!-- =========================================================== -->
<!-- Dependencies to be inherited by all modules. -->
<!-- =========================================================== -->
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<!-- The version number is specified above. -->
<scope>test</scope>
</dependency>
</dependencies>
<!-- ================================================================== -->
<!-- Repositories. This is where Maven looks for dependencies. The -->
<!-- Maven repository is implicit and doesn't need to be specified. -->
<!-- ================================================================== -->
<repositories>
<!-- Maven Central is assumed -->
<repository>
<releases>
<enabled>true</enabled>
</releases>
<!-- contains release (including third-party-dependences) -->
<!-- ucar (https://artifacts.unidata.ucar.edu/content/repositories/unidata-releases) -->
<!-- geosolutions (http://maven.geo-solutions.it/) -->
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>osgeo</id>
<name>OSGeo Nexus Release Repository</name>
<url>https://repo.osgeo.org/repository/release/</url>
</repository>
<repository>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
<id>osgeo-snapshot</id>
<name>OSGeo Nexus Snapshot Repository</name>
<url>https://repo.osgeo.org/repository/snapshot/</url>
</repository>
</repositories>
<!-- =========================================================== -->
<!-- Plugin repositories. -->
<!-- This is where Maven looks for plugin dependencies. -->
<!-- =========================================================== -->
<pluginRepositories>
<!-- Maven Central is assumed -->
<pluginRepository>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>osgeo</id>
<name>OSGeo Nexus Maven Repository</name>
<url>https://repo.osgeo.org/repository/release/</url>
</pluginRepository>
<pluginRepository>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
<id>osgeo-snapshot</id>
<name>OSGeo Nexus Maven Repository</name>
<url>https://repo.osgeo.org/repository/snapshot/</url>
</pluginRepository>
</pluginRepositories>
<!-- =========================================================== -->
<!-- Build Configuration -->
<!-- =========================================================== -->
<build>
<!-- ========================================================= -->
<!-- Maven plugins dependencies management. -->
<!-- It should not be needed since Maven select by default -->
<!-- the latest plugins. Unfortunately, experience shows that-->
<!-- new plugin releases sometime introduce new bugs that -->
<!-- break our build. So it is safer to specify plugin -->
<!-- versions that are known to work. This list is in -->
<!-- alphabetical order for easier comparison with latest -->
<!-- plugins at -->
<!-- https://repo1.maven.org/maven2 -->
<!-- ========================================================= -->
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.6.0</version>
</plugin>
<plugin>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.10</version>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${maven.jacoco.plugin.version}</version>
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${maven.javadoc.plugin.version}</version>
</plugin>
<plugin>
<artifactId>maven-plugin-plugin</artifactId>
<version>3.9.0</version>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
</plugin>
<plugin>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>3.3.0</version>
</plugin>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.3.1</version>
</plugin>
<plugin>
<artifactId>maven-enforcer-plugin</artifactId>
<version>3.4.1</version>
</plugin>
<plugin>
<artifactId>maven-install-plugin</artifactId>
<version>3.1.1</version>
</plugin>
<plugin>
<artifactId>maven-invoker-plugin</artifactId>
<version>3.6.0</version>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>3.1.1</version>
</plugin>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.4</version>
</plugin>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<version>3.1.2</version>
</plugin>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.6.0</version>
</plugin>
<plugin>
<groupId>com.ruleoftech</groupId>
<artifactId>markdown-page-generator-plugin</artifactId>
<version>2.4.0</version>
</plugin>
<plugin>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs-maven-plugin</artifactId>
<version>4.7.3.5</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.4.0</version>
<executions>
<execution>
<id>remove_gt_from_modulename</id>
<goals>
<goal>regex-property</goal>
</goals>
<configuration>
<name>moduleIdentifierStep1</name>
<value>${project.groupId}.${project.artifactId}</value>
<regex>gt-</regex>
<replacement></replacement>
<failIfNoMatch>false</failIfNoMatch>
</configuration>
</execution>
<execution>
<id>remove_dashes_from_modulename</id>
<goals>
<goal>regex-property</goal>
</goals>
<configuration>
<name>moduleIdentifier</name>
<value>${moduleIdentifierStep1}</value>
<regex>-</regex>
<replacement>_</replacement>
<failIfNoMatch>false</failIfNoMatch>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.commonjava.maven.plugins</groupId>
<artifactId>directory-maven-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<id>directories</id>
<goals>
<goal>highest-basedir</goal>
</goals>
<phase>initialize</phase>
<configuration>
<property>geotoolsBaseDir</property>
</configuration>
</execution>
</executions>
</plugin>
<!-- ======================================================= -->
<!-- Compilation. -->
<!-- ======================================================= -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.11.0</version>
<configuration>
<source>11</source>
<!-- The -source argument for the Java compiler. -->
<target>11</target>
<!-- The -target argument for the Java compiler. -->
<debug>true</debug>
<!-- Whether to include debugging information. -->
<encoding>UTF-8</encoding>
<!-- The -encoding argument for the Java compiler. -->
<fork>${fork.javac}</fork>
<maxmem>${javac.maxHeapSize}</maxmem>
<compilerArgs>
<arg>-Xlint:${lint}</arg>
</compilerArgs>
</configuration>
</plugin>
<!-- ======================================================= -->
<!-- Resources. -->
<!-- ======================================================= -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.3.1</version>
<inherited>false</inherited>
<configuration>
<encoding>UTF-8</encoding>
<outputDirectory>${basedir}/target</outputDirectory>
<resources>
<resource>
<filtering>true</filtering>
<directory>${basedir}</directory>
<includes>
<include>VERSION.txt</include>
</includes>
</resource>
</resources>
</configuration>
<executions>
<execution>
<id>copy-resources</id>
<goals>
<goal>copy-resources</goal>
</goals>
<phase>install</phase>
</execution>
</executions>
</plugin>
<!-- ======================================================= -->
<!-- Tests. -->
<!-- ======================================================= -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<runOrder>alphabetical</runOrder>
<includes>
<include>**/*Test.java</include>
</includes>
<excludes>
<exclude>${online.skip.pattern}</exclude>
<exclude>${stress.skip.pattern}</exclude>
<exclude>${test.exclude.pattern}</exclude>
</excludes>
<systemPropertyVariables>
<org.geotools.test.extensive>${extensive.tests}</org.geotools.test.extensive>
<org.geotools.test.interactive>${interactive.tests}</org.geotools.test.interactive>
<org.geotools.image.test.skip>${skip.image.tests}</org.geotools.image.test.skip>
<java.awt.headless>${java.awt.headless}</java.awt.headless>
<sun.java2d.d3d>${sun.java2d.d3d}</sun.java2d.d3d>
<java.io.tmpdir>${java.io.tmpdir}</java.io.tmpdir>
<java.util.logging.config.file>${geotoolsBaseDir}/${logging-profile}.properties</java.util.logging.config.file>
<java.util.logging.SimpleFormatter.format>%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS %4$-7s [%3$s] %5$s%6$s%n</java.util.logging.SimpleFormatter.format>
</systemPropertyVariables>
<!-- Use systemPropertyVariables @{argLine} late subtitution for jacoco params injection in surefire-->
<argLine>@{argLine} -Xmx${test.maxHeapSize} ${jvm.opts} -Dfile.encoding=UTF-8 -Djava.library.path="${java.library.path}" ${test.args} -XX:+TieredCompilation -XX:TieredStopAtLevel=1 -XX:ReservedCodeCacheSize=240m -XX:+IgnoreUnrecognizedVMOptions -XX:-OmitStackTraceInFastThrow --add-exports=java.desktop/sun.awt.image=ALL-UNNAMED ${test.otherJVMParams}</argLine>
<!-- Ignores test failure only if we are generating a -->
<!-- report for publication on the web site. See the -->
<!-- profiles section at the beginning of this pom.xml file. -->
<testFailureIgnore>${allow.test.failure.ignore}</testFailureIgnore>
<!-- The two following options have the opposite value of what we would
like. They are that way because they don't seem to work as expected
with Surefire 2.3. TODO: Try again when Surefire 2.4 will be available. -->
<!-- Option to print summary of test suites or just print the test cases that has errors. -->
<printSummary>true</printSummary>
<!-- Redirect the unit test standard output to a file. -->
<redirectTestOutputToFile>false</redirectTestOutputToFile>
<forkMode>${test.forkMode}</forkMode>
<trimStackTrace>false</trimStackTrace>
</configuration>
</plugin>
<!-- ======================================================= -->
<!-- JAR packaging. -->
<!-- ======================================================= -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.3.0</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
</manifest>
<manifestEntries>
<Project-Version>${project.version}</Project-Version>
<Git-Revision>${build.commit.id}</Git-Revision>
<Build-Timestamp>${build.timestamp}</Build-Timestamp>
<Automatic-Module-Name>${moduleIdentifier}</Automatic-Module-Name>
</manifestEntries>
</archive>
</configuration>
</plugin>
<!-- ======================================================= -->
<!-- Source packaging. -->
<!-- ======================================================= -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.3.0</version>
<inherited>true</inherited>
<configuration>
<attach>true</attach>
</configuration>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- ======================================================= -->
<!-- Git revision info. -->
<!-- ======================================================= -->
<plugin>
<groupId>pl.project13.maven</groupId>
<artifactId>git-commit-id-plugin</artifactId>
<version>2.2.5</version>
<configuration>
<prefix>build</prefix>
<failOnNoGitDirectory>false</failOnNoGitDirectory>
<!-- needed for filtering with VERSION.txt -->
<skipPoms>false</skipPoms>
<verbose>false</verbose>
<gitDescribe>
<!-- the git describe step is expensive, we don't need it -->
<skip>true</skip>
</gitDescribe>
<injectAllReactorProjects>true</injectAllReactorProjects>
<runOnlyOnce>${git.commit.runOnlyOnce}</runOnlyOnce>
<!--
In order to use native git (3+ times faster) add the following in ~/.m2/settings.xml
<profiles>
<profile>
<id>gitNative</id>
<properties>
<git.commit.useNative>true</git.commit.useNative>
</properties>
</profile>
<profiles>
<activeProfiles>
<activeProfile>gitNative</activeProfile>
</activeProfiles>
-->
<useNativeGit>${git.commit.useNative}</useNativeGit>
</configuration>
<executions>
<execution>
<goals>
<goal>revision</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- ======================================================= -->
<!-- Javadoc generation. -->
<!-- -->
<!-- Notes: -->
<!-- Do NOT link source code, because it duplicates -->
<!-- jxr-maven-plugin. -->
<!-- -->
<!-- <sourcepath/> and <subpackages/> elements do not -->
<!-- seem to work with aggregated javadoc. -->
<!-- -->
<!-- ======================================================= -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<source>11</source>
<!-- Specifies whether or not the version text is included.-->
<version>false</version>
<!-- Omit qualifying package name before class names in output.-->
<noqualifier>all</noqualifier>
<!-- Shuts off non-error and non-warning messages.-->
<quiet>true</quiet>
<!-- The maximum Java heap size to be used to run javadoc. -->
<maxmemory>${javadoc.maxHeapSize}</maxmemory>
<!-- Specifies the encoding name of the source files.-->
<encoding>UTF-8</encoding>
<!-- Set an additional parameter for the command line. -->
<additionalparam>-keywords -Xdoclint:none</additionalparam>
<additionalJOption>-Xdoclint:none</additionalJOption>
<breakiterator>true</breakiterator>
<excludePackageNames>org.geotools.resources:org.geotools.maven:com:net.opengis:org.w3:javax:it.geosolutions</excludePackageNames>
<!-- Enables the Javadoc tool to interpret a simple, one-argument -->
<!-- custom block tag tagname in doc comments. Note: <placement/> -->
<!-- should be a combination of the letters Xaoptcmf. -->
<tags>
<tag>
<name>todo</name>
<placement>a</placement>
<head>TODO:</head>
</tag>
<tag>
<name>todo:</name>
<placement>a</placement>
<head>TODO:</head>
</tag>
<tag>
<name>TODO</name>
<placement>a</placement>
<head>TODO:</head>
</tag>
<tag>
<name>task</name>
<placement>tfmc</placement>
<head>TODO:</head>
</tag>
<tag>
<name>revisit</name>
<placement>tfmc</placement>
<head>TODO:</head>
</tag>
<tag>
<name>generated</name>
<placement>Xt</placement>
<head>Generated</head>
</tag>
<tag>
<name>UML</name>
<placement>a</placement>
<head>UML:</head>
</tag>
<tag>
<name>uml.property</name>
<placement>a</placement>
<head>UML property:</head>
</tag>
<tag>
<name>generated</name>
<placement>X</placement>
</tag>
</tags>
<!-- Creates links to existing javadoc-generated -->
<!-- documentation of external referenced classes. -->
<links>
<link>http://docs.oracle.com/javase/8/docs/api/</link>
<link>https://javaee.github.io/javaee-spec/javadocs/</link>
<link>https://locationtech.github.io/jts/javadoc/</link>
</links>
<!-- Separates packages on the overview page into the -->
<!-- groups specified. -->
<groups>
<group>
<title>Spatial Referencing by Coordinates</title>
<packages>org.geotools.referencing*:org.geotools.parameter*:org.geotools.axis*</packages>
</group>
<group>
<title>Geometries</title>
<packages>org.geotools.geometry*:org.geotools.topology*:org.geotools.measure*</packages>
</group>
<group>
<title>Images and Grid Coverage</title>
<packages>org.geotools.coverage*:org.geotools.gce*:org.geotools.image*</packages>
</group>
<group>
<title>Features, Filters and Styling</title>
<packages>org.geotools.feature*:org.geotools.filter*:org.geotools.styling*</packages>
</group>
<group>
<title>Data stores</title>
<packages>org.geotools.data*</packages>
</group>
<group>
<title>XML and derivatives (GML, SVG)</title>
<packages>org.geotools.xsd*:org.geotools.gml*:org.geotools.svg*</packages>
</group>
<group>
<title>Catalog Services</title>
<packages>org.geotools.catalog*</packages>
</group>
<group>
<title>Meta Data</title>
<packages>org.geotools.metadata*</packages>
</group>
<group>
<title>Graphs and validation</title>
<packages>org.geotools.graph*:org.geotools.validation*</packages>
</group>
<group>
<title>Renderer and Display Objects</title>
<packages>org.geotools.display*:org.geotools.renderer*:org.geotools.renderer.shape*:org.geotools.map*</packages>
</group>
<group>
<title>Graphic User Interfaces</title>
<packages>org.geotools.gui*</packages>
</group>
<group>
<title>Miscellaneous utilities</title>
<packages>org.geotools.factory*:org.geotools.io*:org.geotools.util*:org.geotools.math*:org.geotools.nature*:org.geotools.event*:org.geotools.index*</packages>
</group>
</groups>
</configuration>
</plugin>
<plugin>
<groupId>com.diffplug.spotless</groupId>
<artifactId>spotless-maven-plugin</artifactId>
<version>2.20.0</version>
<configuration>
<java>
<googleJavaFormat>
<version>1.7</version>
<style>AOSP</style>
</googleJavaFormat>
</java>
<upToDateChecking>
<enabled>true</enabled>
<indexFile>${project.basedir}/.spotless-index</indexFile>
</upToDateChecking>
</configuration>
<executions>
<execution>
<goals>
<goal>${spotless.action}</goal>
</goals>
<phase>validate</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.github.ekryd.sortpom</groupId>
<artifactId>sortpom-maven-plugin</artifactId>
<version>3.3.0</version>
<configuration>
<skip>${pom.fmt.skip}</skip>
<keepBlankLines>true</keepBlankLines>
<spaceBeforeCloseEmptyElement>false</spaceBeforeCloseEmptyElement>
<createBackupFile>false</createBackupFile>
<verifyFail>stop</verifyFail>
<verifyFailOn>strict</verifyFailOn>
</configuration>
<executions>
<execution>
<goals>
<goal>${pom.fmt.action}</goal>
</goals>
<phase>verify</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<!-- ======================================================= -->
<!-- Web site generation. -->
<!-- ======================================================= -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>2.0</version>
</plugin>
<!-- ======================================================= -->
<!-- Javadoc generation. -->
<!-- -->
<!-- Notes: -->
<!-- Do NOT link source code, because it duplicates -->
<!-- jxr-maven-plugin. -->
<!-- -->
<!-- <sourcepath/> and <subpackages/> elements do not -->
<!-- seem to work with aggregated javadoc. -->
<!-- -->
<!-- ======================================================= -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${maven.javadoc.plugin.version}</version>
<configuration>
<source>11</source>
<!-- Specifies whether or not the version text is included.-->
<version>false</version>
<!-- Omit qualifying package name before class names in output.-->
<noqualifier>all</noqualifier>
<!-- Shuts off non-error and non-warning messages.-->
<quiet>true</quiet>
<!-- The maximum Java heap size to be used to run javadoc. -->
<maxmemory>${javadoc.maxHeapSize}</maxmemory>
<!-- Specifies the encoding name of the source files.-->
<encoding>UTF-8</encoding>
<!-- Set an additional parameter for the command line. -->
<additionalparam>-keywords</additionalparam>
<breakiterator>true</breakiterator>
<excludePackageNames>org.geotools.resources:org.geotools.maven:com:net.opengis:org.w3:javax:it.geosolutions</excludePackageNames>
<!-- Enables the Javadoc tool to interpret a simple, one-argument -->
<!-- custom block tag tagname in doc comments. Note: <placement/> -->
<!-- should be a combination of the letters Xaoptcmf. -->
<tags>
<tag>
<name>todo</name>
<placement>a</placement>
<head>TODO:</head>
</tag>
<tag>
<name>todo:</name>
<placement>a</placement>
<head>TODO:</head>
</tag>
<tag>
<name>TODO</name>
<placement>a</placement>
<head>TODO:</head>
</tag>
<tag>
<name>task</name>
<placement>tfmc</placement>
<head>TODO:</head>
</tag>
<tag>
<name>revisit</name>
<placement>tfmc</placement>
<head>TODO:</head>
</tag>
<tag>
<name>generated</name>
<placement>Xt</placement>
<head>Generated</head>
</tag>
<tag>
<name>UML</name>
<placement>a</placement>
<head>UML:</head>
</tag>
<tag>
<name>uml.property</name>
<placement>a</placement>
<head>UML property:</head>
</tag>
<tag>
<name>generated</name>
<placement>X</placement>
</tag>
</tags>
<!-- Creates links to existing javadoc-generated -->
<!-- documentation of external referenced classes. -->
<links>
<link>http://docs.oracle.com/javase/11/docs/api/</link>
<link>https://javaee.github.io/javaee-spec/javadocs/</link>
<link>https://locationtech.github.io/jts/javadoc/</link>
</links>
</configuration>
</plugin>
<!-- ======================================================= -->
<!-- Reports configuration for the web site. -->
<!-- ======================================================= -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>3.4.5</version>
<configuration>
<!-- Avoid the dependency plugin to download again all jars
from repositories just to report the following information -->
<dependencyDetailsEnabled>false</dependencyDetailsEnabled>
<dependencyLocationsEnabled>false</dependencyLocationsEnabled>
</configuration>
<reportSets>
<reportSet>
<reports>
<report>index</report>
<report>dependencies</report>
<report>scm</report>
<report>plugins</report>
<report>summary</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<!-- ======================================================= -->
<!-- HTML based, cross-reference version of Java source code -->
<!-- ======================================================= -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
<version>3.3.0</version>
<reportSets>
<reportSet>
<reports>
<!-- generate just the plain jxr output, avoid the tests one -->
<report>jxr</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<!-- ======================================================= -->
<!-- Code coverage report -->
<!-- ======================================================= -->
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${maven.jacoco.plugin.version}</version>
</plugin>
<!-- ======================================================= -->
<!-- Test coverage report -->
<!-- ======================================================= -->
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${jacoco.version}</version>
<configuration>
<formats>
<format>html</format>
<format>xml</format>
</formats>
</configuration>
</plugin>
</plugins>
</reporting>
<!-- Profiles set on the command-line overwrite default properties. -->
<profiles>
<profile>
<id>docs</id>
<activation>
<property>
<name>all</name>
</property>
</activation>
<modules>
<module>tutorials/quickstart</module>
<module>docs</module>
</modules>
</profile>
<profile>
<id>extensive.tests</id>
<properties>
<extensive.tests>true</extensive.tests>
</properties>
</profile>
<profile>
<id>skip.image.tests</id>
<properties>
<skip.image.tests>true</skip.image.tests>
</properties>
</profile>
<profile>
<id>interactive.tests</id>
<properties>
<interactive.tests>true</interactive.tests>
<java.awt.headless>false</java.awt.headless>
</properties>
</profile>
<profile>
<id>interactive.image</id>
<properties>
<interactive.image>true</interactive.image>
<java.awt.headless>false</java.awt.headless>
</properties>
</profile>
<profile>
<id>site.build</id>
<properties>
<allow.test.skip>false</allow.test.skip>
<allow.test.failure.ignore>true</allow.test.failure.ignore>
<extensive.tests>true</extensive.tests>
</properties>
</profile>
<profile>
<id>online</id>
<properties>
<online.skip.pattern>disabled</online.skip.pattern>
</properties>
</profile>
<profile>
<id>stress</id>
<properties>
<stress.skip.pattern>disabled</stress.skip.pattern>
</properties>
</profile>
<profile>
<id>site.local</id>
<distributionManagement>
<site>
<id>local</id>
<name>Web site for Maven reports</name>
<url>file:///${java.io.tmpdir}/gtsite</url>
</site>
</distributionManagement>
</profile>
<!-- Dependency version checks -->
<profile>
<id>dependencycheck</id>
<build>
<plugins>
<plugin>
<groupId>org.owasp</groupId>
<artifactId>dependency-check-maven</artifactId>
<version>7.1.1</version>
<configuration>
<failBuildOnCVSS>7</failBuildOnCVSS>
<suppressionFile>${geotoolsBaseDir}/build/qa/dependency-check-suppression.xml</suppressionFile>
<format>ALL</format>
</configuration>
<executions>
<execution>
<goals>
<goal>aggregate</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>pmd</id>
<activation>
<property>
<name>qa</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>${maven.pmd.plugin.version}</version>
<configuration>
<skip>${pmd.skip}</skip>
<rulesets>
<ruleset>${geotoolsBaseDir}/build/qa/pmd-ruleset.xml</ruleset>
<ruleset>${geotoolsBaseDir}/build/qa/pmd-junit-ruleset.xml</ruleset>
</rulesets>
<failurePriority>3</failurePriority>
<minimumPriority>3</minimumPriority>
<verbose>true</verbose>
<includeTests>true</includeTests>
<excludeRoots>
<excludeRoot>target/generated-sources</excludeRoot>
</excludeRoots>
</configuration>
<dependencies>
<dependency>
<groupId>net.sourceforge.pmd</groupId>
<artifactId>pmd-core</artifactId>
<version>${pmd.version}</version>
</dependency>
<dependency>
<groupId>net.sourceforge.pmd</groupId>
<artifactId>pmd-java</artifactId>
<version>${pmd.version}</version>
</dependency>
<dependency>
<groupId>net.sourceforge.pmd</groupId>
<artifactId>pmd-javascript</artifactId>
<version>${pmd.version}</version>
</dependency>
<dependency>
<groupId>net.sourceforge.pmd</groupId>
<artifactId>pmd-jsp</artifactId>
<version>${pmd.version}</version>
</dependency>
</dependencies>
<executions>
<execution>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>errorprone</id>
<activation>
<property>
<name>qa</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<compilerArgs>
<arg>-XDcompilePolicy=simple</arg>
<arg>-Xplugin:ErrorProne -XepExcludedPaths:\Q${project.build.directory}\E/generated-sources/.* -Xep:BanJNDI:WARN ${errorProneFlags}</arg>
<arg>-Xlint:${lint}</arg>
<arg>-Werror</arg>
<arg>-Xmaxwarns</arg>
<arg>1000</arg>
</compilerArgs>
<annotationProcessorPaths>
<path>
<groupId>com.google.errorprone</groupId>
<artifactId>error_prone_core</artifactId>
<version>${errorProne.version}</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>spotbugs</id>
<activation>
<property>
<name>qa</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs-maven-plugin</artifactId>
<configuration>
<fork>false</fork>
<effort>More</effort>
<!-- threshold>High</threshold -->
<xmlOutput>true</xmlOutput>
<maxRank>15</maxRank>
<skip>${spotbugs.skip}</skip>
<excludeFilterFile>${geotoolsBaseDir}/build/qa/spotbugs-exclude.xml</excludeFilterFile>
</configuration>
<executions>
<execution>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>checkstyle</id>
<activation>
<property>
<name>qa</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<artifactId>maven-checkstyle-plugin</artifactId>
<configuration>
<logViolationsToConsole>true</logViolationsToConsole>
<!-- ignore generated classes, e.g., javacc ones -->
<excludes>${checkstyle.excludes}</excludes>
<skip>${checkstyle.skip}</skip>
<configLocation>${geotoolsBaseDir}/build/qa/${checkstyle.file}</configLocation>
</configuration>
<dependencies>
<dependency>
<groupId>com.puppycrawl.tools</groupId>
<artifactId>checkstyle</artifactId>
<version>9.3</version>
</dependency>
</dependencies>
<executions>
<execution>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>enforcer</id>
<activation>
<property>
<name>qa</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
<id>enforce</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<banDuplicatePomDependencyVersions></banDuplicatePomDependencyVersions>
<requirePluginVersions>
<message>Best Practice is to always define plugin versions</message>
<phases>clean,deploy,install</phases>
<!-- ignore these for version check as they are part of the build -->
<unCheckedPluginList>org.geotools.maven:jjtree-javacc, org.geotools.maven:xmlcodegen, org.geotools.maven:jar-collector</unCheckedPluginList>
</requirePluginVersions>
</rules>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>linux-github-build</id>
<build>
<plugins>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<systemPropertyVariables>
<linux-github-build>true</linux-github-build>
</systemPropertyVariables>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<!-- code coverage -->
<profile>
<id>jacoco</id>
<build>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${jacoco.version}</version>
<executions>
<execution>
<id>pre-unit-test</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>post-unit-test</id>
<goals>
<goal>report</goal>
</goals>
<phase>test</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。