| <?xml version="1.0" encoding="UTF-8"?> |
| |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| --> |
| |
| <!-- ============================================================================================= |
| Maven project configuration file |
| http://maven.apache.org/ |
| |
| Apache SIS build requires Java 11 or higher, but compiled files can be executed on Java 8. |
| Setting the SIS_DATA environment variable before build is optional but recommended. |
| |
| Build development snapshot: mvn clean install |
| Include EPSG database: mvn install -Pnon-free |
| Include JavaFX dependency (GPL): mvn install -Pjavafx |
| Run more extensive tests: mvn test -Dorg.apache.sis.test.extensive=true |
| ============================================================================================= --> |
| <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 |
| http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
| <modelVersion>4.0.0</modelVersion> |
| <parent> |
| <groupId>org.apache</groupId> |
| <artifactId>apache</artifactId> |
| <version>27</version> |
| </parent> |
| |
| |
| |
| <!-- ============================================================== |
| Project description. The <organization> and <licenses> |
| elements are inherited from the parent Apache pom.xml. |
| ============================================================== --> |
| <groupId>org.apache.sis</groupId> |
| <artifactId>parent</artifactId> |
| <version>2.0-SNAPSHOT</version> |
| <packaging>pom</packaging> |
| |
| <name>Apache SIS</name> |
| <url>http://sis.apache.org</url> |
| <description> |
| Apache Spatial Information System (SIS) is a free software, Java language library for developing geospatial applications. |
| SIS provides data structures for geographic features and associated metadata along with methods to manipulate those data structures. |
| The library is an implementation of GeoAPI 3.0.1 interfaces and can be used for desktop or server applications. |
| The SIS metadata module forms the base of the library and enables the creation of metadata objects which comply with the ISO 19115 international standard. |
| The SIS referencing module enable the construction of geodetic data structures for geospatial referencing as defined by ISO 19111 standard, |
| along with the associated operations which enable the transformation of coordinates between different reference systems. |
| The SIS storage modules provide a common approach to the reading and writing of metadata, features and coverages |
| applicable to simple imagery as to many dimensional data structures. |
| </description> |
| <inceptionYear>2010</inceptionYear> |
| |
| |
| |
| <!-- ============================================================== |
| Source code repository, issue managements and mailing lists. |
| ============================================================== --> |
| <scm> |
| <connection> |
| scm:git:https://gitbox.apache.org/repos/asf/sis.git |
| </connection> |
| <developerConnection> |
| scm:git:https://gitbox.apache.org/repos/asf/sis.git |
| </developerConnection> |
| <url>https://gitbox.apache.org/repos/asf?p=sis.git</url> |
| </scm> |
| |
| <ciManagement> |
| <system>jenkins</system> |
| <url>https://ci-builds.apache.org/job/SIS/</url> |
| </ciManagement> |
| |
| <issueManagement> |
| <system>JIRA</system> |
| <url>https://issues.apache.org/jira/browse/SIS</url> |
| </issueManagement> |
| |
| <mailingLists> |
| <mailingList> |
| <name>User mailing list</name> |
| <subscribe>user-subscribe@sis.apache.org</subscribe> |
| <unsubscribe>user-unsubscribe@sis.apache.org</unsubscribe> |
| <post>user@sis.apache.org</post> |
| <archive>https://lists.apache.org/list.html?user@sis.apache.org</archive> |
| </mailingList> |
| <mailingList> |
| <name>Development mailing list</name> |
| <subscribe>dev-subscribe@sis.apache.org</subscribe> |
| <unsubscribe>dev-unsubscribe@sis.apache.org</unsubscribe> |
| <post>dev@sis.apache.org</post> |
| <archive>https://lists.apache.org/list.html?dev@sis.apache.org</archive> |
| </mailingList> |
| <mailingList> |
| <name>Commit mailing list</name> |
| <subscribe>commits-subscribe@sis.apache.org</subscribe> |
| <unsubscribe>commits-unsubscribe@sis.apache.org</unsubscribe> |
| <post>commits@sis.apache.org</post> |
| <archive>https://lists.apache.org/list.html?commits@sis.apache.org</archive> |
| </mailingList> |
| </mailingLists> |
| |
| |
| |
| <!-- ============================================================== |
| Developers and Contributors. |
| ============================================================== --> |
| <developers> |
| <developer> |
| <name>Adam Estrada</name> |
| <id>aestrada</id> |
| <roles> |
| <role>PMC member</role> |
| </roles> |
| </developer> |
| <developer> |
| <name>Andrew Hart</name> |
| <id>ahart</id> |
| <roles> |
| <role>PMC member</role> |
| </roles> |
| </developer> |
| <developer> |
| <name>Charitha Madusanka</name> |
| <id>charithcc</id> |
| <roles> |
| <role>PMC member</role> |
| </roles> |
| </developer> |
| <developer> |
| <name>Chris A. Mattmann</name> |
| <id>mattmann</id> |
| <email>mattmann@apache.org</email> |
| <organization>NASA Jet Propulsion Laboratory</organization> |
| <organizationUrl>https://www.jpl.nasa.gov</organizationUrl> |
| <timezone>-8</timezone> |
| <roles> |
| <role>PMC emeritus</role> |
| </roles> |
| </developer> |
| <developer> |
| <name>Gregory D. Reddin</name> |
| <id>greddin</id> |
| <roles> |
| <role>PMC member</role> |
| <role>mentor</role> |
| </roles> |
| </developer> |
| <developer> |
| <name>Ian Holsman</name> |
| <id>ianh</id> |
| <roles> |
| <role>PMC emeritus</role> |
| <role>mentor</role> |
| </roles> |
| </developer> |
| <developer> |
| <name>Joe Schaefer</name> |
| <id>joes</id> |
| <roles> |
| <role>PMC emeritus</role> |
| </roles> |
| </developer> |
| <developer> |
| <name>Johann Sorel</name> |
| <id>jsorel</id> |
| <email>johann.sorel@geomatys.com</email> |
| <organization>Geomatys</organization> |
| <organizationUrl>https://www.geomatys.com</organizationUrl> |
| <timezone>+1</timezone> |
| <roles> |
| <role>PMC member</role> |
| </roles> |
| </developer> |
| <developer> |
| <name>Joseph F. White</name> |
| <id>jwhite</id> |
| <roles> |
| <role>PMC member</role> |
| </roles> |
| </developer> |
| <developer> |
| <name>Marc Le Bihan</name> |
| <roles> |
| <role>PMC member</role> |
| </roles> |
| </developer> |
| <developer> |
| <name>Martin Desruisseaux</name> |
| <id>desruisseaux</id> |
| <email>desruisseaux@apache.org</email> |
| <organization>Geomatys</organization> |
| <organizationUrl>https://www.geomatys.com</organizationUrl> |
| <timezone>+1</timezone> |
| <roles> |
| <role>PMC member</role> |
| <role>chair</role> |
| </roles> |
| </developer> |
| <developer> |
| <name>Nga Thien Chung</name> |
| <id>nchung</id> |
| <email>nchung@apache.org</email> |
| <organization>NASA Jet Propulsion Laboratory</organization> |
| <organizationUrl>https://www.jpl.nasa.gov</organizationUrl> |
| <timezone>-8</timezone> |
| <roles> |
| <role>PMC member</role> |
| </roles> |
| </developer> |
| <developer> |
| <name>Olivier Nouguier</name> |
| <roles> |
| <role>PMC member</role> |
| </roles> |
| </developer> |
| <developer> |
| <name>Patrick O'Leary</name> |
| <id>pjaol</id> |
| <email>pjaol@apache.org</email> |
| <organization>AT&T Interactive</organization> |
| <timezone>-8</timezone> |
| <roles> |
| <role>PMC member</role> |
| </roles> |
| </developer> |
| <developer> |
| <name>Paul Michael Ramirez</name> |
| <id>pramirez</id> |
| <email>pramirez@apache.org</email> |
| <url>http://people.apache.org/~pramirez/</url> |
| <organization>NASA Jet Propulsion Laboratory</organization> |
| <organizationUrl>https://www.jpl.nasa.gov</organizationUrl> |
| <timezone>-8</timezone> |
| <roles> |
| <role>PMC member</role> |
| </roles> |
| </developer> |
| <developer> |
| <name>Peter Karich</name> |
| <id>pk</id> |
| <roles> |
| <role>PMC member</role> |
| </roles> |
| </developer> |
| <developer> |
| <name>Rémi Maréchal</name> |
| <id>rmarechal</id> |
| <email>remi.marechal@geomatys.com</email> |
| <organization>Geomatys</organization> |
| <organizationUrl>https://www.geomatys.com</organizationUrl> |
| <timezone>+1</timezone> |
| <roles> |
| <role>committer</role> |
| </roles> |
| </developer> |
| <developer> |
| <name>Ross Laidlaw</name> |
| <id>rlaidlaw</id> |
| <roles> |
| <role>PMC member</role> |
| </roles> |
| </developer> |
| <developer> |
| <name>Sean William McCleese</name> |
| <id>smcclees</id> |
| <email>smcclees@apache.org</email> |
| <organization>NASA Jet Propulsion Laboratory</organization> |
| <organizationUrl>https://www.jpl.nasa.gov</organizationUrl> |
| <timezone>-8</timezone> |
| <roles> |
| <role>PMC member</role> |
| </roles> |
| </developer> |
| <developer> |
| <name>Suresh Marru</name> |
| <roles> |
| <role>PMC member</role> |
| </roles> |
| </developer> |
| <developer> |
| <name>Travis L. Pinney</name> |
| <id>tlpinney</id> |
| <email>travis.pinney@gmail.com</email> |
| <roles> |
| <role>PMC member</role> |
| </roles> |
| </developer> |
| </developers> |
| |
| <contributors> |
| <contributor> |
| <name>Adrian Custer</name> |
| <roles> |
| <role>documentation</role> |
| </roles> |
| </contributor> |
| <contributor> |
| <name>Alexis manin</name> |
| <email>alexis.manin@geomatys.com</email> |
| <organization>Geomatys</organization> |
| <organizationUrl>https://www.geomatys.com</organizationUrl> |
| <timezone>+1</timezone> |
| <roles> |
| <role>developer</role> |
| </roles> |
| </contributor> |
| <contributor> |
| <name>Antoine Hnawia</name> |
| <organization>Institut de Recherche pour le Développement</organization> |
| <organizationUrl>https://www.ird.fr</organizationUrl> |
| <timezone>+11</timezone> |
| <roles> |
| <role>developer</role> |
| </roles> |
| </contributor> |
| <contributor> |
| <name>Cédric Briançon</name> |
| <email>cedric.briancon@geomatys.com</email> |
| <organization>Geomatys</organization> |
| <organizationUrl>https://www.geomatys.com</organizationUrl> |
| <timezone>+1</timezone> |
| <roles> |
| <role>developer</role> |
| </roles> |
| </contributor> |
| <contributor> |
| <name>Christina Hough</name> |
| <roles> |
| <role>translator</role> |
| </roles> |
| </contributor> |
| <contributor> |
| <name>Cullen Rombach</name> |
| <organization>Image Matters</organization> |
| <organizationUrl>https://www.imagemattersllc.com</organizationUrl> |
| <timezone>-5</timezone> |
| <roles> |
| <role>developer</role> |
| </roles> |
| </contributor> |
| <contributor> |
| <name>Guilhem Legal</name> |
| <email>guilhem.legal@geomatys.com</email> |
| <organization>Geomatys</organization> |
| <organizationUrl>https://www.geomatys.com</organizationUrl> |
| <timezone>+1</timezone> |
| <roles> |
| <role>developer</role> |
| </roles> |
| </contributor> |
| <contributor> |
| <name>Kevan Miller</name> |
| <roles> |
| <role>mentor</role> |
| </roles> |
| </contributor> |
| <contributor> |
| <name>Minh Chinh Vu</name> |
| <email>chinhvm.uet.1995@gmail.com</email> |
| <organization>VNSC</organization> |
| <organizationUrl>https://vnsc.org.vn</organizationUrl> |
| <timezone>+7</timezone> |
| <roles> |
| <role>developer</role> |
| </roles> |
| </contributor> |
| <contributor> |
| <name>Thi Phuong Hao Nguyen</name> |
| <email>nguyenthiphuonghao243@gmail.com</email> |
| <organization>VNSC</organization> |
| <organizationUrl>https://vnsc.org.vn</organizationUrl> |
| <timezone>+7</timezone> |
| <roles> |
| <role>developer</role> |
| </roles> |
| </contributor> |
| <contributor> |
| <name>Touraïvane</name> |
| <organization>Institut de Recherche pour le Développement (IRD)</organization> |
| <organizationUrl>https://www.ird.fr</organizationUrl> |
| <timezone>+11</timezone> |
| <roles> |
| <role>developer</role> |
| </roles> |
| </contributor> |
| </contributors> |
| |
| |
| |
| <!-- ============================================================== |
| Dependency management. If a POM in a child module declares |
| one of those dependencies, then it will use the version |
| specified here. Otherwise, those dependencies are ignored. |
| |
| See https://search.maven.org/ for latest version numbers. |
| ============================================================== --> |
| <dependencyManagement> |
| <dependencies> |
| <!-- Import all dependency management used by the GeAPI project. |
| This include JUnit and units of measurement. --> |
| <dependency> |
| <groupId>org.opengis</groupId> |
| <artifactId>geoapi-parent</artifactId> |
| <version>${geoapi.version}</version> |
| <type>pom</type> |
| <scope>import</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.opengis</groupId> |
| <artifactId>geoapi-pending</artifactId> |
| <version>${geoapi.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.opengis</groupId> |
| <artifactId>geoapi-conformance</artifactId> |
| <version>${geoapi.version}</version> |
| <scope>test</scope> |
| </dependency> |
| |
| <!-- Libraries (language, XML, network) --> |
| <dependency> |
| <groupId>com.esri.geometry</groupId> |
| <artifactId>esri-geometry-api</artifactId> |
| <version>2.2.4</version> |
| <optional>true</optional> |
| </dependency> |
| <dependency> |
| <groupId>org.locationtech.jts</groupId> |
| <artifactId>jts-core</artifactId> |
| <version>1.19.0</version> |
| <optional>true</optional> |
| </dependency> |
| <dependency> |
| <groupId>gov.nist.math</groupId> |
| <artifactId>jama</artifactId> |
| <version>1.0.3</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>net.sf.geographiclib</groupId> |
| <artifactId>GeographicLib-Java</artifactId> |
| <version>2.0</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>javax</groupId> |
| <artifactId>javaee-api</artifactId> |
| <version>8.0.1</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>jakarta.xml.bind</groupId> |
| <artifactId>jakarta.xml.bind-api</artifactId> |
| <version>2.3.3</version> |
| </dependency> |
| <dependency> |
| <groupId>org.glassfish.jaxb</groupId> |
| <artifactId>jaxb-runtime</artifactId> |
| <version>2.3.6</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-compress</artifactId> |
| <version>1.21</version> |
| </dependency> |
| |
| <!-- Databases --> |
| <dependency> |
| <groupId>org.apache.derby</groupId> |
| <artifactId>derby</artifactId> |
| <version>10.14.2.0</version> <!-- 10.14 is the last series compatible with JDK 8. --> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.hsqldb</groupId> |
| <artifactId>hsqldb</artifactId> |
| <version>2.7.0</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>com.h2database</groupId> |
| <artifactId>h2</artifactId> |
| <version>2.1.214</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.postgresql</groupId> |
| <artifactId>postgresql</artifactId> |
| <version>42.4.1</version> |
| <scope>test</scope> |
| </dependency> |
| |
| <!-- Optional dependencies --> |
| <dependency> |
| <groupId>org.osgi</groupId> |
| <artifactId>org.osgi.core</artifactId> |
| <version>6.0.0</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>edu.ucar</groupId> |
| <artifactId>cdm-core</artifactId> |
| <version>5.5.3</version> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-jdk14</artifactId> |
| <version>1.7.28</version> <!-- Must matches the version used by netCDF. --> |
| </dependency> |
| </dependencies> |
| </dependencyManagement> |
| |
| |
| |
| <!-- =========================================================== |
| Dependencies to be inherited by all modules. |
| =========================================================== --> |
| <dependencies> |
| <dependency> |
| <groupId>junit</groupId> |
| <artifactId>junit</artifactId> |
| <scope>test</scope> |
| </dependency> |
| </dependencies> |
| |
| |
| |
| <!-- =================================================================== |
| Properties used in dependency management and build configuration. |
| The last properties in this list depend on the Apache SIS branch. |
| =================================================================== --> |
| <properties> |
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| <website.encoding>UTF-8</website.encoding> |
| <website.locale>en</website.locale> |
| |
| <!-- Following properties are branch-specific --> |
| <maven.compiler.source>8</maven.compiler.source> |
| <maven.compiler.target>8</maven.compiler.target> |
| <sis.plugin.version>${project.version}</sis.plugin.version> |
| <sis.non-free.version>1.2</sis.non-free.version> <!-- Used only if "non-free" profile is activated. --> |
| <javafx.version>18.0.1</javafx.version> <!-- Used only if "javafx" profile is activated. --> |
| <geoapi.version>4.0-SNAPSHOT</geoapi.version> |
| </properties> |
| |
| <profiles> |
| <profile> |
| <id>apache-release</id> |
| <properties> |
| <maven.compiler.debug>false</maven.compiler.debug> <!-- For smaller JAR files size. --> |
| <maven.compiler.optimize>true</maven.compiler.optimize> |
| <org.apache.sis.test.extensive>true</org.apache.sis.test.extensive> |
| </properties> |
| <build> |
| <plugins> |
| <plugin> |
| <!-- Configuration of Javadoc attached to Maven artifacts (not aggregated javadoc). --> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <configuration> |
| <nonavbar>true</nonavbar> <!-- Navigation bar not used when Javadoc is browsed from IDE. --> |
| <doclint>-reference</doclint> <!-- Cross-modules references are valid only in aggregated javadoc. --> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| |
| <!-- =================================================================== |
| If the user has not set the SIS_DATA environment variable, |
| set a default value where we can create a minimalist database. |
| =================================================================== --> |
| <profile> |
| <id>sis-data</id> |
| <activation> |
| <property> |
| <name>!env.SIS_DATA</name> |
| </property> |
| </activation> |
| <build> |
| <plugins> |
| <plugin> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <configuration> |
| <environmentVariables> |
| <SIS_DATA>${session.executionRootDirectory}/target</SIS_DATA> |
| </environmentVariables> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| </profiles> |
| |
| |
| |
| <!-- ============================================================== |
| Build configuration. |
| See http://maven.apache.org/plugins/ for a plugins list. |
| ============================================================== --> |
| <build> |
| <plugins> |
| <!-- JDK requirement for building (not necessarily for running) --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| <version>3.1.0</version> |
| <executions> |
| <execution> |
| <id>enforce</id> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <configuration> |
| <rules> |
| <requireJavaVersion> |
| <version>17</version> |
| </requireJavaVersion> |
| </rules> |
| </configuration> |
| </execution> |
| <execution> |
| <!-- Metadata (including timestamp) considered more valuable than bit-by-bit reproductive build. --> |
| <id>enforce-output-timestamp-property</id> |
| <configuration> |
| <skip>true</skip> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <!-- Cleanup local repository by removing Apache SIS snapshots --> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>build-helper-maven-plugin</artifactId> |
| <version>3.3.0</version> |
| <executions> |
| <execution> |
| <id>remove-old-artifacts</id> |
| <goals> |
| <goal>remove-project-artifact</goal> |
| </goals> |
| <configuration> |
| <removeAll>false</removeAll> <!-- Remove only snapshots of this project version. --> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <!-- Compile --> |
| <plugin> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <version>3.10.1</version> |
| <configuration> |
| <release>${maven.compiler.target}</release> |
| <encoding>${project.build.sourceEncoding}</encoding> |
| <useIncrementalCompilation>false</useIncrementalCompilation> <!-- https://issues.apache.org/jira/browse/MCOMPILER-209 --> |
| <compilerArgs> |
| <arg>-Xlint:all</arg> |
| <arg>-Xdoclint:syntax,html,missing/protected,accessibility/protected</arg> |
| </compilerArgs> |
| </configuration> |
| </plugin> |
| |
| <!-- Execute test suites instead of individual test cases. --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <version>3.0.0-M7</version> |
| <configuration> |
| <trimStackTrace>false</trimStackTrace> |
| <includes> |
| <include>**/*TestSuite.java</include> |
| </includes> |
| <systemProperties> |
| <property> |
| <name>derby.stream.error.file</name> |
| <value>${project.build.directory}/derby.log</value> |
| </property> |
| </systemProperties> |
| </configuration> |
| </plugin> |
| |
| <!-- JAR packaging |
| Note: <index> and <addClasspath> are mutually exclusive: when both are enabled, |
| the META-INF/INDEX.LIST file has precedence over the "Class-Path" entry in the |
| META-INF/MANIFEST.MF file, thus causing java.lang.NoClassDefFoundError if the |
| INDEX.LIST file is incomplete (which seem to happen in practice). --> |
| <plugin> |
| <artifactId>maven-jar-plugin</artifactId> |
| <version>3.2.2</version> |
| <configuration> |
| <archive> |
| <addMavenDescriptor>false</addMavenDescriptor> |
| <index>false</index> |
| <manifest> |
| <addClasspath>true</addClasspath> |
| <classpathLayoutType>simple</classpathLayoutType> |
| <addDefaultImplementationEntries>true</addDefaultImplementationEntries> |
| </manifest> |
| <manifestEntries> |
| <Built-On>${maven.build.timestamp}</Built-On> |
| <Specification-Title>GeoAPI</Specification-Title> |
| <Specification-Version>${geoapi.version}</Specification-Version> |
| <Specification-Vendor>Open Geospatial Consortium</Specification-Vendor> |
| <Implementation-URL>http://sis.apache.org/</Implementation-URL> |
| </manifestEntries> |
| </archive> |
| <skipIfEmpty>true</skipIfEmpty> |
| </configuration> |
| <executions> |
| <execution> |
| <goals> |
| <goal>test-jar</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <!-- Set "*-source-release.zip" filename prefix to "sis-*" instead of "parent-*" --> |
| <plugin> |
| <artifactId>maven-assembly-plugin</artifactId> |
| <version>3.4.2</version> |
| <executions> |
| <execution> |
| <id>source-release-assembly</id> |
| <configuration> |
| <finalName>sis-${project.version}</finalName> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <!-- Checkstype configuration |
| Legal note: Checkstyle is under LGPL license, but it is okay to use it only for |
| the build if it is downloaded by Maven (not included in Apache SIS distribution). |
| See http://www.apache.org/legal/resolved.html#prohibited |
| --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-checkstyle-plugin</artifactId> |
| <version>3.1.2</version> |
| <executions> |
| <execution> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| <configuration> |
| <skip>${skipTests}</skip> <!-- When skipping tests, skip also checkstyle verification. --> |
| <excludes>**/generated/**/*</excludes> <!-- Skip generated source code, e.g. classes created by JMH. --> |
| <encoding>${project.build.sourceEncoding}</encoding> |
| <consoleOutput>true</consoleOutput> |
| <checkstyleRules> |
| <module name="Checker"> |
| <!-- |
| Whether whitespaces should be present before or after various kind of tokens, |
| and where line wraps are allowed or mandated. |
| --> |
| <module name="FileTabCharacter"/> <!-- No tab characters in the file. --> |
| <module name="NewlineAtEndOfFile"/> <!-- Newline at the end of each file. --> |
| <module name="TreeWalker"> |
| <module name="RegexpSinglelineJava"> |
| <property name="format" value="\s+$"/> |
| <property name="message" value="Trailing spaces not allowed."/> |
| </module> |
| <module name="NoLineWrap"/> <!-- Imports and package statements are not line-wrapped. --> |
| <module name="RedundantImport"/> <!-- No redundant import statements. --> |
| <module name="GenericWhitespace"/> <!-- Whitespace around the Generic tokens follow typical convention. --> |
| <module name="TypecastParenPad"/> <!-- No space inside parentheses for typecasts. --> |
| <module name="SeparatorWrap"> <!-- No line wrapping before comma. --> |
| <property name="tokens" value="COMMA"/> |
| </module> |
| <module name="WhitespaceAfter"> <!-- Checks that a token is followed by whitespace. --> |
| <property name="tokens" value="TYPECAST, LITERAL_IF, LITERAL_ELSE, LITERAL_WHILE, LITERAL_DO, LITERAL_FOR, DO_WHILE"/> |
| </module> |
| <module name="NoWhitespaceAfter"> <!-- No whitespace after "++" in ++x, etc. --> |
| <property name="tokens" value="INC, DEC, BNOT, LNOT"/> |
| </module> |
| <module name="NoWhitespaceBefore"> <!-- No whitespace before "++" in x++, etc. --> |
| <property name="tokens" value="COMMA, POST_INC, POST_DEC, ELLIPSIS"/> |
| </module> |
| <module name="WhitespaceAround"> |
| <property name="tokens" value=" |
| MINUS_ASSIGN, STAR_ASSIGN, DIV_ASSIGN, MOD_ASSIGN, MOD, |
| SL, SL_ASSIGN, SR, SR_ASSIGN, BSR, BSR_ASSIGN, |
| BAND, BAND_ASSIGN, BOR, BOR_ASSIGN, BXOR, BXOR_ASSIGN, |
| TYPE_EXTENSION_AND, LAND, LOR, QUESTION, LAMBDA, |
| COLON, DO_WHILE, LITERAL_DO, LITERAL_WHILE, LITERAL_FOR, |
| LITERAL_ELSE, LITERAL_SWITCH, |
| LITERAL_TRY, LITERAL_CATCH, LITERAL_FINALLY, |
| LITERAL_SYNCHRONIZED"/> |
| <property name="allowEmptyConstructors" value="true"/> |
| <property name="allowEmptyMethods" value="true"/> |
| <property name="allowEmptyTypes" value="true"/> |
| <property name="allowEmptyLoops" value="true"/> |
| <property name="allowEmptyLambdas" value="true"/> |
| <property name="allowEmptyCatches" value="true"/> |
| </module> |
| <!-- |
| Code formatting on other aspects than whitespaces. When there is different ways to express |
| the same thing (e.g. Java-style versus C-style of array declarations), the following rules |
| enforce one specific convention. |
| --> |
| <module name="UpperEll"/> <!-- Upper-case 'L' suffix for longs, not 'l'. --> |
| <module name="ArrayTypeStyle"/> <!-- Java-style arrays, not C-style. --> |
| <module name="ModifierOrder"/> <!-- Order of public, static, etc. keywords. --> |
| <module name="AvoidEscapedUnicodeCharacters"> |
| <property name="allowEscapesForControlCharacters" value="true"/> |
| <property name="allowNonPrintableEscapes" value="true"/> |
| <property name="allowIfAllCharactersEscaped" value="true"/> |
| <property name="allowByTailComment" value="true"/> |
| </module> |
| <!-- |
| Programming language constructs: number of elements, modifiers, etc. |
| --> |
| <module name="OuterTypeNumber"/> <!-- Only one outer type per file. --> |
| <module name="OuterTypeFilename"/> <!-- Outer type name and file name shall match. --> |
| <module name="InterfaceIsType"/> <!-- Do not allow interface without methods. --> |
| <module name="FinalClass"/> <!-- Class having only private constructors should be final. --> |
| <module name="PackageDeclaration"/> <!-- All classes shall be in a package. --> |
| <module name="HideUtilityClassConstructor"/> <!-- No public constructor in utility classes. --> |
| <module name="MissingOverride"/> <!-- @Override annotation everywhere applicable. --> |
| <module name="PackageAnnotation"/> <!-- Package annotations shall be used only in package-info files. --> |
| <module name="EmptyCatchBlock"/> <!-- No empty catch unless there is a comment inside. --> |
| <module name="CovariantEquals"/> <!-- No equals(Foo), unless equals(Object) also exists. --> |
| <module name="ExplicitInitialization"/> <!-- No unnecessary initialization to 0 or null. --> |
| <module name="SimplifyBooleanReturn"/> <!-- No if (boolean) return true; else return false. --> |
| <module name="RedundantModifier"> <!-- No modifiers that were implicit. --> |
| <property name="tokens" value="VARIABLE_DEF, ANNOTATION_FIELD_DEF, INTERFACE_DEF, CLASS_DEF, ENUM_DEF, RESOURCE"/> |
| </module> |
| </module> |
| <module name="UniqueProperties"/> <!-- No duplicated keys in *.properties files. --> |
| </module> |
| </checkstyleRules> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <!-- JavaDoc configuration. --> |
| <plugin> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <version>3.4.0</version> |
| <configuration> |
| <source>${maven.compiler.source}</source> <!-- Enables javadoc to handle language constructs present in target JDK. --> |
| <encoding>${project.build.sourceEncoding}</encoding> <!-- Encoding of Java source file. --> |
| <docencoding>${website.encoding}</docencoding> <!-- Encoding of the generated HTML files. --> |
| <charset>${website.encoding}</charset> <!-- Encoding to declare in the HTML META tag. --> |
| <locale>${website.locale}</locale> <!-- Locale for navigation bar, help file contents, etc. --> |
| <author>false</author> <!-- Excludes the authors text in the generated docs. --> |
| <version>false</version> <!-- Excludes the version text in the generated docs. --> |
| <noqualifier>all</noqualifier> <!-- Omit qualifying package name before class names in output. --> |
| <quiet>true</quiet> <!-- Shuts off non-error and non-warning messages. --> |
| <keywords>true</keywords> <!-- Adds HTML meta keyword tags to the generated files. --> |
| <breakiterator>true</breakiterator> <!-- Better boundary detection when determining the end of the first sentence. --> |
| <validateLinks>true</validateLinks> <!-- Validates content of package-list resources. --> |
| <detectJavaApiLink>false</detectJavaApiLink> <!-- Let us declare link to Java API. --> |
| <links> |
| <link>https://docs.oracle.com/javase/8/docs/api</link> |
| <link>http://unitsofmeasurement.github.io/unit-api/site/apidocs</link> |
| <link>http://www.geoapi.org/snapshot/javadoc</link> |
| </links> |
| |
| <additionalOptions> |
| <additionalOption>--add-stylesheet "${maven.multiModuleProjectDirectory}/src/main/javadoc/sis.css"</additionalOption> |
| </additionalOptions> |
| |
| <!-- Separates packages on the overview page into the groups specified. --> |
| <groups> |
| <group> |
| <title>Testing tools</title> <!-- Exists in test javadoc only. --> |
| <packages>org.apache.sis.test*</packages> |
| </group> |
| <group> |
| <title>Applications</title> |
| <packages>org.apache.sis.console*:org.apache.sis.services*</packages> |
| </group> |
| <group> |
| <title>Data storage</title> |
| <packages>org.apache.sis.storage*:org.apache.sis.index*</packages> |
| </group> |
| <group> |
| <title>Coverage and raster</title> |
| <packages>org.apache.sis.coverage*:org.apache.sis.image*</packages> |
| </group> |
| <group> |
| <title>Feature and Geometry</title> |
| <packages>org.apache.sis.feature*:org.apache.sis.geometry*</packages> |
| </group> |
| <group> |
| <title>Referencing</title> |
| <packages>org.apache.sis.referencing*:org.apache.sis.parameter*:org.apache.sis.distance*</packages> |
| </group> |
| <group> |
| <title>Metadata</title> |
| <packages>org.apache.sis.metadata*:org.apache.sis.io.wkt</packages> |
| </group> |
| <group> |
| <title>Utilities</title> |
| <packages>org.apache.sis.math*:org.apache.sis.measure*:org.apache.sis.util*:org.apache.sis.io*:org.apache.sis.xml*:org.apache.sis.setup*</packages> |
| </group> |
| <group> |
| <title>Profiles</title> |
| <packages>org.apache.sis.profile*</packages> |
| </group> |
| </groups> |
| |
| <!-- Internal packages to hide from javadoc. --> |
| <excludePackageNames>org.apache.sis.internal.*:org.apache.sis.util.resources:org.apache.sis.referencing.operation.provider</excludePackageNames> |
| |
| <!-- Custom taglets, some of them implemented in Java. --> |
| <tags> |
| <tag><placement>X</placement> <name>category</name> <head>Category:</head></tag> |
| <tag><placement>a</placement> <name>todo</name> <head>TODO:</head></tag> |
| </tags> |
| <taglets> |
| <taglet><tagletClass>org.apache.sis.internal.doclet.Module</tagletClass></taglet> |
| <taglet><tagletClass>org.apache.sis.internal.doclet.Include</tagletClass></taglet> |
| <taglet><tagletClass>org.apache.sis.internal.doclet.Preformat</tagletClass></taglet> |
| </taglets> |
| <doclet>org.apache.sis.internal.doclet.Doclet</doclet> |
| <tagletArtifact> |
| <groupId>org.apache.sis.core</groupId> |
| <artifactId>sis-build-helper</artifactId> |
| <version>${sis.plugin.version}</version> |
| </tagletArtifact> |
| <docletArtifact> |
| <groupId>org.apache.sis.core</groupId> |
| <artifactId>sis-build-helper</artifactId> |
| <version>${sis.plugin.version}</version> |
| </docletArtifact> |
| </configuration> |
| </plugin> |
| |
| <!-- Create web site. The Maven generated site is not deployed at the URL |
| declared in this pom.xml (namely http://sis.apache.org). Consequently, |
| we disable links relativization for avoiding confusing behavior. --> |
| <plugin> |
| <artifactId>maven-site-plugin</artifactId> |
| <configuration> |
| <locales>${website.locale}</locales> |
| <inputEncoding>${project.build.sourceEncoding}</inputEncoding> |
| <outputEncoding>${website.encoding}</outputEncoding> |
| <relativizeDecorationLinks>false</relativizeDecorationLinks> |
| </configuration> |
| </plugin> |
| </plugins> |
| |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-deploy-plugin</artifactId> |
| <version>3.0.0</version> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| </build> |
| |
| |
| |
| <!-- ============================================================== |
| Additional repositories from which to download artifacts. |
| The parent pom.xml already declares the apache.snapshots |
| repository for library artifacts. But we also need it for |
| Maven plugins in order to download sis-build-helper when |
| the user did not built it himself. |
| ============================================================== --> |
| <pluginRepositories> |
| <pluginRepository> |
| <id>apache.snapshots</id> |
| <name>Apache Snapshot Repository</name> |
| <url>http://repository.apache.org/snapshots</url> |
| <releases> |
| <enabled>false</enabled> |
| </releases> |
| </pluginRepository> |
| </pluginRepositories> |
| |
| <!-- Used for GeoAPI snapshots only. |
| Shall be removed on SIS master. --> |
| <repositories> |
| <repository> |
| <id>geotoolkit</id> |
| <name>Geotoolkit.org repository</name> |
| <url>https://maven.geotoolkit.org</url> |
| </repository> |
| </repositories> |
| |
| |
| |
| <!-- ============================================================== |
| Group of modules to build in approximate dependency order. |
| ============================================================== --> |
| <modules> |
| <module>core</module> |
| <module>cloud</module> |
| <module>storage</module> |
| <module>application</module> |
| <module>profiles</module> |
| </modules> |
| |
| </project> |