incubator-ivy-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From maart...@apache.org
Subject svn commit: r582017 - in /incubator/ivy/core/trunk: ./ doc/ src/java/org/apache/ivy/ant/ test/java/org/apache/ivy/ant/ test/java/org/apache/ivy/core/cache/ test/java/org/apache/ivy/core/event/ test/java/org/apache/ivy/core/retrieve/ test/java/org/apach...
Date Thu, 04 Oct 2007 21:47:07 GMT
Author: maartenc
Date: Thu Oct  4 14:47:06 2007
New Revision: 582017

URL: http://svn.apache.org/viewvc?rev=582017&view=rev
Log:
FIX: Ivy doesn't work with Ant 1.6.2 (IVY-614)

Modified:
    incubator/ivy/core/trunk/CHANGES.txt
    incubator/ivy/core/trunk/build.properties
    incubator/ivy/core/trunk/build.xml
    incubator/ivy/core/trunk/doc/dev.html
    incubator/ivy/core/trunk/doc/tutorial.html
    incubator/ivy/core/trunk/ivy.xml
    incubator/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyBuildList.java
    incubator/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyReport.java
    incubator/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyTask.java
    incubator/ivy/core/trunk/test/java/org/apache/ivy/ant/IvyTaskTest.java
    incubator/ivy/core/trunk/test/java/org/apache/ivy/core/cache/CacheManagerTest.java
    incubator/ivy/core/trunk/test/java/org/apache/ivy/core/event/IvyEventFilterTest.java
    incubator/ivy/core/trunk/test/java/org/apache/ivy/core/retrieve/RetrieveTest.java
    incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorParserTest.java
    incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/report/XmlReportOutputterTest.java
    incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/report/XmlReportParserTest.java

Modified: incubator/ivy/core/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/CHANGES.txt?rev=582017&r1=582016&r2=582017&view=diff
==============================================================================
--- incubator/ivy/core/trunk/CHANGES.txt (original)
+++ incubator/ivy/core/trunk/CHANGES.txt Thu Oct  4 14:47:06 2007
@@ -52,6 +52,7 @@
 
    version in SVN
 =====================================
+- FIX: Ivy doesn't work with Ant 1.6.2 (IVY-614)
 - FIX: EmptyStackException when upgrading from 1.4 to 2.0 (IVY-610)
 - FIX: Ivy:retrieve fails through proxy server (IVY-529)
 - FIX: java.lang.IllegalArgumentException: Invalid uri when working with version ranges (IVY-390)

Modified: incubator/ivy/core/trunk/build.properties
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/build.properties?rev=582017&r1=582016&r2=582017&view=diff
==============================================================================
--- incubator/ivy/core/trunk/build.properties (original)
+++ incubator/ivy/core/trunk/build.properties Thu Oct  4 14:47:06 2007
@@ -23,6 +23,7 @@
 build.dir=${basedir}/build
 classes.build.dir=${basedir}/build/classes
 core.classes.build.dir=${classes.build.dir}/core
+bootstrap.classes.build.dir=${classes.build.dir}/bootstrap
 ant.classes.build.dir=${classes.build.dir}/ant
 optional.classes.build.dir=${classes.build.dir}/optional
 test.build.dir=${basedir}/build/test

Modified: incubator/ivy/core/trunk/build.xml
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/build.xml?rev=582017&r1=582016&r2=582017&view=diff
==============================================================================
--- incubator/ivy/core/trunk/build.xml (original)
+++ incubator/ivy/core/trunk/build.xml Thu Oct  4 14:47:06 2007
@@ -17,506 +17,542 @@
    under the License.    
 -->
 <project name="ivy" default="coverage-report" xmlns:ivy="antlib:org.apache.ivy.ant">
+
 	<property environment="env" />
-	<property file="version.properties" />
-	<property file="build.properties" />
+    <property file="version.properties" />
+    <property file="build.properties" />
 
-	<property name="final.name" value="ivy.jar" />
-	<property name="final.core.name" value="ivy-core.jar" />
-	
-	<target name="init-ivy-user-home" unless="ivy.use.local.home">
-		<condition property="ivy.home" value="${env.IVY_HOME}">
-			<isset property="env.IVY_HOME" />
-		</condition>
-		<property name="ivy.home" value="${user.home}/.ivy2" />
-	</target>
-	
-	<target name="init-ivy-local-home" if="ivy.use.local.home">
-		<property name="ivy.home" value="${basedir}/.ivy2" />
-	</target>
-	
-	<target name="init-ivy-home" depends="init-ivy-user-home, init-ivy-local-home" />
-
-	<target name="init-ivy" depends="compile-ant">
-		<taskdef resource="org/apache/ivy/ant/antlib.xml"
-				uri="antlib:org.apache.ivy.ant">
-			<classpath>
-				<pathelement location="${core.classes.build.dir}" />
-				<pathelement location="${ant.classes.build.dir}" />
-			</classpath>
-		</taskdef>
-		
-		<ivy:settings id="ivy.instance" />
-	</target>
-	
-	<target name="install" depends="jar" description="build Ivy and install it in Ivy home for consecutive builds">
-		<property name="ivy.jar.file" value="${ivy.home}/jars/ivy.jar" />
-		<copy file="${artifacts.build.dir}/${final.name}" tofile="${ivy.jar.file}" />
-	</target>
-
-	<!-- =================================================================
-	     PREPARATION, CLEANING AND FLAGS TASKS
-	     ================================================================= -->
-	<target name="init">
-		<path id="build.classpath">
-			<fileset dir="${lib.dir}">
-				<include name="*.jar" />
-			</fileset>
-		</path>
-		<path id="run.classpath">
-			<path refid="build.classpath" />
-			<pathelement location="${core.classes.build.dir}" />
-			<pathelement location="${ant.classes.build.dir}" />
-			<pathelement location="${optional.classes.build.dir}" />
-		</path>
-		<path id="test.classpath">
-			<path refid="run.classpath" />
-			<pathelement path="${test.build.dir}" />
-		</path>
-	</target>
-	
-	<target name="prepare" depends="init">
-		<mkdir dir="${classes.build.dir}" />
-		<mkdir dir="${core.classes.build.dir}" />
-		<mkdir dir="${ant.classes.build.dir}" />
-		<mkdir dir="${optional.classes.build.dir}" />
-		<mkdir dir="${test.build.dir}" />
-		<mkdir dir="${artifacts.build.dir}" />
-		<mkdir dir="${test.report.dir}" />
-	</target>
-	
-	<target name="clean">
-		<delete dir="${classes.build.dir}" />
-		<delete dir="${test.build.dir}" />
-		<delete dir="${artifacts.build.dir}" />
-		<delete dir="${test.report.dir}" />
-		<delete dir="${javadoc.build.dir}" />
-		<delete dir="${doc.build.dir}" />
-		<delete dir="${build.dir}" />
-	</target>
-	
-	<target name="clean-lib">
-		<delete dir="${lib.dir}" />
-	</target>
-	
-	<target name="clean-ivy-cache" depends="init-ivy-home">
-		<delete dir="${ivy.home}/cache" />
-	</target>
-	
-	<target name="clean-ivy-home" depends="init-ivy-home">
-		<delete dir="${ivy.home}" />
-	</target>
-	
-	<target name="clean-examples" description="clean all examples">
-		<subant target="clean" failonerror="false">
-			<fileset dir="${example.dir}" includes="**/build.xml" />
-		</subant>		
-	</target>
-	
-	<target name="clean-all" depends="clean, clean-lib, clean-examples" />
-	
-	<target name="/noresolve" description="use to skip dependency resolution">
-		<property name="no.resolve" value="true" />
-	</target>
-	
-	<target name="/notest" description="use to skip tests">
-		<property name="skip.test" value="true" />
-	</target>
-	
-	<target name="/nojavadoc" description="use to skip javadoc">
-		<property name="skip.javadoc" value="true" />
-	</target>
-	
-	<target name="/localivy" description="use a local ivy home">
-		<property name="ivy.use.local.home" value="true" />
-	</target>
-	
-	<target name="/offline" depends="/noresolve" description="use to indicate no internet connection is available">
-		<property name="offline" value="true" />
-	</target>
-	
-	<target name="default-version">
-		<tstamp> 
-			<format property="pubdate" pattern="yyyyMMddHHmmss" />
-		</tstamp>
-		<property name="version.prefix" value="${target.ivy.version}-local-" />
-		<property name="build.version" value="${version.prefix}${pubdate}" />
-		<property name="bundle.version" value="${target.ivy.bundle.version}" />
-	</target>
-
-	<!-- =================================================================
-	     DEPENDENCY MNGT, COMPILATION AND JAR
-	     ================================================================= -->
-	<target name="resolve" depends="init-ivy" unless="no.resolve">
-		<ivy:retrieve conf="default,test" pattern="${lib.dir}/[artifact].[ext]" />
-	</target>
-
-	<target name="compile-core" depends="prepare">
-		<javac	srcdir="${src.dir}"
-				destdir="${core.classes.build.dir}"
-				sourcepath="" 
-				source="${ivy.minimum.javaversion}"
-				target="${ivy.minimum.javaversion}"
-				debug="${debug.mode}"
-				includeantruntime="no">
-			<excludesfile name="ant.patterns" />
-			<excludesfile name="optional.patterns" />
-		</javac>
-		<copy todir="${core.classes.build.dir}" includeEmptyDirs="false">
-    		<fileset dir="${src.dir}">
-      			<exclude name="**/*.java" />
-    			<excludesfile name="ant.patterns" />
-    			<excludesfile name="optional.patterns" />
-    		</fileset>
-  		</copy>
-		
-		<!-- copy settings files for backward compatibility with ivyconf naming -->
-		<copy file="${core.classes.build.dir}/org/apache/ivy/core/settings/ivysettings-local.xml"
-			tofile="${core.classes.build.dir}/org/apache/ivy/core/settings/ivyconf-local.xml" />
-		<copy file="${core.classes.build.dir}/org/apache/ivy/core/settings/ivysettings-default-chain.xml"
-			tofile="${core.classes.build.dir}/org/apache/ivy/core/settings/ivyconf-default-chain.xml" />
-		<copy file="${core.classes.build.dir}/org/apache/ivy/core/settings/ivysettings-main-chain.xml"
-			tofile="${core.classes.build.dir}/org/apache/ivy/core/settings/ivyconf-main-chain.xml" />
-		<copy file="${core.classes.build.dir}/org/apache/ivy/core/settings/ivysettings-public.xml"
-			tofile="${core.classes.build.dir}/org/apache/ivy/core/settings/ivyconf-public.xml" />
-		<copy file="${core.classes.build.dir}/org/apache/ivy/core/settings/ivysettings-shared.xml"
-			tofile="${core.classes.build.dir}/org/apache/ivy/core/settings/ivyconf-shared.xml" />
-		<copy file="${core.classes.build.dir}/org/apache/ivy/core/settings/ivysettings.xml"
-			tofile="${core.classes.build.dir}/org/apache/ivy/core/settings/ivyconf.xml" />
-	</target>
-
-	<target name="compile-ant" depends="compile-core">
-		<javac	srcdir="${src.dir}"
-				destdir="${ant.classes.build.dir}"
-				sourcepath="" 
-				source="${ivy.minimum.javaversion}"
-				target="${ivy.minimum.javaversion}"
-	    	    debug="${debug.mode}"
-				includeantruntime="yes">
-			<classpath>
-				<pathelement location="${core.classes.build.dir}" />
-			</classpath>
-			<includesfile name="ant.patterns" />
-		</javac>
-		<copy todir="${ant.classes.build.dir}" includeEmptyDirs="false">
-			<fileset dir="${src.dir}">
-				<includesfile name="ant.patterns" />
-				<exclude name="**/*.java" />
-			    </fileset>
-		</copy>
-		
-		<!-- copy antlib for backward compatibility with fr.jayasoft.ivy package -->
-		<copy file="${ant.classes.build.dir}/org/apache/ivy/ant/antlib.xml" 
-				todir="${ant.classes.build.dir}/fr/jayasoft/ivy/ant" />
-	</target>
-	
-	<target name="compile-optional" depends="compile-ant, resolve">
-		<javac	srcdir="${src.dir}"
-				destdir="${optional.classes.build.dir}"
-				sourcepath="" 
-				source="${ivy.minimum.javaversion}"
-				target="${ivy.minimum.javaversion}"
-				debug="${debug.mode}"
-				includeantruntime="no">
-			<classpath>
-				<pathelement location="${core.classes.build.dir}" />
-				<fileset dir="${lib.dir}">
-					<include name="**/*.jar"/>
-				</fileset>
-			</classpath>
-			<includesfile name="optional.patterns" />
-		</javac>
-		<copy todir="${core.classes.build.dir}" includeEmptyDirs="false">
-			<fileset dir="${src.dir}">
-				<includesfile name="optional.patterns" />
-				<exclude name="**/*.java" />
-			</fileset>
-  		</copy>
-	</target>
-
-	<!-- =================================================================
-	     Create the two jar files (Ivy core and Ivy core + Ant tasks)
-	     ================================================================= -->
-	<target name="jar" depends="compile-optional, default-version" description="Create Jar files">
-		<!-- identify compiled ivy version -->
-		<echo message="version=${build.version}${line.separator}" file="${core.classes.build.dir}/module.properties" append="true" />
-		<echo message="date=${pubdate}${line.separator}" file="${core.classes.build.dir}/module.properties" append="true" />
-
-		<!-- package the two ivy jars -->
-		<jar destfile="${artifacts.build.dir}/${final.name}"
-				manifest="${basedir}/MANIFEST.MF">
-			<metainf dir="${basedir}" includes="LICENSE,DISCLAIMER,NOTICE" />
-			<manifest>
-				<attribute name="Specification-Title" value="Apache Ivy with Ant tasks" />
-				<attribute name="Specification-Version" value="${build.version}" />
-				<attribute name="Specification-Vendor" value="Apache Software Foundation" />
-				<attribute name="Implementation-Title" value="org.apache.ivy" />
-				<attribute name="Implementation-Version" value="${build.version}" />
-				<attribute name="Implementation-Vendor" value="Apache Software Foundation" />
-				<attribute name="Implementation-Vendor-Id" value="org.apache" />
-				<attribute name="Extension-name" value="org.apache.ivy" />
-				<attribute name="Build-Version" value="${build.version}" />
-				<attribute name="Bundle-Version" value="${bundle.version}" />
-			</manifest>
-			<fileset dir="${core.classes.build.dir}" />
-			<fileset dir="${ant.classes.build.dir}" />
-			<fileset dir="${optional.classes.build.dir}" />
-		</jar>
-  		<jar destfile="${artifacts.build.dir}/${final.core.name}">
-			<metainf dir="${basedir}" includes="LICENSE,DISCLAIMER,NOTICE" />
-			<manifest>
-				<attribute name="Specification-Title" value="Apache Ivy Core (without Ant tasks)" />
-				<attribute name="Specification-Version" value="${build.version}" />
-				<attribute name="Specification-Vendor" value="Apache Software Foundation" />
-				<attribute name="Implementation-Title" value="org.apache.ivy" />
-				<attribute name="Implementation-Version" value="${build.version}" />
-				<attribute name="Implementation-Vendor" value="Apache Software Foundation" />
-				<attribute name="Implementation-Vendor-Id" value="org.apache" />
-				<attribute name="Build-Version" value="${build.version}" />
-			</manifest>
-			<fileset dir="${core.classes.build.dir}" />
-			<fileset dir="${optional.classes.build.dir}" />
-		</jar>
-		<echo  file="${artifacts.build.dir}/readme.txt">The Ivy jars explained${line.separator}
+    <property name="final.name" value="ivy.jar" />
+    <property name="final.core.name" value="ivy-core.jar" />
+    
+    <target name="init-ivy-user-home" unless="ivy.use.local.home">
+        <condition property="ivy.home" value="${env.IVY_HOME}">
+            <isset property="env.IVY_HOME" />
+        </condition>
+        <property name="ivy.home" value="${user.home}/.ivy2" />
+    </target>
+    
+    <target name="init-ivy-local-home" if="ivy.use.local.home">
+        <property name="ivy.home" value="${basedir}/.ivy2" />
+    </target>
+    
+    <target name="init-ivy-home" depends="init-ivy-user-home, init-ivy-local-home" />
+
+    <target name="init-ivy" depends="compile-bootstrap">
+        <taskdef resource="org/apache/ivy/ant/antlib.xml"
+                uri="antlib:org.apache.ivy.ant">
+            <classpath>
+                <pathelement location="${core.classes.build.dir}" />
+                <pathelement location="${bootstrap.classes.build.dir}" />
+            </classpath>
+        </taskdef>
+    	
+        <ivy:settings id="ivy.instance" />
+    </target>
+    
+    <target name="install" depends="jar" description="build Ivy and install it in Ivy home for consecutive builds">
+        <property name="ivy.jar.file" value="${ivy.home}/jars/ivy.jar" />
+        <copy file="${artifacts.build.dir}/${final.name}" tofile="${ivy.jar.file}" />
+    </target>
+
+    <!-- =================================================================
+         PREPARATION, CLEANING AND FLAGS TASKS
+         ================================================================= -->
+    <target name="init">
+        <path id="build.classpath">
+            <fileset dir="${lib.dir}">
+                <include name="*.jar" />
+            </fileset>
+        </path>
+        <path id="run.classpath">
+            <path refid="build.classpath" />
+            <pathelement location="${core.classes.build.dir}" />
+            <pathelement location="${ant.classes.build.dir}" />
+            <pathelement location="${optional.classes.build.dir}" />
+        </path>
+        <path id="test.classpath">
+            <path refid="run.classpath" />
+            <pathelement path="${test.build.dir}" />
+        </path>
+    </target>
+    
+    <target name="prepare" depends="init">
+        <mkdir dir="${classes.build.dir}" />
+        <mkdir dir="${core.classes.build.dir}" />
+    	<mkdir dir="${bootstrap.classes.build.dir}" />
+        <mkdir dir="${ant.classes.build.dir}" />
+        <mkdir dir="${optional.classes.build.dir}" />
+        <mkdir dir="${test.build.dir}" />
+        <mkdir dir="${artifacts.build.dir}" />
+        <mkdir dir="${test.report.dir}" />
+    </target>
+    
+    <target name="clean">
+        <delete dir="${classes.build.dir}" />
+        <delete dir="${test.build.dir}" />
+        <delete dir="${artifacts.build.dir}" />
+        <delete dir="${test.report.dir}" />
+        <delete dir="${javadoc.build.dir}" />
+        <delete dir="${doc.build.dir}" />
+        <delete dir="${build.dir}" />
+    </target>
+    
+    <target name="clean-lib">
+        <delete dir="${lib.dir}" />
+    </target>
+    
+    <target name="clean-ivy-cache" depends="init-ivy-home">
+        <delete dir="${ivy.home}/cache" />
+    </target>
+    
+    <target name="clean-ivy-home" depends="init-ivy-home">
+        <delete dir="${ivy.home}" />
+    </target>
+    
+    <target name="clean-examples" description="clean all examples">
+        <subant target="clean" failonerror="false">
+            <fileset dir="${example.dir}" includes="**/build.xml" />
+        </subant>       
+    </target>
+    
+    <target name="clean-all" depends="clean, clean-lib, clean-examples" />
+    
+    <target name="/noresolve" description="use to skip dependency resolution">
+        <property name="no.resolve" value="true" />
+    </target>
+    
+    <target name="/notest" description="use to skip tests">
+        <property name="skip.test" value="true" />
+    </target>
+    
+    <target name="/nojavadoc" description="use to skip javadoc">
+        <property name="skip.javadoc" value="true" />
+    </target>
+    
+    <target name="/localivy" description="use a local ivy home">
+        <property name="ivy.use.local.home" value="true" />
+    </target>
+    
+    <target name="/offline" depends="/noresolve" description="use to indicate no internet connection is available">
+        <property name="offline" value="true" />
+    </target>
+    
+    <target name="default-version">
+        <tstamp> 
+            <format property="pubdate" pattern="yyyyMMddHHmmss" />
+        </tstamp>
+        <property name="version.prefix" value="${target.ivy.version}-local-" />
+        <property name="build.version" value="${version.prefix}${pubdate}" />
+        <property name="bundle.version" value="${target.ivy.bundle.version}" />
+    </target>
+
+    <!-- =================================================================
+         DEPENDENCY MNGT, COMPILATION AND JAR
+         ================================================================= -->
+    <target name="resolve" depends="init-ivy" unless="no.resolve">
+        <ivy:retrieve conf="default,test" pattern="${lib.dir}/[artifact].[ext]" sync="yes"/>
+    </target>
+
+    <target name="compile-core" depends="prepare">
+        <javac  srcdir="${src.dir}"
+                destdir="${core.classes.build.dir}"
+                sourcepath="" 
+                source="${ivy.minimum.javaversion}"
+                target="${ivy.minimum.javaversion}"
+                debug="${debug.mode}"
+                includeantruntime="no">
+            <excludesfile name="ant.patterns" />
+            <excludesfile name="optional.patterns" />
+        </javac>
+        <copy todir="${core.classes.build.dir}" includeEmptyDirs="false">
+            <fileset dir="${src.dir}">
+                <exclude name="**/*.java" />
+                <excludesfile name="ant.patterns" />
+                <excludesfile name="optional.patterns" />
+            </fileset>
+        </copy>
+        
+        <!-- copy settings files for backward compatibility with ivyconf naming -->
+        <copy file="${core.classes.build.dir}/org/apache/ivy/core/settings/ivysettings-local.xml"
+            tofile="${core.classes.build.dir}/org/apache/ivy/core/settings/ivyconf-local.xml" />
+        <copy file="${core.classes.build.dir}/org/apache/ivy/core/settings/ivysettings-default-chain.xml"
+            tofile="${core.classes.build.dir}/org/apache/ivy/core/settings/ivyconf-default-chain.xml" />
+        <copy file="${core.classes.build.dir}/org/apache/ivy/core/settings/ivysettings-main-chain.xml"
+            tofile="${core.classes.build.dir}/org/apache/ivy/core/settings/ivyconf-main-chain.xml" />
+        <copy file="${core.classes.build.dir}/org/apache/ivy/core/settings/ivysettings-public.xml"
+            tofile="${core.classes.build.dir}/org/apache/ivy/core/settings/ivyconf-public.xml" />
+        <copy file="${core.classes.build.dir}/org/apache/ivy/core/settings/ivysettings-shared.xml"
+            tofile="${core.classes.build.dir}/org/apache/ivy/core/settings/ivyconf-shared.xml" />
+        <copy file="${core.classes.build.dir}/org/apache/ivy/core/settings/ivysettings.xml"
+            tofile="${core.classes.build.dir}/org/apache/ivy/core/settings/ivyconf.xml" />
+    </target>
+
+	<!-- Build the Ant tasks with the current Ant runtime -->
+    <target name="compile-bootstrap" depends="compile-core">
+        <javac  srcdir="${src.dir}"
+                destdir="${bootstrap.classes.build.dir}"
+                sourcepath="" 
+                source="${ivy.minimum.javaversion}"
+                target="${ivy.minimum.javaversion}"
+                debug="${debug.mode}"
+                includeantruntime="yes">
+            <classpath>
+                <pathelement location="${core.classes.build.dir}" />
+            </classpath>
+            <includesfile name="ant.patterns" />
+        </javac>
+        <copy todir="${bootstrap.classes.build.dir}" includeEmptyDirs="false">
+            <fileset dir="${src.dir}">
+                <includesfile name="ant.patterns" />
+                <exclude name="**/*.java" />
+            </fileset>
+        </copy>
+    </target>
+    
+	<!-- Build the Ant tasks with the minimal Ant runtime -->
+    <target name="compile-ant" depends="compile-core, resolve">
+        <javac  srcdir="${src.dir}"
+                destdir="${ant.classes.build.dir}"
+                sourcepath="" 
+                source="${ivy.minimum.javaversion}"
+                target="${ivy.minimum.javaversion}"
+                debug="${debug.mode}"
+                includeantruntime="no">
+            <classpath>
+                <pathelement location="${core.classes.build.dir}" />
+                <fileset dir="${lib.dir}">
+                    <include name="**/*.jar"/>
+                </fileset>
+            </classpath>
+            <includesfile name="ant.patterns" />
+        </javac>
+        <copy todir="${ant.classes.build.dir}" includeEmptyDirs="false">
+            <fileset dir="${src.dir}">
+                <includesfile name="ant.patterns" />
+                <exclude name="**/*.java" />
+            </fileset>
+        </copy>
+        
+        <!-- copy antlib for backward compatibility with fr.jayasoft.ivy package -->
+        <copy file="${ant.classes.build.dir}/org/apache/ivy/ant/antlib.xml" 
+                todir="${ant.classes.build.dir}/fr/jayasoft/ivy/ant" />
+    </target>
+    
+    <target name="compile-optional" depends="compile-ant, resolve">
+        <javac  srcdir="${src.dir}"
+                destdir="${optional.classes.build.dir}"
+                sourcepath="" 
+                source="${ivy.minimum.javaversion}"
+                target="${ivy.minimum.javaversion}"
+                debug="${debug.mode}"
+                includeantruntime="no">
+            <classpath>
+                <pathelement location="${core.classes.build.dir}" />
+                <fileset dir="${lib.dir}">
+                    <include name="**/*.jar"/>
+                </fileset>
+            </classpath>
+            <includesfile name="optional.patterns" />
+            <includesfile name="ant.patterns" />
+        </javac>
+        <copy todir="${core.classes.build.dir}" includeEmptyDirs="false">
+            <fileset dir="${src.dir}">
+                <includesfile name="optional.patterns" />
+                <exclude name="**/*.java" />
+            </fileset>
+        </copy>
+    </target>
+
+    <!-- =================================================================
+         Create the two jar files (Ivy core and Ivy core + Ant tasks)
+         ================================================================= -->
+    <target name="jar" depends="compile-optional, default-version" description="Create Jar files">
+        <!-- identify compiled ivy version -->
+        <echo message="version=${build.version}${line.separator}" file="${core.classes.build.dir}/module.properties" append="true" />
+        <echo message="date=${pubdate}${line.separator}" file="${core.classes.build.dir}/module.properties" append="true" />
+
+        <!-- package the two ivy jars -->
+        <jar destfile="${artifacts.build.dir}/${final.name}"
+                manifest="${basedir}/MANIFEST.MF">
+            <metainf dir="${basedir}" includes="LICENSE,DISCLAIMER,NOTICE" />
+            <manifest>
+                <attribute name="Specification-Title" value="Apache Ivy with Ant tasks" />
+                <attribute name="Specification-Version" value="${build.version}" />
+                <attribute name="Specification-Vendor" value="Apache Software Foundation" />
+                <attribute name="Implementation-Title" value="org.apache.ivy" />
+                <attribute name="Implementation-Version" value="${build.version}" />
+                <attribute name="Implementation-Vendor" value="Apache Software Foundation" />
+                <attribute name="Implementation-Vendor-Id" value="org.apache" />
+                <attribute name="Extension-name" value="org.apache.ivy" />
+                <attribute name="Build-Version" value="${build.version}" />
+                <attribute name="Bundle-Version" value="${bundle.version}" />
+            </manifest>
+            <fileset dir="${core.classes.build.dir}" />
+            <fileset dir="${ant.classes.build.dir}" />
+            <fileset dir="${optional.classes.build.dir}" />
+        </jar>
+        <jar destfile="${artifacts.build.dir}/${final.core.name}">
+            <metainf dir="${basedir}" includes="LICENSE,DISCLAIMER,NOTICE" />
+            <manifest>
+                <attribute name="Specification-Title" value="Apache Ivy Core (without Ant tasks)" />
+                <attribute name="Specification-Version" value="${build.version}" />
+                <attribute name="Specification-Vendor" value="Apache Software Foundation" />
+                <attribute name="Implementation-Title" value="org.apache.ivy" />
+                <attribute name="Implementation-Version" value="${build.version}" />
+                <attribute name="Implementation-Vendor" value="Apache Software Foundation" />
+                <attribute name="Implementation-Vendor-Id" value="org.apache" />
+                <attribute name="Build-Version" value="${build.version}" />
+            </manifest>
+            <fileset dir="${core.classes.build.dir}" />
+            <fileset dir="${optional.classes.build.dir}" />
+        </jar>
+        <echo  file="${artifacts.build.dir}/readme.txt">The Ivy jars explained${line.separator}
 ${line.separator}
 ${final.name}    The full Ivy jar, including all Ivy classes.${line.separator}
 ${final.core.name}    The Ivy core, eg everything but classes dependent on Ant.${line.separator}
-		</echo>
+        </echo>
 
-		<!-- clean generated module properties file -->
-		<delete file="${core.classes.build.dir}/module.properties" />
-	</target>
-
-	<!-- =================================================================
-	     PUBLISH LOCAL
-	     ================================================================= -->
-	<target name="publish-local" depends="jar" description="publishes Ivy to Ivy local repository">
-		<ivy:publish resolver="local" pubrevision="${build.version}"
-			artifactsPattern="${artifacts.build.dir}/[artifact].[ext]" 
-			forcedeliver="true" />
-	</target>
-	
-	<!-- =================================================================
-	     TESTS
-	     ================================================================= -->
-	<target name="build-custom-resolver-jar" depends="jar">
-		<mkdir dir="${build.dir}/custom-classpath" />
-		<javac 	srcdir="${basedir}/test/custom-classpath"
-		        destdir="${build.dir}/custom-classpath"
-		        classpathref="run.classpath"
-				source="${ivy.minimum.javaversion}"
-				target="${ivy.minimum.javaversion}"
-		        debug="${debug.mode}"
-				includeantruntime="no" />
-  		<jar 	destfile="${test.dir}/org/apache/ivy/core/settings/custom-resolver.jar"
-				basedir="${build.dir}/custom-classpath" />
-	</target>
-
-	<target name="init-tests-offline" if="offline">
- 		    <fileset id="test.fileset" dir="${test.dir}">
- 		    	<include name="**/${test.class.pattern}.java" />
- 		    	<exclude name="**/Abstract*Test.java" />
- 		    	<contains text="junit" />
- 		    	<not><contains text="remote.test" /></not>
- 		    </fileset>
-	</target>
-		
-	<target name="init-tests-online" unless="offline">
- 		    <fileset id="test.fileset" dir="${test.dir}">
- 		    	<include name="**/${test.class.pattern}.java" />
- 		    	<exclude name="**/Abstract*Test.java" />
- 		    	<contains text="junit" />
- 		    </fileset>
-	</target>
-	
-	<target name="init-tests" depends="init-tests-offline, init-tests-online" />
-	
-	<target name="emma" depends="jar" unless="skip.test">
-		<ivy:cachepath organisation="emma" module="emma" revision="2.0.5312" 
-			           inline="true" conf="default" pathid="emma.classpath" /> 
-		<ivy:cachepath organisation="emma" module="emma_ant" revision="2.0.5312" 
-			           inline="true" conf="default" pathid="emma.ant.classpath" transitive="false" /> 
-		<taskdef resource="emma_ant.properties">
-			<classpath refid="emma.classpath" />
-			<classpath refid="emma.ant.classpath" />
-		</taskdef>
-		<property name="emma.enabled" value="true" />
-		<property name="coverage.dir" value="${build.dir}/coverage" />
-		<property name="coverage.classes.dir" value="${coverage.dir}/classes" />
-		<mkdir dir="${coverage.dir}" />
-		<mkdir dir="${coverage.classes.dir}" />
-	    <emma enabled="${emma.enabled}">
-	      <instr mode="copy"
-	      	     destdir="${coverage.dir}/classes"
- 	      	     metadatafile="${coverage.dir}/metadata.emma">
-	      	<instrpath>
-				<pathelement location="${core.classes.build.dir}" />
-				<pathelement location="${ant.classes.build.dir}" />
-				<pathelement location="${optional.classes.build.dir}" />
-	      	</instrpath>
-	      </instr>
-	    </emma>
-		<delete file="${coverage.dir}/coverage.emma" />
-		<!-- add emma path to test path, because emma jars need to be available when running 
-		     instrumented classes -->
-		<ivy:addpath topath="test.classpath">
-		  <path refid="emma.classpath" />
-		</ivy:addpath>
-	</target>
-	
-	<target name="build-test" depends="jar">
-		<javac 	srcdir="${test.dir}"
-		        destdir="${test.build.dir}"
-		        classpathref="run.classpath"
-				source="${ivy.minimum.javaversion}"
-				target="${ivy.minimum.javaversion}"
-		        debug="${debug.mode}"
-				includeantruntime="no" />
-		<copy todir="${test.build.dir}">
-    		<fileset dir="${test.dir}">
-      			<exclude name="**/*.java" />
-    		</fileset>
-  		</copy>
-	</target>
-	
-	<target name="test-internal" depends="build-test, init-tests" unless="skip.test">
-  		<mkdir dir="${test.xml.dir}" />
+        <!-- clean generated module properties file -->
+        <delete file="${core.classes.build.dir}/module.properties" />
+    </target>
+
+    <!-- =================================================================
+         PUBLISH LOCAL
+         ================================================================= -->
+    <target name="publish-local" depends="jar" description="publishes Ivy to Ivy local repository">
+        <ivy:publish resolver="local" pubrevision="${build.version}"
+            artifactsPattern="${artifacts.build.dir}/[artifact].[ext]" 
+            forcedeliver="true" />
+    </target>
+    
+    <!-- =================================================================
+         TESTS
+         ================================================================= -->
+    <target name="build-custom-resolver-jar" depends="jar">
+        <mkdir dir="${build.dir}/custom-classpath" />
+        <javac  srcdir="${basedir}/test/custom-classpath"
+                destdir="${build.dir}/custom-classpath"
+                classpathref="run.classpath"
+                source="${ivy.minimum.javaversion}"
+                target="${ivy.minimum.javaversion}"
+                debug="${debug.mode}"
+                includeantruntime="no" />
+        <jar    destfile="${test.dir}/org/apache/ivy/core/settings/custom-resolver.jar"
+                basedir="${build.dir}/custom-classpath" />
+    </target>
+
+    <target name="init-tests-offline" if="offline">
+            <fileset id="test.fileset" dir="${test.dir}">
+                <include name="**/${test.class.pattern}.java" />
+                <exclude name="**/Abstract*Test.java" />
+                <contains text="junit" />
+                <not><contains text="remote.test" /></not>
+            </fileset>
+    </target>
+        
+    <target name="init-tests-online" unless="offline">
+            <fileset id="test.fileset" dir="${test.dir}">
+                <include name="**/${test.class.pattern}.java" />
+                <exclude name="**/Abstract*Test.java" />
+                <contains text="junit" />
+            </fileset>
+    </target>
+    
+    <target name="init-tests" depends="init-tests-offline, init-tests-online" />
+    
+    <target name="emma" depends="jar" unless="skip.test">
+        <ivy:cachepath organisation="emma" module="emma" revision="2.0.5312" 
+                       inline="true" conf="default" pathid="emma.classpath" /> 
+        <ivy:cachepath organisation="emma" module="emma_ant" revision="2.0.5312" 
+                       inline="true" conf="default" pathid="emma.ant.classpath" transitive="false" /> 
+        <taskdef resource="emma_ant.properties">
+            <classpath refid="emma.classpath" />
+            <classpath refid="emma.ant.classpath" />
+        </taskdef>
+        <property name="emma.enabled" value="true" />
+        <property name="coverage.dir" value="${build.dir}/coverage" />
+        <property name="coverage.classes.dir" value="${coverage.dir}/classes" />
+        <mkdir dir="${coverage.dir}" />
+        <mkdir dir="${coverage.classes.dir}" />
+        <emma enabled="${emma.enabled}">
+          <instr mode="copy"
+                 destdir="${coverage.dir}/classes"
+                 metadatafile="${coverage.dir}/metadata.emma">
+            <instrpath>
+                <pathelement location="${core.classes.build.dir}" />
+                <pathelement location="${ant.classes.build.dir}" />
+                <pathelement location="${optional.classes.build.dir}" />
+            </instrpath>
+          </instr>
+        </emma>
+        <delete file="${coverage.dir}/coverage.emma" />
+        <!-- add emma path to test path, because emma jars need to be available when running 
+             instrumented classes -->
+        <ivy:addpath topath="test.classpath">
+          <path refid="emma.classpath" />
+        </ivy:addpath>
+    </target>
+    
+    <target name="build-test" depends="jar">
+        <javac  srcdir="${test.dir}"
+                destdir="${test.build.dir}"
+                classpathref="run.classpath"
+                source="${ivy.minimum.javaversion}"
+                target="${ivy.minimum.javaversion}"
+                debug="${debug.mode}"
+                includeantruntime="no" />
+        <copy todir="${test.build.dir}">
+            <fileset dir="${test.dir}">
+                <exclude name="**/*.java" />
+            </fileset>
+        </copy>
+    </target>
+    
+    <target name="test-internal" depends="build-test, init-tests" unless="skip.test">
+        <mkdir dir="${test.xml.dir}" />
         <junit 
            haltonfailure="off"
-	       haltonerror="off"
-	       errorproperty="test.failed"
-	       failureproperty="test.failed"
-	       showoutput="no"
-	       printsummary="yes"
+           haltonerror="off"
+           errorproperty="test.failed"
+           failureproperty="test.failed"
+           showoutput="no"
+           printsummary="yes"
+           includeantruntime="no"
            fork="true">
-        	<classpath>
-        		<pathelement location="${coverage.classes.dir}" />
-        		<path refid="test.classpath" />
-        	</classpath>
+            <classpath>
+                <pathelement location="${coverage.classes.dir}" />
+                <fileset dir="${lib.dir}">
+                    <include name="*.jar" />
+                </fileset>
+                <pathelement location="${core.classes.build.dir}" />
+                <pathelement location="${ant.classes.build.dir}" />
+                <pathelement location="${optional.classes.build.dir}" />
+                <pathelement path="${test.build.dir}" />
+            </classpath>
             <jvmarg value="-Demma.coverage.out.file=${coverage.dir}/coverage.emma" />
             <jvmarg value="-Demma.coverage.out.merge=true" />
-        	
-        	<!-- Added this to test IVY-65 -->
+            
+            <!-- Added this to test IVY-65 -->
             <jvmarg value="-Duser.region=TR" />
             <jvmarg value="-Duser.language=tr" />
-        	
-			<formatter type="xml"/>
-			<batchtest todir="${test.xml.dir}">
-    		    <fileset refid="test.fileset" />
-			</batchtest>
+            
+            <formatter type="xml"/>
+            <batchtest todir="${test.xml.dir}">
+                <fileset refid="test.fileset" />
+            </batchtest>
         </junit>
-	</target>
+    </target>
 
-	<target name="test" depends="test-internal" description="Run the test">
-		<fail if="test.failed"
-		      message="At least one test has failed. See logs (in ${test.xml.dir}) for details (use the target test-report to run the test with a report)" />
-	</target>
-	
-	<!-- =================================================================
-	     REPORTS AND DOCUMENTATION
-	     ================================================================= -->
-	<target name="test-report" depends="test-internal" unless="skip.test">
-		<junitreport todir="${test.xml.dir}">
-			<fileset dir="${test.xml.dir}">
-				<include name="TEST-*.xml" />
-			</fileset>
-			<report format="frames" todir="${test.report.dir}" />
-		</junitreport>
-		<fail if="test.failed"
-		      message="At least one test has failed. See logs (in ${test.xml.dir}) or report (in ${test.report.dir})" />
-	</target>
-	
-	<target name="coverage-report" depends="emma, test-report"  unless="skip.test"
-			description="run tests with instrumentation and generate coverage report">
-		<mkdir dir="${coverage.report.dir}" />
-		<emma>
-		    <report sourcepath="${src.dir}">
-		        <fileset dir="${coverage.dir}">
-					<include name="*.emma" />
-		        </fileset>
-
-		        <txt outfile="${coverage.report.dir}/coverage.txt" />
-		        <html outfile="${coverage.report.dir}/coverage.html" />
-		     </report>
-		 </emma>
-	</target>
-	
-	<target name="javadoc" unless="skip.javadoc">
-		<javadoc destdir="${javadoc.build.dir}" useexternalfile="true">
-			<fileset dir="${src.dir}" includes="**/*.java,**/package.html" />
-		</javadoc>
-	</target>
-
-	<target name="fixcrlf">
-		<property name="eol.native.includes" 
-			value="**/*.html,**/*.json,**/*.java,**/*.xml,**/*.txt,**/*.MF,**/*.properties,**/*.patterns,**/*.pom,**/*.xsl,**/*.css" />
-		<property name="eol.native.excludes" 
-			value="build/**,bin/**,lib/**" />
-
-		<fileset id="eol.native.fileset" 
-			dir="${basedir}" 
-			includes="${eol.native.includes}"
-			excludes="${eol.native.excludes}" />
-		
-		<fixcrlf srcdir="${basedir}" 
-			includes="${eol.native.includes}" 
-			excludes="${eol.native.excludes}" />
-		<apply executable="svn">
-			<fileset refid="eol.native.fileset" />
-			<arg value="propset" />
-			<arg value="svn:eol-style" />
-			<arg value='"native"' />
-		</apply>
-	</target>
-	
-	<target name="checkstyle" depends="jar" description="checks Ivy codebase according to ${checkstyle.src.dir}/checkstyle-config">
-		<ivy:cachepath organisation="checkstyle" module="checkstyle" revision="4.3"
-				inline="true" conf="default" pathid="checkstyle.classpath" transitive="true" />
-		<taskdef resource="checkstyletask.properties" classpathref="checkstyle.classpath" />
-
-		<mkdir dir="${checkstyle.report.dir}" />
-		<checkstyle config="${checkstyle.src.dir}/checkstyle-config" failOnViolation="false">
-			<formatter type="xml" toFile="${checkstyle.report.dir}/checkstyle.xml" />
-			<fileset dir="${src.dir}">
-				<include name="**/*.java" />
-			</fileset>
-			<fileset dir="${example.dir}">
-				<include name="**/*.java" />
-			</fileset>
-		</checkstyle>
-	</target>
-
-	<target name="checkstyle-report" depends="checkstyle">
-		<property name="checkstyle.basedir" location="${src.dir}" />
-		<xslt in="${checkstyle.report.dir}/checkstyle.xml"
-				style="${checkstyle.src.dir}/checkstyle-frames.xsl"
-				out="${checkstyle.report.dir}/output.txt">
-			<param name="basedir" expression="${checkstyle.basedir}" />
-		</xslt>
-	</target>
-	
-
-	<!-- =================================================================
-	     IDE SPECIFIC
-	     ================================================================= -->
-	<available file="${basedir}/.classpath" property="eclipse.classpath.exists" />
-	<target name="check-eclipse-classpath-overwrite" if="eclipse.classpath.exists">
-		<input message=".classpath file already exists.${line.separator}Are you sure you want to overwrite it and loose your original file?" 
-			   validargs="Y,N,y,n" addproperty="eclipse.classpath.confirm" />
-		<condition property="eclipse.classpath.abort">
-			<equals arg1="${eclipse.classpath.confirm}" arg2="N" casesensitive="false" />
-		</condition>
-	</target>
-	
-	<target name="eclipse-default" depends="resolve, check-eclipse-classpath-overwrite"
-			unless="eclipse.classpath.abort"
-			description="creates a default .classpath for eclipse, using jars resolved by this ant build">
-		<copy file="${basedir}/.classpath.default" tofile="${basedir}/.classpath" overwrite="true" />
-	</target>
-
-	<target name="eclipse-ivyde" depends="check-eclipse-classpath-overwrite"
-			unless="eclipse.classpath.abort"
-			description="creates a .classpath for eclipse using Apache IvyDE version">
-		<copy file="${basedir}/.classpath.ivyde" tofile="${basedir}/.classpath" overwrite="true" />
-	</target>
+    <target name="test" depends="test-internal" description="Run the test">
+        <fail if="test.failed"
+              message="At least one test has failed. See logs (in ${test.xml.dir}) for details (use the target test-report to run the test with a report)" />
+    </target>
+    
+    <!-- =================================================================
+         REPORTS AND DOCUMENTATION
+         ================================================================= -->
+    <target name="test-report" depends="test-internal" unless="skip.test">
+        <junitreport todir="${test.xml.dir}">
+            <fileset dir="${test.xml.dir}">
+                <include name="TEST-*.xml" />
+            </fileset>
+            <report format="frames" todir="${test.report.dir}" />
+        </junitreport>
+        <fail if="test.failed"
+              message="At least one test has failed. See logs (in ${test.xml.dir}) or report (in ${test.report.dir})" />
+    </target>
+    
+    <target name="coverage-report" depends="emma, test-report"  unless="skip.test"
+            description="run tests with instrumentation and generate coverage report">
+        <mkdir dir="${coverage.report.dir}" />
+        <emma>
+            <report sourcepath="${src.dir}">
+                <fileset dir="${coverage.dir}">
+                    <include name="*.emma" />
+                </fileset>
+
+                <txt outfile="${coverage.report.dir}/coverage.txt" />
+                <html outfile="${coverage.report.dir}/coverage.html" />
+             </report>
+         </emma>
+    </target>
+    
+    <target name="javadoc" unless="skip.javadoc">
+        <javadoc destdir="${javadoc.build.dir}" useexternalfile="true">
+            <fileset dir="${src.dir}" includes="**/*.java,**/package.html" />
+        </javadoc>
+    </target>
+
+    <target name="fixcrlf">
+        <property name="eol.native.includes" 
+            value="**/*.html,**/*.json,**/*.java,**/*.xml,**/*.txt,**/*.MF,**/*.properties,**/*.patterns,**/*.pom,**/*.xsl,**/*.css" />
+        <property name="eol.native.excludes" 
+            value="build/**,bin/**,lib/**" />
+
+        <fileset id="eol.native.fileset" 
+            dir="${basedir}" 
+            includes="${eol.native.includes}"
+            excludes="${eol.native.excludes}" />
+        
+        <fixcrlf srcdir="${basedir}" 
+            includes="${eol.native.includes}" 
+            excludes="${eol.native.excludes}" />
+        <apply executable="svn">
+            <fileset refid="eol.native.fileset" />
+            <arg value="propset" />
+            <arg value="svn:eol-style" />
+            <arg value='"native"' />
+        </apply>
+    </target>
+    
+    <target name="checkstyle" depends="jar" description="checks Ivy codebase according to ${checkstyle.src.dir}/checkstyle-config">
+        <ivy:cachepath organisation="checkstyle" module="checkstyle" revision="4.3"
+                inline="true" conf="default" pathid="checkstyle.classpath" transitive="true" />
+        <taskdef resource="checkstyletask.properties" classpathref="checkstyle.classpath" />
+
+        <mkdir dir="${checkstyle.report.dir}" />
+        <checkstyle config="${checkstyle.src.dir}/checkstyle-config" failOnViolation="false">
+            <formatter type="xml" toFile="${checkstyle.report.dir}/checkstyle.xml" />
+            <fileset dir="${src.dir}">
+                <include name="**/*.java" />
+            </fileset>
+            <fileset dir="${example.dir}">
+                <include name="**/*.java" />
+            </fileset>
+        </checkstyle>
+    </target>
+
+    <target name="checkstyle-report" depends="checkstyle">
+        <property name="checkstyle.basedir" location="${src.dir}" />
+        <xslt in="${checkstyle.report.dir}/checkstyle.xml"
+                style="${checkstyle.src.dir}/checkstyle-frames.xsl"
+                out="${checkstyle.report.dir}/output.txt">
+            <param name="basedir" expression="${checkstyle.basedir}" />
+        </xslt>
+    </target>
+    
+
+    <!-- =================================================================
+         IDE SPECIFIC
+         ================================================================= -->
+    <available file="${basedir}/.classpath" property="eclipse.classpath.exists" />
+    <target name="check-eclipse-classpath-overwrite" if="eclipse.classpath.exists">
+        <input message=".classpath file already exists.${line.separator}Are you sure you want to overwrite it and loose your original file?" 
+               validargs="Y,N,y,n" addproperty="eclipse.classpath.confirm" />
+        <condition property="eclipse.classpath.abort">
+            <equals arg1="${eclipse.classpath.confirm}" arg2="N" casesensitive="false" />
+        </condition>
+    </target>
+    
+    <target name="eclipse-default" depends="resolve, check-eclipse-classpath-overwrite"
+            unless="eclipse.classpath.abort"
+            description="creates a default .classpath for eclipse, using jars resolved by this ant build">
+        <copy file="${basedir}/.classpath.default" tofile="${basedir}/.classpath" overwrite="true" />
+    </target>
+
+    <target name="eclipse-ivyde" depends="check-eclipse-classpath-overwrite"
+            unless="eclipse.classpath.abort"
+            description="creates a .classpath for eclipse using Apache IvyDE version">
+        <copy file="${basedir}/.classpath.ivyde" tofile="${basedir}/.classpath" overwrite="true" />
+    </target>
 </project>

Modified: incubator/ivy/core/trunk/doc/dev.html
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/doc/dev.html?rev=582017&r1=582016&r2=582017&view=diff
==============================================================================
--- incubator/ivy/core/trunk/doc/dev.html (original)
+++ incubator/ivy/core/trunk/doc/dev.html Thu Oct  4 14:47:06 2007
@@ -32,7 +32,7 @@
 <ul>
 <li>an <a href="http://subversion.tigris.org/">svn</a> client</li>
 <em>to check out Ivy sources from apache svn, not required if you build from sources packaged in a release</em>
-<li><a href="http://ant.apache.org/">Apache Ant</a> 1.6.2 or greater</li>
+<li><a href="http://ant.apache.org/">Apache Ant</a> 1.6.0 or greater</li>
 <em>We recommend either ant 1.6.5 or 1.7.0</em>
 <li><a href="http://junit.org">junit</a> 3.8.2 jar in your ant lib</li>
 <em> this is not required if you use ant 1.7</em>

Modified: incubator/ivy/core/trunk/doc/tutorial.html
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/doc/tutorial.html?rev=582017&r1=582016&r2=582017&view=diff
==============================================================================
--- incubator/ivy/core/trunk/doc/tutorial.html (original)
+++ incubator/ivy/core/trunk/doc/tutorial.html Thu Oct  4 14:47:06 2007
@@ -29,7 +29,7 @@
 
 Here is the very first tutorial, it doesn't even require to install Ivy, and should not take more than 30 seconds if you already have ant and a jdk properly installed:
 <ul>
-<li>make sure you have <a href="http://ant.apache.org/">ant</a> 1.6.2 or greater and a <a href="http://java.sun.com">jdk</a> properly installed</li>
+<li>make sure you have <a href="http://ant.apache.org/">ant</a> 1.6.0 or greater and a <a href="http://java.sun.com">jdk</a> properly installed</li>
 <li>copy <a href="samples/build.xml">this build file</a> in an empty directory on your local filesystem (and make sure you name it build.xml)</li>
 <li>open a console in this directory and run "ant". That's it!</li>
 </ul>

Modified: incubator/ivy/core/trunk/ivy.xml
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/ivy.xml?rev=582017&r1=582016&r2=582017&view=diff
==============================================================================
--- incubator/ivy/core/trunk/ivy.xml (original)
+++ incubator/ivy/core/trunk/ivy.xml Thu Oct  4 14:47:06 2007
@@ -36,7 +36,7 @@
 		<artifact name="ivy-core" type="jar" conf="core"/>
 	</publications>
 	<dependencies>
-	    <dependency org="ant" name="ant" rev="1.6.5" conf="default"/>
+	    <dependency org="ant" name="ant" rev="1.6" conf="default"/>
 		<dependency org="commons-httpclient" name="commons-httpclient" rev="3.0" conf="default,httpclient->runtime,master">
 			<exclude org="junit" name="junit"/>
 		</dependency>
@@ -47,7 +47,8 @@
 		<dependency org="commons-vfs" name="commons-vfs" rev="1.0" conf="default,vfs->default" />
 		<dependency org="jsch" name="jsch" rev="0.1.25" conf="default,sftp->default" />
 		<!-- Test dependencies -->
-	    <dependency org="ant" name="ant-launcher" rev="1.6.5" conf="test->default"/>
+	    <dependency org="ant" name="ant-launcher" rev="1.6" conf="test->default"/>
+	    <dependency org="ant" name="ant-junit" rev="1.6" conf="test->default"/>
 		<dependency org="junit" name="junit" rev="3.8.2" conf="test->default" />
 		<dependency org="commons-lang" name="commons-lang" rev="[1.0,3.0[" conf="test->default" />
 	</dependencies>

Modified: incubator/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyBuildList.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyBuildList.java?rev=582017&r1=582016&r2=582017&view=diff
==============================================================================
--- incubator/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyBuildList.java (original)
+++ incubator/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyBuildList.java Thu Oct  4 14:47:06 2007
@@ -41,7 +41,6 @@
 import org.apache.ivy.util.Message;
 import org.apache.tools.ant.BuildException;
 import org.apache.tools.ant.DirectoryScanner;
-import org.apache.tools.ant.types.FileList;
 import org.apache.tools.ant.types.FileSet;
 import org.apache.tools.ant.types.Path;
 
@@ -408,12 +407,9 @@
     }
 
     private void addBuildFile(Path path, File buildFile) {
-        FileList fl = new FileList();
-        fl.setDir(buildFile.getParentFile());
-        FileList.FileName fileName = new FileList.FileName();
-        fileName.setName(buildFile.getName());
-        fl.addConfiguredFile(fileName);
-        path.addFilelist(fl);
+        FileSet fs = new FileSet();
+        fs.setFile(buildFile);
+        path.addFileset(fs);
     }
 
     private File getIvyFileFor(File buildFile) {

Modified: incubator/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyReport.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyReport.java?rev=582017&r1=582016&r2=582017&view=diff
==============================================================================
--- incubator/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyReport.java (original)
+++ incubator/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyReport.java Thu Oct  4 14:47:06 2007
@@ -279,21 +279,6 @@
 
         xslt.setDestdir(out);
         xslt.setBasedir(cache);
-
-        Mapper mapper = new Mapper(getProject());
-        xslt.addMapper(mapper);
-
-        CacheManager cacheMgr = getIvyInstance().getCacheManager(cache);
-        for (int i = 0; i < confs.length; i++) {
-            File reportFile = cacheMgr.getConfigurationResolveReportInCache(resolveId, confs[i]);
-            xslt.setIncludes(reportFile.getName());
-
-            FileNameMapper reportMapper = new GlobPatternMapper();
-            reportMapper.setFrom(reportFile.getName());
-            reportMapper.setTo(IvyPatternHelper.substitute(outputpattern, organisation, module,
-                "", "", "", ext, confs[i]));
-            mapper.add(reportMapper);
-        }
         xslt.setStyle(style);
 
         XSLTProcess.Param param = xslt.createParam();
@@ -311,7 +296,16 @@
             realParam.setExpression(param.getExpression());
         }
 
-        xslt.execute();
+        CacheManager cacheMgr = getIvyInstance().getCacheManager(cache);
+        for (int i = 0; i < confs.length; i++) {
+            File reportFile = cacheMgr.getConfigurationResolveReportInCache(resolveId, confs[i]);
+            File outFile = new File(out, IvyPatternHelper.substitute(outputpattern, organisation, module,
+                "", "", "", ext, confs[i]));
+            
+            xslt.setIn(reportFile);
+            xslt.setOut(outFile);
+            xslt.execute();
+        }
     }
 
     private String getStylePath(File cache, String styleResourceName) throws IOException {

Modified: incubator/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyTask.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyTask.java?rev=582017&r1=582016&r2=582017&view=diff
==============================================================================
--- incubator/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyTask.java (original)
+++ incubator/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyTask.java Thu Oct  4 14:47:06 2007
@@ -74,7 +74,7 @@
         ensureMessageInitialised();
         Object antIvyEngine;
         if (antIvyEngineRef != null) {
-            antIvyEngine = antIvyEngineRef.getReferencedObject();
+            antIvyEngine = antIvyEngineRef.getReferencedObject(getProject());
             if (!antIvyEngine.getClass().getName().equals(IvyAntSettings.class.getName())) {
                 throw new BuildException(antIvyEngineRef.getRefId()
                         + " doesn't reference an ivy:settings", getLocation());

Modified: incubator/ivy/core/trunk/test/java/org/apache/ivy/ant/IvyTaskTest.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/test/java/org/apache/ivy/ant/IvyTaskTest.java?rev=582017&r1=582016&r2=582017&view=diff
==============================================================================
--- incubator/ivy/core/trunk/test/java/org/apache/ivy/ant/IvyTaskTest.java (original)
+++ incubator/ivy/core/trunk/test/java/org/apache/ivy/ant/IvyTaskTest.java Thu Oct  4 14:47:06 2007
@@ -76,7 +76,7 @@
             }
         };
         task.setProject(p);
-        task.setSettingsRef(new Reference(p, "mySettings"));
+        task.setSettingsRef(new Reference("mySettings"));
         Ivy ivy = task.getIvyInstance();
         assertNotNull(ivy);
         IvySettings settings = ivy.getSettings();

Modified: incubator/ivy/core/trunk/test/java/org/apache/ivy/core/cache/CacheManagerTest.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/test/java/org/apache/ivy/core/cache/CacheManagerTest.java?rev=582017&r1=582016&r2=582017&view=diff
==============================================================================
--- incubator/ivy/core/trunk/test/java/org/apache/ivy/core/cache/CacheManagerTest.java (original)
+++ incubator/ivy/core/trunk/test/java/org/apache/ivy/core/cache/CacheManagerTest.java Thu Oct  4 14:47:06 2007
@@ -28,6 +28,8 @@
 import org.apache.ivy.core.module.id.ModuleId;
 import org.apache.ivy.core.module.id.ModuleRevisionId;
 import org.apache.ivy.core.settings.IvySettings;
+import org.apache.tools.ant.Project;
+import org.apache.tools.ant.taskdefs.Delete;
 import org.apache.tools.ant.util.FileUtils;
 
 /**
@@ -54,7 +56,10 @@
     }
 
     protected void tearDown() throws Exception {
-        FileUtils.delete(cacheManager.getCache());
+        Delete del = new Delete();
+        del.setProject(new Project());
+        del.setDir(cacheManager.getCache());
+        del.execute();
     }
 
     public void testArtifactOrigin() {

Modified: incubator/ivy/core/trunk/test/java/org/apache/ivy/core/event/IvyEventFilterTest.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/test/java/org/apache/ivy/core/event/IvyEventFilterTest.java?rev=582017&r1=582016&r2=582017&view=diff
==============================================================================
--- incubator/ivy/core/trunk/test/java/org/apache/ivy/core/event/IvyEventFilterTest.java (original)
+++ incubator/ivy/core/trunk/test/java/org/apache/ivy/core/event/IvyEventFilterTest.java Thu Oct  4 14:47:06 2007
@@ -21,7 +21,6 @@
 
 import junit.framework.TestCase;
 
-import org.apache.ivy.Ivy;
 import org.apache.ivy.core.event.resolve.EndResolveEvent;
 import org.apache.ivy.core.event.resolve.StartResolveEvent;
 import org.apache.ivy.core.module.descriptor.DefaultModuleDescriptor;
@@ -30,19 +29,18 @@
 import org.apache.ivy.core.report.ResolveReport;
 
 public class IvyEventFilterTest extends TestCase {
-    Ivy ivy = new Ivy();
 
-    ModuleDescriptor md = new DefaultModuleDescriptor(ModuleRevisionId.newInstance("foo", "bar",
-        "1.0"), "integration", new Date());
-
-    ModuleDescriptor md2 = new DefaultModuleDescriptor(ModuleRevisionId.newInstance("foo2", "bar",
-        "1.0"), "integration", new Date());
-
-    ModuleDescriptor md3 = new DefaultModuleDescriptor(ModuleRevisionId.newInstance("foo3", "baz",
-        "1.0"), "integration", new Date());
-
-    ModuleDescriptor md4 = new DefaultModuleDescriptor(ModuleRevisionId.newInstance("foo", "baz",
-        "1.0"), "integration", new Date());
+    private ModuleDescriptor md = null;
+    private ModuleDescriptor md2 = null;
+    private ModuleDescriptor md3 = null;
+    private ModuleDescriptor md4 = null;
+    
+    public void setUp() throws Exception {
+        md = new DefaultModuleDescriptor(ModuleRevisionId.newInstance("foo", "bar", "1.0"), "integration", new Date());
+        md2 = new DefaultModuleDescriptor(ModuleRevisionId.newInstance("foo2", "bar", "1.0"), "integration", new Date());
+        md3 = new DefaultModuleDescriptor(ModuleRevisionId.newInstance("foo3", "baz", "1.0"), "integration", new Date());
+        md4 = new DefaultModuleDescriptor(ModuleRevisionId.newInstance("foo", "baz", "1.0"), "integration", new Date());
+    }
 
     public void testSimple() {
         IvyEventFilter f = new IvyEventFilter("pre-resolve", null, null);

Modified: incubator/ivy/core/trunk/test/java/org/apache/ivy/core/retrieve/RetrieveTest.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/test/java/org/apache/ivy/core/retrieve/RetrieveTest.java?rev=582017&r1=582016&r2=582017&view=diff
==============================================================================
--- incubator/ivy/core/trunk/test/java/org/apache/ivy/core/retrieve/RetrieveTest.java (original)
+++ incubator/ivy/core/trunk/test/java/org/apache/ivy/core/retrieve/RetrieveTest.java Thu Oct  4 14:47:06 2007
@@ -32,16 +32,13 @@
 import org.apache.tools.ant.taskdefs.Delete;
 
 public class RetrieveTest extends TestCase {
-    private final Ivy ivy;
+    private Ivy ivy;
 
     private File cache;
 
-    public RetrieveTest() throws Exception {
-        ivy = new Ivy();
-        ivy.configure(new File("test/repositories/ivysettings.xml"));
-    }
-
     protected void setUp() throws Exception {
+        ivy = Ivy.newInstance();
+        ivy.configure(new File("test/repositories/ivysettings.xml"));
         createCache();
     }
 

Modified: incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorParserTest.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorParserTest.java?rev=582017&r1=582016&r2=582017&view=diff
==============================================================================
--- incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorParserTest.java (original)
+++ incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorParserTest.java Thu Oct  4 14:47:06 2007
@@ -44,13 +44,14 @@
 import org.apache.ivy.plugins.parser.AbstractModuleDescriptorParserTester;
 import org.apache.ivy.util.XMLHelper;
 
-/**
- * 
- */
 public class XmlModuleDescriptorParserTest extends AbstractModuleDescriptorParserTester {
-    // junit test -- DO NOT REMOVE used by ant to know it's a junit test
-
-    private IvySettings settings = new IvySettings();
+    private IvySettings settings = null;
+    
+    protected void setUp() throws Exception {
+        super.setUp();
+        
+        this.settings = new IvySettings();
+    }
 
     public void testSimple() throws Exception {
         ModuleDescriptor md = XmlModuleDescriptorParser.getInstance().parseDescriptor(settings,

Modified: incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/report/XmlReportOutputterTest.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/report/XmlReportOutputterTest.java?rev=582017&r1=582016&r2=582017&view=diff
==============================================================================
--- incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/report/XmlReportOutputterTest.java (original)
+++ incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/report/XmlReportOutputterTest.java Thu Oct  4 14:47:06 2007
@@ -29,16 +29,13 @@
 import org.apache.ivy.util.CacheCleaner;
 
 public class XmlReportOutputterTest extends TestCase {
-    private final Ivy _ivy;
+    private Ivy _ivy;
 
     private File _cache;
 
-    public XmlReportOutputterTest() throws Exception {
+    protected void setUp() throws Exception {
         _ivy = new Ivy();
         _ivy.configure(new File("test/repositories/ivysettings.xml"));
-    }
-
-    protected void setUp() throws Exception {
         createCache();
     }
 

Modified: incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/report/XmlReportParserTest.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/report/XmlReportParserTest.java?rev=582017&r1=582016&r2=582017&view=diff
==============================================================================
--- incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/report/XmlReportParserTest.java (original)
+++ incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/report/XmlReportParserTest.java Thu Oct  4 14:47:06 2007
@@ -30,16 +30,13 @@
 import org.apache.tools.ant.taskdefs.Delete;
 
 public class XmlReportParserTest extends TestCase {
-    private final Ivy _ivy;
+    private Ivy _ivy;
 
     private File _cache;
 
-    public XmlReportParserTest() throws Exception {
+    protected void setUp() throws Exception {
         _ivy = new Ivy();
         _ivy.configure(new File("test/repositories/ivysettings.xml"));
-    }
-
-    protected void setUp() throws Exception {
         createCache();
     }
 



Mime
View raw message