source: freemind/trunk/fuentes/.pc/encoding.patch/freemind/build.xml @ 68

Last change on this file since 68 was 68, checked in by jrpelegrina, 4 years ago

First release to Xenial

File size: 28.6 KB
Line 
1<project name="freemind" default="dist" basedir=".">
2    <!-- read version number from java source:  -->
3    <loadfile property="ver" srcfile="freemind/main/FreeMind.java">
4      <filterchain>
5        <tokenfilter>
6          <filetokenizer/>
7          <replaceregex pattern='.*new VersionInformation\("(.*?)".*' replace="\1" flags="s" />
8        </tokenfilter>
9        <!-- Replace spaces by underscores. -->
10        <tokenfilter><replaceregex pattern=" " replace="_" flags="g"/></tokenfilter>
11      </filterchain>
12    </loadfile>
13       
14        <property name="freemind.buildnumber.file" value="version.properties"/>
15        <property name="freemind.installer_year" value="2009"/>
16        <property name="src" location="."/>
17        <property name="src_base_for_post" location="../" />
18        <property name="build" location="../bin/classes" />
19        <property name="testbuild" location="../bin/testclasses" />
20        <property name="acc_build" location="accessories/plugins/build.xml" />
21        <property name="dist" location="../bin/dist" />
22        <property name="dist.lib" location="${dist}/lib" />
23        <property name="dist_macos_name" value="FreeMind_${ver}" />
24        <property name="dist_macos_base" location="../bin/dist_macos" />
25        <property name="dist_macos" location="${dist_macos_base}/${dist_macos_name}" />
26        <property name="dist_macos_app_name" value="FreeMind.app" />
27        <property name="dist_macos_app" location="${dist_macos}/${dist_macos_app_name}"/>
28        <property name="dist_macos_contents" location="${dist_macos_app}/Contents"/>
29        <property name="dist_macos_info" location="${dist_macos_contents}/Info.plist"/>
30        <property name="icns_extension" value="Modern"/>
31        <property name="FM.jar" location="${dist.lib}/freemind.jar"/>
32        <property name="test.reports" location="../bin/reports/" />
33        <property name="post" location="../post" />
34        <property name="debug" value="on" />
35        <property name="java_source_version" value="1.6" />
36        <property name="java_target_version" value="1.6" />
37        <property name="build.compiler" value="modern" />
38        <property name="freemind_socket" location="${user.home}/.freemind/freemind.socket"/>
39
40
41        <property name="java.dir" value="/usr/share/java" />
42        <!-- begin generator part -->
43        <property name="jibxhome" location="${java.dir}"/>
44        <property name="jibxjar" location="lib/bindings.jar"/>
45        <property name="jibxruntimelibs" value="${jibxhome}/jibx-run-1.1.6a.jar:${jibxhome}/xpp3.jar"/>
46        <property name="jibxlibs" value="${jibxhome}/bcel.jar:${jibxhome}/jibx-bind-1.1.6a.jar:${jibxhome}/jibx-extras-1.1.6a.jar:${jibxruntimelibs}"/>
47        <taskdef name="bind" classname="org.jibx.binding.ant.CompileTask">
48                <classpath path="${jibxlibs}"/>
49                <classpath location="binding/classes"/>
50        </taskdef>
51        <property name="formsLib" location="${java.dir}/forms.jar:${java.dir}/SimplyHTML.jar"/>
52        <property name="simplyHtml" location="${java.dir}/SimplyHTML.jar"/>
53        <property name="spellLib" location="lib/jortho.jar"/>
54        <property name="xsltLib" location="lib/xalan.jar"/>
55        <property name="xsltLib2" location="${java.dir}/serializer.jar"/>
56        <property name="xsltLib3" location="${java.dir}/xml-apis.jar"/>
57        <property name="xsltLib4" location="${java.dir}/xercesImpl.jar"/>
58
59        <property name="classpath" value="${jibxruntimelibs}:${jibxjar}:${formsLib}:${simplyHtml}:${spellLib}:${xsltLib}:${xsltLib2}:${xsltLib3}:${xsltLib4}"/>
60        <path id="jars.path">
61          <fileset dir="${src}">
62            <include name="**/*.jar" />
63          </fileset>
64        </path>
65
66          <target name="xmlbind.checkStatusOfGeneration">
67            <uptodate property="xmlbind.isUpToDate"
68                      srcfile="freemind_actions.xsd"
69                      targetfile="${jibxjar}"/>
70          </target>
71
72        <!-- - - - - - - - - - - - - - - - - -
73          target: init                     
74         - - - - - - - - - - - - - - - - - -->
75    <target name="init">
76                <buildnumber file="${freemind.buildnumber.file}"/>
77                <loadproperties srcfile="${freemind.buildnumber.file}"></loadproperties>
78                <property name="version" value="${ver}_${build.number}"/>
79        <property environment="env" />
80                <echo>FreeMind Version = ${ver}, build ${build.number}.</echo>
81                <echo>Checking for duplicate Resource strings</echo>
82                <exec os="Linux" executable="${src}/check_for_duplicate_resources.sh"></exec>
83    </target>
84
85       
86        <!-- =================================
87          target: gen
88         ================================= -->
89        <target name="gen" depends="xmlbind.checkStatusOfGeneration" description="--> Generates the JixB binding jar." unless="xmlbind.isUpToDate">
90                <mkdir dir="binding" />
91                <mkdir dir="binding/src" />
92                <mkdir dir="binding/run" />
93                <mkdir dir="binding/classes" />
94                <javac includeantruntime="false"  destdir="binding/run" 
95                        srcdir="${src}"
96                        classpath="${classpath}"
97                        debug="${debug}"
98                        source="${java_source_version}"
99                        target="${java_target_version}">
100                        <include name="de/foltin/**" />
101                </javac>
102                <java fork="true" classpath="binding/run" classname="de.foltin.CompileXsdStart"></java>
103                <delete dir="binding/run"  quiet="true"/>
104                <!-- Special file for String encoding. -->
105                <mkdir dir="binding/src/de/foltin"/>
106                <copy  todir="binding/src/de/foltin" file="${src}/de/foltin/StringEncoder.java"/>
107                <javac includeantruntime="false"  srcdir="binding/src" destdir="binding/classes" source="${java_source_version}" target="${java_target_version}" debug="on" />
108                <echo message="Running binding compiler..." />
109                <bind verbose="false" load="true">
110                        <bindingfileset dir="binding/src">
111                                <include name="**/*.xml" />
112                        </bindingfileset>
113                        <classpathset dir="binding/classes" />
114                </bind>
115                <!-- jar the bindings -->
116                <jar destfile="${jibxjar}">
117                        <fileset dir="binding/classes">
118                                <include name="**/*.class" />
119                        </fileset>
120                        <fileset dir="binding/src">
121                                <include name="**/*.java" />
122                                <include name="**/*.xml" />
123                        </fileset>
124                </jar>
125                <delete dir="binding">
126                </delete>
127                <delete failonerror="false" file="${src}/accessories/plugins/MacChanges.java" quiet="true"/>
128                <delete failonerror="false" file="${src}/accessories/plugins/MacChanges.xml" quiet="true"/>
129        </target>
130
131        <target name="patterns">
132                <xslt style="patterns_updater.xslt" in="patterns.xml" out="patterns_new.xml" force="true" />
133        </target>
134
135        <!-- end generator part -->
136
137        <target name="build" depends="init,gen">
138                <!-- Perform Mac Changes as a plugin. -->
139                <exec dir="${src}/accessories/plugins" executable="ln" os="Mac OS X">
140                        <arg value="-s"/>
141                        <arg value="MacChanges.java.not_here"/>
142                        <arg value="MacChanges.java"/>
143                </exec>
144                <exec dir="${src}/accessories/plugins" executable="ln" os="Mac OS X">
145                        <arg value="-s"/>
146                        <arg value="MacChanges.xml.not_here"/>
147                        <arg value="MacChanges.xml"/>
148                </exec>
149                <!-- end mac changes. -->
150                <mkdir dir="${build}"/>
151                <javac includeantruntime="false" srcdir="${src}"
152                        destdir="${build}"
153                        classpath="${classpath}"
154                        debug="${debug}"
155           source="${java_source_version}"
156               target="${java_target_version}"
157                         >
158                        <exclude name="${gen.dir}/**" />
159                        <exclude name="accessories/plugins/**" />
160                <!-- Currently, JUnit tests are only supported inside eclipse due to
161                     classpath problems of the plugins. -->
162                        <exclude name="tests/**" />
163                        <exclude name="plugins/**" />
164                </javac>
165                <!-- Starter should work with java 1.1, too as it checks the java version.-->
166                <delete failonerror="false" file="${build}/freemind/main/FreeMindStarter.class"></delete>
167                <javac includeantruntime="false"        srcdir="${src}" destdir="${build}" classpath="${classpath}"     debug="${debug}" source="1.3" target="1.1">
168                        <include name="freemind/main/FreeMindStarter.java"/>
169                </javac>
170                <ant antfile="${acc_build}" target="build"/>
171                <ant antfile="plugins/build.xml" target="build"/>
172        </target>
173
174        <target name="build_tests" depends="build">
175                <mkdir dir="${testbuild}"/>
176                <javac includeantruntime="false" srcdir="${src}"
177                        destdir="${testbuild}"
178                        debug="${debug}"
179                        source="${java_source_version}"
180                        target="${java_target_version}"
181                >
182                        <classpath refid="jars.path"></classpath>
183                        <exclude name="${gen.dir}/**" />
184                        <exclude name="plugins/collaboration/jabber/**" />
185                </javac>
186                <copy todir="${testbuild}" file="${src}/freemind.properties"/>
187        </target>
188
189        <!-- =================================
190          target: test             
191         ================================= -->
192    <target name="test" depends="build_tests" description="Carries out all unit tests">
193        <delete dir="${test.reports}" />
194        <mkdir dir="${test.reports}" />
195        <junit printsummary="withOutAndErr"  fork="yes" haltonfailure="no">       
196                <classpath refid="jars.path"></classpath>
197                <classpath path="${testbuild}"></classpath>
198                <classpath path="${src}"></classpath>
199                <formatter type="xml" />
200 
201                <batchtest todir="${test.reports}">
202                        <fileset dir="${src}"> 
203                                <include name="tests/**/AllTests.java" />
204                        </fileset>
205                </batchtest>
206        </junit>
207    </target>
208
209       
210        <target name="dist" depends="jar, browser">
211                <copy todir="${dist}">
212                        <fileset dir="${src}">
213                                  <include name="freemind.bat"/>
214                                  <include name="freemindw.bat"/>
215                                  <include name="freemind.sh"/>
216                                  <include name="license"/>
217                                  <include name="patterns.xml"/>
218                                  <include name="dictionaries.properties"/>
219                                  <include name="dictionary_??.ortho"/>
220                        </fileset>
221                </copy>
222                <chmod file="${dist}/freemind.sh" perm="u+rx"/>
223                <mkdir dir="${dist}/doc" />
224                <copy todir="${dist}/doc">
225                        <fileset dir="${src}/doc/">
226                                <include name="freemind*.mm"/>
227                                <include name="FM_Key_Mappings_Quick_Guide*.pdf"/>
228                                <include name="FM_Key_Mappings_Quick_Guide*.odt"/>
229                        </fileset>
230                </copy>
231                <mkdir dir="${dist}/accessories" />
232                <mkdir dir="${dist}/plugins" />
233                <copy todir="${dist}/accessories" >
234                        <fileset dir="${src}/accessories" excludes="plugins" includes="*"/>
235                        <!-- exclude jars too!
236                        <fileset dir="${build}/accessories"/> -->
237                </copy>
238                <!-- third party libs -->
239                <mkdir dir="${dist.lib}" />
240                <copy todir="${dist.lib}">
241                        <fileset dir="${src}/lib">
242                                <include name="jortho.jar"/>
243                                <include name="xalan.jar"/>
244                                <include name="bindings.jar"/>
245                        </fileset>
246                </copy>
247
248                <ant antfile="${acc_build}" target="dist"/>
249                <ant antfile="plugins/build.xml" target="dist"/>
250                <!-- Mac OS X -->
251                <condition property="isMacOs">
252                        <os family="mac"/>
253                </condition>
254                <antcall target="dist_macos"/>
255        </target>
256
257        <target name="dist_macos" if="isMacOs">
258                <delete dir="${dist_macos}" followsymlinks="false"/>
259                <mkdir dir="${dist_macos}"/>
260                <taskdef name="bundleapp"
261                             classname="com.oracle.appbundler.AppBundlerTask"   
262                             classpath="${src}/lib/${appbundler.jar}" />
263               
264                <bundleapp outputdirectory="${dist_macos}"
265                            name="FreeMind"
266                            displayname="FreeMind"
267                                        shortversion="${ver} (build: ${build.number})"
268                                        copyright="FreeMind ${ver} (build: ${build.number}) application (c) ${freemind.installer_year}"
269                    icon="${src}/images/FreeMindWindowIcon${icns_extension}.icns"
270                            identifier="freemind.main.FreeMind"
271                            mainclassname="freemind.main.FreeMindStarter"
272                        >
273                        <runtime dir="${env.JAVA_HOME}"/>
274                        <classpath dir="${dist}">
275                                <include name="**/*.jar" />
276                                <include name="." />
277                                <exclude name="accessories/**" />
278                                <exclude name="plugins/**" />
279                                <exclude name="browser/**" />
280                                <exclude name="**/freemindbrowser.jar" />
281                        </classpath>
282                        <option value="-Xms64m"/>
283                        <option value="-Xmx512m"/>
284                        <option value="-Xss8M"/>
285                        <option value="-Dapple.laf.useScreenMenuBar=true"/>
286                </bundleapp>
287                <copy todir="${dist_macos_contents}/Resources">
288                        <fileset dir="${src}/images">
289                                <include name="FreeMindWindowIconModern-MM.icns"/>
290                        </fileset>
291                </copy>
292                <copy todir="${dist_macos_contents}/Resources/Java">
293                        <fileset dir="${dist}">
294                                <include name="doc/*" />
295                                <include name="dictionar*" />
296                        </fileset>
297                </copy>
298                <!-- change freemind.properties -->
299                <copy todir="${dist_macos}" file="${src}/freemind.properties"/>
300                <replaceregexp byline="true" file="${dist_macos}/freemind.properties" match="^keystroke(.*)=(.*)\bcontrol\b" replace="keystroke\1=\2meta" flags="gim">
301                </replaceregexp>
302                <replaceregexp byline="true" file="${dist_macos}/freemind.properties" match="^keystroke(.*)=(.*)\binsert\b" replace="keystroke\1=\2TAB" flags="gim">
303                </replaceregexp>
304                <replaceregexp byline="true" file="${dist_macos}/freemind.properties" match="^#freemind.base.dir.*$" replace="freemind.base.dir=${dist_macos_app_name}" flags="gim">
305                </replaceregexp>
306                <!-- update jar -->
307                <jar file="${dist_macos_contents}/Java/freemind.jar" update="true">
308                        <fileset dir="${dist_macos}">
309                                <include name="freemind.properties"/>
310                        </fileset>
311                        <fileset dir="${dist}">
312                                <include name="accessories/*" />
313                                <include name="accessories/**/*" />
314                                <include name="browser/**" />
315                        </fileset>
316                </jar>
317                <delete file="${dist_macos}/freemind.properties"/>
318                <copy todir="${dist_macos_contents}/Java">
319                        <fileset dir="${dist}">
320                                <include name="plugins/*" />
321                                <include name="plugins/**/*" />
322                        </fileset>
323                </copy>
324
325                <!-- Associate Freemind with mm
326                -->
327                <xslt style="mac_file_association.xslt"
328                        in ="${dist_macos_info}"
329                        out="${dist_macos_info}2"/>
330                <move file="${dist_macos_info}2"
331                          tofile="${dist_macos_info}"/>
332                <!-- Done. -->
333        </target>
334       
335        <!-- installs the application directly on this mac. -->
336        <target name="install_macos" if="isMacOs" depends="dist">
337                <!-- Remove old application -->
338                <delete dir="/Applications/FreeMind.app" failonerror="off"/>
339                <exec dir="." executable="mv" os="Mac OS X">
340                        <arg path="${dist_macos_app}"/>
341                        <arg path="/Applications"/>
342                </exec>
343        </target>
344       
345        <target name="post" depends="dist,browser">
346                <mkdir dir="${post}" />
347<!--            <tar tarfile="${post}/freemind-bin.tar"
348                        basedir="${dist}"
349                        longfile="gnu"
350                        excludes="doc/javadoc/,plugins/**" />
351                <gzip src="${post}/freemind-bin.tar"
352                        zipfile="${post}/freemind-bin-${ver}.tar.gz" />
353                <tar tarfile="${post}/freemind-browser.tar"
354                        longfile="gnu"
355                        basedir="${dist}/browser" />
356                <gzip src="${post}/freemind-browser.tar"
357                        zipfile="${post}/freemind-browser-${ver}.tar.gz" /> -->
358                <tar tarfile="${post}/freemind-src.tar"
359                        longfile="gnu"
360                        basedir="${src_base_for_post}"
361                        includes="freemind/**,.classpath,.project" excludes="freemind/bin/**" />
362                <gzip src="${post}/freemind-src.tar"
363                        zipfile="${post}/freemind-src-${ver}.tar.gz" />
364                <delete>
365                        <fileset dir="${post}" includes="*.tar" />
366                </delete>
367                <zip destfile="${post}/freemind-bin-${ver}.zip"
368                        basedir="${dist}"
369                        excludes="doc/javadoc/,plugins/**" />
370                <!-- fc, 14.2.2005: new max export -->
371                <zip destfile="${post}/freemind-bin-max-${ver}.zip"
372                        basedir="${dist}"
373                        excludes="doc/javadoc/" />
374        <!--    <zip destfile="${post}/freemind-src-${ver}.zip"
375                        basedir="${src_base_for_post}"
376                        includes="freemind/**,.classpath,.project" /> -->
377                <zip destfile="${post}/freemind-browser-${ver}.zip"
378                        basedir="${dist}/browser" />
379                <ant antfile="plugins/build.xml" target="post"/>
380                <antcall target="post_macos">
381                </antcall>
382        </target>
383
384
385
386        <target name="post_macos" if="isMacOs">
387
388                <copy todir="${dist_macos}" verbose="true">
389                        <fileset dir="../admin/installer/mac/dmg/">
390                            <include name=".VolumeIcon.icns"/>
391                        </fileset>
392                        <fileset dir="../admin/installer/mac/QuickLook/build/Debug/">
393                            <include name="**"/>
394                        </fileset>
395                </copy>
396                <chmod perm="ugo+rx" file="${dist_macos}/FreemindQL.qlgenerator/Contents/MacOS/FreemindQL" verbose="true"/>
397                <exec executable="cp">
398                  <arg value="../admin/installer/mac/dmg/.DS_Store"/>
399                  <arg value="${dist_macos}"/>
400                </exec>
401                <exec executable="ln">
402                  <arg line="-s /Library/QuickLook"/>
403                  <arg value="${dist_macos}"/>
404                </exec>
405                <exec executable="ln">
406                  <arg line="-s /Applications"/>
407                  <arg value="${dist_macos}"/>
408                </exec>
409
410<!--            <delete file="${dist_macos_contents}/MacOS/JavaApplicationStub"/>
411                <exec executable="ln">
412                  <arg line="-s /System/Library/Frameworks/JavaVM.framework/Resources/MacOS/JavaApplicationStub"/>
413                  <arg value="${dist_macos_contents}/MacOS/JavaApplicationStub"/>
414                </exec> -->
415
416                <exec dir="." executable="zsh" os="Mac OS X">
417                        <arg value="./mkdmg.sh"/>
418                        <arg path="${dist_macos}"/>
419                </exec>
420                <exec dir="." executable="mv" os="Mac OS X">
421                        <arg path="/tmp/${dist_macos_name} Archive.dmg"/>
422                        <arg path="${post}/${dist_macos_name}.dmg"/>
423                </exec>
424
425                <exec executable="rm">
426                  <arg value="${dist_macos}/QuickLook"/>
427                </exec>
428                <exec executable="rm">
429                  <arg value="${dist_macos}/Applications"/>
430                </exec>
431
432               
433        </target>
434
435        <target name="jar" depends="build">
436                <mkdir dir="${dist.lib}" />
437                <tempfile prefix="manifest" property="temp.manifest.file"/>
438                <manifest file="${temp.manifest.file}">
439                        <attribute name="Built-By" value="${user.name}" />
440                        <attribute name="Built-Number" value="${build.number}" />
441                        <attribute name="Created-By" value="Joerg Mueller, Daniel Polansky, Christian Foltin, Dimitry Polivaev, and others." />
442                        <attribute name="Main-Class" value="freemind.main.FreeMindStarter" />
443                        <attribute name="Class-Path" value="freemind.jar .. commons-lang-2.0.jar forms-1.0.5.jar /usr/share/java/jibx-run.jar /usr/share/java/xpp3.jar bindings.jar jortho.jar xalan.jar serializer.jar xml-apis.jar xercesImpl.jar /usr/share/java/gnu-regexp-1.1.4.jar /usr/share/java/SimplyHTML.jar"/>
444                </manifest>
445                <jar jarfile="${FM.jar}"
446                     manifest="${temp.manifest.file}"
447                        update="true">
448                        <fileset dir="${build}">
449                                <exclude name="accessories/**"/>
450                                <exclude name="plugins/**"/>
451                                <exclude name="**/*.jar"/>
452                        </fileset>
453                        <fileset dir="${src}">
454                                <include name="images/*"/>
455                                <include name="images/icons/*.png"/>
456                                <include name="freemind.properties"/>
457                                <include name="version.properties"/>
458                                <include name="patterns.xml"/>
459                                <include name="patterns_updater.xslt"/>
460                                <include name="Resources*"/>
461                                <include name="mindmap_menus.xml"/>
462                                <include name="**/freemind_version_updater.xslt"/>
463                                <include name="dictionar*"/>
464                        </fileset>
465                </jar>
466                <delete file="${temp.manifest.file}" failonerror="false"/>
467                <ant antfile="${acc_build}" target="jar"/>
468        </target>
469
470        <target name="browser" depends="build">
471                <mkdir dir="${dist}/browser" />
472                <jar jarfile="${dist}/browser/freemindbrowser.jar" >
473                        <fileset dir="${build}">
474
475                                <include name="freemind/common/TextTranslator.class"/>
476                                <include name="freemind/common/NamedObject.class"/>
477                                <include name="freemind/view/*"/>
478                                <include name="freemind/view/mindmapview/*"/>
479                                <include name="freemind/view/mindmapview/attributeview/*"/>
480                                <include name="freemind/main/*"/>
481                                <include name="freemind/controller/*"/>
482                                <include name="freemind/controller/filter/**"/>
483                                <include name="freemind/extensions/*"/>
484                                <include name="freemind/preferences/*"/>
485                                <include name="freemind/preferences/layout/*"/>
486                                <include name="freemind/modes/*"/>
487                                <include name="freemind/modes/attributes/*"/>
488                                <include name="freemind/modes/browsemode/*"/>
489                                <include name="freemind/modes/common/**"/>
490                                <include name="freemind/modes/viewmodes/*"/>
491
492                        </fileset>
493                        <fileset dir="${src}">
494                                <include name="images/*"/>
495                                <include name="images/icons/*.png"/>
496                                <include name="*.properties"/>
497                                <exclude name="Resources_*.properties"/>
498                                <!--                            <include name="*.xml"/>
499                                <exclude name="build.xml"/> -->
500                                <exclude name="images/*.svg"/>
501                                <exclude name="images/splash.JPG"/>
502                                <exclude name="images/Freemind_Splash_Butterfly_Modern.png"/>
503                                <exclude name="images/FreeMindWindowIcon.icns"/>
504
505                        </fileset>
506                        <fileset dir="${src}">
507                                <include name="Resources_en.properties"/>
508                        </fileset>
509                </jar>
510                <copy todir="${dist}/browser" >
511                        <fileset dir="${src}/html">
512                                <include name="*.*html"/>
513                        </fileset>
514                        <fileset dir="${src}">
515                                <include name="license*"/>
516                        </fileset>
517                        <fileset dir="${src}/doc">
518                                <include name="freemind.mm"/>
519                        </fileset>
520                </copy>
521        </target>
522
523        <target name="doc" depends="gen">
524                <mkdir dir="${dist}/doc/javadoc" />
525                <javadoc sourcepath="${src}"
526                 destdir="${dist}/doc/javadoc"
527                         breakiterator="yes"
528                         classpath="${classpath}"
529                         packagenames="freemind.*" />
530        </target>
531
532        <target name="clean">
533                <!-- Eclipse target: -->
534                <delete dir="bin/classes"  quiet="true"/>
535                <delete dir="${build}"  quiet="true"/>
536                <delete dir="${dist}"  quiet="true"/>
537                <delete dir="${dist_macos_base}"  quiet="true"/>
538                <delete dir="${gen.dir}"  quiet="true"/>
539                <delete dir="${post}"  quiet="true"/>
540                <delete file="${jibxjar}"  quiet="true"/>
541                <delete>
542                        <fileset defaultexcludes="no" dir="${src}" includes="**/*~"/>
543                </delete>
544                <delete file="${src}/accessories/plugins/MacChanges.java" quiet="true"/>
545                <delete file="${src}/accessories/plugins/MacChanges.xml" quiet="true"/>
546        </target>
547
548        <target name="run" depends="dist">
549                <antcall target="_run">
550                        <param name="spawn" value="false"/>
551                </antcall>     
552        </target>
553       
554        <target name="_run">
555                <!-- failonerror is false here, as we want to
556                     make runWithoutPreferences safe. -->
557                <java classname="freemind.main.FreeMindStarter"
558          fork="yes"
559          dir="${dist}" spawn="${spawn}" failonerror="false">
560                        <!--    <jvmarg value="-Djava.util.logging.config.file=logging.properties" /> -->
561                        <classpath>
562                                <!--<pathelement location="${dist}"/>-->
563                                <pathelement location="${FM.jar}"/>
564                                <pathelement location="${jibxjar}"/>
565                                <pathelement location="${spellLib}"/>
566                                <pathelement path="${jibxruntimelibs}"/>
567                        </classpath>
568                </java>
569        </target>
570        <target name="runSharingScenario" depends="dist">
571                <delete file="${freemind_socket}" quiet="true"/>
572                <antcall target="_run">
573                        <param name="spawn" value="true"/>
574                </antcall>     
575                <!-- Wait for the socket file to appear: -->
576                <waitfor maxwait="30" maxwaitunit="second">
577                        <available file="${freemind_socket}"/>
578                </waitfor>
579                <sleep milliseconds="500"/>
580                <!-- Remove it such that a second instance appears: -->
581                <delete file="${freemind_socket}" quiet="true"/>
582                <antcall target="_run">
583                        <param name="spawn" value="true"/>
584                </antcall>     
585        </target>
586
587        <!-- =================================
588          target: runWithoutPreferences
589         ================================= -->
590    <target name="runWithoutPreferences" description="Starts the application moving the current preferences temporarily away.">
591        <rename dest="${user.home}/.freemind_bak" src="${user.home}/.freemind"/>
592        <mkdir dir="${user.home}/.freemind"/>
593        <antcall target="run"></antcall>
594        <exec dir="${user.home}/.freemind" executable="cat" os="Linux" failifexecutionfails="no" failonerror="false">
595                        <arg value="auto.properties"/>
596        </exec>
597        <delete dir="${user.home}/.freemind" failonerror="false"></delete>
598        <rename src="${user.home}/.freemind_bak" dest="${user.home}/.freemind" replace="yes"></rename>
599    </target>
600
601
602        <property name="log_file" location="${user.home}/.freemind/log.0"/>
603
604        <target name="runmac" depends="dist" description="Starts the application under Mac (using the open method).">
605                <move file="${log_file}" tofile="${log_file}.bak" failonerror="false"></move>
606                <exec dir="." executable="open" os="Mac OS X">
607                        <arg path="${dist_macos_app}"/>
608                </exec>
609                <waitfor><available file="${log_file}"></available></waitfor>
610                <exec dir="." executable="tail" os="Mac OS X">
611                        <arg line="-f ${log_file}"/>
612                </exec>
613        </target>
614
615        <!-- does not work!! -->
616        <target name="val">
617                <xmlvalidate lenient="false"
618                  failonerror="no" warn="true" classname="org.apache.xerces.parsers.SAXParser"
619            classpath="${java.dir}/xercesImpl.jar">
620                        <fileset dir="." includes="**/*.mm"/>
621                        <attribute name="http://apache.org/xml/features/validation/schema"
622                  value="true"/>
623                        <attribute name="http://xml.org/sax/features/namespaces" value="true"/>
624                        <property
625                  name="http://apache.org/xml/properties/schema/external-schemaLocation"
626                  value="freemind.xsd"/>
627                </xmlvalidate>
628        </target>
629
630        <!-- - - - - - - - - - - - - - - - - -
631          target: all
632         - - - - - - - - - - - - - - - - - -->
633    <target name="all">
634        <antcall target="post"></antcall>
635
636    </target>
637
638        <!-- =================================
639          target: installers for everybody
640         ================================= -->
641    <target name="installers_all" depends="" description="--> Creates all installers.">
642
643        <property name="InnoSetup" location="D:/Programme/Inno Setup 5/ISCC.exe" />
644<!--
645        <property name="InnoSetup" location="/home/foltin/.wine/drive_c/Programme/Inno Setup 5/ISCC.exe" />
646-->
647        <property name="inst.dir" location="../tmp/fm_installer"/>
648        <property name="inst.dest.dir" location="../installers"/>
649        <delete dir="${inst.dest.dir}" failonerror="false"/>
650<!--
651        <delete dir="${inst.dir}" failonerror="false"/>
652-->
653        <mkdir dir="${inst.dest.dir}"/>
654        <mkdir dir="${inst.dir}"/>
655        <exec dir="." executable="git">
656                <arg value="clone"/>
657                <arg value="${gitRoot}"/>
658                <arg value="${inst.dir}/"/>
659        </exec>           
660        <ant dir="${inst.dir}/freemind" target="clean" ></ant>
661        <ant dir="${inst.dir}/freemind" target="post" ></ant>
662        <copy todir="${inst.dest.dir}">
663                <fileset dir="${inst.dir}/post">
664                            <include name="*"/>
665                        </fileset>
666                </copy>
667        <exec dir="${inst.dir}/admin/installer/windows/" executable="${InnoSetup}" osfamily="Windows">
668                        <arg value="Freemind.iss"/>
669        </exec>
670        <exec dir="${inst.dir}/admin/installer/windows/" executable="wine" os="Linux">
671                        <arg value="${InnoSetup}"/>
672                        <arg value="Freemind.iss"/>
673        </exec>
674        <copy todir="${inst.dest.dir}">
675                <fileset dir="${inst.dir}/admin/installer/windows/Output/">
676                            <include name="*.exe"/>
677                        </fileset>
678                </copy>
679        <!--
680        <delete dir="${inst.dir}" failonerror="false"/>
681        -->
682    </target>
683
684        <!-- - - - - - - - - - - - - - - - - -
685          target: create_windows_installer                     
686         - - - - - - - - - - - - - - - - - -->
687    <target name="create_windows_installer">
688        <ant dir="${inst.windows.installer}" target="${inst.windows.variant}"></ant>
689        <exec dir="${inst.windows.installer}" executable="wine" os="Linux">
690                        <arg value="/home/foltin/.wine/drive_c/Programme/Inno Setup 5/ISCC.exe"/>
691                        <arg value="Freemind.iss"/>
692        </exec>
693        <exec dir="${inst.windows.installer}" executable="wine" os="Mac OS X">
694                        <arg value="/Users/foltin/.wine/drive_c/Programme/Inno Setup 5/ISCC.exe"/>
695                        <arg value="Freemind.iss"/>
696        </exec>
697    </target>
698       
699        <!-- - - - - - - - - - - - - - - - - -
700          target: installers_chris_mac                     
701         - - - - - - - - - - - - - - - - - -->
702    <target name="installers_chris_mac">
703        <exec dir="." executable="ssh" os="Linux">
704                <arg value="foltin@${macName}"/>
705                <arg value="export JAVA_HOME=`/usr/libexec/java_home` ; cd /tmp ; rm -rf fm_installers ; mkdir fm_installers ; cd fm_installers ; /opt/local/bin/git clone ${gitRoot} .; cd freemind ; /opt/local/bin/ant post"/>
706        </exec>
707        <exec dir="." executable="scp" os="Linux">
708                <arg value="foltin@${macName}:/tmp/fm_installers/post/*.dmg"/>
709                <arg value="${inst.dest.dir}/"/>
710        </exec>           
711    </target>
712
713       
714        <!-- =================================
715          target: installers, for Chris' computers
716         ================================= -->
717    <target name="installers_chris" depends="" description="--> Creates all installers. This is a task that only works on Chris laptops. But it should be informative to others who want to build the installers">
718        <property name="gitRoot" value="git://git.code.sf.net/p/freemind/code"/>
719                <property name="macName" value="mahler.local"/>
720
721        <property name="inst.dir" location="/tmp/fm_installer"/>
722        <property name="inst.dest.dir" location="../installers"/>
723        <property name="inst.windows.installer" location="${inst.dir}/admin/installer/windows"/>
724        <mkdir dir="${inst.dest.dir}"/>
725        <delete dir="${inst.dir}" failonerror="false"/>
726        <mkdir dir="${inst.dir}"/>
727        <exec dir="." executable="git">
728                <arg value="clone"/>
729                <arg value="${gitRoot}"/>
730                <arg value="${inst.dir}/"/>
731        </exec>           
732                <copy todir="${inst.dir}/freemind" file="${freemind.buildnumber.file}"></copy>
733        <ant dir="${inst.dir}/freemind" target="post" inheritall="false"></ant>
734        <copy todir="${inst.dest.dir}">
735                <fileset dir="${inst.dir}/post">
736                            <include name="*"/>
737                        </fileset>
738                </copy>
739        <copy todir="${inst.windows.installer}">
740                <fileset dir="../admin/installer/windows/">
741                            <include name="jre_installer.exe"/>
742                            <include name="jre/**"/>
743                        </fileset>
744                </copy> 
745        <property name="freemind.version" value="${ver}"/> 
746        <antcall target="create_windows_installer">
747                <param name="inst.windows.variant" value="installer"/>
748        </antcall>
749        <antcall target="create_windows_installer">
750                <param name="inst.windows.variant" value="installer_min"/>
751        </antcall>
752        <antcall target="create_windows_installer">
753                <param name="inst.windows.variant" value="installer_java_installer_embedded"/>
754        </antcall>
755        <copy todir="${inst.dest.dir}">
756                <fileset dir="${inst.windows.installer}/Output/">
757                            <include name="*.exe"/>
758                        </fileset>
759                </copy>
760        <antcall target="installers_chris_mac"></antcall> 
761        <delete dir="${inst.dir}" failonerror="false"/>
762    </target>
763
764</project>
765
Note: See TracBrowser for help on using the repository browser.