source: jclic/trunk/fuentes/i18n/fromLaunchpad/build.xml @ 3466

Last change on this file since 3466 was 3466, checked in by Juanma, 4 years ago

Updated to 3.2.1

File size: 13.6 KB
Line 
1<?xml version="1.0"?>
2
3<project name="JClicTranslationsFromLaunchpad" basedir="." default="main">
4
5  <!-- =================================================================== -->
6  <!-- INIT                                                                -->
7  <!-- =================================================================== -->
8  <target name="init"> 
9
10    <!-- Variables -->
11    <property file="${user.home}/.ant-global.properties" />
12    <property file="../../project.properties" />
13    <property name="project.name"        value="JClic" />
14
15    <property name="jclic.src.dir"       value="../../src" />
16    <property name="po.dir"              value="po" />
17    <property name="properties.dir"      value="properties" />
18    <property name="temp.extract.dir"    value="temp.extract.dir" />   
19    <property name="temp.po.dir"         value="temp.po.dir" />   
20
21    <property name="resources.path"      value="edu/xtec/resources" />
22    <property name="messages.path"       value="${resources.path}/messages" />
23
24    <property name="launchpad.filename"  value="launchpad-export" />
25    <available file="${launchpad.filename}.tar.gz" property="launchpad.file.present" />
26
27    <!-- Patterns -->
28    <patternset id="htmls" >
29      <include name="**/*.html"/>
30    </patternset>   
31    <patternset id="langHtmls" >
32      <include name="**/*_*.html"/>
33    </patternset>   
34
35    <patternset id="props" >
36      <include name="**/*.properties"/>
37    </patternset>
38    <patternset id="langProps" >
39      <include name="**/*_*.properties"/>
40    </patternset>
41
42    <patternset id="pos" >
43      <include name="**/*.po"/>
44    </patternset>
45
46    <taskdef name="po2prop" classname="edu.xtec.ant.Po2Prop"/> 
47
48    <echo message="-----------------------------------------------"/>
49    <echo message="Conversion of imported .po files to .properties"/>
50    <echo message="-----------------------------------------------"/>
51
52    <mkdir dir="${po.dir}"/>
53    <mkdir dir="${properties.dir}"/>
54       
55  </target>
56
57
58  <!-- =================================================================== -->
59  <!-- MAIN                                                          -->
60  <!-- =================================================================== -->
61  <target name="main"
62          description="Import edited .po files, convert it to .properties and update modified files"
63          depends="init,importLaunchpadFile,exportAuthor,exportCore,exportExtra,exportPlayer,exportUtilities,exportReports,replaceBadSlashes,backToSrc">
64
65    <echo message="*** .properties files updated from ${launchpad.filename}.tar.gz"/>
66
67  </target>
68
69  <!-- =================================================================== -->
70  <!-- IMPORT LAUNCHPAD RESULTS                                            -->
71  <!-- =================================================================== -->
72  <target name="importLaunchpadFile"
73          description="Imports the .po files contained in launchpad-export.tar.gz"
74          depends="init"
75          if="launchpad.file.present">
76
77    <mkdir dir="${temp.extract.dir}"/>
78    <gunzip src="${launchpad.filename}.tar.gz" dest="${temp.extract.dir}"/>
79    <untar src="${temp.extract.dir}/${launchpad.filename}.tar" dest="${temp.extract.dir}"/>
80
81    <mkdir dir="${temp.po.dir}"/>
82    <copy todir="${temp.po.dir}"
83          preservelastmodified="true">
84      <fileset dir="${temp.extract.dir}">
85        <patternset refid="pos"/>
86      </fileset>
87      <mapper>
88        <globmapper from="jclic-activities/listactivities-*" to="jclic-activities/listactivities_*"/>
89        <globmapper from="listactivities/listactivities-*" to="jclic-activities/listactivities_*"/>
90        <globmapper from="jclic-author/authormessages-*" to="jclic-author/AuthorMessages_*"/>
91        <globmapper from="authormessages/authormessages-*" to="jclic-author/AuthorMessages_*"/>
92        <globmapper from="jclic-core/jclicmessages-*" to="jclic-core/JClicMessages_*"/>
93        <globmapper from="jclicmessages/jclicmessages-*" to="jclic-core/JClicMessages_*"/>
94        <globmapper from="jclic-persistent/persistentpathsmessages-*" to="jclic-persistent/PersistentPathsMessages_*"/>
95        <globmapper from="persistentpathsmessages/persistentpathsmessages-*" to="jclic-persistent/PersistentPathsMessages_*"/>
96        <globmapper from="jclic-player/playermessages-*" to="jclic-player/PlayerMessages_*"/>
97        <globmapper from="playermessages/playermessages-*" to="jclic-player/PlayerMessages_*"/>
98        <globmapper from="jclic-accessibility/accessibilitymessages-*" to="jclic-accessibility/AccessibilityMessages_*"/>
99        <globmapper from="accessibilitymessages/accessibilitymessages-*" to="jclic-accessibility/AccessibilityMessages_*"/>
100        <globmapper from="jclic-reportServer/reportservermessages-*" to="jclic-reportServer/ReportServerMessages_*"/>
101        <globmapper from="reportservermessages/reportservermessages-*" to="jclic-reportServer/ReportServerMessages_*"/>
102        <globmapper from="jclic-reportServlets/reportmessages-*" to="jclic-reportServlets/reportMessages_*"/>
103        <globmapper from="reportmessages/reportmessages-*" to="jclic-reportServlets/reportMessages_*"/>
104        <globmapper from="jclic-shapers/listshapers-*" to="jclic-shapers/listshapers_*"/>
105        <globmapper from="listshapers/listshapers-*" to="jclic-shapers/listshapers_*"/>
106        <globmapper from="jclic-utilities/basicmessages-*" to="jclic-utilities/BasicMessages_*"/>
107        <globmapper from="basicmessages/basicmessages-*" to="jclic-utilities/BasicMessages_*"/>
108        <globmapper from="jclic-installer/installer-*" to="jclic-installer/installer_*"/>
109        <globmapper from="installer/installer-*" to="jclic-installer/installer_*"/>
110
111      </mapper>
112    </copy>
113
114    <copy todir="${po.dir}"
115          preservelastmodified="true">
116      <fileset dir="${temp.po.dir}">
117        <patternset refid="pos"/>
118        <different targetdir="${po.dir}"/>
119      </fileset>
120    </copy>
121
122    <delete dir="${temp.po.dir}" />
123    <delete dir="${temp.extract.dir}" />
124
125  </target>
126
127  <!-- =================================================================== -->
128  <!-- EXPORT AUTHOR                                                       -->
129  <!-- =================================================================== -->
130  <target name="exportAuthor"
131          description="Create .properties files for JClicAuthor"
132          depends="init">
133
134    <mkdir dir="${properties.dir}/author/${messages.path}"/>
135    <po2prop destDir="${properties.dir}/author/${messages.path}" 
136             templateFile="${jclic.src.dir}/author/${messages.path}/AuthorMessages.properties"
137             preserveTimestamps="true">
138        <fileset dir="${po.dir}/jclic-author" >
139          <patternset refid="pos" />
140        </fileset>
141    </po2prop>
142  </target>
143
144  <!-- =================================================================== -->
145  <!-- EXPORT CORE                                                          -->
146  <!-- =================================================================== -->
147  <target name="exportCore"
148          description="Create .properties files for JClic core"
149          depends="init">
150
151    <mkdir dir="${properties.dir}/core/${messages.path}"/>
152    <po2prop destDir="${properties.dir}/core/${messages.path}" 
153             templateFile="${jclic.src.dir}/core/${messages.path}/JClicMessages.properties"
154             preserveTimestamps="true">
155        <fileset dir="${po.dir}/jclic-core" >
156          <patternset refid="pos" />
157        </fileset>
158    </po2prop>
159  </target>
160
161  <!-- =================================================================== -->
162  <!-- EXPORT EXTRA                                                          -->
163  <!-- =================================================================== -->
164  <target name="exportExtra"
165          description="Create .properties files for JClic extra resources"
166          depends="init">
167
168    <mkdir dir="${properties.dir}/extra/${resources.path}/activities"/>
169    <po2prop destDir="${properties.dir}/extra/${resources.path}/activities" 
170             templateFile="${jclic.src.dir}/extra/${resources.path}/activities/listactivities.properties"
171             preserveTimestamps="true">
172        <fileset dir="${po.dir}/jclic-activities" >
173          <patternset refid="pos" />
174        </fileset>
175    </po2prop>
176
177    <mkdir dir="${po.dir}/jclic-automation" />
178    <mkdir dir="${properties.dir}/extra/${resources.path}/automation" />
179    <po2prop destDir="${properties.dir}/extra/${resources.path}/automation" 
180             templateFile="${jclic.src.dir}/extra/${resources.path}/automation/contentproviders.properties"
181             preserveTimestamps="true">
182        <fileset dir="${po.dir}/jclic-automation" >
183          <patternset refid="pos" />
184        </fileset>
185    </po2prop>
186
187    <mkdir dir="${properties.dir}/extra/${resources.path}/shapers" />
188    <po2prop destDir="${properties.dir}/extra/${resources.path}/shapers" 
189             templateFile="${jclic.src.dir}/extra/${resources.path}/shapers/listshapers.properties"
190             preserveTimestamps="true">
191        <fileset dir="${po.dir}/jclic-shapers" >
192          <patternset refid="pos" />
193        </fileset>
194    </po2prop>
195  </target>
196
197  <!-- =================================================================== -->
198  <!-- EXPORT PLAYER                                                          -->
199  <!-- =================================================================== -->
200  <target name="exportPlayer"
201          description="Create .properties files for JClic Player"
202          depends="init">
203
204    <mkdir dir="${properties.dir}/player/${messages.path}" />
205    <po2prop destDir="${properties.dir}/player/${messages.path}" 
206             templateFile="${jclic.src.dir}/player/${messages.path}/PlayerMessages.properties"
207             preserveTimestamps="true">
208        <fileset dir="${po.dir}/jclic-player" >
209          <patternset refid="pos" />
210        </fileset>
211    </po2prop>
212   
213    <mkdir dir="${po.dir}/jclic-accessibility" />
214    <po2prop destDir="${properties.dir}/player/${messages.path}" 
215             templateFile="${jclic.src.dir}/player/${messages.path}/AccessibilityMessages.properties"
216             preserveTimestamps="true">
217        <fileset dir="${po.dir}/jclic-accessibility" >
218          <patternset refid="pos" />
219        </fileset>
220    </po2prop>
221   
222  </target>
223
224  <!-- =================================================================== -->
225  <!-- EXPORT UTILITIES                                                          -->
226  <!-- =================================================================== -->
227  <target name="exportUtilities"
228          description="Create .properties files for JClic utilities"
229          depends="init">
230
231    <mkdir dir="${properties.dir}/utilities/${messages.path}" />
232    <po2prop destDir="${properties.dir}/utilities/${messages.path}" 
233             templateFile="${jclic.src.dir}/utilities/${messages.path}/BasicMessages.properties"
234             preserveTimestamps="true">
235        <fileset dir="${po.dir}/jclic-utilities" >
236          <patternset refid="pos" />
237        </fileset>
238    </po2prop>
239
240    <po2prop destDir="${properties.dir}/utilities/${messages.path}" 
241             templateFile="${jclic.src.dir}/utilities/${messages.path}/PersistentPathsMessages.properties"
242             preserveTimestamps="true">
243        <fileset dir="${po.dir}/jclic-persistent" >
244          <patternset refid="pos" />
245        </fileset>
246    </po2prop>
247   
248  </target>
249
250  <!-- =================================================================== -->
251  <!-- EXPORT REPORTS                                                     -->
252  <!-- =================================================================== -->
253  <target name="exportReports"
254          description="Create .properties files for JClic reports"
255          depends="init">
256
257    <mkdir dir="${properties.dir}/report/reportServer/${messages.path}" />
258    <po2prop destDir="${properties.dir}/report/reportServer/${messages.path}" 
259             templateFile="${jclic.src.dir}/report/reportServer/${messages.path}/ReportServerMessages.properties"
260             preserveTimestamps="true">
261        <fileset dir="${po.dir}/jclic-reportServer" >
262          <patternset refid="pos" />
263        </fileset>
264    </po2prop>
265
266    <mkdir dir="${properties.dir}/report/reportServlets/${messages.path}" />
267    <po2prop destDir="${properties.dir}/report/reportServlets/${messages.path}" 
268             templateFile="${jclic.src.dir}/report/reportServlets/${messages.path}/reportMessages.properties"
269             preserveTimestamps="true">
270        <fileset dir="${po.dir}/jclic-reportServlets" >
271          <patternset refid="pos" />
272        </fileset>
273    </po2prop>
274  </target>
275
276  <!-- =================================================================== -->
277  <!-- REPLACE BAD SLASHES                                                 -->
278  <!-- =================================================================== -->
279  <target name="replaceBadSlashes"
280          description="replaces '//:' with just ':' in the resulting .properties files"
281          depends="init">
282     <replace dir="${properties.dir}" token="\\:" value=":">
283        <patternset refid="langProps"/>
284     </replace>
285  </target>
286
287
288  <!-- =================================================================== -->
289  <!-- BACK TO SRC                                                         -->
290  <!-- =================================================================== -->
291  <target name="backToSrc"
292          description="returns modified .properties files to the JClic source directory"
293          depends="init">
294
295     <copy todir="${jclic.src.dir}" verbose="true">
296        <fileset dir="${properties.dir}">
297          <patternset refid="langProps"/>
298          <different targetdir="${jclic.src.dir}"/>
299        </fileset>
300     </copy>
301  </target>
302     
303</project>
Note: See TracBrowser for help on using the repository browser.