<?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>1.x-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>
