<!-- 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:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://maven.apache.org/POM/4.0.0"
	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>
	<artifactId>wfmanager</artifactId>
	<groupId>org.apache.ambari.contrib.views</groupId>
	<version>0.1.0.0-SNAPSHOT</version>
	<name>WF Manager View</name>
	<parent>
		<groupId>org.apache.ambari.contrib.views</groupId>
		<artifactId>ambari-contrib-views</artifactId>
		<version>2.7.1.0.0</version>
	</parent>

	<dependencies>
		<dependency>
			<groupId>org.apache.ambari.contrib.views</groupId>
			<artifactId>ambari-views-utils</artifactId>
			<version>2.7.1.0.0</version>
		</dependency>
		<dependency>
			<groupId>org.apache.ambari</groupId>
			<artifactId>ambari-views</artifactId>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.ambari.contrib.views</groupId>
			<artifactId>ambari-views-commons</artifactId>
			<version>2.7.1.0.0</version>
		</dependency>
		<dependency>
			<groupId>com.sun.jersey</groupId>
			<artifactId>jersey-core</artifactId>
		</dependency>
		<!-- <dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId>
			<version>2.2.2</version> </dependency> <dependency> <groupId>com.sun.xml.bind</groupId>
			<artifactId>jaxb-impl</artifactId> <version>2.1.2</version> </dependency> -->
		<dependency>
			<groupId>com.sun.jersey</groupId>
			<artifactId>jersey-client</artifactId>
		</dependency>
		<dependency>
			<groupId>com.sun.jersey</groupId>
			<artifactId>jersey-json</artifactId>
		</dependency>
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
		</dependency>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>com.google.code.gson</groupId>
			<artifactId>gson</artifactId>
		</dependency>
		<dependency>
			<groupId>commons-io</groupId>
			<artifactId>commons-io</artifactId>
			<version>2.4</version>
		</dependency>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
			<version>1.7.20</version>
		</dependency>
		<dependency>
			<groupId>javax.inject</groupId>
			<artifactId>javax.inject</artifactId>
			<version>1</version>
		</dependency>
		<dependency>
			<groupId>org.apache.hadoop</groupId>
			<artifactId>hadoop-common</artifactId>
			<version>${hadoop.version}</version>
			<exclusions>
				<exclusion>
					<groupId>tomcat</groupId>
					<artifactId>jasper-runtime</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.apache.hadoop</groupId>
			<artifactId>hadoop-hdfs</artifactId>
			<version>${hadoop.version}</version>
			<exclusions>
				<exclusion>
					<groupId>tomcat</groupId>
					<artifactId>jasper-runtime</artifactId>
				</exclusion>
			</exclusions>
		</dependency>


	</dependencies>
	<properties>
		<uicode.dir>../</uicode.dir>
		<checkstyle.skip>true</checkstyle.skip>
                <ambari.dir>${project.parent.parent.parent.basedir}</ambari.dir>
                <ui.directory>${basedir}/src/main/resources/ui</ui.directory>
	</properties>
	<build>
		<plugins>
	      <plugin>
	        <groupId>org.apache.maven.plugins</groupId>
	        <artifactId>maven-clean-plugin</artifactId>
	        <version>2.5</version>
	        <configuration>
	          <filesets>
	            <fileset>
	              <directory>${ui.directory}</directory>
	              <followSymlinks>false</followSymlinks>
	              <includes>
	                <include>tmp/**</include>
	                <!--
	                <include>node_modules/**</include>
	                <include>bower_components/**</include>
	                -->
	                <include>node/**</include>
	              </includes>
	            </fileset>
	          </filesets>
	        </configuration>
	      </plugin>
			<plugin>
				<groupId>com.github.eirslett</groupId>
				<artifactId>frontend-maven-plugin</artifactId>
				<version>1.4</version>
				<configuration>
					<nodeVersion>v4.5.0</nodeVersion>
					<yarnVersion>v0.23.2</yarnVersion>
					<workingDirectory>src/main/resources/ui/</workingDirectory>
					<npmInheritsProxyConfigFromMaven>false</npmInheritsProxyConfigFromMaven>
                    <!-- setting npm_config_tmp environment variable is a workaround for 
                     https://github.com/Medium/phantomjs/issues/673 -->
                    <environmentVariables>
                      <npm_config_tmp>/tmp/npm_config_tmp</npm_config_tmp>
                    </environmentVariables>
				</configuration>
				<executions>
					<execution>
						<id>install node and yarn</id>
						<phase>generate-sources</phase>
						<goals>
							<goal>install-node-and-yarn</goal>
						</goals>
					</execution>
					<execution>
						<id>yarn install --pure-lockfile</id>
						<phase>generate-sources</phase>
						<goals>
							<goal>yarn</goal>
						</goals>
						<configuration>
							<arguments>install
								--python="${project.basedir}/../src/main/unix/ambari-python-wrap"
								--unsafe-perm</arguments>
							<arguments>--ignore-engines</arguments>
						</configuration>
					</execution>
				</executions>
				</plugin>
               <plugin>
                    <artifactId>exec-maven-plugin</artifactId>
                    <groupId>org.codehaus.mojo</groupId>
                    <version>1.3.2</version>
                    <executions>
					<execution>
						<id>Bower install</id>
						<phase>generate-sources</phase>
						<goals>
						  <goal>exec</goal>
						</goals>
						<configuration>
						  <workingDirectory>${ui.directory}</workingDirectory>
						  <executable>${ui.directory}/node/${node.executable}</executable>
						  <arguments>
							<argument>${ui.directory}/node_modules/bower/bin/bower</argument>
							<argument>install</argument>
							<argument>--allow-root</argument>
						  </arguments>
						</configuration>
					  </execution>
					<execution>
						<id>Files build</id>
						<phase>generate-sources</phase>
						<goals>
							<goal>exec</goal>
						</goals>
						<configuration>
							<workingDirectory>${ui.directory}</workingDirectory>
							<executable>${ui.directory}/node/${node.executable}</executable>
							<arguments>
								<argument>${ui.directory}/node_modules/.bin/${ember.executable}</argument>
								<argument>build</argument>
								<argument>-prod</argument>
							</arguments>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.1</version>
				<configuration>
					<source>1.7</source>
					<target>1.7</target>
				</configuration>
			</plugin>
			<plugin>
				<artifactId>maven-dependency-plugin</artifactId>
				<executions>
					<execution>
						<phase>generate-resources</phase>
						<goals>
							<goal>copy-dependencies</goal>
						</goals>
						<configuration>
							<outputDirectory>${project.build.directory}/lib</outputDirectory>
							<includeScope>runtime</includeScope>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
		<resources>
			<resource>
				<directory>src/main/resources</directory>
				<filtering>false</filtering>
				<includes>
					<include>META-INF/**/*</include>
					<include>view.xml</include>
					<include>view.log4j.properties</include>
				</includes>
			</resource>
			<resource>
				<directory>src/main/resources/ui/dist</directory>
				<filtering>false</filtering>
			</resource>
			<!-- <resource> <directory>src/main/resources/ui/</directory> <filtering>false</filtering>
				</resource> -->
			<resource>
				<directory>${uicode.dir}/dist</directory>
				<filtering>false</filtering>
			</resource>
			<resource>
				<targetPath>WEB-INF/lib</targetPath>
				<filtering>false</filtering>
				<directory>target/lib</directory>
			</resource>
		</resources>
	</build>
    <profiles>
      <profile>
        <id>windows</id>
        <activation>
          <os>
            <family>win</family>
          </os>
        </activation>
        <properties>
          <node.executable>node.exe</node.executable>
          <ember.executable>ember.cmd</ember.executable>
          <skip.nodegyp.chmod>true</skip.nodegyp.chmod>
        </properties>
      </profile>
      <profile>
        <id>linux</id>
        <activation>
          <os>
            <family>unix</family>
          </os>
        </activation>
        <properties>
          <node.executable>node</node.executable>
          <ember.executable>ember</ember.executable>
          <skip.nodegyp.chmod>false</skip.nodegyp.chmod>
        </properties>
      </profile>
    </profiles>
</project>
