blob: 0d950cb1aadb42dff822ffcf02ce1bf3fd43cd93 [file] [log] [blame]
<?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.
-->
<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>
<prerequisites>
<maven>3.2.2</maven>
</prerequisites>
<parent>
<groupId>org.apache</groupId>
<artifactId>apache</artifactId>
<version>18</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>0.8-jdk8-SNAPSHOT</version>
<packaging>pom</packaging>
<name>Apache SIS</name>
<url>http://sis.apache.org</url>
<description>
<!-- Left alignment because this description will be copied in META-INF/MANIFEST.MF
The leading space after the first line is necessary for proper formatting. -->
Apache SIS is a free software, Java language library for developing geospatial applications.
SIS provides data structures for geographic data and associated metadata along with methods
to manipulate those data structures. The SIS metadata module forms the base of the library
and enables the creation of metadata objects which comply with the ISO 19115 metadata model
and which can be read from or written to ISO 19139 compliant XML documents.
The SIS referencing module will enable the construction of geodetic data structures for
geospatial referencing based on the ISO 19111 model such as axis, projection and coordinate
reference system definitions, along with the associated operations which enable the mathematical
conversion of coordinates between different systems of reference.
The SIS storage modules will provide a common approach to the reading and writing of grid 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:svn:http://svn.apache.org/repos/asf/sis/trunk
</connection>
<developerConnection>
scm:svn:https://svn.apache.org/repos/asf/sis/trunk
</developerConnection>
<url>http://svn.apache.org/viewvc/sis/trunk</url>
</scm>
<ciManagement>
<system>jenkins</system>
<url>https://builds.apache.org/job/sis-jdk8</url>
</ciManagement>
<issueManagement>
<system>JIRA</system>
<url>https://issues.apache.org/jira/browse/SIS</url>
</issueManagement>
<mailingLists>
<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>http://mail-archives.apache.org/mod_mbox/sis-dev/</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>http://mail-archives.apache.org/mod_mbox/sis-commits/</archive>
</mailingList>
<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>http://mail-archives.apache.org/mod_mbox/sis-user/</archive>
</mailingList>
</mailingLists>
<!-- ==============================================================
Developers and Contributors.
============================================================== -->
<developers>
<developer>
<name>Adam Estrada</name>
<id>aestrada</id>
<roles>
<role>chair</role>
</roles>
</developer>
<developer>
<name>Chris A. Mattmann</name>
<id>mattmann</id>
<email>mattmann@apache.org</email>
<url>http://sunset.usc.edu/~mattmann/</url>
<organization>NASA Jet Propulsion Laboratory</organization>
<organizationUrl>http://www.jpl.nasa.gov</organizationUrl>
<timezone>-8</timezone>
<roles>
<role>committer</role>
</roles>
</developer>
<developer>
<name>Joseph F. White</name>
<id>jwhite</id>
<roles>
<role>developer</role>
</roles>
</developer>
<developer>
<name>Martin Desruisseaux</name>
<id>desruisseaux</id>
<email>desruisseaux@apache.org</email>
<organization>Geomatys</organization>
<organizationUrl>http://www.geomatys.com</organizationUrl>
<timezone>+1</timezone>
<roles>
<role>developer</role>
</roles>
</developer>
<developer>
<name>Patrick O'Leary</name>
<id>pjaol</id>
<email>pjaol@apache.org</email>
<organization>AT&amp;T Interactive</organization>
<organizationUrl>http://www.attinteractive.com</organizationUrl>
<timezone>-8</timezone>
<roles>
<role>committer</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>http://www.jpl.nasa.gov</organizationUrl>
<timezone>-8</timezone>
<roles>
<role>committer</role>
</roles>
</developer>
<developer>
<name>Sean McCleese</name>
<id>smcclees</id>
<email>smcclees@apache.org</email>
<organization>NASA Jet Propulsion Laboratory</organization>
<organizationUrl>http://www.jpl.nasa.gov</organizationUrl>
<timezone>-8</timezone>
<roles>
<role>committer</role>
</roles>
</developer>
<developer>
<name>Travis L. Pinney</name>
<id>tlpinney</id>
<email>travis.pinney@gmail.com</email>
<roles>
<role>developer</role>
</roles>
</developer>
<developer>
<name>Nga Chung</name>
<id>nchung</id>
<email>nchung@apache.org</email>
<organization>NASA Jet Propulsion Laboratory</organization>
<organizationUrl>http://www.jpl.nasa.gov</organizationUrl>
<timezone>-8</timezone>
<roles>
<role>committer</role>
</roles>
</developer>
<developer>
<name>Rémi Maréchal</name>
<id>rmarechal</id>
<email>remi.marechal@geomatys.com</email>
<organization>Geomatys</organization>
<organizationUrl>http://www.geomatys.com/</organizationUrl>
<timezone>+1</timezone>
<roles>
<role>developer</role>
</roles>
</developer>
</developers>
<contributors>
<contributor>
<name>Adrian Custer</name>
<roles>
<role>documentation</role>
</roles>
</contributor>
<contributor>
<name>Andrew Hart</name>
<!-- id>ahart</id -->
</contributor>
<contributor>
<name>Charitha</name>
<!-- id>charithcc</id -->
</contributor>
<contributor>
<name>Cédric Briançon</name>
<email>cedric.briancon@geomatys.com</email>
<organization>Geomatys</organization>
<organizationUrl>http://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>Gregory D. Reddin</name>
<!-- id>greddin</id -->
<roles>
<role>mentor</role>
</roles>
</contributor>
<contributor>
<name>Guilhem Legal</name>
<email>guilhem.legal@geomatys.com</email>
<organization>Geomatys</organization>
<organizationUrl>http://www.geomatys.com</organizationUrl>
<timezone>+1</timezone>
<roles>
<role>developer</role>
</roles>
</contributor>
<contributor>
<name>Ian Holsman</name>
<!-- id>ianh</id -->
<roles>
<role>mentor</role>
</roles>
</contributor>
<contributor>
<name>Joe Schaefer</name>
<!-- id>joes</id -->
<roles>
<role>mentor</role>
</roles>
</contributor>
<contributor>
<name>Johann Sorel</name>
<email>johann.sorel@geomatys.com</email>
<organization>Geomatys</organization>
<organizationUrl>http://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>Peter Karich</name>
<!-- id>pk</id -->
</contributor>
<contributor>
<name>Ross Laidlaw</name>
<!-- id>rlaidlaw</id -->
</contributor>
<contributor>
<name>Touraïvane</name>
<organization>Institut de Recherche pour le Développement (IRD)</organization>
<organizationUrl>http://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 http://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>1.2.1</version>
</dependency>
<dependency>
<groupId>gov.nist.math</groupId>
<artifactId>jama</artifactId>
<version>1.0.3</version>
</dependency>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>7.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
<version>1.11</version>
</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</artifactId>
<version>${netcdf.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-jdk14</artifactId>
<version>1.7.7</version> <!-- Must matches the version used by NetCDF. -->
<scope>runtime</scope> <!-- Should never be needed at compile time. -->
</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>
<netcdf.version>4.6.5</netcdf.version>
<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.compile.source>1.8</maven.compile.source>
<maven.compile.target>1.8</maven.compile.target>
<sis.plugin.version>${project.version}</sis.plugin.version>
<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>
</profile>
<profile>
<activation>
<property>
<name>bootclasspath</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<compilerArgs>
<arg>-bootclasspath</arg>
<arg>${bootclasspath}</arg>
</compilerArgs>
</configuration>
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<bootclasspath>${bootclasspath}</bootclasspath>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<!-- ==============================================================
Build configuration.
See http://maven.apache.org/plugins/ for a plugins list.
============================================================== -->
<build>
<plugins>
<!-- Compile -->
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>${maven.compile.source}</source>
<target>${maven.compile.target}</target>
<encoding>${project.build.sourceEncoding}</encoding>
<useIncrementalCompilation>false</useIncrementalCompilation> <!-- https://jira.codehaus.org/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>
<configuration>
<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>2.6</version>
<!-- Regression in maven-jar-plugin version 3.0: the class-path entry in MANIFEST.MF
has the "repository" layout in sis-openoffice artifact even if we explicitely
ask for the "simple" layout. https://issues.apache.org/jira/browse/MJAR-223 -->
<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>
</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>
<executions>
<execution>
<id>source-release-assembly</id>
<configuration>
<finalName>sis-${project.version}</finalName>
</configuration>
</execution>
</executions>
</plugin>
<!-- Package as OSGi bundle -->
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>3.0.1</version>
<extensions>true</extensions>
<configuration>
<excludeDependencies>true</excludeDependencies>
<instructions>
<Bundle-DocURL>${project.url}</Bundle-DocURL>
</instructions>
</configuration>
</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>2.17</version>
<executions>
<execution>
<goals>
<goal>check</goal>
</goals>
<configuration>
<skip>${skipTests}</skip> <!-- When skipping tests, skip also checkstyle verification. -->
<encoding>${project.build.sourceEncoding}</encoding>
<consoleOutput>true</consoleOutput>
<checkstyleRules>
<module name="Checker">
<module name="FileTabCharacter"/> <!-- Checks that there are no tab characters in the file. -->
<module name="NewlineAtEndOfFile"/> <!-- Checks that there is a newline at the end of each file. -->
<module name="TreeWalker">
<module name="RedundantImport"/> <!-- Checks for redundant import statements. -->
<module name="GenericWhitespace"/> <!-- Checks that the whitespace around the Generic tokens follow the typical convention. -->
</module>
</module>
</checkstyleRules>
</configuration>
</execution>
</executions>
</plugin>
<!-- JavaDoc configuration. -->
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<source>${maven.compile.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. -->
<links>
<link>http://www.geoapi.org/snapshot/pending</link>
</links>
<additionalparam>
-Xdoclint:syntax -Xdoclint:html -Xdoclint:missing -Xdoclint:accessibility
</additionalparam>
<!-- 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>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:com</excludePackageNames>
<!-- Custom taglets, some of them implemented in Java. -->
<tags>
<tag><placement>t</placement> <name>goal</name> <head>Maven goal:</head></tag>
<tag><placement>t</placement> <name>phase</name> <head>Maven phase:</head></tag>
<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.taglet.Module</tagletClass></taglet>
<taglet><tagletClass>org.apache.sis.internal.taglet.Include</tagletClass></taglet>
<taglet><tagletClass>org.apache.sis.internal.taglet.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>
<!-- Dependencies requires for the SIS FindBugs configuration file. -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>3.0.3</version>
<dependencies>
<dependency>
<groupId>org.apache.sis.core</groupId>
<artifactId>sis-build-helper</artifactId>
<version>${sis.plugin.version}</version>
</dependency>
</dependencies>
</plugin>
</plugins>
<!-- Following plugins are used only by some specific modules. -->
<pluginManagement>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.10</version>
</plugin>
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.3.7.v20160115</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 and latest vecmath releases
on SIS branches only. Shall be removed on SIS trunk. -->
<repositories>
<repository>
<id>geotoolkit</id>
<name>Geotoolkit.org repository</name>
<url>http://maven.geotoolkit.org</url>
</repository>
</repositories>
<!-- ==============================================================
Group of modules to build in approximate dependency order.
============================================================== -->
<modules>
<module>core</module>
<module>storage</module>
<module>application</module>
<module>profiles</module>
</modules>
</project>