<?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.snc.npm</groupId>
        <artifactId>snc-npm-parent</artifactId>
        <version>5.1.0.1</version>
    </parent>

    <artifactId><%= packageName %></artifactId>
    <description><%= description %></description>
    <version>0.0.2-SNAPSHOT</version>
    <packaging>pom</packaging>

    <scm>
        <developerConnection>scm:git:${scmUrl}</developerConnection>
        <tag>master</tag>
    </scm>

    <properties>
        <plugin.dir>com.<%= pluginName %></plugin.dir>
        <sauce.tunnelId>${user.name}@localhost</sauce.tunnelId>
        <jenkins.credentials.saucelabs>tectonic-sauce-credentials</jenkins.credentials.saucelabs>
        <node.verify_cmd>run verify --if-present</node.verify_cmd>
        <npm.version>8.5.5</npm.version>
        <node.version>v16.16.0</node.version>
    </properties>

    <profiles>
        <profile>
            <id>snc-default-repo</id>
            <activation>
                <file>
                    <missing>/.m2/use_artifact.devsnc.com</missing>
                </file>
            </activation>
            <repositories>
                <repository>
                    <id>stable</id>
                    <url>http://nexus.proxy.devsnc.com/content/groups/stable</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>false</enabled>
                    </snapshots>
                </repository>
            </repositories>
        </profile>
        <profile>
            <id>snc-release-repo</id>
            <activation>
                <file>
                    <exists>/.m2/use_artifact.devsnc.com</exists>
                </file>
            </activation>
            <repositories>
                <repository>
                    <id>stable</id>
                    <url>https://artifact.devsnc.com/content/groups/stable</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>false</enabled>
                    </snapshots>
                </repository>
            </repositories>
        </profile>
        <profile>
            <id>jenkins</id>
            <activation>
                <property>
                    <name>env.BUILD_TAG</name>
                </property>
            </activation>
            <properties>
                <sauce.tunnelId>${env.BUILD_TAG}</sauce.tunnelId>
            </properties>
        </profile>
        <profile>
            <id>dev-build</id>
            <activation>
                <property>
                    <name>!env.CI</name>
                </property>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-release-plugin</artifactId>
                        <!--
                          Fixes problem with newer git version
                          http://stackoverflow.com/questions/15166781/mvn-releaseprepare-not-committing-changes-to-pom-xml
                        -->
                        <dependencies>
                            <dependency>
                                <groupId>org.apache.maven.scm</groupId>
                                <artifactId>maven-scm-provider-gitexe</artifactId>
                                <version>1.9.5</version>
                            </dependency>
                        </dependencies>
                    </plugin>
                    <plugin>
                        <artifactId>maven-assembly-plugin</artifactId>
                        <dependencies>
                            <dependency>
                                <groupId>com.snc</groupId>
                                <artifactId>snc-app-descriptors</artifactId>
                                <version>${project.parent.version}</version>
                            </dependency>
                        </dependencies>
                        <executions>
                            <execution>
                                <id>app</id>
                                <configuration>
                                    <descriptorRefs>
                                        <descriptorRef>scoped-app-assembly</descriptorRef>
                                    </descriptorRefs>
                                </configuration>
                                <phase>package</phase>
                                <goals>
                                    <goal>single</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>build</id>
            <activation>
                <property>
                    <name>env.CI</name>
                    <value>true</value>
                </property>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-release-plugin</artifactId>
                        <!--
                          Fixes problem with newer git version
                          http://stackoverflow.com/questions/15166781/mvn-releaseprepare-not-committing-changes-to-pom-xml
                        -->
                        <dependencies>
                            <dependency>
                                <groupId>org.apache.maven.scm</groupId>
                                <artifactId>maven-scm-provider-gitexe</artifactId>
                                <version>1.9.5</version>
                            </dependency>
                        </dependencies>
                    </plugin>
                    <plugin>
                        <artifactId>maven-assembly-plugin</artifactId>
                        <dependencies>
                            <dependency>
                                <groupId>com.snc</groupId>
                                <artifactId>snc-app-descriptors</artifactId>
                                <version>${project.parent.version}</version>
                            </dependency>
                        </dependencies>
                        <executions>
                            <execution>
                                <id>app</id>
                                <configuration>
                                    <descriptorRefs>
                                        <descriptorRef>scoped-app-assembly</descriptorRef>
                                    </descriptorRefs>
                                </configuration>
                                <phase>package</phase>
                                <goals>
                                    <goal>single</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>build-helper-maven-plugin</artifactId>
                        <version>3.0.0</version>
                        <executions>
                            <execution>
                                <id>reserve-network-port</id>
                                <goals>
                                    <goal>reserve-network-port</goal>
                                </goals>
                                <phase>process-resources</phase>
                                <configuration>
                                    <minPortNumber>4445</minPortNumber>
                                    <portNames>
                                        <portName>sauce.port</portName>
                                    </portNames>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>com.github.eirslett</groupId>
                        <artifactId>frontend-maven-plugin</artifactId>
                        <configuration>
                            <environmentVariables>
                                <SAUCE_PORT>${sauce.port}</SAUCE_PORT>
                                <SAUCE_TUNNEL_ID>${sauce.tunnelId}</SAUCE_TUNNEL_ID>
                            </environmentVariables>
                        </configuration>
                        <executions>
                            <execution>
                                <id>run-node-verify</id>
                                <phase>integration-test</phase>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>com.saucelabs.maven.plugin</groupId>
                        <artifactId>sauce-connect-plugin</artifactId>
                        <version>2.1.25</version>
                        <configuration>
                            <sauceUsername>${env.SAUCE_USERNAME}</sauceUsername>
                            <sauceAccessKey>${env.SAUCE_ACCESS_KEY}</sauceAccessKey>
                            <options>-i ${sauce.tunnelId} ${env.SAUCE_OPTIONS}</options>
                            <port>${sauce.port}</port>
                            <quietMode>false</quietMode>
                        </configuration>
                        <executions>
                            <execution>
                                <id>start-sauceconnct</id>
                                <phase>pre-integration-test</phase>
                                <goals>
                                    <goal>start-sauceconnect</goal>
                                </goals>
                            </execution>
                            <execution>
                                <id>stop-sauceconnect</id>
                                <phase>post-integration-test</phase>
                                <goals>
                                    <goal>stop-sauceconnect</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>

</project>
