Salome HOME
Siman-WS eclipse project is added
[tools/siman.git] / Workspace / Siman-WS / build.xml
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <project name="SIMAN Web Services Server web applcation"  default="build-war" >
3
4         <property environment="env" />
5
6         <property file="build.properties" description="set the build parameters" />
7
8         <property file="../${siman-common.project.name}/build.properties" description="set the build parameters" />
9         <property file="../${splat.project.name}/build.properties" description="set the build parameters" />
10
11         <property name="time.simple.pattern" value="dd/MM/yyyy" />
12         <tstamp>
13                 <format property="datesimple" pattern="${time.simple.pattern}" />
14         </tstamp>
15
16         <property name="time.pattern" value="hh:mm:ss" />
17         <tstamp>
18                 <format property="time" pattern="${time.pattern}" />
19         </tstamp>
20
21
22         <!-- ================================================= -->
23         <!--    siman-common: Build Siman-Common project           -->
24         <!-- ================================================= -->
25 <!--
26         <target name="siman-common" description="Builds Siman-Common project">
27                 <ant dir="../${siman-common.project.name}" />
28         </target>
29 -->
30         <!-- ================================================= -->
31         <!--    copy-config: Copy parametrized config files        -->
32         <!-- ================================================= -->
33         <macrodef name="copy-config">
34                 <!-- Parameter "mode" can be equal to "debug" or "release" -->
35                 <attribute name="mode" />
36                 <sequential>
37                         <echo message="Generating configuration in @{mode} mode" />
38                         <!-- Copy files from config source directory according to the given mode -->
39                         <copy todir="${basedir}/${config.@{mode}.dir}" overwrite="true">
40                                 <fileset dir="${config.src.dir}/templates">
41                                 </fileset>
42                                 <!-- Transform the files from templates substituting properties values -->
43                                 <filterset>
44                                         <filter token="datesimple" value="${datesimple}" />
45                                         <filter token="time" value="${time}" />
46                                         <!-- Get properties to substitute according to the given mode -->
47                                         <filtersfile file="${config.src.dir}/@{mode}.properties" />
48                                         <!-- Substitute the complete config source directory path value in files -->
49                                         <filter token="config.src.dir" value="${basedir}${file.separator}${config.src.dir}${file.separator}templates" />
50                                 </filterset>
51                         </copy>
52                 </sequential>
53         </macrodef>
54
55         <!-- ================================================= -->
56         <!--  debug-config: Generate parametrized config files -->
57         <!-- ================================================= -->
58         <target name="debug-config" description="Generate parametrized debug config files">
59                 <copy-config mode="debug" />
60         </target>
61
62         <!-- =================================================== -->
63         <!--  release-config: Generate parametrized config files -->
64         <!-- =================================================== -->
65         <target name="release-config" description="Generate parametrized release config files">
66                 <copy-config mode="release" />
67         </target>
68
69         <!-- ===================================================================== -->
70         <!-- build-dist : Create the war file                                                      -->
71         <!-- ===================================================================== -->
72         <target name="build-war" depends="clean, release-config" description="Builds the WAR distribution">
73                 <echo message="build ${webapp.name}.war" />
74
75                 <mkdir dir="${siman-ws.dist.dir}" />
76                 <war destfile="${siman-ws.dist.dir}/${webapp.name}.war" webxml="${basedir}/${siman-ws.content.dir}/WEB-INF/web.xml">
77                         <fileset dir="${siman-ws.content.dir}" />
78                         <!-- Copy all sources except those which should be generated -->
79                         <classes dir="${siman-ws.bin.dir}/classes">
80                                 <present present="srconly" targetdir="${config.release.dir}" />
81                         </classes>
82                         <!-- Copy generated sources -->
83                         <zipfileset dir="${config.release.dir}" prefix="WEB-INF/classes" />
84                         <manifest>
85                                 <attribute name="Built-By" value="${app.author}" />
86                                 <attribute name="Version" value="${app.version}" />
87                                 <attribute name="Built-Date" value="${datesimple}" />
88                         </manifest>
89                         <lib dir="${basedir}/../${siman-common.project.name}/${siman-common.dist.dir}" includes="**/*.jar" />
90                         <lib dir="${basedir}/../${siman-common.project.name}/${siman-common.lib.dir}" includes="**/*.jar" />
91                         <lib dir="${basedir}/../${splat.project.name}/${splat.dist.dir}" includes="**/*.jar" />
92                         <lib dir="${basedir}/../${splat.project.name}/${splat.lib.dir}" includes="**/*.jar" />
93                 </war>
94         </target>
95
96         <!-- ================================================= -->
97         <!--    clean: Clean the dist directory                            -->
98         <!-- ================================================= -->
99         <target name="clean" description="clean the build directory">
100                 <echo message="deleting files in ${siman-ws.dist.dir}" />
101                 <delete includeemptydirs="true" failonerror="false">
102                         <fileset dir="${siman-ws.dist.dir}" includes="**/*" />
103                 </delete>
104         </target>
105 </project>