209 lines
6.3 KiB
XML
209 lines
6.3 KiB
XML
<!DOCTYPE project [
|
|
<!ENTITY jni-build SYSTEM "hyperic_jni/jni-build.xml">
|
|
]>
|
|
|
|
<project name="Sigar" default="build" basedir=".">
|
|
|
|
<property file="${user.home}/.sigar-build.properties"/>
|
|
<property name="project.name" value="sigar"/>
|
|
<property name="jni.define.name" value="SIGAR"/>
|
|
<property name="sigar-bin" location="sigar-bin"/>
|
|
<property name="jni.bin" location="${sigar-bin}"/>
|
|
<property name="jni.source.dir" location="../.."/>
|
|
<property name="jni.src.java" value="hyperic_jni/src"/>
|
|
<property name="jni.libprefix" value=""/> <!-- drop "java" prefix -->
|
|
<property name="jni.werror" value="true"/>
|
|
<property name="cpptasks.jar"
|
|
location="hyperic_jni/lib/cpptasks.jar"/>
|
|
|
|
&jni-build;
|
|
|
|
<property name="src" location="src"/>
|
|
<property name="build" location="build"/>
|
|
<property name="build.javadocs" value="${build}/javadocs"/>
|
|
<property name="dist.name" value="hyperic-sigar"/>
|
|
<property name="dist" location="${build}/${dist.name}"/>
|
|
<property name="perl" value="perl"/>
|
|
<!-- trick TestFQDN into passing with: ant test -Dsigar.fdqn=foo.bar -->
|
|
<property name="sigar.fqdn" value=""/>
|
|
|
|
<path id="libjars">
|
|
<fileset dir="lib" includes="*.jar"/>
|
|
</path>
|
|
|
|
<path id="alljars">
|
|
<path refid="libjars"/>
|
|
<fileset dir="${sigar-bin}/lib" includes="sigar.jar"/>
|
|
</path>
|
|
|
|
<target name="javadoc_check">
|
|
<uptodate property="javadoc.notrequired"
|
|
targetfile="${build.javadocs}/packages.html" >
|
|
<srcfiles dir="src" includes="**/*.java"/>
|
|
</uptodate>
|
|
</target>
|
|
|
|
<path id="javadocs.path">
|
|
<pathelement path="src"/>
|
|
<pathelement path="${build}/src"/>
|
|
</path>
|
|
|
|
<target name="javadocs" depends="javadoc_check">
|
|
<mkdir dir="${build.javadocs}"/>
|
|
<javadoc packagenames="net.hyperic.sigar.*"
|
|
excludepackagenames="net.hyperic.sigar.test.*,net.hyperic.jni.*"
|
|
useexternalfile="yes"
|
|
sourcepathref="javadocs.path"
|
|
destdir="${build.javadocs}"
|
|
author="false"
|
|
version="false"
|
|
windowtitle="Sigar API"
|
|
doctitle="Sigar">
|
|
<group title="Sigar" packages="net.hyperic.sigar" />
|
|
<classpath refid="libjars"/>
|
|
<classpath><path path="${env.ANT_HOME}/lib/ant.jar"/></classpath>
|
|
<bottom>Copyright © 2004 Hyperic, LLC. All Rights Reserved.</bottom>
|
|
</javadoc>
|
|
</target>
|
|
|
|
<target name="compile">
|
|
<mkdir dir="${build}/classes"/>
|
|
<javac destdir="${build}/classes"
|
|
debug="true"
|
|
classpathref="libjars">
|
|
<src path="${src}"/>
|
|
<src path="${build}/src"/>
|
|
<src path="${jni.src.java}"/>
|
|
<include name="**/*.java"/>
|
|
</javac>
|
|
</target>
|
|
|
|
<target name="prepare-src">
|
|
<mkdir dir="${build}/src"/>
|
|
|
|
<exec executable="${perl}" dir=".">
|
|
<arg value="src/jni/generate.pl"/>
|
|
<arg value="${build}/src"/>
|
|
</exec>
|
|
|
|
<!-- include sigar *.c files rather than link against libsigar -->
|
|
<patternset id="jni.source.files">
|
|
<include name="src/*.c"/>
|
|
<include name="src/os/${jni.src}/*.c"/>
|
|
<include name="bindings/java/src/jni/javasigar.c"/>
|
|
</patternset>
|
|
|
|
<path id="jni.include.dirs">
|
|
<path location="../../include"/>
|
|
<path location="../../src/os/${jni.src}"/>
|
|
<path location="${build}/src"/>
|
|
</path>
|
|
|
|
<condition property="jni.libset.dir" value="/usr/lib">
|
|
<isset property="solaris"/>
|
|
</condition>
|
|
|
|
<condition property="jni.libset.libs" value="kstat">
|
|
<isset property="solaris"/>
|
|
</condition>
|
|
</target>
|
|
|
|
<target name="copy-includes">
|
|
<mkdir dir="${sigar-bin}/include"/>
|
|
<copy toDir="${sigar-bin}/include" overwrite="true">
|
|
<fileset dir="../../include">
|
|
<include name="sigar.h"/>
|
|
<include name="sigar_fileinfo.h"/>
|
|
</fileset>
|
|
</copy>
|
|
</target>
|
|
|
|
<target name="build-jni"
|
|
depends="jni-init,prepare-src,jni-compile,jni-lib-copy,copy-includes"
|
|
if="jni.libarch"/>
|
|
|
|
<target name="pack-jar">
|
|
<jar jarfile="${sigar-bin}/lib/sigar.jar"
|
|
basedir="${build}/classes">
|
|
|
|
<manifest>
|
|
<attribute name="Main-Class"
|
|
value="net.hyperic.sigar.cmd.Runner"/>
|
|
</manifest>
|
|
</jar>
|
|
</target>
|
|
|
|
<target name="build" depends="build-jni,compile,pack-jar"/>
|
|
|
|
<target name="clean">
|
|
<delete dir="${build}"/>
|
|
<delete dir="${sigar-bin}"/>
|
|
<delete dir="testresults"/>
|
|
</target>
|
|
|
|
<target name="xtest">
|
|
<mkdir dir="testresults"/>
|
|
|
|
<junit printsummary="yes" fork="yes"
|
|
haltonfailure="yes" showoutput="true">
|
|
<jvmarg value="-Dsigar.fqdn=${sigar.fqdn}"/>
|
|
|
|
<classpath refid="alljars"/>
|
|
<formatter type="plain"/>
|
|
|
|
<batchtest fork="yes" todir="testresults">
|
|
<fileset dir="${src}">
|
|
<include name="**/Test*.java"/>
|
|
<!-- slow; run by hand with bin/run_tests.sh Threads -->
|
|
<exclude name="**/TestThreads*.java"/>
|
|
</fileset>
|
|
</batchtest>
|
|
</junit>
|
|
</target>
|
|
|
|
<target name="test" depends="build,xtest"/>
|
|
|
|
<target name="dist">
|
|
<mkdir dir="${dist}/sigar-bin"/>
|
|
<copy toDir="${dist}/sigar-bin" overwrite="true">
|
|
<fileset dir="${sigar-bin}">
|
|
<include name="lib/*.jar"/>
|
|
<include name="lib/*.dll"/>
|
|
<include name="lib/*.sl"/>
|
|
<include name="lib/*.so"/>
|
|
<include name="lib/*.dylib"/>
|
|
</fileset>
|
|
<fileset dir=".">
|
|
<include name="lib/*.jar"/>
|
|
</fileset>
|
|
</copy>
|
|
|
|
<zip destfile="${dist}.zip"
|
|
basedir="${build}"
|
|
includes="${dist.name}/**/*"/>
|
|
|
|
<!-- Stupid ant tar task, doesn't preserve file permissions
|
|
without making you jump through some hoops -->
|
|
<tar tarfile="${dist}.tgz"
|
|
longfile="gnu"
|
|
compression="gzip">
|
|
<tarfileset dir="${dist}/.." mode="755">
|
|
<include name="${dist.name}/**/bin/*"/>
|
|
<include name="${dist.name}/**/*.sh"/>
|
|
<include name="${dist.name}/**/*.bat"/>
|
|
<include name="${dist.name}/**/*.cmd"/>
|
|
<include name="${dist.name}/**/*.sl"/>
|
|
</tarfileset>
|
|
<tarfileset dir="${dist}/..">
|
|
<exclude name="${dist.name}/**/bin/*"/>
|
|
<exclude name="${dist.name}/**/*.sh"/>
|
|
<exclude name="${dist.name}/**/*.bat"/>
|
|
<exclude name="${dist.name}/**/*.cmd"/>
|
|
<exclude name="${dist.name}/**/*.sl"/>
|
|
<include name="${dist.name}/**"/>
|
|
</tarfileset>
|
|
</tar>
|
|
</target>
|
|
|
|
</project>
|