| POM文件内容: |
<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>
<!-- MAVEN ARTIFACT INFORMATION -->
<artifactId>pi4j-core</artifactId>
<name>Pi4J :: Java Library (Core)</name>
<description>Pi4J Java Library for the Raspberry Pi</description>
<packaging>jar</packaging>
<parent>
<groupId>com.pi4j</groupId>
<artifactId>pi4j-parent</artifactId>
<version>1.1</version>
</parent>
<!-- PROJECT DEPENDENCIES -->
<dependencies>
<!-- while the pi4j-native dependency is not needed for compiling this
project, including it here ensures that it gets compiled in the maven
build lifecycle before the pi4j-core project. -->
<dependency>
<groupId>com.pi4j</groupId>
<artifactId>pi4j-native</artifactId>
<classifier>raspberrypi-static</classifier>
<version>${project.version}</version>
<type>so</type>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4</artifactId>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito</artifactId>
</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>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<argLine>-noverify</argLine> <!-- needed for running PowerMock for com.pi4j.jni.I2C -->
</configuration>
</plugin>
<!-- 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>
<!-- RETRIEVE THE JNI NATIVE LIBRARY DEPENDENCY -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy</id>
<phase>validate</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<!-- we define the libpi4j native project as a dependency so that
native library can be included in the final packaged pi4j.jar -->
<!-- LIBPI4J for the Raspberry-Pi platform -->
<artifactItem>
<groupId>com.pi4j</groupId>
<artifactId>pi4j-native</artifactId>
<version>${project.version}</version>
<classifier>raspberrypi-static</classifier>
<type>so</type>
<overWrite>true</overWrite>
<outputDirectory>${project.build.directory}/lib/raspberrypi/static</outputDirectory>
<destFileName>libpi4j.so</destFileName>
</artifactItem>
<artifactItem>
<groupId>com.pi4j</groupId>
<artifactId>pi4j-native</artifactId>
<version>${project.version}</version>
<classifier>raspberrypi-dynamic</classifier>
<type>so</type>
<overWrite>true</overWrite>
<outputDirectory>${project.build.directory}/lib/raspberrypi/dynamic</outputDirectory>
<destFileName>libpi4j.so</destFileName>
</artifactItem>
<!-- LIBPI4J for the Banana-Pi platform -->
<artifactItem>
<groupId>com.pi4j</groupId>
<artifactId>pi4j-native</artifactId>
<version>${project.version}</version>
<classifier>bananapi-static</classifier>
<type>so</type>
<overWrite>true</overWrite>
<outputDirectory>${project.build.directory}/lib/bananapi/static</outputDirectory>
<destFileName>libpi4j.so</destFileName>
</artifactItem>
<artifactItem>
<groupId>com.pi4j</groupId>
<artifactId>pi4j-native</artifactId>
<version>${project.version}</version>
<classifier>bananapi-dynamic</classifier>
<type>so</type>
<overWrite>true</overWrite>
<outputDirectory>${project.build.directory}/lib/bananapi/dynamic</outputDirectory>
<destFileName>libpi4j.so</destFileName>
</artifactItem>
<!-- LIBPI4J for the Banana-Pro platform -->
<artifactItem>
<groupId>com.pi4j</groupId>
<artifactId>pi4j-native</artifactId>
<version>${project.version}</version>
<classifier>bananapro-static</classifier>
<type>so</type>
<overWrite>true</overWrite>
<outputDirectory>${project.build.directory}/lib/bananapro/static</outputDirectory>
<destFileName>libpi4j.so</destFileName>
</artifactItem>
<artifactItem>
<groupId>com.pi4j</groupId>
<artifactId>pi4j-native</artifactId>
<version>${project.version}</version>
<classifier>bananapro-dynamic</classifier>
<type>so</type>
<overWrite>true</overWrite>
<outputDirectory>${project.build.directory}/lib/bananapro/dynamic</outputDirectory>
<destFileName>libpi4j.so</destFileName>
</artifactItem>
<!-- LIBPI4J for the Odroid platform -->
<artifactItem>
<groupId>com.pi4j</groupId>
<artifactId>pi4j-native</artifactId>
<version>${project.version}</version>
<classifier>odroid-static</classifier>
<type>so</type>
<overWrite>true</overWrite>
<outputDirectory>${project.build.directory}/lib/odroid/static</outputDirectory>
<destFileName>libpi4j.so</destFileName>
</artifactItem>
<artifactItem>
<groupId>com.pi4j</groupId>
<artifactId>pi4j-native</artifactId>
<version>${project.version}</version>
<classifier>odroid-dynamic</classifier>
<type>so</type>
<overWrite>true</overWrite>
<outputDirectory>${project.build.directory}/lib/odroid/dynamic</outputDirectory>
<destFileName>libpi4j.so</destFileName>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
<!-- EMBED THE JNI NATIVE LIBRARY INSIDE THE JAR -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>embed-jni-native-resource</id>
<phase>generate-resources</phase>
<goals>
<goal>add-resource</goal>
</goals>
<configuration>
<resources>
<resource>
<directory>${project.build.directory}/lib</directory>
<targetPath>lib</targetPath>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<!-- OSGi BUNDLE -->
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<configuration>
<instructions>
<Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
<Bundle-Version>${project.version}</Bundle-Version>
<Export-Package>
com.pi4j.concurrent.*,
com.pi4j.util.*,
com.pi4j.jni.*,
com.pi4j.wiringpi.*,
com.pi4j.system.*,
com.pi4j.temperature.*,
com.pi4j.io.serial.*,
com.pi4j.io.gpio.*,
com.pi4j.io.i2c.*,
com.pi4j.io.spi.*,
com.pi4j.io.w1.*,
com.pi4j.io.wdt.*
</Export-Package>
<Private-Package>
</Private-Package>
</instructions>
</configuration>
<executions>
<execution>
<id>bundle-manifest</id>
<phase>process-classes</phase>
<goals>
<goal>manifest</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- INCLUDE OSGi MANIFEST IN JAR -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
</archive>
</configuration>
<executions>
<execution>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- OPTIONALLY DEPLOY THE FINAL JAR TO THE RASPBERRY PI -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<!-- copy the compiled JAR file to the Raspberry Pi platform platform -->
<execution>
<id>transfer-compiled-pi4j-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="${pi.transfer.dev}" arg2="true" />
<then>
<!-- ensure the target directory exists on the Raspberry Pi -->
<sshexec host="${pi.host.dev}" port="${pi.port.dev}" username="${pi.user.dev}"
password="${pi.password.dev}" trust="true" failonerror="false"
verbose="true" command="mkdir --parents ${pi.dirCopyTo.dev}" />
<!-- copy the JAR file to the Raspberry Pi -->
<scp
file="${project.build.directory}/${project.build.finalName}.jar"
todir="${pi.user.dev}:${pi.password.dev}@${pi.host.dev}:${pi.dirCopyTo.dev}"
port="${pi.port.dev}" 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>
|