<?xml version="1.0" encoding="UTF-8"?>
<!--
  Copyright (c) 2015 BSI Business Systems Integration AG.
  All rights reserved. This program and the accompanying materials
  are made available under the terms of the Eclipse Public License v1.0
  which accompanies this distribution, and is available at
  http://www.eclipse.org/legal/epl-v10.html

  Contributors:
  BSI Business Systems Integration AG - initial API and implementation
-->
<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.eclipse.scout</groupId>
    <artifactId>maven_plugin_config-master</artifactId>
    <version>3.8.0</version>
    <relativePath>../maven_plugin_config-master</relativePath>
  </parent>

  <artifactId>maven_rt_plugin_config-master</artifactId>
  <packaging>pom</packaging>
  <name>Maven Master Plugin Build Configuration - RT</name>

  <properties>
    <master_skip_npm_build_dev>false</master_skip_npm_build_dev>
    <master_skip_npm_build_prod>false</master_skip_npm_build_prod>
    <master_skip_karma_test>${master_webTest_skip}</master_skip_karma_test>
    <master_skip_copy_webpack_build_output>false</master_skip_copy_webpack_build_output>
    <master_skip_snapshot_predependency>true</master_skip_snapshot_predependency>
    <master_skip_snapshot_postdependency>true</master_skip_snapshot_postdependency>
    <master_skip_release_predependency>true</master_skip_release_predependency>
    <master_skip_release_postdependency>true</master_skip_release_postdependency>
    <master_nodeDownloadRoot>https://nodejs.org/dist/</master_nodeDownloadRoot>
  </properties>

  <build>
    <pluginManagement>
      <plugins>

        <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself. -->
        <plugin>
          <groupId>org.eclipse.m2e</groupId>
          <artifactId>lifecycle-mapping</artifactId>
          <version>1.0.0</version>
          <configuration>
            <lifecycleMappingMetadata>
              <pluginExecutions>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.jboss.jandex</groupId>
                    <artifactId>jandex-maven-plugin</artifactId>
                    <versionRange>[1.0.1,)</versionRange>
                    <goals>
                      <goal>jandex</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore></ignore>
                  </action>
                </pluginExecution>
                <!-- WS-STUB generation: Instrument 'm2e' to generate webservice stub in Eclipse IDE (does not affect standalone Maven build) -->
                <!-- Note: Artifacts are on re-generated if the hash of 'wsartifact-hash' changes. -->
                <!-- Note: Do not move into 'jaxws' profile because ignored by 'm2e' otherwise. -->
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>com.helger.maven</groupId>
                    <artifactId>jaxws-maven-plugin</artifactId>
                    <versionRange>[${master_plugin_jaxws_version},)</versionRange>
                    <goals>
                      <goal>wsimport</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <execute>
                      <!-- to run on full and incremental build -->
                      <runOnIncremental>true</runOnIncremental>
                      <!-- to run once a JAX-WS module is imported into workspace -->
                      <runOnConfiguration>true</runOnConfiguration>
                    </execute>
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>com.github.eirslett</groupId>
                    <artifactId>frontend-maven-plugin</artifactId>
                    <versionRange>[${master_plugin_frontend_version},)</versionRange>
                    <goals>
                      <goal>install-node-and-npm</goal>
                      <goal>npm</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore></ignore>
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>exec-maven-plugin</artifactId>
                    <versionRange>[${master_plugin_exec_version},)</versionRange>
                    <goals>
                      <goal>exec</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore></ignore>
                  </action>
                </pluginExecution>
              </pluginExecutions>
            </lifecycleMappingMetadata>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>

  <reporting>
    <plugins></plugins>
  </reporting>

  <profiles>
    <profile>
      <!-- Only create the jandex.idx when a scout.xml is found -->
      <id>jandex-idx</id>
      <activation>
        <file>
          <exists>${basedir}/src/main/resources/META-INF/scout.xml</exists>
        </file>
      </activation>
      <build>
        <plugins>
          <!-- Create META-INF/jandex.idx -->
          <plugin>
            <groupId>org.jboss.jandex</groupId>
            <artifactId>jandex-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>make-index</id>
                <goals>
                  <goal>jandex</goal>
                </goals>
                <!-- phase is 'process-classes by default' -->
                <configuration>
                  <!-- Nothing needed here for simple cases -->
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <!-- Only create the jandex.idx when a scout.xml is found -->
      <id>jandex-test-idx</id>
      <activation>
        <file>
          <exists>${basedir}/src/test/resources/META-INF/scout.xml</exists>
        </file>
      </activation>
      <build>
        <plugins>
          <!-- Create META-INF/jandex.idx -->
          <plugin>
            <groupId>org.jboss.jandex</groupId>
            <artifactId>jandex-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>make-index</id>
                <goals>
                  <goal>jandex</goal>
                </goals>
                <!-- phase is 'process-classes by default' -->
                <phase>process-test-classes</phase>
                <configuration>
                  <processDefaultFileSet>false</processDefaultFileSet>
                  <fileSets>
                    <fileSet>
                      <directory>${project.build.directory}/test-classes/</directory>
                    </fileSet>
                  </fileSets>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>generated_java_folder</id>
      <activation>
        <file>
          <exists>${basedir}/src/generated/java</exists>
        </file>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>build-helper-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>add-source</id>
                <goals>
                  <goal>add-source</goal>
                </goals>
                <phase>generate-sources</phase>
                <configuration>
                  <sources>
                    <source>src/generated/java</source>
                  </sources>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    <!-- Profile used for JAX-WS plugins to generate webservice artifacts like stub and proxy. -->
    <!-- This profile is activated automatically if a folder 'src/main/resources/WEB-INF/wsdl' is found. -->
    <profile>
      <id>jaxws</id>
      <activation>
        <file>
          <exists>${basedir}/src/main/resources/WEB-INF/wsdl</exists>
        </file>
      </activation>
      <properties>
        <!-- Destination directory for generated webservice artifacts -->
        <jaxws.stub.directory>${project.build.directory}/generated-sources/wsimport</jaxws.stub.directory>
        <!-- Directory to contain the calculated hash of WSDL, XSD and binding-files. If changed or absent, the stub is regenerated anew. -->
        <jaxws.stale.directory>${project.build.directory}/jaxws/wsartifact-hash</jaxws.stale.directory>
        <!-- To enable debug output when running APT. -->
        <jaxws.apt.consoleLog>true</jaxws.apt.consoleLog>
        <!-- Destination directory for generated APT artifacts. -->
        <jaxws.apt.directory>${project.build.directory}/generated-sources/annotations</jaxws.apt.directory>
        <!-- WSDL file name to set the 'wsdl-location' in @WebService and @WebServiceClient annotation -->
        <jaxws.wsdl.file></jaxws.wsdl.file>
      </properties>

      <build>
        <!-- EXCLUDE BINDING FILES (not used at runtime) -->
        <resources>
          <resource>
            <directory>${basedir}/src/main/resources</directory>
            <includes>
              <include>**/**</include>
            </includes>
            <excludes>
              <exclude>**/binding/</exclude>
            </excludes>
          </resource>
        </resources>
        <plugins>
          <!-- WSIMPORT (stub generation) -->
          <!-- Note: The stub is only re-generated if the hash of 'wsartifact-hash' changed. -->
          <plugin>
            <groupId>com.helger.maven</groupId>
            <artifactId>jaxws-maven-plugin</artifactId>
            <configuration>
              <wsdlDirectory>${basedir}/src/main/resources/WEB-INF/wsdl</wsdlDirectory>
              <wsdlLocation>WEB-INF/wsdl/${jaxws.wsdl.file}</wsdlLocation>
              <bindingDirectory>${basedir}/src/main/resources/WEB-INF/binding</bindingDirectory>
              <sourceDestDir>${jaxws.stub.directory}</sourceDestDir>
              <destDir>${jaxws.stub.directory}</destDir>
              <xnocompile>true</xnocompile>
              <!-- compilation done by Maven -->
              <xdisableSSLHostnameVerification>true</xdisableSSLHostnameVerification>
              <xdisableAuthenticator>true</xdisableAuthenticator>
              <xdebug>true</xdebug>
              <verbose>true</verbose>
              <keep>true</keep>
              <staleFile>${jaxws.stale.directory}</staleFile>
              <vmArgs>
                <vmArg>-Djavax.xml.accessExternalDTD=all</vmArg>
                <vmArg>-Djavax.xml.accessExternalSchema=all</vmArg>
              </vmArgs>
            </configuration>
            <!-- to use a specific version of JAX-WS to build against -->
            <dependencies>
              <dependency>
                <groupId>com.sun.xml.ws</groupId>
                <artifactId>jaxws-tools</artifactId>
                <version>${master_dependency_jaxws_version}</version>
              </dependency>
              <dependency>
                <!-- this dependency is required for Java 1.8 compatibility! -->
                <groupId>com.sun.xml.ws</groupId>
                <artifactId>jaxws-rt</artifactId>
                <version>${master_dependency_jaxws_version}</version>
              </dependency>
            </dependencies>
            <executions>
              <execution>
                <id>wsimport-1</id>
                <goals>
                  <goal>wsimport</goal>
                </goals>
                <phase>generate-sources</phase>
              </execution>
            </executions>
          </plugin>

          <!-- APT (PortTypeProxy, HandlerProxy, handler-chain.xml) -->
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
              <compilerArgs>
                <arg>-AconsoleLog=${jaxws.apt.consoleLog}</arg>
                <arg>-XprintProcessorInfo</arg>
                <arg>-XprintRounds</arg>
              </compilerArgs>
              <verbose>true</verbose>
              <generatedSourcesDirectory>${jaxws.apt.directory}</generatedSourcesDirectory>
            </configuration>
            <dependencies>
              <!-- dependency to the annotation processor -->
              <dependency>
                <groupId>org.eclipse.scout.rt</groupId>
                <artifactId>org.eclipse.scout.jaxws.apt</artifactId>
                <version>${org.eclipse.scout.rt.version}</version>
              </dependency>
            </dependencies>
          </plugin>

          <!-- REGISTER SOURCE FOLDER -->
          <!-- Add 'target/generated-sources/annotations' as source folder -->
          <!-- Add 'target/generated-sources/wsimport' as source folder -->
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>build-helper-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>add-wsimport-source</id>
                <goals>
                  <goal>add-source</goal>
                </goals>
                <configuration>
                  <sources>
                    <source>${jaxws.stub.directory}</source>
                  </sources>
                </configuration>
              </execution>
              <execution>
                <id>add-apt-source</id>
                <goals>
                  <goal>add-source</goal>
                </goals>
                <configuration>
                  <sources>
                    <source>${jaxws.apt.directory}</source>
                  </sources>
                </configuration>
              </execution>
            </executions>
          </plugin>

          <!-- COPY artifacts -->
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-resources-plugin</artifactId>
            <executions>
              <!-- WSIMPORT artifacts -->
              <execution>
                <id>copy-wsimport-artifacts</id>
                <!-- must not be 'process-resources' because APT files are only generated in compile phase -->
                <goals>
                  <goal>copy-resources</goal>
                </goals>
                <phase>process-sources</phase>
                <configuration>
                  <outputDirectory>${basedir}/target/classes</outputDirectory>
                  <resources>
                    <resource>
                      <directory>${jaxws.stub.directory}</directory>
                      <includes>
                        <include>**/**.xml</include>
                      </includes>
                    </resource>
                  </resources>
                </configuration>
              </execution>
              <!-- APT artifacts -->
              <execution>
                <id>copy-apt-artifacts</id>
                <!-- must not be 'process-resources' because APT files are only generated in compile phase -->
                <goals>
                  <goal>copy-resources</goal>
                </goals>
                <phase>process-classes</phase>
                <configuration>
                  <outputDirectory>${basedir}/target/classes</outputDirectory>
                  <resources>
                    <resource>
                      <directory>${jaxws.apt.directory}</directory>
                      <includes>
                        <include>**/**.xml</include>
                      </includes>
                    </resource>
                  </resources>
                </configuration>
              </execution>
              <!-- Copy JAX-WS artifacts to 'META-INF/resources/WEB-INF/wsdl' to respect ServletContext resource-loading API -->
              <!-- That is crucial if 'JAX-WS implementor' loads resources by ServletContext, e.g. METRO -->
              <execution>
                <id>copy-jaxws-artifacts-to-meta-inf</id>
                <goals>
                  <goal>copy-resources</goal>
                </goals>
                <phase>process-resources</phase>
                <configuration>
                  <outputDirectory>${basedir}/target/classes/META-INF/resources/WEB-INF/wsdl</outputDirectory>
                  <resources>
                    <resource>
                      <directory>${basedir}/src/main/resources/WEB-INF/wsdl</directory>
                    </resource>
                  </resources>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    <!-- profiles used for pnpm build -->
    <profile>
      <id>npm-root-dir-win</id>
      <activation>
        <os>
          <family>windows</family>
        </os>
      </activation>
      <properties>
        <master_npm_subdir>/node_modules</master_npm_subdir>
      </properties>
    </profile>
    <profile>
      <id>npm-root-dir-linux</id>
      <activation>
        <os>
          <family>linux</family>
        </os>
      </activation>
      <properties>
        <master_npm_subdir>/lib/node_modules</master_npm_subdir>
      </properties>
    </profile>
    <profile>
      <id>npm-root-dir-mac</id>
      <activation>
        <os>
          <family>mac</family>
        </os>
      </activation>
      <properties>
        <master_npm_subdir>/lib/node_modules</master_npm_subdir>
      </properties>
    </profile>
    <profile>
      <id>npm-snapshot-predependency</id>
      <activation>
        <property>
          <name>!master_npm_release_build</name>
        </property>
      </activation>
      <properties>
        <master_skip_snapshot_predependency>false</master_skip_snapshot_predependency>
      </properties>
    </profile>
    <profile>
      <id>npm-snapshot-postdependency</id>
      <activation>
        <property>
          <name>!master_npm_release_build</name>
        </property>
      </activation>
      <properties>
        <master_skip_snapshot_postdependency>false</master_skip_snapshot_postdependency>
      </properties>
    </profile>
    <profile>
      <id>npm-release-predependency</id>
      <activation>
        <property>
          <name>master_npm_release_build</name>
          <value>true</value>
        </property>
      </activation>
      <properties>
        <master_skip_release_predependency>false</master_skip_release_predependency>
      </properties>
    </profile>
    <profile>
      <id>npm-release-postdependency</id>
      <activation>
        <property>
          <name>master_npm_release_build</name>
          <value>true</value>
        </property>
      </activation>
      <properties>
        <master_skip_release_postdependency>false</master_skip_release_postdependency>
      </properties>
    </profile>
    <profile>
      <id>npm-run-full-build</id>
      <activation>
        <file>
          <exists>${basedir}/package.json</exists>
        </file>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>com.github.eirslett</groupId>
            <artifactId>frontend-maven-plugin</artifactId>
            <configuration>
              <installDirectory>target</installDirectory>
              <nodeDownloadRoot>${master_nodeDownloadRoot}</nodeDownloadRoot>
            </configuration>
            <executions>
              <execution>
                <id>install-node-and-npm</id>
                <goals>
                  <goal>install-node-and-npm</goal>
                </goals>
                <phase>initialize</phase>
                <configuration>
                  <nodeVersion>${master_node_version}</nodeVersion>
                </configuration>
              </execution>
              <execution>
                <id>install-pnpm</id>
                <goals>
                  <goal>npm</goal>
                </goals>
                <phase>generate-sources</phase>
                <configuration>
                  <arguments>install -g --prefix ./target/node pnpm@${master_pnpm_version}</arguments> <!-- explicitly specify pnpm version to use -->
                </configuration>
              </execution>
              <execution>
                <id>install-scout-releng</id>
                <goals>
                  <goal>npm</goal>
                </goals>
                <phase>generate-sources</phase>
                <configuration>
                  <arguments>install -g --prefix ./target/node @eclipse-scout/releng@${master_scout_releng_version}</arguments>
                </configuration>
              </execution>
              <execution>
                <id>npm-run-build:prod</id>
                <goals>
                  <goal>npm</goal>
                </goals>
                <phase>compile</phase>
                <configuration>
                  <skip>${master_skip_npm_build_prod}</skip>
                  <arguments>run build:prod</arguments>
                </configuration>
              </execution>
              <execution>
                <id>npm-run-build:dev</id>
                <goals>
                  <goal>npm</goal>
                </goals>
                <phase>compile</phase>
                <configuration>
                  <skip>${master_skip_npm_build_dev}</skip>
                  <arguments>run build:dev</arguments>
                </configuration>
              </execution>
              <execution>
                <id>javascript-test</id>
                <goals>
                  <goal>npm</goal>
                </goals>
                <phase>test</phase>
                <configuration>
                  <skip>${master_skip_karma_test}</skip>
                  <arguments>run test:ci</arguments>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>pnpm-update</id>
                <phase>generate-resources</phase>
                <goals>
                  <goal>exec</goal>
                </goals>
                <configuration>
                  <executable>${basedir}/target/node/node</executable>
                  <arguments>
                    <argument>${basedir}/target/node${master_npm_subdir}/pnpm/bin/pnpm.js</argument>
                    <argument>update</argument>
                  </arguments>
                </configuration>
              </execution>
              <execution>
                <id>scout-releng-snapshot-install-dependency</id>
                <phase>process-sources</phase>
                <goals>
                  <goal>exec</goal>
                </goals>
                <configuration>
                  <skip>${master_skip_snapshot_predependency}</skip>
                  <executable>${basedir}/target/node/node</executable>
                  <arguments>
                    <argument>${basedir}/target/node${master_npm_subdir}/@eclipse-scout/releng/bin/releng-scripts.js</argument>
                    <argument>snapshot-install-dependency</argument>
                  </arguments>
                </configuration>
              </execution>
              <execution>
                <id>scout-releng-snapshot-publish-dependency</id>
                <phase>process-resources</phase>
                <goals>
                  <goal>exec</goal>
                </goals>
                <configuration>
                  <skip>${master_skip_snapshot_postdependency}</skip>
                  <executable>${basedir}/target/node/node</executable>
                  <arguments>
                    <argument>${basedir}/target/node${master_npm_subdir}/@eclipse-scout/releng/bin/releng-scripts.js</argument>
                    <argument>snapshot-publish-dependency</argument>
                  </arguments>
                </configuration>
              </execution>
              <execution>
                <id>scout-releng-release-install-dependency</id>
                <phase>process-sources</phase>
                <goals>
                  <goal>exec</goal>
                </goals>
                <configuration>
                  <skip>${master_skip_release_predependency}</skip>
                  <executable>${basedir}/target/node/node</executable>
                  <commandlineArgs>${basedir}/target/node${master_npm_subdir}/@eclipse-scout/releng/bin/releng-scripts.js release-install-dependency ${master_npm_release_dependency_mapping}</commandlineArgs>
                </configuration>
              </execution>
              <execution>
                <id>scout-releng-release-publish-dependency</id>
                <phase>process-sources</phase> <!-- for release use process-source instead of resources. post-dependency is therefore executed BEFORE the pnpm update (in snapshot it is executed afterwards) -->
                <goals>
                  <goal>exec</goal>
                </goals>
                <configuration>
                  <skip>${master_skip_release_postdependency}</skip>
                  <executable>${basedir}/target/node/node</executable>
                  <arguments>
                    <argument>${basedir}/target/node${master_npm_subdir}/@eclipse-scout/releng/bin/releng-scripts.js</argument>
                    <argument>release-publish-dependency</argument>
                    <argument>--newVersion=${master_release_newVersion}</argument>
                  </arguments>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-resources-plugin</artifactId>
            <executions>
              <execution>
                <id>copy-webpack-build-output</id>
                <phase>prepare-package</phase>
                <goals>
                  <goal>copy-resources</goal>
                </goals>
                <configuration>
                  <skip>${master_skip_copy_webpack_build_output}</skip>
                  <outputDirectory>${basedir}/target/classes</outputDirectory>
                  <resources>
                    <resource>
                      <directory>dist</directory>
                      <filtering>false</filtering>
                    </resource>
                  </resources>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>
