<?xml version="1.0"?>
<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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>gov.nasa.arc.wtd</groupId>
    <artifactId>open-mct-web</artifactId>
    <version>0.6.1-SNAPSHOT</version>
    <name>Open MCT Web</name>
    <packaging>war</packaging>

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

    <!-- SCM info, for build number plugin -->
    <scm>
        <connection>scm:git:${basedir}</connection>
    </scm>

    <build>

        <plugins>

            <!-- Assemble WAR file -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.4</version>
                <configuration>
                    <webResources>
                        <resource>
                            <directory>.</directory>
                            <includes>
                                <include>index.html</include>
                                <include>*.json</include>
                                <include>**/src/**/*</include>
                                <include>**/res/**/*</include>
                                <include>**/lib/**/*</include>
                                <include>**/bundle.json</include>
                            </includes>
                            <excludes>
                                <exclude>platform/core/bundle.json</exclude>
                                <exclude>example/**/*</exclude>
                                <exclude>**/test/lib/*</exclude>
                            </excludes>
                        </resource>
                        <resource>
                            <directory>.</directory>
                            <includes>
                                <include>platform/core/bundle.json</include>
                            </includes>
                            <filtering>true</filtering>
                        </resource>
                    </webResources>
                    <failOnMissingWebXml>false</failOnMissingWebXml>
                </configuration>
            </plugin>

            <!-- Get commit hash, timestamp -->
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>buildnumber-maven-plugin</artifactId>
                <version>1.3</version>
                <executions>
                    <execution>
                        <phase>validate</phase>
                        <goals>
                            <goal>create</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <timestampFormat>{0,date,yyyy-MM-dd HH:mm:ss.SSSZ}</timestampFormat>
                    <doCheck>true</doCheck>
                    <doUpdate>false</doUpdate>
                    <revisionOnScmFailure>Unknown</revisionOnScmFailure>
                </configuration>
            </plugin>

            <!-- Get PhantomJS plugin -->
            <plugin>
                <groupId>com.github.klieber</groupId>
                <artifactId>phantomjs-maven-plugin</artifactId>
                <version>0.2.1</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>install</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <version>1.9.2</version>
                </configuration>
            </plugin>

            <!-- Run specs -->
            <!-- https://github.com/detro/phantomjs-jasminexml-example -->
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <version>1.1</version>
                <executions>

                    <execution>
                        <id>Jasmine Specs</id>
                        <phase>test</phase>
                        <goals>
                            <goal>exec</goal>
                        </goals>

                        <configuration>
                            <workingDirectory>.</workingDirectory>
                            <arguments>
                                <argument>platform/framework/test/lib/run_jasmine_test.coffee</argument>
                                <argument>test.html</argument>
                                <argument>${project.build.directory}/platform-test-results.html</argument>
                            </arguments>
                        </configuration>
                    </execution>

                </executions>
                <configuration>
                    <executable>${phantomjs.binary}</executable>
                </configuration>
            </plugin>


            <!-- Copy over css for test results -->
            <plugin>
                <artifactId>maven-resources-plugin</artifactId>
                <version>2.6</version>
                <executions>
                    <execution>
                        <id>copy-resources</id>
                        <phase>test</phase>
                        <goals>
                            <goal>copy-resources</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.build.directory}/platform/framework/test/lib</outputDirectory>
                            <resources>
                                <resource>
                                    <directory>platform/framework/test/lib</directory>
                                    <filtering>false</filtering>
                                </resource>
                            </resources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

            <!-- Enforce code style -->
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>jslint-maven-plugin</artifactId>
                <version>1.0.1</version>
                <configuration>
                    <sourceJsFolder>${basedir}</sourceJsFolder>
                    <excludes>
                        <exclude>**/lib/**</exclude>
                    </excludes>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>jslint</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

        </plugins>
    </build>


</project>
