Salome HOME
Siman-WS eclipse project is added
[tools/siman.git] / Workspace / Siman-WS / build.xml
diff --git a/Workspace/Siman-WS/build.xml b/Workspace/Siman-WS/build.xml
new file mode 100644 (file)
index 0000000..8b7b5c4
--- /dev/null
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<project name="SIMAN Web Services Server web applcation"  default="build-war" >
+
+       <property environment="env" />
+
+       <property file="build.properties" description="set the build parameters" />
+
+       <property file="../${siman-common.project.name}/build.properties" description="set the build parameters" />
+       <property file="../${splat.project.name}/build.properties" description="set the build parameters" />
+
+       <property name="time.simple.pattern" value="dd/MM/yyyy" />
+       <tstamp>
+               <format property="datesimple" pattern="${time.simple.pattern}" />
+       </tstamp>
+
+       <property name="time.pattern" value="hh:mm:ss" />
+       <tstamp>
+               <format property="time" pattern="${time.pattern}" />
+       </tstamp>
+
+
+       <!-- ================================================= -->
+       <!--    siman-common: Build Siman-Common project           -->
+       <!-- ================================================= -->
+<!--
+       <target name="siman-common" description="Builds Siman-Common project">
+               <ant dir="../${siman-common.project.name}" />
+       </target>
+-->
+       <!-- ================================================= -->
+       <!--    copy-config: Copy parametrized config files        -->
+       <!-- ================================================= -->
+       <macrodef name="copy-config">
+               <!-- Parameter "mode" can be equal to "debug" or "release" -->
+               <attribute name="mode" />
+               <sequential>
+                       <echo message="Generating configuration in @{mode} mode" />
+                       <!-- Copy files from config source directory according to the given mode -->
+                       <copy todir="${basedir}/${config.@{mode}.dir}" overwrite="true">
+                               <fileset dir="${config.src.dir}/templates">
+                               </fileset>
+                               <!-- Transform the files from templates substituting properties values -->
+                               <filterset>
+                                       <filter token="datesimple" value="${datesimple}" />
+                                       <filter token="time" value="${time}" />
+                                       <!-- Get properties to substitute according to the given mode -->
+                                       <filtersfile file="${config.src.dir}/@{mode}.properties" />
+                                       <!-- Substitute the complete config source directory path value in files -->
+                                       <filter token="config.src.dir" value="${basedir}${file.separator}${config.src.dir}${file.separator}templates" />
+                               </filterset>
+                       </copy>
+               </sequential>
+       </macrodef>
+
+       <!-- ================================================= -->
+       <!--  debug-config: Generate parametrized config files -->
+       <!-- ================================================= -->
+       <target name="debug-config" description="Generate parametrized debug config files">
+               <copy-config mode="debug" />
+       </target>
+
+       <!-- =================================================== -->
+       <!--  release-config: Generate parametrized config files -->
+       <!-- =================================================== -->
+       <target name="release-config" description="Generate parametrized release config files">
+               <copy-config mode="release" />
+       </target>
+
+       <!-- ===================================================================== -->
+       <!-- build-dist : Create the war file                                                      -->
+       <!-- ===================================================================== -->
+       <target name="build-war" depends="clean, release-config" description="Builds the WAR distribution">
+               <echo message="build ${webapp.name}.war" />
+
+               <mkdir dir="${siman-ws.dist.dir}" />
+               <war destfile="${siman-ws.dist.dir}/${webapp.name}.war" webxml="${basedir}/${siman-ws.content.dir}/WEB-INF/web.xml">
+                       <fileset dir="${siman-ws.content.dir}" />
+                       <!-- Copy all sources except those which should be generated -->
+                       <classes dir="${siman-ws.bin.dir}/classes">
+                               <present present="srconly" targetdir="${config.release.dir}" />
+                       </classes>
+                       <!-- Copy generated sources -->
+                       <zipfileset dir="${config.release.dir}" prefix="WEB-INF/classes" />
+                       <manifest>
+                               <attribute name="Built-By" value="${app.author}" />
+                               <attribute name="Version" value="${app.version}" />
+                               <attribute name="Built-Date" value="${datesimple}" />
+                       </manifest>
+                       <lib dir="${basedir}/../${siman-common.project.name}/${siman-common.dist.dir}" includes="**/*.jar" />
+                       <lib dir="${basedir}/../${siman-common.project.name}/${siman-common.lib.dir}" includes="**/*.jar" />
+                       <lib dir="${basedir}/../${splat.project.name}/${splat.dist.dir}" includes="**/*.jar" />
+                       <lib dir="${basedir}/../${splat.project.name}/${splat.lib.dir}" includes="**/*.jar" />
+               </war>
+       </target>
+
+       <!-- ================================================= -->
+       <!--    clean: Clean the dist directory                            -->
+       <!-- ================================================= -->
+       <target name="clean" description="clean the build directory">
+               <echo message="deleting files in ${siman-ws.dist.dir}" />
+               <delete includeemptydirs="true" failonerror="false">
+                       <fileset dir="${siman-ws.dist.dir}" includes="**/*" />
+               </delete>
+       </target>
+</project>