<?xml version="1.0" encoding="UTF-8"?>
<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>com.willwinder.universalgcodesender</groupId>
        <artifactId>ugs-parent</artifactId>
        <version>2.0-SNAPSHOT</version>
    </parent>

    <groupId>com.willwinder</groupId>
    <artifactId>ugs-platform-parent</artifactId>
    <version>2.0-SNAPSHOT</version>
    <packaging>pom</packaging>

    <name>ugs-platform-parent</name>

    <properties>
      <maven.build.timestamp.format>yyyy.MM.dd.HH.mm</maven.build.timestamp.format>
      <netbeans.version>RELEASE82</netbeans.version>
      <ugs.app.title>Universal Gcode Platform ${project.version}</ugs.app.title>
      <ugs.appbundle.name>Universal Gcode Platform</ugs.appbundle.name>

      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

       <!-- Modules specification version, overrides project version -->
       <!-- Adding timestamp for nightly autoupdates -->
       <!--
            -->
      <ugs.modules.specification.version>
        ${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}.${maven.build.timestamp}
      </ugs.modules.specification.version>

      <!--==== JRE Bundle Properties ====-->
      <ugs.bundle.java.url>http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135</ugs.bundle.java.url>

      <ugs.mac.bundle.jvm.version>jre-8u144-macosx-x64</ugs.mac.bundle.jvm.version>
      <ugs.rpi.bundle.jvm.version>jdk-8u144-linux-arm64-vfp-hflt</ugs.rpi.bundle.jvm.version>
      <ugs.rpi.bundle.javafx.url>http://download.gluonhq.com/javafxports/embedded/armv6hf-sdk-8.60.9.zip</ugs.rpi.bundle.javafx.url>

      <!-- Mac OS X signing identity - must match with a verified Apple developer certificate in the keychain -->
      <ugs.codesign.identity>Developer ID Application</ugs.codesign.identity>

      <!--==== Netbeans Plugin Settings ====-->
      <brandingToken>ugsplatform</brandingToken>
      <all.clusters>${project.build.directory}/${brandingToken}</all.clusters>

      <!--==== Plugin Versions ====-->
      <ugs.maven-surefire-plugin.version>2.20</ugs.maven-surefire-plugin.version>

      <ugs.maven-jar-plugin.version>3.0.2</ugs.maven-jar-plugin.version>

      <ugs.maven-compiler-plugin.version>3.6.1</ugs.maven-compiler-plugin.version>

      <ugs.maven-antrun-plugin.version>1.8</ugs.maven-antrun-plugin.version>

      <ugs.nbm-maven-plugin.version>4.1</ugs.nbm-maven-plugin.version>

      <ugs.maven-resources-plugin.version>3.0.2</ugs.maven-resources-plugin.version>
    </properties>

    <repositories>
        <!--
        Repository hosting NetBeans modules, especially APIs.
        Versions are based on IDE releases, e.g.: RELEASE691
        To create your own repository, use: nbm:populate-repository
        -->
        <repository>
            <id>netbeans</id>
            <name>NetBeans</name>
            <url>http://bits.netbeans.org/nexus/content/groups/netbeans/</url>
        </repository>
    </repositories>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>nbm-maven-plugin</artifactId>
                    <version>${ugs.nbm-maven-plugin.version}</version>
                    <extensions>true</extensions>
                    <configuration>
                        <sourceManifestFile>${project.build.directory}/manifest.mf</sourceManifestFile>
                        <brandingToken>${brandingToken}</brandingToken>
                        <cluster>${brandingToken}</cluster>
                        <etcConfFile>launcher.conf</etcConfFile>
                    </configuration>
                </plugin>
                <plugin>
                    <!-- NetBeans 6.9+ requires JDK 6, starting NetBeans 7.4 source 1.7 is required -->
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>${ugs.maven-compiler-plugin.version}</version>
                    <configuration>
                        <source>1.8</source>
                        <target>1.8</target>
                    </configuration>
                </plugin>
              <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-jar-plugin</artifactId>
                  <version>${ugs.maven-jar-plugin.version}</version>
                  <configuration>
                      <archive>
                          <!-- required since nbm-maven-plugin 3.0-->
                          <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
                      </archive>
                  </configuration>
              </plugin>
              <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-resources-plugin</artifactId>
                  <version>${ugs.maven-resources-plugin.version}</version>
              </plugin>
              <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-antrun-plugin</artifactId>
                  <version>${ugs.maven-antrun-plugin.version}</version>
              </plugin>
            </plugins>
        </pluginManagement>

        <plugins>
          <!-- Copy and apply filtering on manifest.mf file -->                                                                                   
          <plugin>
            <artifactId>maven-resources-plugin</artifactId>                                                                                               
            <executions>
              <execution>                                                                                                              
                <id>generate-modules-xml</id>
                <phase>generate-resources</phase>    
                <goals>
                  <goal>copy-resources</goal>   
                </goals>
                <configuration>  
                  <outputDirectory>${basedir}/target/</outputDirectory>
                  <resources>      
                    <resource>
                      <directory>src/main/nbm</directory>   
                      <includes>
                          <include>manifest.mf</include>
                      </includes>
                      <filtering>true</filtering>
                    </resource>
                  </resources>
                </configuration>
              </execution>
            </executions>
          </plugin>

          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>build-helper-maven-plugin</artifactId>
            <version>1.8</version>
            <executions>
              <execution>
                <id>parse-version</id>
                <goals>
                  <goal>parse-version</goal>
                </goals>
              </execution>
            </executions>
          </plugin>

        </plugins>
    </build>

    <modules>
        <module>branding</module>
        <module>application</module>
        <module>ugs-platform-ugslib</module>
        <module>ugs-platform-ugscore</module>
        <module>ugs-platform-visualizer</module>
        <module>ugs-platform-plugin-workflow</module>
        <module>ugs-platform-gcode-editor</module>
        <module>ugs-platform-surfacescanner</module>
        <module>ProbeModule</module>
    </modules>
</project>
