- From: Svante Schubert <svante.schubert@gmail.com>
- Date: Fri, 09 Sep 2011 18:47:25 +0200
- To: public-unicorn@w3.org
- Message-ID: <4E6A431D.10505@gmail.com>
Hi, Thank you for the great software! Some questions and issues found will follow. But I do very like the Unicorn web application, the idea to bundle everything under one umbrella, your architecture <http://code.w3.org/unicorn/wiki/Documentation/Architecture> and the new layout. It goes even so far, that I would like to use Unicorn to address the ODF Validator <http://odftoolkit.org/projects/conformancetools/pages/ODFValidator> (now about to move to Apache <http://incubator.apache.org/projects/odftoolkit.html>). Is there already documentation available how I would be able to reuse Unicorn to implement the ODF validator as an observer (as described in the your architecture <http://code.w3.org/unicorn/wiki/Documentation/Architecture>). Still there are two minor issues, I stumbled over, when I tried to validate the latest ODF specification http://docs.oasis-open.org/office/v1.2/cos01/OpenDocument-v1.2-cos01-part1.html I run into the 2MB upload limit, which is fine, as the spec should be parted into multiple HTML. Therefore I installed the web application locally. The first issue: I was unable to download of the sources with Mercurial: "hg clone https://dvcs.w3.org/hg/unicorn destination directory: unicorn requesting all changes adding changesets adding manifests transaction abort! rollback completed abort: stream ended unexpectedly (got 36 bytes, expected 189)" Using Mercurial 1.8.2 with W7. Second problem was that when I tried to build the unzipped bundle sources, I run into the problem that the IVY retrieve statement was not found. I was following exactly your instructions on http://code.w3.org/unicorn/wiki/Documentation/Install and ran "ant retrieve default_conf war". But the "retrieve" task could not be identified. I could fix this to run out-of-the-box by reusing part of the IVY bootstrap example build.xml <http://ant.apache.org/ivy/history/latest-milestone/samples/build.xml> from their first tutorial <http://ant.apache.org/ivy/history/latest-milestone/tutorial.html>. Inserting the following into your build.xml... ---- COPY START --- <!-- this build file is a self contained project: it doesn't require anything else that ant 1.6.2 or greater and java 1.4 or greater properly installed. It is used to showcase how easy and straightforward it can be to use Ivy. This is not an example of the best pratice to use in a project, especially for the java source code "generation" :-) (see generate-src target) To run copy this file in an empty directory, open a shell or a command window in this directory and run "ant". It will download ivy and then use it to resolve the dependency of the class which is itself "contained" in this build script. After a successful build run "ant" again and you will see the build will be much faster. More information can be found at http://ant.apache.org/ivy/ --> <!-- here is the version of ivy we will use. change this property to try a newer version if you want --> <property name="ivy.install.version" value="2.2.0" /> <property name="ivy.jar.dir" value="${basedir}/ivy" /> <property name="ivy.jar.file" value="${ivy.jar.dir}/ivy.jar" /> <property name="build.dir" value="build" /> <property name="src.dir" value="src" /> <target name="download-ivy" unless="skip.download"> <mkdir dir="${ivy.jar.dir}"/> <!-- download Ivy from web site so that it can be used even without any special installation --> <echo message="installing ivy..."/> <get src="http://repo1.maven.org/maven2/org/apache/ivy/ivy/${ivy.install.version}/ivy-${ivy.install.version}.jar" dest="${ivy.jar.file}" usetimestamp="true"/> </target> <!-- ================================= target: install-ivy this target is not necessary if you put ivy.jar in your ant lib directory if you already have ivy in your ant lib, you can simply remove this target and the dependency the 'go' target has on it ================================= --> <target name="install-ivy" depends="download-ivy" description="--> install ivy"> <!-- try to load ivy here from local ivy dir, in case the user has not already dropped it into ant's lib dir (note that the latter copy will always take precedence). We will not fail as long as local lib dir exists (it may be empty) and ivy is in at least one of ant's lib dir or the local lib dir. --> <path id="ivy.lib.path"> <fileset dir="${ivy.jar.dir}" includes="*.jar"/> </path> <taskdef resource="org/apache/ivy/ant/antlib.xml" uri="antlib:org.apache.ivy.ant" classpathref="ivy.lib.path"/> </target> ---- COPY END --- ...and adding "install-ivy" as dependency to your existing tag: <target name="retrieve" depends="install-ivy" description="--> retrieve dependencies with ivy"> <ivy:retrieve /> </target> There might be other ways, like adding Note: That I only changed the IVY version from the example, I used 2.2.0 as latest available from http://repo1.maven.org/maven2/org/apache/ivy/ivy/ About a feed-back on ideas how to reuse modules from your architecture (e.g. as Maven artifacts) I would be grateful. Thank you, Svante
Received on Thursday, 15 September 2011 07:20:50 UTC