Revision: 15192
          http://gate.svn.sourceforge.net/gate/?rev=15192&view=rev
Author:   markagreenwood
Date:     2012-01-22 20:29:48 +0000 (Sun, 22 Jan 2012)
Log Message:
-----------
an ivy file describing all the gate dependencies, plus wiring it into a 
standalone ant target -- note that this isn't currently used in the build in 
any way at all

Modified Paths:
--------------
    gate/trunk/build.xml

Added Paths:
-----------
    gate/trunk/ivy.xml

Modified: gate/trunk/build.xml
===================================================================
--- gate/trunk/build.xml        2012-01-22 20:19:17 UTC (rev 15191)
+++ gate/trunk/build.xml        2012-01-22 20:29:48 UTC (rev 15192)
@@ -1,6 +1,6 @@
 <?xml version="1.0"?>
 <!-- $Id$ -->
-<project name="GATE" default="all" basedir=".">
+<project name="GATE" default="all" basedir="." 
xmlns:ivy="antlib:org.apache.ivy.ant">
        <description>
       GATE
       see http://gate.ac.uk
@@ -289,9 +289,30 @@
                </copy>
        </target>
 
+       <target name="prepare.lib">
+               <!-- build the full classpath using ivy to resolve dependencies 
-->
+               <taskdef resource="org/apache/ivy/ant/antlib.xml" 
uri="antlib:org.apache.ivy.ant">
+                       <classpath>
+                               <pathelement location="${libDir}/ivy-2.2.0.jar" 
/>
+                       </classpath>
+               </taskdef>
 
+               <!-- retrieve everything and put the jars in lib without version
+                      numbers to simplify build scripts, eclipse classpaths 
etc. -->
+               <ivy:retrieve sync="true" pattern="lib/[artifact].[ext]" />
 
+               <!-- generate the pretty HTML report for what we just retrieved 
-->
+               <ivy:report todir="lib" graph="false" />
 
+               <!-- convert the Ivy file into a Maven POM. Note that this is 
most definately
+                     experimental and doesn't yet replace the one in 
gate/build/deploy/maven
+               <ivy:makepom ivyfile="gate-ivy.xml" pomfile="gate.pom.xml">
+                       <mapping conf="required,compile" scope="compile"/>
+                       <mapping conf="required,runtime" scope="runtime"/>
+               </ivy:makepom>  -->
+       </target>
+
+
        <!-- Calculates dependencies for the source code -->
        <target name="depend">
                <depend srcdir="${srcDir}" destdir="${outputDir}" 
cache="${buildDir}/depcache" closure="yes" />

Added: gate/trunk/ivy.xml
===================================================================
--- gate/trunk/ivy.xml                          (rev 0)
+++ gate/trunk/ivy.xml  2012-01-22 20:29:48 UTC (rev 15192)
@@ -0,0 +1,123 @@
+<ivy-module version="2.0">
+
+  <info organisation="uk.ac.gate" module="gate-core" revision="7.0-SNAPSHOT">
+    <ivyauthor name="Mark A. Greenwood" />
+    <description homepage="http://gate.ac.uk"; />
+  </info>
+ 
+  <!-- by default we want the master artifact and it's runtime dependencies
+       for each of the dependencies we iclude - if we want more/less then it
+       is trivial to specify a conf attribute on the dependency itself -->
+  <configurations defaultconfmapping="required->master,runtime">
+    <conf name="required" visibility="private" description="all these 
dependencies are always needed" />
+    <conf name="compile" extends="required" description="all the required 
stuff plus things only needed for compilation (i.e. javacc)" />
+    <conf name="runtime" extends="required" description="all the required 
stuff plus things needed at runtime (i.e. the tika parsers)" />
+    <conf name="test" extends="runtime,compile" description="we need 
everything if we want to run the tests" />
+    <conf name="all" extends="runtime,compile" description="absolutely every 
dependency we have listed" />
+
+    <!-- these are used if someone else references us -->
+    <conf name="master" />
+    <conf name="default" extends="master,all" />
+  </configurations>
+
+  <dependencies>       
+    <!-- things that we repackage under an alternative package name -->
+    <dependency org="uk.ac.gate" name="gate-asm" rev="3.1" 
conf="required->master" />
+    <dependency org="uk.ac.gate" name="gate-compiler-jdt" rev="3.7.1" 
conf="required->master" />
+
+    <!-- needed to build the JAPE parser -->
+    <dependency org="net.java.dev.javacc" name="javacc" rev="5.0" 
conf="compile->master,runtime" />
+
+    <!-- needed to prodcue the nice HTML versions of the Java code that get 
added to the javadocs -->
+    <dependency org="de.java2html" name="java2html" rev="5.0" 
conf="compile->master,runtime" />
+
+    <!-- needed to ensure the same version across configurations -->
+    <dependency org="commons-logging" name="commons-logging" rev="1.1.1" />
+
+    <!-- used for escaping strings in the Annotation Stack and elsewhere -->
+    <dependency org="commons-lang" name="commons-lang" rev="2.6" />
+
+    <!-- used to load files into String variables as well as helping to close 
streams etc. -->
+    <dependency org="commons-io" name="commons-io" rev="1.4" />
+
+    <!-- the logging framework GATE uses -->
+    <dependency org="log4j" name="log4j" rev="1.2.16" />
+
+    <!-- used extensively throughout GATE for processing XML files -->
+    <dependency org="jdom" name="jdom" rev="1.0"/>
+
+    <!-- used to parse and load HTML documents into GATE -->
+    <dependency org="net.sourceforge.nekohtml" name="nekohtml" rev="1.9.14" />
+
+    <!-- we use Tika to handle most document formats other than XML, HTML and 
TXT -->
+    <dependency org="org.apache.tika" name="tika-core" rev="1.0" 
conf="compile->master,runtime" />
+
+    <!-- the actual Tika pased format parsers -->
+    <dependency org="org.apache.tika" name="tika-parsers" rev="1.0" 
conf="runtime->master,runtime" >
+      <!-- we don't currently use the RSS/ATOM aspects of Tika so we don't 
need ROME -->
+      <exclude org="rome" module="rome" />
+
+      <!-- we don't currently support netCDF documents so we don't need this 
-->
+      <exclude org="edu.ucar" module="netcdf" />
+
+      <!-- we don't use Tika to parse HTML so we don't need it's HTML parser 
-->
+      <exclude org="org.ccil.cowan.tagsoup" module="tagsoup" />
+
+      <!-- we don't use Tika to parse Java classes so we don't need ASM -->
+      <exclude org="asm" module="asm" />
+
+      <!-- we exclude boilerpipe as it isn't required for Tika given the way we
+           currently configure it, and it contains a copy of NekoHTML which 
causes
+           HTML parsing in GATE to change, and the tests to break -->
+      <exclude org="de.l3s.boilerpipe" module="boilerpipe" />
+    </dependency>
+
+    <!-- We use Woodstox instead of the default Sun StAX implementation as it 
seems to behave better.
+         NOTE: I don't know if this is still the case but it seems safer not 
to break things! -->
+    <dependency org="org.codehaus.woodstox" name="wstx-lgpl" rev="3.2.3" />
+
+    <!-- we need Ivy both for processing this file and for creole plugins 
which use the IVY element -->
+    <dependency org="org.apache.ivy" name="ivy" rev="2.2.0" />
+
+    <!-- ANT is used internally by GATE for some tasks, such as the export for 
GATECloud.net -->
+    <dependency org="org.apache.ant" name="ant" rev="1.8.1" />
+    <dependency org="org.apache.ant" name="ant-launcher" rev="1.8.1" />
+    
+    <!-- this provides the for loop support we use in the build file -->
+    <dependency org="ant-contrib" name="ant-contrib" rev="1.0b3" 
conf="required->master" />
+    
+    <!--required for loading and saving .gapp files and by sime plugins.
+        we pull in the full XPP3 so we only need XStream's master artifact -->
+    <dependency org="com.thoughtworks.xstream" name="xstream" rev="1.4.2" 
conf="required->master" />
+
+    <!-- XPP3 provides the actual implementation under pinning our use of 
XStream -->
+    <dependency org="xpp3" name="xpp3" rev="1.1.3.4.O" 
conf="runtime->master,runtime" />
+
+    <!-- needed by XSteam at runtime -->
+    <dependency org="jaxen" name="jaxen" rev="1.1" conf="runtime->master" />
+
+    <!-- used to parse command line options passed to the GATE GUI -->
+    <dependency org="urbanophile" name="java-getopt" rev="1.0.9" />
+
+    <!-- required for Spring Framework support in GATE -->
+    <dependency org="org.springframework" name="spring-beans" rev="2.0.8" />
+
+    <!-- required when using the <gate:pooled-proxy> decorator in Spring -->
+    <dependency org="org.springframework" name="spring-aop" rev="2.0.8" />
+
+    <!-- required by the ANNIC searchable DataStore. -->
+    <dependency org="org.apache.lucene" name="lucene-core" rev="3.5.0" />
+
+    <!-- Used for comparing XML files during some of the GATE tests -->
+    <dependency org="xmlunit" name="xmlunit" rev="1.2" conf="required->master" 
/>
+
+    <!-- Used for testing GATE -->
+    <dependency org="junit" name="junit" rev="4.10" conf="compile->master" />
+
+    <!-- exclude stuff that is part of Java 6 core -->
+    <exclude org="xml-apis" module="xml-apis" />
+    <exclude org="stax" module="stax-api" />
+    <exclude org="org.apache.geronimo.specs" 
module="geronimo-stax-api_1.0_spec" />
+  </dependencies>
+
+</ivy-module>

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Try before you buy = See our experts in action!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-dev2
_______________________________________________
GATE-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gate-cvs

Reply via email to