My favorites | Sign in
Project Home Wiki Issues Source
Search
for
HowToBuildNormalRepository  
How to build a normal Ivy repository using Ivy RoundUp
Updated Oct 2, 2010 by archie.c...@gmail.com

Overview

While the primary goal of the Ivy RoundUp project is to provide an online Ivy repository, not repository build tools, it's easy to use the Ivy RoundUp build infrastructure to create a normal Ivy repository. How to do this is described here.

The Ivy RoundUp repository contains ivy.xml files but no actual artifacts. In place of artifacts, it has packager.xml files which describe how to download and (if necessary) extract artifacts on-demand. An "ant" task in allows you to build a normal repository automatically using this information.

Prerequisites

  1. You must have a version of Ivy containing the packager resolver installed on your machine (Ivy 2.0.0-rc1 or later).
  2. You'll need to check out the source code for Ivy RoundUp using Subversion.
  3. You'll need to be running on a UNIX-like O/S.
  4. You'll need ant 1.6.2 or later.
  5. You'll need to download some archive files manually (see next section).

Software Requiring License Agreements

See ManuallyDownloadedSoftware for a list of software you must download manually, due to the requirement that you must click to accept a license.

Steps To Build Repository

Once you've satisfied the prerequisites:

  1. Change into the top of the appropriate tree (e.g., trunk/).
  2. Run ant.

After downloading all of the resources and resolving every module in Ivy RoundUp, your completed "normal" repository will be in build/repo-with-artifacts.

If ant fails with java.lang.ClassNotFoundException: org.apache.xalan.processor.TransformerFactoryImpl then instead of running ant run ant get-xalan all or install the Xalan libraries into your ant lib.

Comment by john.b.h...@gmail.com, Jan 13, 2009

Seems another prerequisite is I have to add xalan.jar in my Ant lib, otherwise I get:

BUILD FAILED /home/hurstj/ivyroundup/build.xml:147: javax.xml.transform.TransformerException?: java.lang.RuntimeException?: Unrecognized XSLTC extension 'http://xml.apache.org/xalan/PipeDocument:pipeDocument'

Comment by swoods...@gmail.com, Mar 8, 2009

Seems that you also need graphiz installed. There's a call to circo used to generate dependency diagrams (not installed by default on Mac OS). I was able to resolve the error by installing graphiz-2.22

Comment by project member archie.c...@gmail.com, Mar 9, 2009

grahphiz is called from the top level build.xml, but the the build should not fail if they don't exist (failonerror="false"). It is used to generate the depedency graph graphical depiction. If it fails you will see an error message but the build should still succeed.

Snippet from build.xml:

        <exec executable="/bin/bash" logError="true" failonerror="false">
            <arg value="-c"/>
            <arg value="circo -Tgif -o build/graph/modules.gif build/graph/modules.dot"/>
        </exec>
        <exec executable="/bin/bash" logError="true" failonerror="false">
            <arg value="-c"/>
            <arg value="circo -Tsvg -o build/graph/modules.svg build/graph/modules.dot"/>
        </exec>
Comment by kent.lar...@gmail.com, May 11, 2009

It's Graphviz not graphiz. I'm pointing it out in case someone wants to install it and needs to search for the exact name.


Sign in to add a comment
Powered by Google Project Hosting