<?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.scytl.products.ov.channel.au</groupId>
        <artifactId>authentication</artifactId>
        <version>2.1.7</version>
    </parent>

    <groupId>com.scytl.products.ov.channel.au.ui</groupId>
    <artifactId>au-ws-rest</artifactId>
    <packaging>war</packaging>
    <name>Online Voting - Authentication - Webservices</name>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.scytl.products.ov.channel.commons</groupId>
                <artifactId>ov-commons-integration-tests</artifactId>
                <version>${project.version}</version>
                <scope>import</scope>
                <type>pom</type>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <dependencies>
        <!-- Local dependencies -->
        <dependency>
            <groupId>com.scytl.products.ov.channel.au.services</groupId>
            <artifactId>authentication-services</artifactId>
            <version>${project.version}</version>
        </dependency>
        
        <!-- OV CHANNEL COMMONS -->
        <dependency>
            <groupId>com.scytl.products.ov.channel.commons</groupId>
            <artifactId>ov-commons-infrastructure</artifactId>
        </dependency>
        <dependency>
            <groupId>com.scytl.products.ov.channel.commons.lib</groupId>
            <artifactId>ov-commons-lib</artifactId>
        </dependency>
        <dependency>
            <groupId>com.scytl.products.ov.channel.commons</groupId>
            <artifactId>ov-commons-logging</artifactId>
        </dependency>

        <!-- Tests -->
        <dependency>
            <groupId>org.jmockit</groupId>
            <artifactId>jmockit</artifactId>
            <version>${jmockit.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.glassfish.jersey.test-framework</groupId>
            <artifactId>jersey-test-framework-core</artifactId>
            <version>${jersey-test-framework-core.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.glassfish.jersey.test-framework.providers</groupId>
            <artifactId>jersey-test-framework-provider-grizzly2</artifactId>
            <version>${jersey-test-framework-core.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.glassfish.jersey.media</groupId>
            <artifactId>jersey-media-json-jackson</artifactId>
            <version>${jersey-test-framework-core.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.scytl.products.ov.channel.commons</groupId>
            <artifactId>ov-commons-integration-tests</artifactId>
            <version>${project.version}</version>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <artifactId>resteasy-client</artifactId>
                    <groupId>org.jboss.resteasy</groupId>
                </exclusion>
            </exclusions>
        </dependency>

    </dependencies>


    <build>
        <finalName>${project.artifactId}</finalName>
    </build>
    <!-- The profile below can be used if the HTML API files should be generated -->
    <!-- It includes the installation of node, npm and raml2html -->
    <profiles>
    
        <profile>
          <id>skipTestRun</id>
          <activation>
            <property>
              <name>skipTests</name>
              <value>!true</value>
            </property>
          </activation>
          <dependencies>
            <dependency>
                <groupId>com.scytl.products.ov.channel.commons.lib</groupId>
                <artifactId>ov-commons-lib</artifactId>
                <type>test-jar</type>
                <scope>test</scope>
            </dependency>
          </dependencies>
        </profile>
        <profile>
            <id>generate-all-html-apis</id>
            <build>
                <finalName>${project.artifactId}</finalName>
                <plugins>
                    <plugin>
                        <groupId>com.github.eirslett</groupId>
                        <artifactId>frontend-maven-plugin</artifactId>
                        <version>${frontend-maven-plugin.version}</version>
                        <!-- install local installation of node and npm in the target directory -->
                        <configuration>
                            <installDirectory>target</installDirectory>
                        </configuration>
                        <executions>
                            <execution>
                                <id>install node and npm</id>
                                <goals>
                                    <goal>install-node-and-npm</goal>
                                </goals>
                                <configuration>
                                    <nodeVersion>${node.version}</nodeVersion>
                                    <npmVersion>${npm.version}</npmVersion>
                                    <nodeDownloadRoot>https://nexus.scytl.net/service/local/repositories/applications/content/org/nodejs/node/</nodeDownloadRoot>
                                    <npmDownloadRoot>https://nexus.scytl.net/service/local/repositories/applications/content/com/github/npm/npm/</npmDownloadRoot>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>exec-maven-plugin</artifactId>
                        <executions>
                            <!-- Install raml2html  -->
                            <execution>
                                <id>id0</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>exec</goal>
                                </goals>
                                <configuration>
                                    <executable>npm</executable>
                                    <commandlineArgs>install --prefix ./target/node/node_modules/npm-${npm.version} raml2html</commandlineArgs>
                                </configuration>
                            </execution>
                            <!-- Generate API file  -->
                            <execution>
                                <id>id1</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>exec</goal>
                                </goals>
                                <configuration>
                                    <executable>target/node/node_modules/npm-${npm.version}/node_modules/raml2html/bin/raml2html</executable>
                                    <commandlineArgs>-i src/main/resources/api.raml -o target/api.html</commandlineArgs>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>
</project>
