Skip to content
Snippets Groups Projects
build.xml 2.88 KiB
Newer Older
Florian Fittkau's avatar
Florian Fittkau committed
<?xml version="1.0" encoding="UTF-8"?>
<project name="Worker" default="build-all" basedir=".">
	<property name="common-monitoring.dir" value="../common-monitoring"/>
		
	<property name="src.dir" value="src"/>
Florian Fittkau's avatar
Florian Fittkau committed
	<property name="build.dir" value="build"/>
	<property name="jar.dir" value="dist"/>
Florian Fittkau's avatar
Florian Fittkau committed
	
	<property name="test.reports" value="reports"/>
	<property name="test.src" value="test"/>
Florian Fittkau's avatar
Florian Fittkau committed

Florian Fittkau's avatar
Florian Fittkau committed
	<!-- MAIN JOBS -->
	
Florian Fittkau's avatar
Florian Fittkau committed
	<target name="build-all" depends="clean,jar,test" description="Compiles and packages the Worker Jar">
Florian Fittkau's avatar
Florian Fittkau committed
	</target>

	<target name="clean" description="Removes artifacts from previous builds">
		<delete dir="${build.dir}" includeemptydirs="true" />
		<delete dir="${jar.dir}" includeemptydirs="true" />
		<delete dir="${reports.dir}" includeemptydirs="true" />
	</target>

Florian Fittkau's avatar
Florian Fittkau committed
	<target name="jar" depends="compile">
Florian Fittkau's avatar
Florian Fittkau committed
		<mkdir dir="${jar.dir}"/>
		<jar destfile="${jar.dir}/explorviz-worker.jar">
			<manifest>
Florian Fittkau's avatar
Florian Fittkau committed
				<attribute name="Main-Class" value="explorviz.live_trace_processing.main.WorkerStarter"/>
Florian Fittkau's avatar
Florian Fittkau committed
				<attribute name="Class-Path" value="."/>
				<attribute name="Can-Redefine-Classes" value="true"/>
			</manifest>
Florian Fittkau's avatar
Florian Fittkau committed
			<fileset dir="${build.dir}" excludes="*common*.jar" />
			<fileset dir="lib" includes="*LICENSE*" />
Florian Fittkau's avatar
Florian Fittkau committed
			<zipfileset excludes="META-INF/*.SF" src="lib/disruptor-3.2.0.jar"/>
			<zipfileset excludes="META-INF/*.SF" src="${build.dir}/explorviz-common.jar"/>
Florian Fittkau's avatar
Florian Fittkau committed
		</jar>
Florian Fittkau's avatar
Florian Fittkau committed
		<mkdir dir="${jar.dir}/META-INF"/>
		<copy todir="${jar.dir}/META-INF">
			<fileset dir="src/META-INF" includes="**"/>
		</copy>
Florian Fittkau's avatar
Florian Fittkau committed
	</target>
Florian Fittkau's avatar
Florian Fittkau committed
	<target name="compile" depends="build-all-common">
		<mkdir dir="${build.dir}" />
		
		<copy todir="${build.dir}">
    	  <fileset dir="${common-monitoring.dir}/dist"/>
    	</copy>
Florian Fittkau's avatar
Florian Fittkau committed
		
		<javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="classpath" includeantruntime="false" />
	</target>
	
	<target name="build-all-common" unless="isJenkins">
		<ant antfile="${common-monitoring.dir}/build.xml" dir="${common-monitoring.dir}" />
Florian Fittkau's avatar
Florian Fittkau committed
	</target>
	
	<path id="classpath">
		<fileset dir=".">
			<include name="build/*.jar"/>
Florian Fittkau's avatar
Florian Fittkau committed
			<include name="lib/*.jar"/>
		</fileset>
	</path>
	
	<!-- TEST JOBS -->
	
Florian Fittkau's avatar
Florian Fittkau committed
    <target name="test" depends="compile-tests" description="JUnit-Tests">
Florian Fittkau's avatar
Florian Fittkau committed
		<mkdir dir="${test.reports}" />
		<junit printsummary="yes" fork="yes" haltonfailure="no">        
			<classpath>
				<path refid="testclasspath"/>
			</classpath>
			<formatter type="xml" />
			<batchtest todir="${test.reports}">
				<fileset dir="${test.src}"> 
					<include name="**/*Test.java" /> 
				</fileset>
			</batchtest>
		</junit>
    </target>
	
Florian Fittkau's avatar
Florian Fittkau committed
	<target name="compile-tests" depends="compile">
Florian Fittkau's avatar
Florian Fittkau committed
        <javac srcdir="${test.src}" destdir="${build.dir}" classpathref="testclasspath" includeantruntime="false" />
Florian Fittkau's avatar
Florian Fittkau committed
    </target>
	
	<path id="testclasspath">
 		<pathelement path="${build.dir}" />
		<fileset dir=".">
			<include name="build/*.jar"/>
			<include name="lib/*.jar"/>
		</fileset>
Florian Fittkau's avatar
Florian Fittkau committed
	</path>
Florian Fittkau's avatar
Florian Fittkau committed
</project>