Skip to content
Snippets Groups Projects
build.xml 3.48 KiB
Newer Older
<?xml version="1.0" encoding="UTF-8" ?>
<project name="CLC Server openBIS Integration Plugin" default="dist" basedir=".">


	<!-- ### Basic Properties (Update these to suit your environment) ### //-->

	<!-- The name of your plugin //-->
	<property name="pluginName" value="openBIS-integration-plugin"/>

	<!-- The path to your clcdeveloperkit //-->
	<property name="sdkDir" value="../clcbio-server-sdk"/>

	<!-- ### Advanced Properties (Normally you should not have to change these) ### //-->
	<property name="pluginDescFile" value="plugin_description"/>
	<property name="pluginPropertyFile" value="plugin.properties"/>
	
	<property name="pluginLibDir" value="plugin_libs"/>
	<property name="resDir" value="./res"/>
	
	<property name="buildDir" value="./build"/>
	<property name="packageDir" value="./package"/>
	<property name="packageLibDir" value="${packageDir}/lib"/>
	<property name="packageExecDir" value="${packageDir}/exec"/>
	<property name="packageFileDir" value="${packageDir}/file"/>
	
	<property name="distDir" value="./dist"/>
	<property name="libDir" value="${sdkDir}/webapps/CLCServer/WEB-INF/lib"/>
	<property name="tcLibDir" value="${sdkDir}/lib"/>
	<path id="srcPath">
		<pathelement path="src"/>
	</path>


	<!-- ### Prepare ### //-->
	<target name="prepare">
		<mkdir dir="${buildDir}"/>
		<mkdir dir="${packageDir}"/>
		<mkdir dir="${packageFileDir}"/>
		<mkdir dir="${packageExecDir}"/>
		<mkdir dir="${packageLibDir}"/>
		<mkdir dir="${distDir}"/>
		<mkdir dir="${pluginLibDir}"/>
		<mkdir dir="${resDir}"/>
	</target>


	<!-- ### Compile ### //-->
	<target name="compile" depends="prepare">
		<path id="buildClasspath">
			<fileset dir="${libDir}">
				<include name="**/*.jar" />
			</fileset>
			<fileset dir="${tcLibDir}">
				<include name="**/*.jar" />
			</fileset>
			<fileset dir="${pluginLibDir}">
				<include name="**/*.jar" />
			</fileset>
		</path>
		<javac destdir="${buildDir}" debug="on" deprecation="on" source="1.5" target="1.5">
			<src>
				<path refid="srcPath" />
			</src>
			<classpath>
				<path refid="buildClasspath" />
			</classpath>
		</javac>
	</target>


	<!-- ### Distribution ### //-->
	<target name="dist" depends="compile">
		<jar destfile="${packageDir}/${pluginName}.jar">

			<!-- Include the compiled class files //-->
			<fileset dir="${buildDir}">
				<include name="**"/>
			</fileset>

			<!-- Include the plugin description file //-->
			<fileset file="${pluginDescFile}">
			</fileset>
			
			<!-- Include the plugin resources //-->
			<fileset dir="${resDir}">
			</fileset> 
		</jar>

		<copy todir="${packageDir}" failonerror="false" flatten="false" includeemptydirs="false">
			<fileset dir=".">
				<include name="${pluginPropertyFile}"/>
			</fileset>
		</copy>
				
		<copy todir="${packageLibDir}" failonerror="false" flatten="true" includeemptydirs="false">
			<fileset dir="${pluginLibDir}">
				<include name="**" />
			</fileset>
		</copy>
		
		<copy todir="${packageExecDir}" failonerror="false" flatten="false" includeemptydirs="false">
			<fileset dir="./exec">
				<include name="**" />
			</fileset>
		</copy>
		
		<copy todir="${packageFileDir}" failonerror="false" flatten="false" includeemptydirs="false">
				<fileset dir="./files">
					<include name="**" />
				</fileset>
			</copy>
		
		<zip basedir="${packageDir}"  destfile="${distDir}/${pluginName}.cpa"/>

	</target>

	<!-- ### Clean ### //-->
	<target name="clean">
		<delete dir="${buildDir}">
		</delete>
		<delete dir="${packageDir}">
		</delete>
		<delete dir="${distDir}">
		</delete>
	</target>
</project>