root/gs3-extensions/mat/trunk/build.xml @ 22208

Revision 22208, 6.4 KB (checked in by sjm84, 10 years ago)

Reverted mat back to being part of the greenstone3 web-app and also added various upgrades to the system

  • Property svn:executable set to *
Line 
1<project name="Mat" basedir="." default="main">
2  <property environment="env"/>
3  <property name="gsdl3srchome" value="${env.GSDL3SRCHOME}"/>
4
5  <property name="mat.web" value="${gsdl3srchome}/web/mat"/>
6  <property name="mat.bin.scripts" value="bin/script"/>
7  <property name="mat.web.scripts" value="${mat.web}/script"/>
8  <property name="mat.src"     value="src"/>
9  <property name="mat.build"   value="build"/>
10  <property name="mat.classes" value="${mat.build}/classes"/>
11  <property name="mat.classes.base" value="org/greenstone"/>
12  <property name="mat.admin.classes" value="${mat.classes.base}/admin"/>
13  <property name="mat.main.classes" value="${mat.classes.base}/mat"/>
14  <property name="mat.lib"     value="lib"/>
15  <property name="mat.tmp"     value="tmp"/>
16  <property name="mat.resources" value="resources"/>
17  <property name="mat.tomcat.resources" value="${mat.resources}/tomcat"/>
18  <property name="mat.script.resources" value="${mat.resources}/script"/>
19
20  <property name="gs.jni" value="${gsdl3srchome}/lib/jni"/>
21  <property name="gs.webinf" value="${gsdl3srchome}/web/WEB-INF"/>
22  <property name="gs.webinf.lib" value="${gs.webinf}/lib"/>
23  <property name="gs.webinf.classes" value="${gs.webinf}/classes"/>
24
25  <property name="tomcat" value="${gsdl3srchome}/packages/tomcat"/>
26  <property name="tomcat.lib" value="${tomcat}/lib"/>
27 
28  <path id="classpath">
29    <fileset dir="${mat.lib}">
30      <include name="**/*.jar"/>
31    </fileset>
32    <fileset dir="${gsdl3srchome}/lib/java">
33      <include name="**/*.jar"/>
34    </fileset>
35    <dirset  dir="${mat.lib}">
36      <include name="**/classes"/>
37    </dirset>
38  </path>
39
40  <taskdef name="xmltask" classname="com.oopsconsultancy.xmltask.ant.XmlTask"  classpathref="classpath"/>
41  <taskdef name="if" classname="ise.antelope.tasks.IfTask" classpathref="classpath"/>
42 
43  <target name ="create_log_folder">
44    <mkdir dir="../logs/mat"/>
45  </target>
46 
47  <target name="clean">
48    <delete file="guiext.jar"/>
49    <delete dir="${mat.build}"/>
50   
51    <xmltask source="${gs.webinf}/web.xml" dest="${gs.webinf}/web.xml">
52      <remove path="/web-app/servlet[servlet-name='mat']"/>
53      <remove path="/web-app/servlet-mapping[servlet-name='mat']"/>
54    </xmltask>
55  </target>
56 
57  <target name="install" depends="setup-tmp,create_log_folder,add-servlet-details">
58    <mkdir dir="${mat.classes}"/>
59    <javac srcdir="${mat.src}" destdir="${mat.classes}" classpathref="classpath"/>
60
61    <jar destfile="${mat.lib}/mat.jar">
62      <fileset dir="${mat.classes}">
63    <include name="${mat.main.classes}/**"/>
64      </fileset>
65    </jar>
66    <copy file="${mat.lib}/mat.jar" todir="${gs.webinf.lib}"/>
67
68    <jar destfile="guiext.jar">
69      <fileset dir="${mat.classes}">
70    <include name="${mat.admin.classes}/**"/>
71      </fileset>
72    </jar>
73
74    <mkdir dir="${mat.web.scripts}"/>
75    <copy todir="${mat.web.scripts}">
76      <fileset dir="${mat.script.resources}"/>
77    </copy>
78    <copy todir="${mat.web.scripts}">
79      <fileset dir="${mat.bin.scripts}"/>
80    </copy>
81  </target>
82
83  <target name="compress-extension">
84    <if>
85      <bool>
86    <not><available file="7z.jar"/></not>
87      </bool>
88
89      <exec executable="svn">
90    <arg value="export"/>
91    <arg value="http://svn.greenstone.org/main/trunk/release-kits/shared/core/ant-tasks/7z-ant/7z.jar"/>
92      </exec>
93
94    </if>
95    <taskdef name="sevenzip" classname="org.apache.tools.ant.SevenZip" classpath="7z.jar"/>
96 
97    <if>
98      <bool><equals arg1="${os.name}" arg2="Linux"/></bool>
99      <property name="os" value="linux"/>
100     
101      <else>
102   
103    <if>
104      <bool><equals arg1="${os.name}" arg2="Mac OS X"/></bool>
105      <property name="os" value="mac"/>
106     
107      <else>
108     
109        <if>
110          <bool><or>
111          <equals arg1="${os.name}" arg2="Windows 95"/>
112          <equals arg1="${os.name}" arg2="Windows 98"/>
113          <equals arg1="${os.name}" arg2="Windows 2000"/>
114          <equals arg1="${os.name}" arg2="Windows XP"/>
115          <equals arg1="${os.name}" arg2="Windows NT"/>
116          <equals arg1="${os.name}" arg2="Windows ME"/>
117          <equals arg1="${os.name}" arg2="Windows Vista"/>
118          <equals arg1="${os.name}" arg2="Windows 7"/>
119        </or></bool>
120          <property name="os" value="windows"/>
121        </if>
122
123      </else>
124    </if>
125      </else>
126    </if>
127   
128    <zip destfile="mat.comp" compress="false">
129      <zipfileset dir="${basedir}">
130    <include name="bin"/>
131    <include name="bin/**/*"/>
132    <include name="build"/>
133    <include name="build/**/*"/>
134    <include name="FAQ.txt"/>
135    <include name="guiext.jar"/>
136    <include name="Mat.bat"/>
137    <include name="Mat.sh"/>
138    <include name="properties.xml"/>
139    <include name="README.txt"/>
140    <include name="resources"/>
141    <include name="resources/**/*"/>
142      </zipfileset>
143    </zip>
144   
145    <if>
146      <bool>
147    <equals arg1="${os}" arg2="Windows"/>
148      </bool>
149     
150      <exec executable="${gsdl3srchome}/winutil/7zip.exe">
151    <arg line="a -t7z -mx=9 mat.lzma mat.comp"/>
152      </exec>
153
154      <else>
155    <sevenzip task="encode" input="mat.comp" output="mat.lzma" dictionnary="26"/>
156      </else>
157    </if>
158  </target>
159
160  <target name="add-servlet-details">
161    <xmltask source="${gs.webinf}/web.xml">
162      <copy path="/web-app/servlet[servlet-name='mat']/servlet-name/text()" property="mat.exists"/>
163    </xmltask>
164
165    <if>
166      <bool>
167    <not><equals arg1="${mat.exists}" arg2="mat"/></not>
168      </bool>
169      <xmltask source="${gs.webinf}/web.xml" dest="${gs.webinf}/web.xml">
170    <insert path="/web-app/servlet[last()]" position="after">
171  <![CDATA[
172  <servlet>
173    <servlet-name>mat</servlet-name>
174    <description>Metadata Analysis Tool</description>
175    <servlet-class>org.greenstone.mat.servlet.MatServlet</servlet-class>
176  </servlet>
177  ]]>
178    </insert>
179    <insert path="/web-app/servlet-mapping[last()]" position="after">
180  <![CDATA[
181  <servlet-mapping>
182    <servlet-name>mat</servlet-name>
183    <url-pattern>/mat</url-pattern>
184  </servlet-mapping>
185  ]]>
186    </insert>
187      </xmltask>
188
189      <else>
190    <echo>MAT servlet definition already exists in the Greenstone web.xml</echo>
191      </else>
192    </if>
193  </target>
194
195  <target name ="clean-tmp">
196    <delete dir="${mat.tmp}"/>
197    <echo> ${mat.tmp} has been removed </echo>
198  </target>
199
200  <target name ="setup-tmp">
201    <mkdir dir="./tmp"/>
202    <echo> ${mat.tmp} has been created </echo>
203    <echo file="${mat.tmp}/log.txt">This is the log file.</echo>
204  </target>
205  <target name="clean-compile" depends="clean,install"/>
206 
207</project>
Note: See TracBrowser for help on using the browser.