<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.pi4j</groupId>
		<artifactId>pi4j-parent</artifactId>
        <version>1.2</version>
	</parent>
	<artifactId>pi4j-device</artifactId>
	<name>Pi4J :: Device Abstractions</name>
	<description>Pi4J Device Abstractions Library</description>


	<!-- PROJECT DEPENDENCIES -->
	<dependencies>
		<dependency>
			<groupId>com.pi4j</groupId>
			<artifactId>pi4j-core</artifactId>
			<version>${project.version}</version>
		</dependency>
		<dependency>
			<groupId>com.pi4j</groupId>
			<artifactId>pi4j-gpio-extension</artifactId>
			<version>${project.version}</version>
		</dependency>
		<dependency>
			<groupId>org.mockito</groupId>
			<artifactId>mockito-all</artifactId>
			<scope>test</scope>
		</dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>

	</dependencies>

	<!-- BUILD INSTRUCTIONS -->
	<build>
		<resources>
			<resource>
				<directory>${project.build.directory}</directory>
				<filtering>false</filtering>
				<includes>
					<include>LICENSE.txt</include>
					<include>NOTICE.txt</include>
					<include>README.md</include>
				</includes>
			</resource>
			<resource>
				<directory>src/main/resources</directory>
				<filtering>false</filtering>
			</resource>
		</resources>

		<plugins>

			<!-- JAVA COMPILER -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
			</plugin>

			<!-- INCLUDE SOURCE JAR -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-source-plugin</artifactId>
			</plugin>

			<!-- INCLUDE JAVADOC JAR -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
			</plugin>

			<!-- GENERATE LICENSE HEADERS IN SOURCE FILES -->
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>license-maven-plugin</artifactId>
			</plugin>

			<!-- DOWNLOAD LICENSE, README & NOTICE ARTIFACTS -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-dependency-plugin</artifactId>
			</plugin>

			<!-- OPTIONALLY DEPLOY THE FINAL JAR TO THE RASPBERRY PI -->
			<plugin>
				<artifactId>maven-antrun-plugin</artifactId>
				<executions>

					<!-- copy the compiled JAR file to the Raspberry Pi platform platform -->
					<execution>
						<id>transfer-compiled-pi4j-device-jar</id>
						<phase>install</phase>
						<goals>
							<goal>run</goal>
						</goals>
						<configuration>
							<tasks>
								<taskdef resource="net/sf/antcontrib/antcontrib.properties"
									classpathref="maven.plugin.classpath" />
								<if>
									<equals arg1="${pi4j.dev.transfer}" arg2="true" />
									<then>

										<!-- ensure the target directory exists on the Raspberry Pi -->
										<sshexec host="${pi4j.dev.host}" port="${pi4j.dev.port}" username="${pi4j.dev.user}"
											password="${pi4j.dev.password}" trust="true" failonerror="false"
											verbose="true" command="mkdir --parents ${pi4j.dev.directory}" />

										<!-- copy the JAR file to the Raspberry Pi -->
										<scp
											file="${project.build.directory}/${project.build.finalName}.jar"
											todir="${pi4j.dev.user}:${pi4j.dev.password}@${pi4j.dev.host}:${pi4j.dev.directory}"
											port="${pi4j.dev.port}" trust="true" verbose="true" failonerror="true">
										</scp>
									</then>
								</if>
							</tasks>
						</configuration>
					</execution>
				</executions>
                <dependencies>
                    <dependency>
                        <groupId>org.apache.ant</groupId>
                        <artifactId>ant-jsch</artifactId>
                        <version>${ant-jsch.version}</version>
                    </dependency>
                    <dependency>
                        <groupId>com.jcraft</groupId>
                        <artifactId>jsch</artifactId>
                        <version>${jsch.version}</version>
                    </dependency>
                    <dependency>
                        <groupId>ant-contrib</groupId>
                        <artifactId>ant-contrib</artifactId>
                        <version>${ant-contrib.version}</version>
                    </dependency>
                </dependencies>
			</plugin>
		</plugins>
	</build>
</project>
