<?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>org.bsc</groupId>
		<artifactId>forge-addon</artifactId>
		<version>4</version>
	</parent>
	
	<artifactId>forge-js-addon</artifactId>
	<version>1.0.1</version>
	<name>FORGE::JS Addon - ${project.version}</name>
	<description>Develop a JBoss Forge Addon using Javascript</description>
	<url>https://github.com/bsorrentino/forge-addon/tree/master/forge-js-addon</url>

	<prerequisites>
		<maven>3.2.5</maven>
	</prerequisites>

	<properties>
		<jvmnpm.version>1.0.0</jvmnpm.version>
		<version.furnace>2.25.2.Final</version.furnace>
		<maven.compiler.source>1.8</maven.compiler.source>
		<maven.compiler.target>1.8</maven.compiler.target>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<version.forge>3.5.1.Final</version.forge>
	</properties>

	<dependencies>

		<dependency>
			<groupId>org.kohsuke.metainf-services</groupId>
			<artifactId>metainf-services</artifactId>
			<optional>true</optional>
		</dependency>

		<dependency>
			<groupId>org.bsc</groupId>
			<artifactId>jvm-npm-core</artifactId>
			<version>${jvmnpm.version}</version>
		</dependency>

		<dependency>
			<groupId>org.bsc</groupId>
			<artifactId>jvm-npm-rhino</artifactId>
			<version>${jvmnpm.version}</version>
		</dependency>


		<!-- JBOSS FORGE -->
		<dependency>
			<groupId>org.jboss.forge.furnace.container</groupId>
			<artifactId>cdi</artifactId>
			<classifier>forge-addon</classifier>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.jboss.forge.furnace.test</groupId>
			<artifactId>furnace-test-harness</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.jboss.forge.furnace.test</groupId>
			<artifactId>arquillian-furnace-classpath</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.jboss.forge.addon</groupId>
			<artifactId>core</artifactId>
			<classifier>forge-addon</classifier>
		</dependency>

		<!-- 
		
		<dependency> 
			<groupId>org.jboss.forge.addon</groupId> 
			<artifactId>addon-manager</artifactId> 
			<classifier>forge-addon</classifier> 
			<scope>provided</scope> 
		</dependency> 
		
		<dependency> 
			<groupId>org.jboss.forge.addon</groupId> 
			<artifactId>addons</artifactId> 
			<classifier>forge-addon</classifier> 
			<scope>provided</scope> 
		</dependency> 
		
		<dependency> 
			<groupId>org.jboss.forge.addon</groupId> 
			<artifactId>configuration</artifactId> 
			<classifier>forge-addon</classifier> 
			<scope>provided</scope> 
		</dependency> 
		 
		<dependency> 
			<groupId>org.jboss.forge.addon</groupId> 
			<artifactId>templates</artifactId> 
			<classifier>forge-addon</classifier> 
		</dependency> 
		
		<dependency> 
			<groupId>org.jboss.forge.addon</groupId> 
			<artifactId>script</artifactId> 
			<classifier>forge-addon</classifier> 
		</dependency> 

		-->

	</dependencies>

	<dependencyManagement>
	
		<dependencies>
			<dependency>
				<groupId>org.kohsuke.metainf-services</groupId>
				<artifactId>metainf-services</artifactId>
				<version>1.7</version>
			</dependency>

			<!-- JBOSS FORGE -->		
			<dependency>
				<groupId>org.jboss.forge</groupId>
				<artifactId>forge-bom</artifactId>
				<version>${version.forge}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
			
			<dependency>
				<groupId>org.jboss.spec</groupId>
				<artifactId>jboss-javaee-6.0</artifactId>
				<version>3.0.3.Final</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
		
	</dependencyManagement>


	<build>
		
		<finalName>forge-js-addon</finalName>
		
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
				</configuration>
			</plugin>


			<plugin>
				<artifactId>maven-jar-plugin</artifactId>
				<executions>
					<execution>
						<id>create-forge-addon</id>
						<phase>package</phase>
						<goals>
							<goal>jar</goal>
						</goals>
						<configuration>
							<classifier>forge-addon</classifier>
						</configuration>
					</execution>
				</executions>
				<configuration>
					<archive>
						<manifestEntries>
							<version>${project.version}</version>
						</manifestEntries>
					</archive>
				</configuration>
			</plugin>
			
			<plugin>
				<artifactId>maven-javadoc-plugin</artifactId>
				<configuration>
					<reportOutputDirectory>${project.reporting.outputDirectory}/${project.artifactId}/apidocs</reportOutputDirectory>
					<outputDirectory>${project.build.directory}/${project.artifactId}/apidocs</outputDirectory>
					<additionalparam>-Xdoclint:none</additionalparam>
				</configuration>
			</plugin>
			
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<configuration>
					<threadCount>2</threadCount>
					<parallel>methods</parallel>
					<parallelTestsTimeoutForcedInSeconds>5</parallelTestsTimeoutForcedInSeconds>
					<parallelTestsTimeoutInSeconds>5</parallelTestsTimeoutInSeconds>
				</configuration>
			</plugin>

		</plugins>
		
	</build>

	<profiles>
	
		<profile>
			<id>java7</id>
			<build>
				<plugins>
					<plugin>
						<groupId>net.orfjackal.retrolambda</groupId>
						<artifactId>retrolambda-maven-plugin</artifactId>
						<version>2.3.0</version>
						<executions>
							<execution>
								<goals>
									<goal>process-main</goal>
									<goal>process-test</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>

		<profile>
			<id>release</id>
			<activation />
			<build>
				<plugins>
					<plugin>
						<groupId>org.jboss.forge.furnace</groupId>
						<artifactId>furnace-maven-plugin</artifactId>
						<version>${version.furnace}</version>
						<executions>
							<execution>
								<id>generate-dot</id>
								<phase>prepare-package</phase>
								<goals>
									<goal>generate-dot</goal>
								</goals>
								<configuration>
									<attach>true</attach>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>

		<profile>
			<id>wget</id>
			<properties>
				<jvmnpm.ts.dist>https://raw.githubusercontent.com/bsorrentino/jvm-npm/develop/jvm-npm-core/src/main/typescript/dist</jvmnpm.ts.dist>
				<jvmnpm.jasmine.dist>https://raw.githubusercontent.com/bsorrentino/jvm-npm/develop/jvm-npm-core/src/test/javascript</jvmnpm.jasmine.dist>
			</properties>
			<build>
				<plugins>
					<plugin>
						<artifactId>maven-clean-plugin</artifactId>
						<version>3.0.0</version>
						<configuration>
							<filesets>
								<fileset>
									<directory>${basedir}/src/main/resources/scripting</directory>
									<includes>
										<include>*.js</include>
									</includes>
								</fileset>
								<fileset>
									<directory>${basedir}/src/test/resources/jasmine</directory>
									<includes>
										<include>jvm-jasmine.js</include>
									</includes>
								</fileset>
							</filesets>
						</configuration>
					</plugin>

					<plugin>
						<groupId>com.googlecode.maven-download-plugin</groupId>
						<artifactId>download-maven-plugin</artifactId>
						<version>1.3.0</version>
						<executions>
							<execution>
								<id>install-jvm-npm</id>
								<phase>generate-sources</phase>
								<goals>
									<goal>wget</goal>
								</goals>
								<configuration>
									<url>${jvmnpm.ts.dist}/jvm-npm.js</url>
									<outputDirectory>${basedir}/src/main/resources/scripting</outputDirectory>
									<overwrite>false</overwrite>
								</configuration>
							</execution>
							<execution>
								<id>install-jvm-jasmine</id>
								<phase>generate-sources</phase>
								<goals>
									<goal>wget</goal>
								</goals>
								<configuration>
									<url>${jvmnpm.jasmine.dist}/jvm-jasmine.js</url>
									<outputDirectory>${basedir}/src/test/resources/jasmine</outputDirectory>
									<overwrite>false</overwrite>
								</configuration>
							</execution>
						</executions>
					</plugin>

				</plugins>
			</build>
		</profile>
	</profiles>


</project>
