Skip to content
Snippets Groups Projects
build.xml 3.46 KiB
Newer Older
  • Learn to ignore specific revisions
  • <?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="MyPlugin"/>
    
    	<!-- 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>