]> source.dussan.org Git - vaadin-framework.git/commitdiff
Merge from versions/5.4 to versions/6.0:
authorMarko Grönroos <magi@iki.fi>
Tue, 7 Apr 2009 13:50:23 +0000 (13:50 +0000)
committerMarko Grönroos <magi@iki.fi>
Tue, 7 Apr 2009 13:50:23 +0000 (13:50 +0000)
Merged [7302]: Removed obsolete testing scripts for Testing Tools 1.0.
Merged [7305]: Initial testing tools target, doesn't quite work yet, demo launching is missing, etc.
Merged [7321]: Moved build/docbook directory from 5.4 branch to doc tree.
Merged [7325]: Moved XEP directory from 5.4 branch to doc tree.
Merged [7333]: Removed all manual related material and build instructions from regular toolkit branch.
Merged [7342]: Building manual from the toolkit build script.
Merged [7343]: Fixed a namespace problem in build file and organized clean-up targets a little.
Merged [7346]: Removed the obsolete DTDs.
Merged [7348]: Changed <version> and <platform> tags in some HTML and text files to @...@ notation to avoid some validation errors in Eclipse.

svn changeset:7352/svn branch:6.0

WebContent/index.html
WebContent/release-notes.html
build/build-www.itmill.com.xml [deleted file]
build/build.properties
build/build.xml
build/package/build-widgetset.xml
build/package/eclipse-IT Mill Toolkit Hosted Mode-launch

index 61121b78efbf4d6c6e78d606911ab8a37f1cb37b..cd5b6dd5df863c3ff6099735eeff1ac072481bef 100644 (file)
                                <div class="top"></div>
                                
                                <h3>&raquo; Package contents</h3>
-                               <em>Version <version></version></em>
+                               <em>Version @version@</em>
                                
                                <div id="package-contents-content"> <!-- For JavaScript hooking -->
                                
                                <div class="library">
                                        <h5>Library</h5>
                                        <p>Contains all you need to start a new Toolkit project (binaries, sources, default 
-                                       themes and widgetsets). <a href="itmill-toolkit-<version></version>.jar">Toolkit JAR</a></p>
+                                       themes and widgetsets). <a href="itmill-toolkit-@version@.jar">Toolkit JAR</a></p>
                                </div>
                                
                                <div class="documentation">
index 3ed8e8f2596d85e2606512393b42bbbc1f9cf68f..22319c3147970fc317c48156577ce925176e01f6 100644 (file)
@@ -25,250 +25,12 @@ support site forum.itmill.com</a></div>
 <div class="content">
 
 <div>
-<h2>Release Notes for IT Mill Toolkit Version <version></version></h2>
+<h2>Release Notes for IT Mill Toolkit Version @version@</h2>
 
 <p>Version 5.3.0 is the first stable release of IT Mill Toolkit 5,
 meaning that there are no known major problems and the API will be kept
 backward compatible.</p>
 
-<h2 id="ClientsideiscompiledwithGWT1.5">Google Web Toolkit Upgraded
-to Version 1.5</h2>
-
-<p>The GWT used in IT Mill Toolkit is upgraded to version 1.5. If
-you have made your own client side components, you will need to upgrade
-your GWT library. Many things have changed in GWT 1.5, but upgrading is
-rather straightforward and, as a bonus, you will get the nice features
-from Java 1.5. For more details on GWT 1.5, see the <a class="ext-link"
-       href="http://code.google.com/webtoolkit/"><span class="icon">GWT
-web site</span></a>.</p>
-
-<h2 id="Java5isrequired">Java 5 Now Required</h2>
-
-<p>As GWT now requires Java 5, support for Java 1.4 is discontinued
-also in IT Mill Toolkit.</p>
-
-<p>IT Mill Toolkit supports the Sun Microsystems JDK and JRE, though others should work as
-well. When running the demo application, the Jetty web server may produce errors in the
-console if using certain other Java implementations, especially the GNU JRE.</p>
-
-<h2>Debug Mode Enabled by Default</h2>
-
-<p>The debug mode is now enabled by default, to allow debugging
-layout and other problems more easily. The debug mode:</p>
-
-<ul>
-       <li>Displays debug data to the server console/log.</li>
-
-       <li>Allows showing the client-side logging window, which you can
-       enable by adding the request parameter "<tt>?debug=true</tt>" to the
-       application URI.</li>
-
-       <li>"Analyze layouts" -button in the debug window runs basic
-       checks on usage of relative units. Potentially problematic layouts will
-       be shown in the debug window and in <tt>System.out</tt>.</li>
-</ul>
-
-<p>You should disable the debug mode when releasing your application
-for production use. You can do this by including the following setting
-in your <tt>web.xml</tt>.</p>
-
-<pre class="wiki">  &lt;context-param&gt;
-       &lt;param-name&gt;productionMode&lt;/param-name&gt;
-       &lt;param-value&gt;true&lt;/param-value&gt;
-       &lt;description&gt;IT Mill Toolkit production mode&lt;/description&gt;
-  &lt;/context-param&gt;
-</pre>
-
-<h2 id="Layoutchanges">Layout Changes</h2>
-
-<p>The stable IT Mill Toolkit version 5.3 introduces a major rework
-of layout components since the beta versions 5.2.x and before.</p>
-
-<p>Major changes include:</p>
-
-<ul>
-       <li>Layouts are stricter than before - <i>usage of debug mode
-       during development is recommended. Use "Analyze layouts" in client side
-       debug window if you encounter problems with relative size.</i></li>
-       <li><b>VerticalLayout</b> and <b>HorizontalLayout</b> obsolete <b>
-       <s>OrderedLayout</s></b></li>
-    <li>Layout cell alignment has changed</li>
-       <li><b><s>ExpandLayout</s></b> deprecated</li>
-       <li>Default sizes have changed</li>
-</ul>
-
-<h3>OrderedLayout deprecated</h3>
-
-<p><b>VerticalLayout</b> and <b>HorizontalLayout</b> replace the old
-<b><s>OrderedLayout</s></b>, which is now deprecated.</p>
-
-<p>Essentially, this makes the creation of these basic layouts a bit
-tidier as you don't have to give the orientation as an ugly parameter to
-the constructor. You won't be able to change the orientation with <tt>setOrientation()</tt>
-any longer, though such need is rare anyhow.</p>
-
-<h3>Layout Cell Alignment Changed</h3>
-
-<p>Previously, the alignment of components within layout cells was set with
-<i>setComponentAlignment()</i> with constants for <b><s>OrderedLayout</s></b> (now
-<b>VerticalLayout</b> and <b>HorizontalLayout</b>) and <b>GridLayout</b> separately, such
-as <tt>OrderedLayout.ALIGNMENT_TOP_LEFT</tt>. Now the method takes constants defined in
-<b>Alignment</b>.</p>
-
-<p>For example, aligning a component "top left" is now:</p>
-
-<pre>mylayout.setComponentAlignment(mycomponent, Alignment.TOP_LEFT);</pre>
-
-<p>You can also give an <b>Alignment</b> object as a parameter and give horizontal and
-vertical alignment separately with bitmask parameters.</p>
-
-<h3 id="HandlingofrelativesizeshavechangedExpandLayoutdeprecated">Handling
-of relative sizes has changed, ExpandLayout deprecated</h3>
-
-<p><b><s>ExpandLayout</s></b> is deprecated. You can now define the
-relative sizes of components more flexibly with <tt>setExpandRatio()</tt>
-method available in <b>VerticalLayout</b> or <b>HorizontalLayout</b>.</p>
-
-<p>See the article on <a class="wiki"
-       href="http://dev.itmill.com/wiki/DevDocs/RFC/RelativeSizes">Relative
-sizes in IT Mill Toolkit</a> for details.</p>
-
-<h3 id="Somecomponentsnowhavedefaultsizes">Some components now have
-default sizes</h3>
-
-<p>Previously, almost all components had undefined size by default.
-Now some containers have 100% width by default. These components are:</p>
-
-<ul>
-       <li><b>VerticalLayout</b></li>
-       <li><b>Window</b></li>
-       <li><b>Panel</b></li>
-       <li><b>TabSheet</b></li>
-       <li><b>SplitPanel</b> (note that <b>SplitPanel</b> also has 100%
-       height by default)</li>
-       <li><b>Form</b></li>
-       <li><b>FormLayout</b></li>
-       <li><b>Label</b></li>
-</ul>
-
-<p>If the width of a <b>Label</b> is set defined, as is now the default, the label text
-will wrap appropriately, but if it is set as undefined, the text will never wrap.</p>
-
-<h3>Miscellaneous Layout Changes</h3>
-
-<ul>
-       <li>You can now give component alignments inside layouts easily
-       with <tt>setComponentAlignment()</tt> as a string, such as "<tt>top
-       left</tt>" or "<tt>m,c</tt>" (for middle-center). See <a
-               href="http://dev.itmill.com/ticket/2279">#2279</a>.</li>
-
-       <li><b>Form</b> no longer copies all components from the old
-       layout to the new one when doing <tt>setLayout()</tt>, instead only
-       fields belonging to the <b>Form</b> are copied.</li>
-</ul>
-
-
-<h2 id="Customtailoredclientsidecomponents">Custom Tailored
-Client-Side Components</h2>
-
-<p>Due to the layout changes, all child component size changes
-(outside the <i>updateFromUIDL()</i> function) must be announced. Most
-commonly, this kind of change occurs when an image gets loaded inside a
-component. There is a helper method <i>componentSizeUpdated()</i> in the
-<b><i>Util</i></b> class for making the announcement:</p>
-
-<pre class="wiki">            Set&lt;Widget&gt; w = new HashSet&lt;Widget&gt;();
-            w.add(this);
-            Util.componentSizeUpdated(w);
-</pre>
-
-<h2 id="Themes">Themes</h2>
-
-<p>Many components have changed significantly due to layout
-refactoring. Especially the DOM structures of the components have
-changed, which may break old themes.</p>
-
-<p>Building themes for Toolkit is not the most straightforward
-process as there is quite a lot of JavaScript magic done while rendering
-the components, e.g., dimension measuring, etc. If you use unsupported
-CSS, a component may be rendered in an unexpected way in a browser. A
-"Theme builder's Handbook" is at the top of our TODO list. In the mean
-time, it is often safest to override the values defined in the default
-theme.</p>
-
-<p>Especially, if you encounter problems with margins or spacings,
-check the manual. Some CSS class names and conventions have changed as
-well. (Many of the changes are not yet included in the manual.)</p>
-
-<p>If you have or get "broken" component on your screen, the first
-thing to do is to comment out all your custom theme. If it works, you
-may have the rework your CSS for that particular component. Below are a
-few things to check:</p>
-
-<ul>
-
-       <li>Do not use custom margins outside a component. In IT Mill
-       Toolkit, no component should have a margin defined. Settings
-       width/height on the server-side would mean offset width/height on
-       client-side, so using custom margins for components using CSS may break
-       some features in the layouts.</li>
-
-       <li>The same goes for borders and paddings for the main element
-       unless they are used for the main element in the default theme. It is
-       often safer to use borders in the same elements that have borders in
-       the default theme or in inner elements.</li>
-
-</ul>
-
-<p>The easiest and safest way to build a custom theme is, often, to
-override the values from the default theme.</p>
-
-<h2 id="Browsersupportchangessince5.2.x">Browser support changes
-since 5.2.x</h2>
-
-<p>Safari 2, Firefox 1.5, and versions of Opera prior to version 9.6
-are no longer supported. Users of these browsers are strongly encouraged
-to upgrade to a newer version.</p>
-
-<p>Google Chrome is not yet supported, but it is known to work
-rather well as it is a close relative to Safari.</p>
-
-<p>The GWT Hosted Mode Browser on Linux uses same Gecko version as
-FF 1.5 and is currently partially broken. Some layouts do not render
-properly. We hope to resolve these issues soon with next generation
-Hosted Mode Browser aka OOPHM or with minor hacks to the client side
-code.</p>
-
-<h2 id="MinorChanges">Miscellaneous Changes and Enhancements</h2>
-
-<p>Version 5.3 also contains a large number (more than 200) of small
-changes, which might not be worth mentioning in the release notes, but
-below are some of them.</p>
-
-<ul>
-       <li>A new sub-window theme</li>
-       <li>The HTML structure of <b>TabSheet</b> has changed</li>
-       <li>Better shadow support for overlay elements</li>
-       <li>Row and column icons for <b>Table</b></li>
-       <li>New component: <b>PopupPanel</b>/<B>PopupView</b></li>
-       <li>Theme changing on-the-fly</li>
-       <li><b>Table</b> cellstyle and rowstyle generators</li>
-       <li>New component: <b>MenuBar</b></li>
-       <li>Security: double-cookie submission pattern</li>
-       <li>Low-level support for bookmarking and history</li>
-       <li>Sub-windows can be centered on screen. Modal windows are
-       centered automatically</li>
-       <li>The <b>Link</b> component now behaves like a normal "weblink"</li>
-</ul>
-
-<p>The <version></version> release of IT Mill Toolkit includes new
-features and a large number of fixes to problems compared to the older
-5.2.x version. Major enhancements and dozens of bug fixes have been
-implemented. Only the most significant issues are mentioned here.</p>
-
-<p>For up-to-date status of known problems, see the developer
-website <a href="http://dev.itmill.com/">dev.itmill.com</a>.</p>
-
 <h2>Package for the experimental GWT Out-of-Process Hosted Mode</h2>
 
 <p>We provide a separate (platform independent) installation package
@@ -294,7 +56,7 @@ debugging purposes during development. For production use, you should
 compile your custom widget sets with the regular IT Mill Toolkit package
 for your platform.</p>
 
-<h2>Important known problems in <version></version></h2>
+<h2>Important known problems in @version@</h2>
 
 <ul>
        <li><a href="http://dev.itmill.com/ticket/1155">#1155</a>
diff --git a/build/build-www.itmill.com.xml b/build/build-www.itmill.com.xml
deleted file mode 100644 (file)
index e983908..0000000
+++ /dev/null
@@ -1,192 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="www.itmill.com" basedir="../" default="site">
-
-       <target name="site" depends="clean-all, manual-html, tutorial-html" />
-
-       <target name="init">
-
-               <!-- Create result dir unless already exists -->
-               <mkdir dir="build/result" />
-
-               <property file="build/VERSION.properties" />
-               <property name="product-file" value="itmill-toolkit" />
-               <property name="product-name" value="IT Mill Toolkit" />
-               <property name="toolkit-package" value="com/itmill/toolkit" />
-
-               <property file="build/html-style.properties" />
-
-               <!-- Destination files -->
-               <property name="package-file-name" value="${product-file}-${version}.zip" />
-               <property name="lib-bin-jar-name" value="${product-file}-${version}.jar" />
-               <property name="demo-lib-jar-name" value="${product-file}-demo-${version}.jar" />
-               <property name="lib-src-jar-name" value="${product-file}-src-${version}.jar" />
-               <property name="themes-jar-name" value="${product-file}-themes-${version}.jar" />
-               <property name="demo-war-name" value="${product-file}-demo-${version}.war" />
-
-               <echo message="Prepared to build www.itmill.com html files" />
-
-       </target>
-
-    <!-- ================================================================== -->
-    <!-- Build Reference Manual.                                            -->
-    <!-- ================================================================== -->
-
-    <!-- Initialize properties especially for the Reference Manual. -->
-       <target name="init-manual" depends="">
-        <!-- Sets the current date as the publication date of the Manual. -->
-        <tstamp>
-            <format property="manual.pubdate" pattern="yyyy-MM-dd"/>
-        </tstamp>
-       </target>
-
-       <target name="manual-html" depends="init, init-manual">
-               <echo message="Building manual" />
-               <mkdir dir="build/result/www.itmill.com/manual" />
-               <delete file="build/docbook/conf/temp.xsl" />
-               <copy file="build/docbook/www.itmill.com/custom-www.itmill.com-docbook.xsl" tofile="build/docbook/conf/temp.xsl">
-
-                       <filterchain>
-                               <replacetokens>
-                                       <token key="BODYHEADER" value="${www.manual.body.start1}${www.manual.docbook.head.title}${www.manual.body.start2}" />
-                                       <token key="BODYFOOTER" value="${www.manual.body.end}" />
-                               </replacetokens>
-                       </filterchain>
-               </copy>
-               <path id="docbook-xsl.classpath">
-                       <pathelement path="build/lib/fserializer.jar" />
-                       <pathelement path="build/lib/xalan.jar" />
-                       <pathelement path="build/lib/xercesImpl.jar" />
-                       <pathelement path="build/lib/xml-apis.jar" />
-               </path>
-               <java classname="org.apache.xalan.xslt.Process" failonerror="yes" fork="yes" maxmemory="1300m">
-                       <arg value="-in" />
-                       <arg value="doc/manual/book.xml" />
-                       <arg value="-xsl" />
-                       <arg value="build/docbook/conf/temp.xsl" />
-                       <arg value="-out" />
-                       <arg value="build/result/www.itmill.com/manual/index.html" />
-                       <arg value="-param" />
-                       <arg value="section.autolabel" />
-                       <arg value="1" />
-                       <arg value="-param" />
-                       <arg value="section.label.includes.component.label" />
-                       <arg value="1" />
-                       <arg value="-param" />
-                       <arg value="section.autolabel.max.depth" />
-                       <arg value="2" />
-                       <arg value="-param" />
-                       <arg value="use.extensions" />
-                       <arg value="1" />
-                       <arg value="-param" />
-                       <arg value="manual.pubdate" />
-                       <arg value="${manual.pubdate}" />
-                       <arg value="-param" />
-                       <arg value="manual.version" />
-                       <arg value="${version}" />
-                       <classpath refid="docbook-xsl.classpath" />
-               </java>
-               <delete file="build/docbook/conf/temp.xsl" />
-               <copy todir="build/result/www.itmill.com/manual/img">
-                       <fileset dir="doc/manual/img">
-                               <exclude name="**/.svn" />
-                       </fileset>
-               </copy>
-               <!-- rename to JSP -->
-               <move todir="build/result/www.itmill.com/manual">
-                       <fileset dir="build/result/www.itmill.com/manual">
-                               <include name="*.html" />
-                       </fileset>
-                       <mapper type="glob" from="*.html" to="*.jsp" />
-               </move>
-               <!-- make a zip file -->
-               <zip destfile="build/result/www.itmill.com/itmill-toolkit-5-manual.zip" basedir="build/result/www.itmill.com/manual" />
-       </target>
-       
-    <!-- ================================================================== -->
-    <!-- Build Application Tutorial.                                        -->
-    <!-- ================================================================== -->
-
-    <!-- Initialize properties especially for the Tutorial. -->
-       <target name="init-tutorial" depends="">
-        <!-- Sets the current date as the publication date of the Tutorial. -->
-        <tstamp>
-            <format property="tutorial.pubdate" pattern="yyyy-MM-dd"/>
-        </tstamp>
-
-               <mkdir dir="build/result/www.itmill.com/tutorial" />
-       </target>
-
-       <target name="tutorial-html" depends="init, init-tutorial">
-               <echo message="Building tutorial" />
-        <echo>Publication date is ${tutorial.pubdate}</echo>
-
-               <delete file="build/docbook/conf/temp-tutorial.xsl" />
-               <copy file="build/docbook/www.itmill.com/custom-www.itmill.com-docbook.xsl" tofile="build/docbook/conf/temp-tutorial.xsl">
-
-                       <filterchain>
-                               <replacetokens>
-                                       <token key="BODYHEADER" value="${www.manual.body.start1}${www.manual.docbook.head.title}${www.manual.body.start2}" />
-                                       <token key="BODYFOOTER" value="${www.manual.body.end}" />
-                               </replacetokens>
-                       </filterchain>
-               </copy>
-               <path id="docbook-xsl.classpath">
-                       <pathelement path="build/lib/fserializer.jar" />
-                       <pathelement path="build/lib/xalan.jar" />
-                       <pathelement path="build/lib/xercesImpl.jar" />
-                       <pathelement path="build/lib/xml-apis.jar" />
-               </path>
-               <java classname="org.apache.xalan.xslt.Process" failonerror="yes" fork="yes" maxmemory="512m">
-                       <arg value="-in" />
-                       <arg value="doc/tutorial/tutorial.xml" />
-                       <arg value="-xsl" />
-                       <arg value="build/docbook/conf/temp-tutorial.xsl" />
-                       <arg value="-out" />
-                       <arg value="build/result/www.itmill.com/tutorial/index.html" />
-                       <arg value="-param" />
-                       <arg value="section.autolabel" />
-                       <arg value="1" />
-                       <arg value="-param" />
-                       <arg value="section.label.includes.component.label" />
-                       <arg value="1" />
-                       <arg value="-param" />
-                       <arg value="section.autolabel.max.depth" />
-                       <arg value="2" />
-                       <arg value="-param" />
-                       <arg value="use.extensions" />
-                       <arg value="1" />
-                       <arg value="-param" />
-                       <arg value="manual.pubdate" />
-                       <arg value="${tutorial.pubdate}" />
-                       <arg value="-param" />
-                       <arg value="manual.version" />
-                       <arg value="${version}" />
-                       <classpath refid="docbook-xsl.classpath" />
-               </java>
-               <delete file="build/docbook/conf/temp-tutorial.xsl" />
-               <copy todir="build/result/www.itmill.com/tutorial/img">
-                       <fileset dir="doc/tutorial/img">
-                               <exclude name="**/.svn" />
-                       </fileset>
-               </copy>
-               <!-- rename to JSP -->
-               <move todir="build/result/www.itmill.com/tutorial">
-                       <fileset dir="build/result/www.itmill.com/tutorial">
-                               <include name="*.html" />
-                       </fileset>
-                       <mapper type="glob" from="*.html" to="*.jsp" />
-               </move>
-               <!-- make a zip file -->
-               <zip destfile="build/result/www.itmill.com//itmill-toolkit-5-tutorial.zip" basedir="build/result/www.itmill.com/tutorial" />
-       </target>
-
-       <!-- Clean results - - - - - - - - - - - - - - - - - - - - - - - - - -->
-       <target name="clean-all" depends="">
-               <delete includeemptydirs="true" defaultexcludes="false">
-                       <fileset dir="build/result" includes="**/*" />
-               </delete>
-               <delete file="build/docbook/conf/temp.xsl" />
-       </target>
-
-</project>
index 3580fe286dbd4997bbd8f9540cb2b24bc31bfcee..7ae42f9f236cb62ccc0b56ac47161633a81b3d0a 100644 (file)
@@ -1,4 +1,5 @@
 result-path=build/result
+checkout-path=build/checkout
 product-file=itmill-toolkit
 product-name=IT Mill Toolkit
 toolkit-package=com/itmill/toolkit
index 04b96fe430366b359c72e6564d43a84ad9f901c5..06bcd3fb79a61f05ec7dde6ddb325a7347163aca 100644 (file)
@@ -1,6 +1,9 @@
 <?xml version="1.0"?>
 
-<project name="IT Mill Toolkit" basedir="../" default="package-all">
+<project
+         xmlns:antcontrib="antlib:net.sf.antcontrib"
+         name="IT Mill Toolkit"
+         basedir="../" default="package-all">
 
        <!-- Package creation - - - - - - - - - - - - - - - - - - - - - - - - -
 
        <target name="package-all" depends="clean-all, package-init, init, build, docs, internal-package-mac, internal-package-windows, internal-package-linux, internal-package-war" description="Build public packages for Windows, Linux and Mac platforms.">
        </target>
 
-       <target name="package-mac" depends="clean-all, package-init, init, build, docs, internal-package-mac" description="Create public tar.gz package for Mac.">
+       <target name="package-mac" depends="clean-result, package-init, init, build, docs, internal-package-mac" description="Create public tar.gz package for Mac.">
        </target>
 
-       <target name="package-windows" depends="clean-all, package-init, init, build, docs, internal-package-windows" description="Create public ZIP package for Windows.">
+       <target name="package-windows" depends="clean-result, package-init, init, build, docs, internal-package-windows" description="Create public ZIP package for Windows.">
        </target>
 
-       <target name="package-linux" depends="clean-all, package-init, init, build, docs, internal-package-linux" description="Create public tar.bz2 package for Linux.">
+       <target name="package-linux" depends="clean-result, package-init, init, build, docs, internal-package-linux" description="Create public tar.bz2 package for Linux.">
        </target>
 
-       <target name="package-oophm" depends="clean-all, package-init, init-oophm, build, docs, internal-package-oophm" description="Create public tar.gz package for OOPHM.">
+       <target name="package-oophm" depends="clean-result, package-init, init-oophm, build, docs, internal-package-oophm" description="Create public tar.gz package for OOPHM.">
        </target>
 
-       <target name="package-jar" depends="clean-all, package-init, init, libs" description="Create itmill-toolkit-x.y.z.jar file.">
+       <target name="package-jar" depends="clean-result, package-init, init, libs" description="Create itmill-toolkit-x.y.z.jar file.">
        </target>
 
-       <target name="package-war" depends="clean-all, package-init, init, build, docs, internal-package-mac, internal-package-war">
+       <target name="package-war" depends="clean-result, package-init, init, build, docs, internal-package-mac, internal-package-war">
        </target>
 
-    <target name="nightly" depends="clean-all, nightly-init, package-init, init, libs, nightly-install">
+    <target name="package-test" depends="clean-result, nightly-init, package-init, init, build, docs, internal-package-linux, nightly-install">
     </target>
 
+    <!-- ant contrib required for flow control (for loop, if, property override)   -->
+    <!-- Note that we have to use a namespace to avoid clash when running sub-ant. -->
+    <taskdef uri="antlib:net.sf.antcontrib" resource="net/sf/antcontrib/antlib.xml">
+        <classpath>
+            <pathelement location="build/lib/ant-contrib-1.0b3.jar" />
+        </classpath>
+    </taskdef>
+
        <!-- internal tests for packaging -->
 
-       <target name="test-build" depends="clean-all, init, build" description="used for testing build.xml">
+       <target name="test-build" depends="clean-result, init, build" description="used for testing build.xml">
        </target>
 
        <target name="test-package" depends="init" description="used for testing build.xml">
                <echo>Creating package for Mac platform.</echo>
-               <var name="package-platform" value="mac" />
-               <var name="eclipse-launch-vmargs" value="-XstartOnFirstThread -Xms128M -Xmx512M" />
+               <antcontrib:var name="package-platform" value="mac" />
+               <antcontrib:var name="eclipse-launch-vmargs" value="-XstartOnFirstThread -Xms128M -Xmx512M" />
                <antcall target="add-platform-specific-files" inheritAll="true" inheritRefs="true" />
                <delete file="${result-path}/eclipse-test" followsymlinks="false" />
                <exec executable="ln" failonerror="false">
        </target>
 
        <!-- Clean results - - - - - - - - - - - - - - - - - - - - - - - - - -->
-       <target name="clean-all" depends="">
+       <target name="clean-result" depends="">
                <property file="build/build.properties" />
-               <delete dir="${result-path}" includes="**/*" followsymlinks="false" defaultexcludes="false" includeemptydirs="true" failonerror="false">
-               </delete>
+
+        <!-- Clean build result directory. -->
+               <delete dir="${result-path}" includes="**/*" followsymlinks="false" defaultexcludes="false" includeemptydirs="true" failonerror="false"/>
+    </target>
+
+    <!-- Clean checkout directory. -->
+       <target name="clean-checkout" depends="">
+               <property file="build/build.properties" />
+
+        <delete dir="${checkout-path}" includes="**/*" followsymlinks="false" defaultexcludes="false" includeemptydirs="true" failonerror="false"/>
        </target>
 
+       <target name="clean-all" depends="clean-result, clean-checkout">
+    </target>
+
        <!-- Find out which platform we are in -->
        <target name="init-platform">
-               <if>
+               <antcontrib:if>
                        <contains string="${os.name}" substring="Windows" />
                        <then>
                                <property name="platform" value="windows" />
                        </then>
-               </if>
-               <if>
+               </antcontrib:if>
+               <antcontrib:if>
                        <equals arg1="${os.name}" arg2="Linux" />
                        <then>
                                <property name="platform" value="linux" />
                        </then>
-               </if>
-               <if>
+               </antcontrib:if>
+               <antcontrib:if>
                        <equals arg1="${os.name}" arg2="Mac OS X" />
                        <then>
                                <property name="platform" value="mac" />
                        </then>
-               </if>
+               </antcontrib:if>
        </target>
 
        <target name="init-oophm-platform"><property name="platform" value="oophm" /></target>
             <pathelement path="${gwt-dir}/${platform}/gwt-user.jar" />
             <pathelement path="${gwt-dir}/${platform}/${lib-gwt-dev}" />
                </path>
+
        </target>
 
        <target name="internal-package-windows">
-               <var name="package-platform" value="windows" />
+               <antcontrib:var name="package-platform" value="windows" />
                <echo>Creating package for ${package-platform} platform.</echo>
-               <var name="eclipse-launch-vmargs" value="-Xms256M -Xmx512M" />
+               <antcontrib:var name="eclipse-launch-vmargs" value="-Xms256M -Xmx512M" />
                <antcall target="add-platform-specific-files" inheritAll="true" inheritRefs="true" />
                <zip zipfile="${result-path}/${product-file}-${package-platform}-${version}.zip">
                        <zipfileset prefix="${product-file}-${package-platform}-${version}" dir="${result-path}/${product-file}-${version}">
        </target>
 
        <target name="internal-package-linux">
-               <var name="package-platform" value="linux" />
+               <antcontrib:var name="package-platform" value="linux" />
                <echo>Creating package for ${package-platform} platform.</echo>
-               <var name="eclipse-launch-vmargs" value="-Xms256M -Xmx512M" />
+               <antcontrib:var name="eclipse-launch-vmargs" value="-Xms256M -Xmx512M" />
                <antcall target="add-platform-specific-files" inheritAll="true" inheritRefs="true" />
                <tar destfile="${result-path}/${product-file}-${package-platform}-${version}.tar.gz" compression="gzip" longfile="gnu">
                        <!-- TODO use very slow but effective bzip2
        </target>
 
        <target name="internal-package-oophm">
-               <var name="package-platform" value="oophm" />
+               <antcontrib:var name="package-platform" value="oophm" />
                <echo>Creating package for ${package-platform} platform.</echo>
-               <var name="eclipse-launch-vmargs" value="-Xms256M -Xmx512M" />
+               <antcontrib:var name="eclipse-launch-vmargs" value="-Xms256M -Xmx512M" />
                <antcall target="add-platform-specific-files" inheritAll="true" inheritRefs="true" />
                <tar destfile="${result-path}/${product-file}-${package-platform}-${version}.tar.gz" compression="gzip" longfile="gnu">
                        <tarfileset prefix="${product-file}-${package-platform}-${version}" dir="${result-path}/${product-file}-${version}">
        </target>
 
        <target name="internal-package-mac">
-               <var name="package-platform" value="mac" />
+               <antcontrib:var name="package-platform" value="mac" />
                <echo>Creating package for ${package-platform} platform.</echo>
-               <var name="eclipse-launch-vmargs" value="-XstartOnFirstThread -Xms256M -Xmx512M" />
+               <antcontrib:var name="eclipse-launch-vmargs" value="-XstartOnFirstThread -Xms256M -Xmx512M" />
                <antcall target="add-platform-specific-files" inheritAll="true" inheritRefs="true" />
                <tar destfile="${result-path}/${product-file}-${package-platform}-${version}.tar.gz" compression="gzip" longfile="gnu">
                        <tarfileset prefix="${product-file}-${package-platform}-${version}" dir="${result-path}/${product-file}-${version}">
                <property name="mount.dir" value="${result-path}/mac-mounted-image" />
                <mkdir dir="${mount.dir}" />
                <delete file="${result-path}/*.dmg" />
-               <if>
+               <antcontrib:if>
                        <equals arg1="${platform}" arg2="mac" />
                        <then>
                                <untar src="${result-path}/${product-file}-${package-platform}-${version}.tar.gz" dest="${result-path}/" compression="gzip" />
                                        <arg line='internet-enable ${result-path}/${product-file}-${package-platform}-${version}.dmg' />
                                </exec>
                        </then>
-               </if>
+               </antcontrib:if>
        </target>
 
        <target name="add-platform-specific-files">
                <copy todir="${output-dir}">
                        <filterchain>
                                <expandproperties />
-                               <replacetokens begintoken="&lt;" endtoken=">">
+                               <replacetokens begintoken="@" endtoken="@">
                                        <token key="version" value="${version}" />
-                                       <token key="/version" value="" />
                                </replacetokens>
-                               <replacetokens begintoken="&lt;" endtoken=">">
+                               <replacetokens begintoken="@" endtoken="@">
                                        <token key="platform" value="${package-platform}" />
-                                       <token key="/platform" value="" />
                                </replacetokens>
                        </filterchain>
                        <fileset dir="WebContent/license">
                <copy todir="${output-dir}/WebContent">
                        <filterchain>
                                <expandproperties />
-                               <replacetokens begintoken="&lt;" endtoken=">">
+                               <replacetokens begintoken="@" endtoken="@">
                                        <token key="version" value="${version}" />
                                        <token key="/version" value="" />
                                </replacetokens>
-                               <replacetokens begintoken="&lt;" endtoken=">">
+                               <replacetokens begintoken="@" endtoken="@">
                                        <token key="platform" value="${package-platform}" />
                                        <token key="/platform" value="" />
                                </replacetokens>
                                        <token key="/platform-specific-entries" value="" />
                                </replacetokens>
                                <!-- .classpath, HostedMode.launch, build-widgetset.xml -->
-                               <replacetokens begintoken="&lt;" endtoken=">">
+                               <!-- We can't use XML notation for this, because it can be inside an attribute definition. -->
+                               <replacetokens begintoken="@" endtoken="@">
                                        <token key="platform" value="${package-platform}" />
-                                       <token key="/platform" value="" />
                                </replacetokens>
                                <!-- .project, *.launch -->
                                <replacetokens begintoken="&lt;" endtoken=">">
                <mkdir dir="${output-dir}/.settings" />
                <move file="${output-dir}/eclipse-org.eclipse.core.resources.prefs" tofile="${output-dir}/.settings/org.eclipse.core.resources.prefs" />
                <move file="${output-dir}/eclipse-org.eclipse.jdt.core.prefs" tofile="${output-dir}/.settings/org.eclipse.jdt.core.prefs" />
-               <if>
+               <antcontrib:if>
                        <equals arg1="${package-platform}" arg2="windows" />
                        <then>
                                <copy todir="${output-dir}">
                                        </fileset>
                                </copy>
                        </then>
-               </if>
-               <if>
+               </antcontrib:if>
+               <antcontrib:if>
                        <equals arg1="${package-platform}" arg2="linux" />
                        <then>
                                <copy todir="${output-dir}">
                                        <arg line="${output-dir}/start.sh" />
                                </exec>
                        </then>
-               </if>
-               <if>
+               </antcontrib:if>
+               <antcontrib:if>
                        <equals arg1="${package-platform}" arg2="oophm" />
                        <then>
                                <copy todir="${output-dir}">
                                        <arg line="${output-dir}/start.sh" />
                                </exec>
                        </then>
-               </if>
-               <if>
+               </antcontrib:if>
+               <antcontrib:if>
                        <equals arg1="${package-platform}" arg2="mac" />
                        <then>
                                <copy todir="${output-dir}">
                                        <arg line="${output-dir}/start.sh" />
                                </exec>
                        </then>
-               </if>
+               </antcontrib:if>
        </target>
 
        <target name="build" depends="libs, compile-client-side, demo" description="Build package required files, without packing them.">
                </copy>
        </target>
 
-       <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-  Documentation 
-   - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-       <target name="docs" depends="javadoc,manual-pdf,manual-html,package-docs">
+    <!-- ================================================================== -->
+    <!-- Documentation                                                      -->
+    <!-- ================================================================== -->
+       <target name="docs" depends="init, manual">
        </target>
 
+       <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  -->
+    <!-- Manual: Build from external repository.                            -->
+       <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  -->
 
-       <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-  Documentation: Add documentation including style files
-   - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <!-- Checkout doc repository. -->
+    <target name="manual-checkout" unless="docdir">
+        <mkdir dir="${checkout-path}"/>
+
+        <exec executable="svn" dir="${checkout-path}">
+            <arg value="checkout"/>
+            <arg value="http://dev.itmill.com/svn/doc/trunk"/>
+            <arg value="doc"/>
+        </exec>
+
+        <property name="docdir" value="${checkout-path}/doc"/>
+
+        <!-- If we have a XEP license, copy it to proper place. -->
+        <copy file="/opt/RenderX/XEP/license.xml" todir="${docdir}/build/lib/XEP"/>
+    </target>
+
+    <!-- Build manual. -->
+    <target name="manual-build">
+      <ant dir="${docdir}" antfile="build/build.xml" inheritAll="false">
+          <property name="version" value="${version}"/>
+      </ant>
+    </target>
+
+    <!-- Copy the manual from sub Ant results to our output directory. -->
+    <target name="manual-copy" depends="init, manual-checkout">
+               <copy todir="${output-dir}/WebContent/doc">
+            <fileset dir="${docdir}/build/result/package/WebContent/doc">
+                               <exclude name="**/.svn" />
+                               <include name="manual/**" />
+                               <include name="manual.pdf" />
+            </fileset>
+        </copy>
+    </target>
+
+       <target name="manual" depends="init, manual-checkout, manual-build, manual-copy">
+    </target>        
+
+       <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  -->
+    <!-- Documentation: Add documentation including style files             -->
+       <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  -->
        <target name="package-docs">
                <copy todir="${output-dir}/WebContent/doc/manual/html-style">
                        <fileset dir="doc/manual/html-style">
                </copy>
        </target>
 
-
-       <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-  Documentation: Add Javadoc to doc
-   - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+       <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  -->
+    <!-- Documentation: Add Javadoc to doc                                  -->
+       <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  -->
        <target name="javadoc" depends="preprocess-src">
                <javadoc destdir="${output-dir}/WebContent/doc/api" author="true" version="true" use="true" windowtitle="${product-name}" classpathref="compile.classpath.client-side">
                        <packageset dir="${result-path}/src">
                </javadoc>
        </target>
 
-
-       <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-  Documentation: Add book part 2 (TBD)   
-   - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-       <target name="book-part2" depends="dbdoclet">
-               <!-- TODO Add XSLT to transform dbdoclet results to book part 2 -->
-       </target>
-
-
-       <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-  Documentation: Add manual
-   - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-       <target name="dbdoclet" depends="preprocess-src">
-               <echo>Manual: DocBookDoclet</echo>
-               <javadoc access="public" charset="UTF-8" docencoding="UTF-8" encoding="ISO-8859-15" failonerror="yes" maxmemory="512m" source="1.5">
-                       <packageset dir="${result-path}/src">
-                               <include name="${toolkit-package}/**" />
-                               <exclude name="${toolkit-package}/demo/**" />
-                               <exclude name="${toolkit-package}/tests/**/*" />
-                       </packageset>
-                       <doclet name="org.dbdoclet.doclet.docbook.DocBookDoclet" path="build/lib/jdk${java.specification.version}/dbdoclet.jar">
-                               <param name="-d" value="result/docbook" />
-                       </doclet>
-               </javadoc>
-       </target>
-
-    <!-- ================================================================== -->
-    <!-- Build Reference Manual.                                            -->
-    <!-- ================================================================== -->
-
-    <!-- Initialize properties especially for the Reference Manual. -->
-       <target name="init-manual" depends="">
-        <!-- Sets the current date as the publication date of the Manual. -->
-        <tstamp>
-            <format property="manual.pubdate" pattern="yyyy-MM-dd"/>
-        </tstamp>
-
-        <!-- Classpath for running the XSLT processor. -->
-               <path id="docbook-xsl.classpath">
-                       <pathelement path="build/lib/fserializer.jar" />
-                       <pathelement path="build/lib/xalan.jar" />
-                       <pathelement path="build/lib/xercesImpl.jar" />
-                       <pathelement path="build/lib/xml-apis.jar" />
-               </path>
-       </target>
-
-       <!-- Build PDF manual from sources or just copy it. -->
-       <target name="manual-pdf" depends="init, init-manual, build-manual-pdf, copy-manual-pdf">
-       </target>
-
-       <!-- Just copy a prebuilt PDF manual. -->
-       <target name="copy-manual-pdf" unless="xep.license.available">
-               <echo>PDF Manual: No XEP license available, just copy a prebuilt PDF.</echo>
-               <copy file="doc/manual/book.pdf" tofile="${output-dir}/WebContent/doc/manual.pdf" />
-       </target>
-
-       <!-- XEP-based FO building -->
-       <target name="build-manual-pdf" if="xep.license.available">
-               <echo>PDF Manual: processing images (TBD)</echo>
-               <!-- TBD -->
-               <echo>PDF Manual: converting xml to fo</echo>
-
-        <echo>Publication date is ${manual.pubdate}</echo>
-
-               <java classname="org.apache.xalan.xslt.Process" failonerror="yes" fork="yes" maxmemory="512m">
-                       <arg value="-xsl" />
-                       <arg value="build/docbook/conf/custom-fo-docbook.xsl" />
-                       <arg value="-in" />
-                       <arg value="doc/manual/book.xml" />
-                       <arg value="-out" />
-                       <arg value="${result-path}/book.fo" />
-                       <arg value="-param" />
-                       <arg value="section.autolabel" />
-                       <arg value="1" />
-                       <arg value="-param" />
-                       <arg value="section.label.includes.component.label" />
-                       <arg value="1" />
-                       <arg value="-param" />
-                       <arg value="section.autolabel.max.depth" />
-                       <arg value="2" />
-                       <arg value="-param" />
-                       <arg value="draft.watermark.image" />
-                       <arg value="''" />
-                       <arg value="-param" />
-                       <arg value="draft.mode" />
-                       <arg value="'no'" />
-                       <arg value="-param" />
-                       <arg value="double.sided" />
-                       <arg value="1" />
-                       <arg value="-param" />
-                       <arg value="manual.pubdate" />
-                       <arg value="${manual.pubdate}" />
-                       <arg value="-param" />
-                       <arg value="manual.version" />
-                       <arg value="${version}" />
-                       <classpath refid="docbook-xsl.classpath" />
-               </java>
-               <echo>PDF Manual: converting fo to pdf</echo>
-               <!-- Run XEP FO processor to convert FO to PDF -->
-               <java classname="com.renderx.xep.XSLDriver" error="${result-path}/xep-error.log" failonerror="yes" fork="yes" maxmemory="512m" input="${result-path}/book.fo" output="${output-dir}/WebContent/doc/manual.pdf">
-                       <arg value="-Dcom.renderx.xep.CONFIG=build/lib/XEP/xep.xml" />
-                       <classpath>
-                               <pathelement location="build/lib/XEP/lib/tools.jar" />
-                               <pathelement location="build/lib/XEP/lib/xep.jar" />
-                               <pathelement location="build/lib/XEP/lib/saxon.jar" />
-                               <pathelement location="build/lib/XEP/lib/xt.jar" />
-                       </classpath>
-               </java>
-       </target>
-
-    <!-- Common initialization tasks for a HTML manual.                                   -->
-    <!-- Some properties must be defined in the more specific HTML manual initialization. -->
-       <target name="init-manual-html-common" depends="preprocess-src">
-        <!-- Create the manual output directory if it doesn't already exist. -->
-        <mkdir dir="${manual.html.output.dir}"/>
-
-        <property name="manual.html.xsl.template"  value="build/docbook/conf/custom-html-template.xsl"/>
-        <property name="manual.html.xsl.processed" value="build/docbook/conf/custom-html-processed.xsl"/>
-
-        <!-- Replace tags in the HTML stylesheet template. -->
-               <delete file="${manual.html.xsl.processed}" />
-               <copy file="${manual.html.xsl.template}" tofile="${manual.html.xsl.processed}">
-                       <filterchain>
-                               <replacetokens>
-                                       <token key="BODYHEADER" value="${html.body.start1}${docbook.head.title}${html.body.start2}" />
-                                       <token key="BODYFOOTER" value="${html.body.end}" />
-                               </replacetokens>
-                       </filterchain>
-               </copy>
-    </target>
-
-       <target name="manual-html-build" depends="init-manual-html, init-manual-html-common">
-               <java classname="org.apache.xalan.xslt.Process" failonerror="yes" fork="yes" maxmemory="512m">
-                       <arg value="-in" />
-                       <arg value="doc/manual/book.xml" />
-                       <arg value="-xsl" />
-                       <arg value="${manual.html.xsl}" />
-            <!-- The output file will be empty for eclipse plugin. -->
-                       <arg value="-out" />
-                       <arg value="${manual.html.output.index}" />
-                       <arg value="-param" />
-                       <arg value="section.autolabel" />
-                       <arg value="1" />
-                       <arg value="-param" />
-                       <arg value="section.label.includes.component.label" />
-                       <arg value="1" />
-                       <arg value="-param" />
-                       <arg value="section.autolabel.max.depth" />
-                       <arg value="2" />
-                       <arg value="-param" />
-                       <arg value="use.extensions" />
-                       <arg value="1" />
-                       <arg value="-param" />
-                       <arg value="manual.pubdate" />
-                       <arg value="${manual.pubdate}" />
-                       <arg value="-param" />
-                       <arg value="manual.version" />
-                       <arg value="${version}" />
-            <!-- This is needed only for the Eclipse Help plugin. -->
-                       <arg value="-param" />
-                       <arg value="eclipse.plugin.version" />
-                       <arg value="${eclipse.plugin.manual.version}" />
-                       <classpath refid="docbook-xsl.classpath" />
-               </java>
-
-               <delete file="${manual.html.xsl.processed}" />
-               <copy todir="${output-dir}/WebContent/doc/eclipse/img">
-                       <fileset dir="doc/manual/img">
-                               <exclude name="**/.svn" />
-                       </fileset>
-               </copy>
-    </target>
-
-    <!-- Configuration for building the regular HTML manual. -->
-       <target name="init-manual-html" depends="init, init-manual">
-        <property name="manual.html.xsl" value="build/docbook/conf/manual-html.xsl"/>
-        <property name="manual.html.output.dir" value="${output-dir}/WebContent/doc/manual"/>
-        <property name="manual.html.output.index" value="${manual.html.output.dir}/index.html"/>
-
-        <property name="output-dir-manual" value="${output-dir}/WebContent/doc/manual" />
-
-               <echo>Manual: HTML</echo>
-               <echo>Published: ${manual.pubdate}</echo>
-    </target>
-
-       <target name="manual-html" depends="init, init-manual, init-manual-html, init-manual-html-common, manual-html-build">
-       </target>
-
-       <!-- ant contrib required for flow control (for loop, if, property override) -->
-       <taskdef resource="net/sf/antcontrib/antlib.xml">
-               <classpath>
-                       <pathelement location="build/lib/ant-contrib-1.0b3.jar" />
-               </classpath>
-       </taskdef>
-
-       <!-- java2html converter -->
-       <taskdef name="java2html" classname="de.java2html.anttasks.Java2HtmlTask" classpath="build/lib/java2html.jar" />
-
-       <target name="init-manual-eclipse" depends="">
-        <!-- Timestamp in YYYYMMDDHHMM format for plugin version number. -->
-        <tstamp>
-            <format property="eclipse.plugin.manual.pubtime" pattern="yyyyMMddkkmm"/>
-        </tstamp>
-
-        <property name="eclipse.plugin.manual.version" value="${version}.v${eclipse.plugin.manual.pubtime}" />
-               <echo>Manual: Eclipse Help Plugin (version ${eclipse.plugin.manual.version})</echo>
-
-        <property name="manual.html.xsl" value="build/docbook/conf/manual-eclipse-plugin.xsl"/>
-        <property name="manual.html.output.dir" value="${output-dir}/WebContent/doc/eclipse"/>
-        <property name="manual.html.output.index" value="${manual.html.output.dir}/index-eclipse.html"/>
-
-        <property name="output-dir-manual" value="${output-dir}/WebContent/doc/manual" />
-    </target>
-
-    <!-- Builds Eclipse Help plugin. Uses the manual-html-build target  -->
-    <!-- to build the HTML content of the manual.                       -->
-       <target name="manual-eclipse" depends="init, init-manual, init-manual-eclipse, init-manual-html-common, manual-html-build">
-        <!-- The index-eclipse.html file is empty. -->
-               <delete file="${manual.html.output.index}" />
-
-        <!-- Plugin JAR filename -->
-        <property name="eclipse.plugin.manual.jar-name"
-                 value="com.itmill.toolkit.manual_${eclipse.plugin.manual.version}.jar" />
-
-        <!-- Package the JAR. -->
-        <jar jarfile="${output-dir}/${eclipse.plugin.manual.jar-name}" compress="true">
-            <fileset dir="${manual.html.output.dir}">
-                               <patternset>
-                                       <include name="**/*" />
-                               </patternset>
-            </fileset>
-            <manifest>
-                <attribute name="Built-By" value="${user.name}"/>
-                <attribute name="Bundle-Name" value="IT Mill Toolkit Reference Manual"/>
-                <attribute name="Bundle-SymbolicName" value="com.itmill.toolkit.manual"/>
-                <attribute name="Bundle-Version" value="${eclipse.plugin.manual.version}"/>
-                <attribute name="Bundle-Vendor" value="IT Mill Inc."/>
-            </manifest>
-        </jar>
-       </target>
-
-    <!-- ================================================================== -->
-    <!-- Build Application Tutorial.                                        -->
-    <!-- ================================================================== -->
-
-    <!-- Initialize properties especially for the Reference Tutorial. -->
-       <target name="init-tutorial" depends="">
-        <!-- Sets the current date as the publication date of the Tutorial. -->
-        <tstamp>
-            <format property="tutorial.pubdate" pattern="yyyy-MM-dd"/>
-        </tstamp>
-
-               <mkdir dir="${output-dir}/WebContent/doc/tutorial" />
-       </target>
-
-       <!-- Build PDF tutorial from sources or just copy it. -->
-       <target name="tutorial-pdf" depends="init, init-tutorial, build-tutorial-pdf, copy-tutorial-pdf">
-       </target>
-
-       <!-- Just copy a prebuilt PDF tutorial. -->
-       <target name="copy-tutorial-pdf" unless="xep.license.available">
-               <echo>PDF Tutorial: No XEP license available, just copy a prebuilt PDF.</echo>
-               <copy file="doc/tutorial/itmill-toolkit-tutorial.pdf" tofile="${output-dir}/WebContent/doc/itmill-toolkit-tutorial.pdf" />
-       </target>
-
-       <!-- XEP-based FO building -->
-       <target name="build-tutorial-pdf" if="xep.license.available">
-               <echo>PDF Tutorial: processing images (TBD)</echo>
-               <!-- TBD -->
-               <echo>PDF Tutorial: converting xml to fo</echo>
-
-        <echo>Publication date is ${tutorial.pubdate}</echo>
-
-               <java classname="org.apache.xalan.xslt.Process" failonerror="yes" fork="yes" maxmemory="512m">
-                       <arg value="-xsl" />
-                       <arg value="build/docbook/conf/custom-fo-docbook.xsl" />
-                       <arg value="-in" />
-                       <arg value="doc/tutorial/tutorial.xml" />
-                       <arg value="-out" />
-                       <arg value="${result-path}/itmill-toolkit-tutorial.fo" />
-                       <arg value="-param" />
-                       <arg value="section.autolabel" />
-                       <arg value="1" />
-                       <arg value="-param" />
-                       <arg value="section.label.includes.component.label" />
-                       <arg value="1" />
-                       <arg value="-param" />
-                       <arg value="section.autolabel.max.depth" />
-                       <arg value="2" />
-                       <arg value="-param" />
-                       <arg value="draft.watermark.image" />
-                       <arg value="''" />
-                       <arg value="-param" />
-                       <arg value="draft.mode" />
-                       <arg value="'no'" />
-                       <arg value="-param" />
-                       <arg value="double.sided" />
-                       <arg value="1" />
-                       <arg value="-param" />
-                       <arg value="manual.pubdate" />
-                       <arg value="${tutorial.pubdate}" />
-                       <arg value="-param" />
-                       <arg value="manual.version" />
-                       <arg value="${version}" />
-                       <classpath>
-                               <pathelement location="build/lib/xalan.jar" />
-                               <pathelement location="build/lib/xercesImpl.jar" />
-                               <pathelement location="build/lib/xml-apis.jar" />
-                       </classpath>
-               </java>
-               <echo>PDF Tutorial: converting fo to pdf</echo>
-               <!-- Run XEP FO processor to convert FO to PDF -->
-               <java classname="com.renderx.xep.XSLDriver" error="${result-path}/xep-error.log" failonerror="yes" fork="yes" maxmemory="512m" input="${result-path}/itmill-toolkit-tutorial.fo" output="${output-dir}/WebContent/doc/itmill-toolkit-tutorial.pdf">
-                       <arg value="-Dcom.renderx.xep.CONFIG=build/lib/XEP/xep.xml" />
-                       <classpath>
-                               <pathelement location="build/lib/XEP/lib/tools.jar" />
-                               <pathelement location="build/lib/XEP/lib/xep.jar" />
-                               <pathelement location="build/lib/XEP/lib/saxon.jar" />
-                               <pathelement location="build/lib/XEP/lib/xt.jar" />
-                       </classpath>
-               </java>
-       </target>
-
-       <target name="tutorial-html" depends="init, init-tutorial, preprocess-src">
-               <echo>Tutorial: HTML</echo>
-        <echo>Publication date is ${tutorial.pubdate}</echo>
-
-               <delete file="build/docbook/conf/temp.xsl" />
-               <copy file="build/docbook/conf/custom-html-docbook.xsl" tofile="build/docbook/conf/temp.xsl">
-                       <filterchain>
-                               <replacetokens>
-                                       <token key="BODYHEADER" value="${html.body.start1}${docbook.head.title}${html.body.start2}" />
-                                       <token key="BODYFOOTER" value="${html.body.end}" />
-                               </replacetokens>
-                       </filterchain>
-               </copy>
-               <path id="docbook-xsl.classpath">
-                       <pathelement path="build/lib/fserializer.jar" />
-                       <pathelement path="build/lib/xalan.jar" />
-                       <pathelement path="build/lib/xercesImpl.jar" />
-                       <pathelement path="build/lib/xml-apis.jar" />
-               </path>
-               <java classname="org.apache.xalan.xslt.Process" failonerror="yes" fork="yes" maxmemory="512m">
-                       <arg value="-in" />
-                       <arg value="doc/tutorial/tutorial.xml" />
-                       <arg value="-xsl" />
-                       <arg value="build/docbook/conf/temp.xsl" />
-                       <arg value="-out" />
-                       <arg value="${output-dir}/WebContent/doc/tutorial/index.html" />
-                       <arg value="-param" />
-                       <arg value="section.autolabel" />
-                       <arg value="1" />
-                       <arg value="-param" />
-                       <arg value="section.label.includes.component.label" />
-                       <arg value="1" />
-                       <arg value="-param" />
-                       <arg value="section.autolabel.max.depth" />
-                       <arg value="2" />
-                       <arg value="-param" />
-                       <arg value="use.extensions" />
-                       <arg value="1" />
-                       <arg value="-param" />
-                       <arg value="manual.pubdate" />
-                       <arg value="${tutorial.pubdate}" />
-                       <arg value="-param" />
-                       <arg value="manual.version" />
-                       <arg value="${version}" />
-                       <classpath refid="docbook-xsl.classpath" />
-               </java>
-               <delete file="build/docbook/conf/temp.xsl" />
-               <copy todir="${output-dir}/WebContent/doc/tutorial/img">
-                       <fileset dir="doc/tutorial/img">
-                               <exclude name="**/.svn" />
-                       </fileset>
-               </copy>
-       </target>
-
-       <!-- ant contrib required for flow control (for loop, if, property override) -->
-       <taskdef resource="net/sf/antcontrib/antlib.xml">
-               <classpath>
-                       <pathelement location="build/lib/ant-contrib-1.0b3.jar" />
-               </classpath>
-       </taskdef>
-
        <!-- java2html converter -->
        <taskdef name="java2html" classname="de.java2html.anttasks.Java2HtmlTask" classpath="build/lib/java2html.jar" />
 
     <!-- Nightly build.                                                     -->
     <!-- ================================================================== -->
 
+    <!-- Main target for the nightly build. -->
+    <target name="nightly" depends="clean-result, nightly-init, package-init, init, build, internal-package-linux, nightly-install">
+    </target>
+
     <!-- Create symlink to GWT installation directory. -->
     <target name="gwt-symlink">
 
         <!-- Tell TeamCity the build name. Have to do it this way, because   -->
         <!-- this script needs to get the plain build number as a parameter. -->
         <echo>##teamcity[buildNumber '${version.minor}-c${build.number}']</echo>
+
     </target>
 
     <target name="nightly-teamcity-publish">
         <echo>##teamcity[publishArtifacts '${output-dir}/WebContent/WEB-INF/lib/${lib-jar-name}']</echo>
     </target>
 
-    <!-- Copies the nightly build results to the download server. -->
+    <!-- Copies the nightly build artifacts to the download server. -->
     <target name="nightly-download-publish" if="nightly.publish">
         <!-- Publish to the download server. -->
         <echo>Installing ${output-dir}/WebContent/${lib-jar-name} to ${nightly.publish}</echo>
         <echo>Hopefully you have permissions for the copy operation with SSH.</echo>
 
+        <!-- The test task will need this. -->
+        <property name="package.linux.filename" value="${result-path}/${product-file}-${package-platform}-${version}.tar.gz"/>
+
+        <!-- Copy the linux installation package and the JAR. -->
         <exec executable="scp" searchpath="true" resultproperty="nightly.install.scp.result">
             <arg value="-B"/>
             <arg value="${output-dir}/WebContent/${lib-jar-name}"/>
+            <arg value="${package.linux.filename}"/>
             <arg value="${nightly.publish}"/>
         </exec>
 
     <target name="nightly-install" depends="nightly-teamcity-publish, nightly-download-publish">
     </target>
 
+    <target name="testingtools-test">
+      <!-- Run the separate test script. -->
+      <ant antfile="build/testing/test.xml" inheritall="true">
+      </ant>
+    </target>
+
     <!-- ================================================================== -->
     <!-- Automated tests.                                                   -->
     <!-- ================================================================== -->
 
-    <target name="tests">
+    <target name="ant-tests">
         <echo>##teamcity[testSuiteStarted name='com.itmill.toolkit.tests.test-framework']</echo>
 
         <!-- A smoke test for testing the testing framework. -->
index ec400c2d70961b6f672c213ed17f192075e0cac3..2a82e5fd4b08cee9feb64b7d8523a54050522d24 100644 (file)
@@ -31,13 +31,13 @@ See configure target to adjust this buildfile.
                <property name="base" value="../../../" />
                
                <!-- which platform we are in, possible values are windows, linux and mac -->
-               <property name="gwt-platform" value="<platform></platform>" />
+               <property name="gwt-platform" value="@platform@" />
                
                <!-- where platform specific GWT distribution is located -->
                <property name="gwt-location" value="${base}gwt" />
                
                <!-- where Toolkit jar is located -->
-               <property name="toolkit-jar-location" value="${base}WebContent/WEB-INF/lib/itmill-toolkit-<version></version>.jar" />
+               <property name="toolkit-jar-location" value="${base}WebContent/WEB-INF/lib/itmill-toolkit-@version@.jar" />
                
                <!-- where project client-side widgetset source files are located -->
                <property name="client-side-src-location" value="${base}WebContent/WEB-INF/src" />
index 3ae558420a82d6da9b2b8cc0f51d68cc7a348def..7479aeb8017078cc9be75de0335679e55d17356f 100644 (file)
@@ -2,7 +2,7 @@
 <launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
 <stringAttribute key="bad_container_name" value="/<eclipse-workspace-name></eclipse-workspace-name>/IT Mill Toolkit Hosted Mode.launch"/>
 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/<eclipse-workspace-name></eclipse-workspace-name>/gwt/gwt-dev-<platform></platform>.jar"/>
+<listEntry value="/<eclipse-workspace-name></eclipse-workspace-name>/gwt/gwt-dev-@platform@.jar"/>
 </listAttribute>
 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
 <listEntry value="1"/>