<?xml version="1.0" encoding="UTF-8"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at
      http://www.apache.org/licenses/LICENSE-2.0
  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->

<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.apache.nifi.registry</groupId>
        <artifactId>nifi-registry-core</artifactId>
        <version>0.4.0-SNAPSHOT</version>
    </parent>
    <groupId>org.apache.nifi.registry</groupId>
    <artifactId>nifi-registry-web-ui</artifactId>
    <version>0.4.0-SNAPSHOT</version>
    <packaging>war</packaging>
    <properties>
        <staging.dir>${project.build.directory}/tmp</staging.dir>
        <registry.filter>registry-min.properties</registry.filter>
        <frontend.source>${basedir}/src/main</frontend.source>
        <frontend.dependency.configs>${basedir}/src/main/frontend</frontend.dependency.configs>
        <frontend.working.dir>${project.build.directory}/frontend-working-directory</frontend.working.dir>
        <frontend.assets>${project.build.directory}/${project.build.finalName}/node_modules</frontend.assets>
    </properties>
    <build>
        <!--
            These filters are used to populate the includes (css and js)
            for each of the available pages. The property is the name of
            the file which contains the properties that define which
            css and js files get included. When running with minify and
            compression (default) the filter properties will be overridden
            in the profile. The JSPs that contain the HEAD portion of the
            pages will not be pre-compiled and will instead be filtered
            when the war is built.
        -->
        <filters>
            <filter>src/main/resources/filters/${registry.filter}</filter>
        </filters>
        <plugins>
            <!--
                Precompile jsp's and add entries into the web.xml - the web.xml
                is automatically places in ${project.build.directory}. Do not
                precompile index.jsp, etc.
                These jsp's need to have the artifacts version filtered in to
                eliminate browser caching issues and set up the proper includes.
                Since the webResource filter occurs after the precompilation we
                must exclude them here.
            -->
            <plugin>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-jspc-maven-plugin</artifactId>
                <version>${jetty.version}</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>jspc</goal>
                        </goals>
                        <configuration>
                            <keepSources>true</keepSources>
                            <useProvidedScope>true</useProvidedScope>
                            <excludes>
                                **/index.jsp
                            </excludes>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <executions>
                    <!--
                        Filter the web.xml that was generated from jspc to specify the
                        NiFi Registry base directory. The plugin configuration is
                        specified here while the execution's are defined below in the
                        profiles to bind to the appropriate phase.
                    -->
                    <execution>
                        <id>copy-web-xml</id>
                        <phase>prepare-package</phase>
                        <goals>
                            <goal>copy-resources</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${staging.dir}/WEB-INF</outputDirectory>
                            <resources>
                                <resource>
                                    <directory>${project.build.directory}</directory>
                                    <filtering>true</filtering>
                                    <includes>
                                        <include>web.xml</include>
                                    </includes>
                                </resource>
                            </resources>
                        </configuration>
                    </execution>
                    <!--
                        Copy build and test configs into frontend working directory.
                    -->
                    <execution>
                        <id>copy-client-side-build-and-test-configs</id>
                        <phase>initialize</phase>
                        <goals>
                            <goal>copy-resources</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${frontend.working.dir}</outputDirectory>
                            <resources>
                                <resource>
                                    <directory>${frontend.dependency.configs}</directory>
                                    <filtering>false</filtering>
                                    <includes>
                                        <include>*</include>
                                    </includes>
                                </resource>
                            </resources>
                        </configuration>
                    </execution>
                    <!--
                        Copy src into frontend working directory.
                    -->
                    <execution>
                        <id>copy-source</id>
                        <phase>initialize</phase>
                        <goals>
                            <goal>copy-resources</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${frontend.working.dir}</outputDirectory>
                            <resources>
                                <resource>
                                    <directory>${frontend.source}</directory>
                                    <filtering>false</filtering>
                                    <includes>
                                        <include>locale/**/*</include>
                                        <include>webapp/**/*</include>
                                        <include>platform/**/*</include>
                                    </includes>
                                </resource>
                            </resources>
                        </configuration>
                    </execution>
                    <!--
                        Stage client side node_modules dependencies for inclusion in .war.
                    -->
                    <execution>
                        <id>copy-client-side-deps</id>
                        <phase>prepare-package</phase>
                        <goals>
                            <goal>copy-resources</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${frontend.assets}</outputDirectory>
                            <resources>
                                <resource>
                                    <directory>${frontend.working.dir}/node_modules</directory>
                                    <filtering>false</filtering>
                                    <includes>
                                        <!-- roboto -->
                                        <include>roboto-fontface/fonts/roboto-slab/Roboto-Slab-Regular.ttf</include>
                                        <include>roboto-fontface/fonts/roboto/Roboto-Regular.ttf</include>
                                        <include>roboto-fontface/fonts/roboto/Roboto-Medium.ttf</include>
                                        <include>roboto-fontface/fonts/roboto/Roboto-Light.ttf</include>
                                        <include>roboto-fontface/fonts/roboto/Roboto-Bold.ttf</include>
                                        <include>roboto-fontface/LICENSE*</include>
                                        <!-- covalent -->
                                        <include>@covalent/core/common/platform.css</include>
                                        <include>@covalent/core/common/styles/font/MaterialIcons-Regular.woff2</include>
                                        <include>@covalent/core/common/styles/font/MaterialIcons-Regular.ttf</include>
                                        <include>@covalent/core/README.md</include>
                                        <!-- FDS -->
                                        <include>@nifi-fds/core/common/styles/css/*</include>
                                        <include>@nifi-fds/core/LICENSE</include>
                                        <include>@nifi-fds/core/NOTICE</include>
                                        <include>@nifi-fds/core/README.md</include>
                                        <!-- font-awesome -->
                                        <include>font-awesome/css/font-awesome.css</include>
                                        <include>font-awesome/fonts/fontawesome-webfont.woff2</include>
                                        <include>font-awesome/fonts/fontawesome-webfont.ttf</include>
                                        <include>font-awesome/README.md</include>
                                    </includes>
                                </resource>
                            </resources>
                        </configuration>
                    </execution>
                    <!--
                        Stage client side styles.
                    -->
                    <execution>
                        <id>copy-webapp-client-side-styles</id>
                        <phase>prepare-package</phase>
                        <goals>
                            <goal>copy-resources</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.build.directory}/${project.build.finalName}/css</outputDirectory>
                            <resources>
                                <resource>
                                    <directory>${frontend.working.dir}/webapp/css</directory>
                                    <filtering>false</filtering>
                                    <includes>
                                        <include>*</include>
                                    </includes>
                                </resource>
                            </resources>
                        </configuration>
                    </execution>

                    <!--
                        Stage the final bundle of JS to be included in the .war
                    -->
                    <execution>
                        <id>copy-web-ui-bundle</id>
                        <phase>prepare-package</phase>
                        <goals>
                            <goal>copy-resources</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.build.directory}/${project.build.finalName}
                            </outputDirectory>
                            <resources>
                                <resource>
                                    <directory>${frontend.working.dir}/webapp</directory>
                                    <filtering>false</filtering>
                                    <includes>
                                        <include>nf-registry.bundle.*</include>
                                    </includes>
                                </resource>
                            </resources>
                        </configuration>
                    </execution>
                    <!--
                        Stage the localization files to be included in the .war
                    -->
                    <execution>
                        <id>copy-localization</id>
                        <phase>prepare-package</phase>
                        <goals>
                            <goal>copy-resources</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.build.directory}/${project.build.finalName}
                            </outputDirectory>
                            <resources>
                                <resource>
                                    <directory>${frontend.working.dir}/locale</directory>
                                    <filtering>false</filtering>
                                    <includes>
                                        <include>*</include>
                                    </includes>
                                </resource>
                            </resources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <!--
                Tell the war plugin where to find the filtered web.xml and
                filter the head portion of the pages. The correct includes and
                project version is filtered into these jsp's as a browser cache
                buster.
            -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <configuration>
                    <webXml>${staging.dir}/WEB-INF/web.xml</webXml>
                    <webResources>
                        <resource>
                            <directory>src/main/webapp/WEB-INF/pages</directory>
                            <targetPath>WEB-INF/pages</targetPath>
                            <includes>
                                <include>index.jsp</include>
                            </includes>
                            <filtering>true</filtering>
                        </resource>
                    </webResources>
                </configuration>
            </plugin>
            <plugin>
                <groupId>com.github.eirslett</groupId>
                <artifactId>frontend-maven-plugin</artifactId>
                <version>1.5</version>
                <configuration>
                    <installDirectory>${frontend.working.dir}</installDirectory>
                </configuration>
                <executions>
                    <!--
                        Install node and npm.
                    -->
                    <execution>
                        <id>install-node-and-npm</id>
                        <goals>
                            <goal>install-node-and-npm</goal>
                        </goals>
                        <phase>initialize</phase>
                        <configuration>
                            <nodeVersion>v8.10.0</nodeVersion>
                        </configuration>
                    </execution>
                    <!--
                        Install node_modules (build, test, AND client side dependencies).
                    -->
                    <execution>
                        <id>npm-install</id>
                        <goals>
                            <goal>npm</goal>
                        </goals>
                        <phase>initialize</phase>
                        <configuration>
                            <arguments>--silent --cache-min Infinity install</arguments>
                            <workingDirectory>${frontend.working.dir}</workingDirectory>
                        </configuration>
                    </execution>
                    <!--
                        Compile nifi registry web ui SASS into css and gzip compress it.
                    -->
                    <execution>
                        <id>grunt-compile-web-ui-sass</id>
                        <goals>
                            <goal>grunt</goal>
                        </goals>
                        <phase>generate-resources</phase>
                        <configuration>
                            <arguments>compile-web-ui-styles</arguments>
                            <workingDirectory>${frontend.working.dir}</workingDirectory>
                        </configuration>
                    </execution>
                    <!--
                        Bundle, minify, and gzip compress all the javascript.
                    -->
                    <execution>
                        <id>grunt-package-web-ui</id>
                        <goals>
                            <goal>grunt</goal>
                        </goals>
                        <phase>generate-resources</phase>
                        <configuration>
                            <arguments>bundle-web-ui</arguments>
                            <workingDirectory>${frontend.working.dir}</workingDirectory>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.rat</groupId>
                <artifactId>apache-rat-plugin</artifactId>
                <configuration>
                    <excludes combine.children="append">
                        <exclude>nbactions.xml</exclude>
                        <exclude>src/main/frontend/package.json</exclude>
                        <exclude>src/main/frontend/package-lock.json</exclude>
                        <exclude>src/main/platform/core/README.md</exclude>
                        <exclude>src/main/frontend/karma-test-shim.js</exclude>
                        <exclude>src/main/webapp/systemjs-angular-loader.js</exclude>
                    </excludes>
                </configuration>
            </plugin>
            <!--
                    By default, skip all tests in nifi-registry-web-ui directory during build.
            -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-failsafe-plugin</artifactId>
                <executions>
                    <execution>
                        <phase>none</phase>
                    </execution>
                </executions>
                <configuration>
                    <skip>true</skip>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <profiles>
        <profile>
            <id>jsUnitTests</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <build>
                <plugins>
                    <!--
                        Selenium, Karma/Jasmine JS unit tests.
                    -->
                    <plugin>
                        <groupId>com.github.eirslett</groupId>
                        <artifactId>frontend-maven-plugin</artifactId>
                        <version>1.5</version>
                        <configuration>
                            <installDirectory>${frontend.working.dir}</installDirectory>
                        </configuration>
                        <executions>
                            <execution>
                                <id>javascript-tests</id>
                                <goals>
                                    <goal>npm</goal>
                                </goals>
                                <phase>test</phase>
                                <configuration>
                                    <arguments>run test</arguments>
                                    <workingDirectory>${frontend.working.dir}</workingDirectory>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>development-mode</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <properties>
                <registry.filter>registry.properties</registry.filter>
            </properties>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-resources-plugin</artifactId>
                        <executions>
                            <!--
                                Stage client side node_modules dependencies for inclusion in .war.
                            -->
                            <execution>
                                <id>copy-development-mode-client-side-deps</id>
                                <phase>prepare-package</phase>
                                <goals>
                                    <goal>copy-resources</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${frontend.assets}</outputDirectory>
                                    <resources>
                                        <resource>
                                            <directory>${frontend.working.dir}/node_modules</directory>
                                            <filtering>false</filtering>
                                            <includes>
                                                <include>@nifi-fds/**/*</include>
                                                <include>@angular/**/*</include>
                                                <include>hammerjs/**/*</include>
                                                <include>@covalent/**/*</include>
                                                <include>rxjs/**/*</include>
                                                <include>moment/**/*</include>
                                                <include>angular2-moment/**/*</include>
                                                <include>zone.js/**/*</include>
                                                <include>core-js/**/*</include>
                                                <include>superagent/**/*</include>
                                                <include>querystring/**/*</include>
                                                <include>tslib/**/*</include>
                                                <include>systemjs/**/*</include>
                                                <include>systemjs-plugin-text/**/*</include>
                                                <include>jquery/**/*</include>
                                                <include>roboto-fontface/**/*</include>
                                            </includes>
                                        </resource>
                                    </resources>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <!--
                        Speed up build time by excluding node, npm, and any node_modules from `mvn clean` since the front-end-maven plugin uses these
                        directories as cache.
                    -->
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-clean-plugin</artifactId>
                        <version>3.0.0</version>
                        <configuration>
                            <excludeDefaultDirectories>true</excludeDefaultDirectories>
                            <filesets>
                                <fileset>
                                    <directory>${project.build.directory}</directory>
                                    <includes>
                                        <include>**</include>
                                    </includes>
                                    <excludes>
                                        <exclude>frontend-working-directory/node/**/*</exclude>
                                        <exclude>frontend-working-directory/node_modules/**/*</exclude>
                                    </excludes>
                                </fileset>
                            </filesets>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <!--
            Profile to explicitly run Selenium UI tests during build.
        -->
        <profile>
            <id>selenium_tests</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-failsafe-plugin</artifactId>
                        <configuration>
                            <skip>false</skip>
                        </configuration>
                        <executions>
                            <execution>
                                <goals>
                                    <goal>integration-test</goal>
                                    <goal>verify</goal>
                                </goals>
                                <phase>verify</phase>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>
    <dependencies>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-firefox-driver</artifactId>
            <version>3.141.59</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-chrome-driver</artifactId>
            <version>3.141.59</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-server</artifactId>
            <version>3.141.59</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>io.github.bonigarcia</groupId>
            <artifactId>webdrivermanager</artifactId>
            <version>3.3.0</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>
