Updated ant file for CI

This commit is contained in:
Ziver Koc 2016-02-27 02:16:50 +01:00
parent 853f1d0fe8
commit bf799fa74d
2 changed files with 68 additions and 36 deletions

102
build.xml
View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="Hal" default="" >
<project name="Hal" >
<!-- ________________________ PROPERTIES AND SETTINGS ________________________ -->
@ -8,7 +8,11 @@
<property name="srcDir" value="${gitRoot}/src" />
<property name="testDir" value="${gitRoot}/test" />
<property name="libDir" value="${gitRoot}/lib" />
<property name="buildDir" value="${gitRoot}/build" />
<property name="buildRoot" value="${gitRoot}/build" />
<property name="buildDir" value="${buildRoot}/production" />
<property name="buildTestDir" value="${buildRoot}/test" />
<property name="releaseDir" value="${buildRoot}/release" />
<property name="reportsDir" value="${buildRoot}/reports" />
<!--define standard arduments for javac-->
<presetdef name="javac">
@ -20,20 +24,19 @@
<!--classpath included when building-->
<path id="classpath.build">
<pathelement location="${libDir}/*" />
<pathelement location="${buildDir}" />
</path>
<path id="classpath.test">
<pathelement location="${libDir}/junit-4.12.jar" />
<pathelement location="${buildTestDir}" />
<!--include libraries used for building-->
<path refid="classpath.build"/>
</path>
<!-- ________________________ PUBLIC TARGETS ________________________ -->
<target name="run-remote-sensor" depends="">
<java fork="true" failonerror="true" classname="se.hal.plugin.tellstick.TelstickSerialCommTest">
<classpath>
<pathelement path="${buildDir}/hal.jar"/> <!--wildcard may not be platform independent, ok?-->
<pathelement path="${libDir}/*"/> <!--wildcard may not be platform independent, ok?-->
</classpath>
</java>
</target>
<target name="run-main-server" depends="">
<!-- ________________________ EXECUTION TARGETS ________________________ -->
<target name="run" depends="">
<java fork="true" failonerror="true" classname="se.hal.HalServer">
<classpath>
<pathelement path="${buildDir}/hal.jar"/> <!--wildcard may not be platform independent, ok?-->
@ -42,44 +45,73 @@
</java>
</target>
<target name="clear-aggr-data-from-db" depends="">
<exec executable="sqlite3">
<arg line="hal.db 'DELETE FROM sensor_data_aggr'" />
</exec>
<!-- update all internal sensors aggregation version to indicate for peers that they need to re-sync all data -->
<exec executable="sqlite3">
<arg line="hal.db 'UPDATE sensor SET aggr_version = (aggr_version+1) WHERE id = (SELECT sensor.id FROM user, sensor WHERE user.external == 0 AND sensor.user_id = user.id)'" />
</exec>
</target>
<target name="test" depends="build-test">
<mkdir dir="${reportsDir}" />
<junit printsummary="yes" haltonfailure="false">
<classpath refid="classpath.test" />
<formatter type="xml" /> <!-- to file -->
<batchtest todir="${reportsDir}">
<fileset dir="${buildTestDir}" includes="**/*Test*.class" />
</batchtest>
</junit>
</target>
<!-- ________________________ BUILD TARGETS ________________________ -->
<!--clean all build paths-->
<target name="clean">
<delete includeemptydirs="true" failonerror="false">
<fileset dir="${buildDir}" includes="**/*"/>
<fileset dir="${buildRoot}" includes="**/*"/>
</delete>
</target>
<!--build product code-->
<target name="release" depends="build">
<copy file="${gitRoot}/hal.conf.example" todir="${releaseDir}" />
<copy file="${gitRoot}/hal-default.db" todir="${releaseDir}" />
<copy file="${gitRoot}/logging.properties" todir="${releaseDir}" />
<copy file="${gitRoot}/run.sh" todir="${releaseDir}" />
<copydir src="${libDir}" dest="${releaseDir}/lib" excludes="junit-*.jar" />
<copydir src="${gitRoot}/web-resource" dest="${releaseDir}/web-resource" />
<jar destfile="${releaseDir}/hal.jar" basedir="${buildDir}" />
</target>
<target name="build" depends="build-dependencies">
<mkdir dir="${buildDir}" />
<javac srcdir="${srcDir}" destdir="${buildDir}" debug="yes" debugLevel="lines,vars,source" fork="yes">
<classpath refid="classpath.build" />
<include name="**/*.java" />
<exclude name="se/hal/tts/GoogleTTSClient.java" />
<classpath refid="classpath.build" />
</javac>
<javac srcdir="${testDir}" destdir="${buildDir}" debug="yes" debugLevel="lines,vars,source" fork="yes">
<include name="**/*.java" />
<exclude name="se/hal/test/JarvisSyntersizerTest.java" />
<classpath refid="classpath.build" />
</javac>
<jar destfile="${buildDir}/hal.jar" basedir="${buildDir}" excludes="hal.jar" />
</target>
<target name="build-dependencies">
<mkdir dir="${buildDir}" />
<get src="http://repo.koc.se/zutil-java.git/blob/master/Zutil.jar" dest="${libDir}" verbose="true" usetimestamp="true"/>
</target>
<target name="build-test" depends="build">
<mkdir dir="${buildTestDir}" />
<javac srcdir="${testDir}" destdir="${buildTestDir}" debug="yes" debugLevel="lines,vars,source" fork="yes">
<classpath refid="classpath.test" />
<include name="**/*.java" />
<exclude name="se/hal/test/JarvisSyntersizerTest.java" />
</javac>
</target>
<!-- ________________________ UTILITY TARGETS ________________________ -->
<target name="clear-aggr-data-from-db" depends="">
<exec executable="sqlite3">
<arg line="hal.db 'DELETE FROM sensor_data_aggr'" />
</exec>
<!-- update all internal sensors aggregation version to indicate for peers that they need to re-sync all data -->
<exec executable="sqlite3">
<arg line="hal.db 'UPDATE sensor SET aggr_version = (aggr_version+1) WHERE id = (SELECT sensor.id FROM user, sensor WHERE user.external == 0 AND sensor.user_id = user.id)'" />
</exec>
</target>
</project>

2
run.sh
View file

@ -4,7 +4,7 @@
#ant clean
ant build
screen -S hal -L -d -m ant run-main-server
screen -S hal -L -d -m ant run
echo "-----------------"
screen -list