jinput-arm64/build.xml
2017-05-08 22:35:29 +01:00

386 lines
13 KiB
XML

<?xml version="1.0"?>
<project name="Sun Games Initiative Client Technologies" basedir="." default="all" xmlns:artifact="urn:maven-artifact-ant">
<property name="api.version" value="2.0.8"/>
<property name="mvn.version" value="${api.version}-SNAPSHOT"/>
<property name="maven-repository-url" value="https://oss.sonatype.org/service/local/staging/deploy/maven2/" />
<property name="maven-repository-id" value="sonatype-nexus-staging" />
<target name="init">
<!-- If we are running in windows, set dx8 property to true -->
<condition property="windows" >
<os family="windows" />
</condition>
<!-- If we are running in linux, set linux property to true -->
<condition property="linux" >
<!--<os family="unix" />-->
<os name="linux" />
</condition>
<!-- If we are running in Mac OS X, set osx property to true -->
<condition property="osx" >
<and>
<os family="mac" />
<os family="unix" />
</and>
</condition>
<delete file="lib/jutils.jar"/>
<copy tofile="lib/jutils.jar">
<fileset dir="lib" includes="jutils-*-SNAPSHOT.jar"></fileset>
</copy>
</target>
<target name="runtest" depends="dist">
<java classname="${mainclass}"
fork="true" failonerror="true" dir=".">
<classpath>
<pathelement location="dist/jinput.jar"/>
<pathelement location="dist/jinput-test.jar"/>
</classpath>
<jvmarg value="-Djava.library.path=dist"/>
</java>
</target>
<target name="texttest">
<antcall target="runtest">
<param name="mainclass" value="net.java.games.input.test.ControllerTextTest"/>
</antcall>
</target>
<target name="readtest" depends="init,all" description="Try running it.">
<antcall target="runtest">
<param name="mainclass" value="net.java.games.input.test.ControllerReadTest"/>
</antcall>
</target>
<target name="eventtest" depends="init,all" description="Try running it.">
<antcall target="runtest">
<param name="mainclass" value="net.java.games.input.test.ControllerEventTest"/>
</antcall>
</target>
<target name="rumbletest" depends="init,all" description="Try running it.">
<antcall target="runtest">
<param name="mainclass" value="net.java.games.input.test.RumbleTest"/>
</antcall>
</target>
<target name="versiontest" depends="init,all" description="Try running it.">
<antcall target="runtest">
<param name="mainclass" value="net.java.games.input.test.VersionTest"/>
</antcall>
</target>
<macrodef name="iterate">
<attribute name="target"/>
<sequential>
<subant target="@{target}">
<property name="api.version" value="${api.version}"/>
<fileset file="coreAPI/build.xml"/>
<fileset file="plugins/linux/build.xml"/>
<fileset file="plugins/windows/build.xml"/>
<fileset file="plugins/wintab/build.xml"/>
<fileset file="plugins/OSX/build.xml"/>
<fileset file="plugins/awt/build.xml"/>
</subant>
</sequential>
</macrodef>
<target name="clean">
<iterate target="clean"/>
<delete dir="dist" failonerror="no"/>
</target>
<target name="all" depends="dist">
</target>
<target name="javadoc" depends="init">
<iterate target="javadoc"/>
</target>
<target name="pluginTest" depends="dist" description="Build plugin version">
<mkdir dir="dist"/>
<mkdir dir="dist/controller"/>
<copy todir="dist">
<fileset file="coreAPI/bin/jinput-core.jar"/>
<fileset file="coreAPI/bin/jinput-test.jar"/>
<fileset file="plugins/DX8/lib/jutils.jar"/>
</copy>
<copy todir="dist/controller">
<fileset dir="plugins/awt/bin"/>
<fileset dir="plugins/linux/bin"/>
<fileset dir="plugins/OSX/bin"/>
<fileset dir="plugins/windows/bin"/>
<fileset dir="plugins/wintab/bin"/>
</copy>
</target>
<target name="dist" depends="init" description="Build the distribution file for this system">
<iterate target="all"/>
<mkdir dir="dist"/>
<jar jarfile="dist/jinput.jar" compress="true" duplicate="preserve">
<fileset dir="coreAPI/classes">
<include name="**/*.class"/>
<exclude name="**/test/*.class"/>
<exclude name="**/example/*.class"/>
</fileset>
<fileset dir="plugins/linux/classes">
<include name="**/*.class"/>
</fileset>
<fileset dir="plugins/OSX/classes">
<include name="**/*.class"/>
</fileset>
<fileset dir="plugins/awt/classes">
<include name="**/*.class"/>
</fileset>
<fileset dir="plugins/windows/classes">
<include name="**/*.class"/>
</fileset>
<fileset dir="plugins/wintab/classes">
<include name="**/*.class"/>
</fileset>
<zipfileset src="lib/jutils.jar" includes="**/*.class"/>
<manifest>
<attribute name="Sealed" value="true"/>
</manifest>
</jar>
<iterate target="javadoc"/>
<copy todir="dist">
<fileset file="coreAPI/bin/jinput-test.jar"/>
<fileset dir="plugins/linux/bin" includes="*so"/>
<fileset dir="plugins/OSX/bin" includes="*jnilib"/>
<fileset dir="plugins/windows/bin" includes="*dll"/>
<fileset dir="plugins/wintab/bin" includes="*dll"/>
</copy>
</target>
<target name="simple_dist" depends="dist,simple_windows,simple_wintab,simple_linux,simple_osx" description="Build the simple jars for each platform"/>
<target name="simple_linux" depends="dist" description="Build the simple linux jar" if="linux">
<jar jarfile="dist/jinput-linux.jar" compress="true">
<fileset dir="coreAPI/classes">
<include name="**/*.class"/>
</fileset>
<fileset dir="plugins/linux/classes">
<include name="**/*.class"/>
</fileset>
<zipfileset src="lib/jutils.jar" includes="**/*.class"/>
<manifest>
<attribute name="Sealed" value="true"/>
</manifest>
</jar>
<tar destfile="dist/jinput_linux.tgz" compression="gzip">
<tarfileset dir=".">
<include name="dist/jinput-linux.jar"/>
</tarfileset>
<tarfileset dir="plugins/linux/bin">
<include name="*.so"/>
</tarfileset>
</tar>
</target>
<target name="simple_windows" depends="dist" description="Build the simple windows jar" if="windows">
<jar jarfile="dist/jinput-windows.jar" compress="true">
<fileset dir="coreAPI/classes">
<include name="**/*.class"/>
</fileset>
<fileset dir="plugins/windows/classes">
<include name="**/*.class"/>
</fileset>
<zipfileset src="lib/jutils.jar" includes="**/*.class"/>
<manifest>
<attribute name="Sealed" value="true"/>
</manifest>
</jar>
<zip destfile="dist/jinput_windows.zip">
<zipfileset dir=".">
<include name="dist/jinput-windows.jar"/>
</zipfileset>
<zipfileset dir="plugins/windows/bin">
<include name="*.dll"/>
</zipfileset>
</zip>
</target>
<target name="simple_wintab" depends="dist" description="Build the simple windows jar" if="windows">
<jar jarfile="dist/jinput-wintab.jar" compress="true">
<fileset dir="coreAPI/classes">
<include name="**/*.class"/>
</fileset>
<fileset dir="plugins/wintab/classes">
<include name="**/*.class"/>
</fileset>
<zipfileset src="lib/jutils.jar" includes="**/*.class"/>
<manifest>
<attribute name="Sealed" value="true"/>
</manifest>
</jar>
<zip destfile="dist/jinput_wintab.zip">
<zipfileset dir=".">
<include name="dist/jinput-wintab.jar"/>
</zipfileset>
<zipfileset dir="plugins/wintab/bin">
<include name="*.dll"/>
</zipfileset>
</zip>
</target>
<target name="simple_osx" depends="dist" description="Build the simple osx jar" if="osx">
<jar jarfile="dist/jinput-osx.jar" compress="true">
<fileset dir="coreAPI/classes">
<include name="**/*.class"/>
</fileset>
<fileset dir="plugins/OSX/classes">
<include name="**/*.class"/>
</fileset>
<zipfileset src="lib/jutils.jar" includes="**/*.class"/>
<manifest>
<attribute name="Sealed" value="true"/>
</manifest>
</jar>
<tar destfile="dist/jinput_osx.tgz" compression="gzip">
<tarfileset dir=".">
<include name="dist/jinput-osx.jar"/>
</tarfileset>
<tarfileset dir="plugins/OSX/bin">
<include name="*.jnilib"/>
</tarfileset>
</tar>
</target>
<target name="install" description="Installs jinput in to local mvn repo">
<path id="maven-ant-tasks.classpath" path="lib/maven-ant-tasks-2.1.0.jar" />
<typedef resource="org/apache/maven/artifact/ant/antlib.xml" uri="urn:maven-artifact-ant"
classpathref="maven-ant-tasks.classpath"/>
<filter token="VERSION" value="${mvn.version}"/>
<copy tofile="dist/jinput-${mvn.version}.pom" filtering="true">
<fileset file="jinput.pom"/>
</copy>
<copy tofile="dist/jinput-${mvn.version}-platform.pom" filtering="true">
<fileset file="jinput-platform.pom"/>
</copy>
<artifact:pom id="jinputpomfile" file="dist/jinput-${mvn.version}.pom" />
<artifact:pom id="jinputplatformpomfile" file="dist/jinput-${mvn.version}-platform.pom" />
<delete file="dist/jinput-natives-windows.zip" failonerror="false"/>
<zip destfile="dist/jinput-natives-windows.zip">
<fileset dir="dist/">
<include name="**/*.dll"/>
</fileset>
</zip>
<delete file="dist/jinput-natives-linux.zip" failonerror="false"/>
<zip destfile="dist/jinput-natives-linux.zip">
<fileset dir="dist/">
<include name="**/*.so"/>
</fileset>
</zip>
<delete file="dist/jinput-natives-osx.zip" failonerror="false"/>
<zip destfile="dist/jinput-natives-osx.zip" >
<fileset dir="dist/">
<include name="**/*.jnilib"/>
</fileset>
</zip>
<delete file="dist/jinput-javadoc.zip" failonerror="false"/>
<zip destfile="dist/jinput-javadoc.zip">
<fileset dir="coreAPI/apidocs/"/>
</zip>
<delete file="dist/jinput-sources.zip" failonerror="false"/>
<zip destfile="dist/jinput-sources.zip">
<fileset dir=".">
<include name="**/*.java"/>
<include name="**/*.h"/>
<include name="**/*.c"/>
</fileset>
</zip>
<zip destfile="dist/jinput-${mvn.version}.jar">
<zipfileset src="dist/jinput.jar">
<exclude name="net/java/games/util/**"/>
</zipfileset>
</zip>
<artifact:install file="dist/jinput-${mvn.version}.jar">
<pom refid="jinputpomfile" />
<attach file="dist/jinput-javadoc.zip" classifier="javadoc" type="jar"/>
<attach file="dist/jinput-sources.zip" classifier="sources" type="jar"/>
</artifact:install>
<artifact:install file="dist/jinput=${mvn.version}-platform.pom">
<pom refid="jinputplatformpomfile" />
<attach file="dist/jinput-natives-windows.zip" classifier="natives-windows" type="jar"/>
<attach file="dist/jinput-natives-linux.zip" classifier="natives-linux" type="jar"/>
<attach file="dist/jinput-natives-osx.zip" classifier="natives-osx" type="jar"/>
</artifact:install>
</target>
<target name="mvndeploy" depends="install" description="Installs jinput in to local mvn repo">
<artifact:mvn>
<arg value="org.apache.maven.plugins:maven-gpg-plugin:1.3:sign-and-deploy-file" />
<arg value="-Durl=${maven-repository-url}" />
<arg value="-DrepositoryId=${maven-repository-id}" />
<arg value="-DpomFile=dist/jinput-${mvn.version}.pom" />
<arg value="-Dfile=dist/jinput-${mvn.version}.jar" />
<arg value="-Pgpg" />
</artifact:mvn>
<artifact:mvn>
<arg value="org.apache.maven.plugins:maven-gpg-plugin:1.3:sign-and-deploy-file" />
<arg value="-Durl=${maven-repository-url}" />
<arg value="-DrepositoryId=${maven-repository-id}" />
<arg value="-DpomFile=dist/jinput-${mvn.version}.pom" />
<arg value="-Dfile=dist/jinput-javadoc.zip" />
<arg value="-Dpackaging=jar"/>
<arg value="-Dclassifier=javadoc" />
<arg value="-Pgpg" />
</artifact:mvn>
<artifact:mvn>
<arg value="org.apache.maven.plugins:maven-gpg-plugin:1.3:sign-and-deploy-file" />
<arg value="-Durl=${maven-repository-url}" />
<arg value="-DrepositoryId=${maven-repository-id}" />
<arg value="-DpomFile=dist/jinput-${mvn.version}.pom" />
<arg value="-Dfile=dist/jinput-sources.zip" />
<arg value="-Dpackaging=jar"/>
<arg value="-Dclassifier=sources" />
<arg value="-Pgpg" />
</artifact:mvn>
<artifact:mvn>
<arg value="org.apache.maven.plugins:maven-gpg-plugin:1.3:sign-and-deploy-file" />
<arg value="-Durl=${maven-repository-url}" />
<arg value="-DrepositoryId=${maven-repository-id}" />
<arg value="-DpomFile=dist/jinput-${mvn.version}-platform.pom" />
<arg value="-Dfile=dist/jinput-natives-windows.zip" />
<arg value="-Dpackaging=jar"/>
<arg value="-Dclassifier=natives-windows" />
<arg value="-Pgpg" />
</artifact:mvn>
<artifact:mvn>
<arg value="org.apache.maven.plugins:maven-gpg-plugin:1.3:sign-and-deploy-file" />
<arg value="-Durl=${maven-repository-url}" />
<arg value="-DrepositoryId=${maven-repository-id}" />
<arg value="-DpomFile=dist/jinput-${mvn.version}-platform.pom" />
<arg value="-Dfile=dist/jinput-natives-linux.zip" />
<arg value="-Dpackaging=jar"/>
<arg value="-Dclassifier=natives-linux" />
<arg value="-Pgpg" />
</artifact:mvn>
<artifact:mvn>
<arg value="org.apache.maven.plugins:maven-gpg-plugin:1.3:sign-and-deploy-file" />
<arg value="-Durl=${maven-repository-url}" />
<arg value="-DrepositoryId=${maven-repository-id}" />
<arg value="-DpomFile=dist/jinput-${mvn.version}-platform.pom" />
<arg value="-Dfile=dist/jinput-natives-osx.zip" />
<arg value="-Dpackaging=jar"/>
<arg value="-Dclassifier=natives-osx" />
<arg value="-Pgpg" />
</artifact:mvn>
</target>
</project>