blob: c5219fd2aadabb2c96a7cb6fb6b9e265c0dbb58a [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>
<parent>
<groupId>org.apache.sis</groupId>
<artifactId>application</artifactId>
<version>2.0-SNAPSHOT</version>
</parent>
<!-- ===========================================================
Module Description
=========================================================== -->
<groupId>org.apache.sis.application</groupId>
<artifactId>sis-javafx</artifactId>
<name>Apache SIS application for JavaFX (optional)</name>
<description>
Client application for JavaFX.
This module require the JavaFX environment to be pre-installed.
See https://openjfx.io/openjfx-docs/#install-javafx for details.
</description>
<!-- ===========================================================
Developers and Contributors
=========================================================== -->
<developers>
<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>developer</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>developer</role>
</roles>
</developer>
</developers>
<contributors>
<contributor>
<name>Smaniotto Enzo</name>
<roles>
<role>GSoC student</role>
</roles>
</contributor>
</contributors>
<!-- ===========================================================
Build configuration
=========================================================== -->
<build>
<plugins>
<!-- To be removed after SIS has been fully modularized. -->
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<release>16</release> <!-- Minimal version required by JavaFX. -->
</configuration>
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<release>16</release>
</configuration>
</plugin>
<!-- Anticipation for Java 9 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>org.apache.sis.gui.DataViewer</mainClass>
</manifest>
<manifestEntries>
<Automatic-Module-Name>
org.apache.sis.gui
</Automatic-Module-Name>
</manifestEntries>
</archive>
</configuration>
</plugin>
</plugins>
</build>
<!-- ===========================================================
Dependencies
All JavaFX dependencies must be under "provided" scope.
We can not redistribute them since they are under GPL +
classpath exception.
=========================================================== -->
<dependencies>
<dependency>
<groupId>org.apache.sis.core</groupId>
<artifactId>sis-portrayal</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.sis.core</groupId>
<artifactId>sis-referencing-by-identifiers</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.sis.storage</groupId>
<artifactId>sis-xmlstore</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.sis.storage</groupId>
<artifactId>sis-netcdf</artifactId>
<version>${project.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.sis.storage</groupId>
<artifactId>sis-earth-observation</artifactId>
<version>${project.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.sis.profiles</groupId>
<artifactId>sis-japan-profile</artifactId>
<version>${project.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derby</artifactId>
<scope>runtime</scope>
</dependency>
<!-- Test dependencies -->
<dependency>
<groupId>org.apache.sis.core</groupId>
<artifactId>sis-feature</artifactId>
<version>${project.version}</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
</dependencies>
<profiles>
<!--
Create the binary distribution file. Can also be launch from the command-line with:
mvn package org.apache.sis.core:sis-build-helper:dist
-->
<profile>
<id>apache-release</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.sis.core</groupId>
<artifactId>sis-build-helper</artifactId>
<version>${sis.plugin.version}</version>
<executions>
<execution>
<goals>
<goal>dist</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- Dependencies under GPL + classpath exception included only if explicitly requested. -->
<profile>
<id>javafx</id>
<dependencies>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-graphics</artifactId>
<version>${javafx.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>${javafx.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-web</artifactId>
<version>${javafx.version}</version>
<scope>provided</scope>
</dependency>
</dependencies>
</profile>
<!-- Alternative way to compile sis-javafx without above Maven depencencies. -->
<profile>
<activation>
<property>
<name>env.PATH_TO_FX</name>
</property>
</activation>
<build>
<plugins>
<!-- To be removed after SIS has been fully modularized. -->
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<compilerArgs>
<arg>--module-path</arg> <arg>${env.PATH_TO_FX}</arg>
<arg>--add-modules</arg> <arg>javafx.graphics,javafx.controls,javafx.web</arg>
</compilerArgs>
</configuration>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<argLine>
--module-path ${env.PATH_TO_FX} --add-modules javafx.graphics,javafx.controls,javafx.web
</argLine>
</configuration>
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<additionalJOptions>
<additionalJOption>--module-path</additionalJOption>
<additionalJOption>${env.PATH_TO_FX}</additionalJOption>
<additionalJOption>--add-modules</additionalJOption>
<additionalJOption>javafx.graphics,javafx.controls,javafx.web</additionalJOption>
</additionalJOptions>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<!-- Because the EPSG database is not free, require the user to ask it explicitly. -->
<profile>
<id>non-free</id>
<dependencies>
<dependency>
<groupId>org.apache.sis.non-free</groupId>
<artifactId>sis-epsg</artifactId>
<version>${sis.non-free.version}</version>
<scope>runtime</scope>
<exclusions>
<exclusion>
<groupId>*</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
</profile>
</profiles>
</project>