IMPROVEMENT: Dependent jars missing in ivy binaries (IVY-481)

git-svn-id: https://svn.apache.org/repos/asf/incubator/ivy/core/trunk@554714 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Xavier Hanin 2007-07-09 17:36:06 +00:00
parent 52bfe42828
commit cb2c1fcd23
7 changed files with 167 additions and 32 deletions

View File

@ -68,6 +68,7 @@ for detailed view of each issue, please consult http://issues.apache.org/jira/br
- IMPROVEMENT: Code / XML Polished (IVY-554) (with contribution from Tjeerd Verhagen)
- IMPROVEMENT: Javadoc improvements (IVY-544) (with contribution from Tjeerd Verhagen)
- IMPROVEMENT: Unit test improvements (IVY-545) (thanks to Tjeerd Verhagen)
- IMPROVEMENT: Dependent jars missing in ivy binaries (IVY-481)
- FIX: Ant target "clean" on Ivy multi-project tutorial points to wrong cache directory. (IVY-548)
- FIX: Variables not replaced during deliver (IVY-520) (thanks to John Williams)

28
LICENSE.jsch Normal file
View File

@ -0,0 +1,28 @@
License for JCraft JSch package
------------------------------------------------------------------------------
Copyright (c) 2002,2003,2004,2005,2006,2007 Atsuhiko Yamanaka, JCraft,Inc.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the distribution.
3. The names of the authors may not be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JCRAFT,
INC. OR ANY CONTRIBUTORS TO THIS SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

27
NOTICE
View File

@ -1,14 +1,19 @@
=========================================================================
== NOTICE file corresponding to the section 4 d of ==
== the Apache License, Version 2.0, ==
== in this case for the Apache Ivy distribution. ==
=========================================================================
=========================================================================
== NOTICE file corresponding to the section 4 d of ==
== the Apache License, Version 2.0, ==
== in this case for the Apache Ivy distribution. ==
=========================================================================
This product includes software developed by
The Apache Software Foundation (http://www.apache.org/).
This product includes software developed by
The Apache Software Foundation (http://www.apache.org/).
Portions of Ivy were originally developed by
Jayasoft SARL and are
licensed to the Apache Software Foundation under the
"Software Grant License Agreement"
Portions of Ivy were originally developed by
Jayasoft SARL (http://www.jayasoft.fr/)
and are licensed to the Apache Software Foundation under the
"Software Grant License Agreement"
SSH and SFTP support is provided by the JCraft JSch package,
which is open source software, available under
the terms of a BSD style license.
The original software and related information is available
at http://www.jcraft.com/jsch/.

58
build-for-bin-distrib.xml Normal file
View File

@ -0,0 +1,58 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<project name="retrieve-ivy-deps" default="retrieve-all"
xmlns:ivy="antlib:org.apache.ivy.ant">
<target name="init-ivy">
<taskdef resource="org/apache/ivy/ant/antlib.xml"
uri="antlib:org.apache.ivy.ant">
<classpath>
<pathelement location="ivy.jar" />
</classpath>
</taskdef>
</target>
<target name="report">
<ivy:report graph="false" todir="report" />
<echo>
=======================================================================
Dependencies retrieved in lib directory
Dependency report generated in report directory
=======================================================================
</echo>
</target>
<target name="retrieve-conf" depends="init-ivy"
description="--> Retrieves a set of configuration (get only dependencies needed).">
<ivy:info file="ivy.xml" />
<echo>
=======================================================================
Please enter configuration (or comma separated list of configurations).
Available configurations are: ${ivy.configurations}</echo>
<input message="Configuration(s):" addproperty="ivy.confs"/>
<ivy:retrieve conf="${ivy.confs}"/>
<antcall target="report" inheritRefs="true" />
</target>
<target name="retrieve-all" depends="init-ivy"
description="--> Retrieves all Ivy dependencies into the lib directory">
<ivy:retrieve />
<antcall target="report" inheritRefs="true" />
</target>
</project>

View File

@ -17,7 +17,7 @@
under the License.
-->
<project name="IvyRelease" default="snapshot"
xmlns:ivy="antlib:fr.jayasoft.ivy.ant"
xmlns:ivy="antlib:org.apache.ivy.ant"
xmlns:xooki="antlib:xooki">
<import file="build.xml"/>
@ -48,8 +48,17 @@
<target name="init-snapshot" depends="default-version">
<property name="snapshot.full.name" value="apache-ivy-${build.version}" />
</target>
<target name="snapshot-metadata" depends="init-snapshot, resolve">
<mkdir dir="${distrib.dir}"/>
<ivy:deliver
deliverpattern="${distrib.dir}/ivy.xml"
pubrevision="${build.version}"
pubdate="${pubdate}"
status="${status}"/>
</target>
<target name="snapshot-src" depends="init-snapshot,all-doc">
<target name="snapshot-src" depends="snapshot-metadata,all-doc">
<mkdir dir="${distrib.dir}"/>
<zip destfile="${distrib.dir}/${snapshot.full.name}-src.zip">
<zipfileset dir="${doc.build.dir}" prefix="${snapshot.full.name}/doc" excludes="**/reports/coverage/**,**/reports/test/**"/>
@ -64,12 +73,11 @@
<zipfileset dir="${basedir}" includes="MANIFEST.MF" fullpath="${snapshot.full.name}/MANIFEST.MF"/>
<zipfileset dir="${basedir}" includes="DISCLAIMER" fullpath="${snapshot.full.name}/DISCLAIMER"/>
<zipfileset dir="${basedir}" includes="NOTICE" fullpath="${snapshot.full.name}/NOTICE"/>
<zipfileset dir="${basedir}" includes="LICENSE" fullpath="${snapshot.full.name}/LICENSE"/>
<zipfileset dir="${basedir}" includes="LICENSE*" prefix="${snapshot.full.name}"/>
<zipfileset dir="${basedir}" includes="CHANGES.txt" fullpath="${snapshot.full.name}/CHANGES.txt"/>
<zipfileset dir="${basedir}" includes="RELEASE_NOTES" fullpath="${snapshot.full.name}/RELEASE_NOTES"/>
<zipfileset dir="${basedir}" includes="ivysettings.xml" fullpath="${snapshot.full.name}/ivysettings.xml"/>
<zipfileset dir="${basedir}" includes="build.properties" fullpath="${snapshot.full.name}/build.properties"/>
<zipfileset dir="${basedir}" includes="ivy.xml" fullpath="${snapshot.full.name}/ivy.xml"/>
<zipfileset dir="${distrib.dir}" includes="ivy.xml" fullpath="${snapshot.full.name}/ivy.xml"/>
<zipfileset dir="${basedir}" includes="build.xml" fullpath="${snapshot.full.name}/build.xml"/>
</zip>
@ -78,24 +86,19 @@
<zipfileset src="${distrib.dir}/${snapshot.full.name}-src.zip"/>
</tar>
</target>
<target name="snapshot-bin" depends="init-snapshot, jar, all-doc">
<mkdir dir="${distrib.dir}"/>
<ivy:deliver
deliverpattern="${distrib.dir}/ivy.xml"
pubrevision="${build.version}"
pubdate="${pubdate}"
status="${status}"/>
<target name="snapshot-bin-without-dependencies" depends="snapshot-metadata, jar, all-doc">
<zip destfile="${distrib.dir}/${snapshot.full.name}-bin.zip">
<zipfileset dir="${doc.build.dir}" prefix="${snapshot.full.name}/doc" excludes="**/reports/coverage/**,**/reports/test/**"/>
<zipfileset dir="${basedir}/src/example" prefix="${snapshot.full.name}/src/example"/>
<zipfileset dir="${basedir}" includes="DISCLAIMER" fullpath="${snapshot.full.name}/DISCLAIMER"/>
<zipfileset dir="${basedir}" includes="NOTICE" fullpath="${snapshot.full.name}/NOTICE"/>
<zipfileset dir="${basedir}" includes="LICENSE" fullpath="${snapshot.full.name}/LICENSE"/>
<zipfileset dir="${basedir}" includes="LICENSE*" prefix="${snapshot.full.name}"/>
<zipfileset dir="${basedir}" includes="CHANGES.txt" fullpath="${snapshot.full.name}/CHANGES.txt"/>
<zipfileset dir="${basedir}" includes="RELEASE_NOTES" fullpath="${snapshot.full.name}/RELEASE_NOTES"/>
<zipfileset dir="${src.dir}/org/apache/ivy/plugins/parser/xml" includes="ivy.xsd" fullpath="${snapshot.full.name}/ivy.xsd"/>
<zipfileset dir="${basedir}" includes="ivy.xml" fullpath="${snapshot.full.name}/ivy.xml"/>
<zipfileset dir="${distrib.dir}" includes="ivy.xml" fullpath="${snapshot.full.name}/ivy.xml"/>
<zipfileset dir="${basedir}" includes="build-for-bin-distrib.xml" fullpath="${snapshot.full.name}/build.xml"/>
<zipfileset dir="${artifacts.build.dir}" includes="${final.name}" fullpath="${snapshot.full.name}/ivy-${build.version}.jar"/>
<zipfileset dir="${artifacts.build.dir}" includes="${final.core.name}" fullpath="${snapshot.full.name}/ivy-core-${build.version}.jar"/>
@ -104,11 +107,47 @@
compression="gzip" longfile="gnu">
<zipfileset src="${distrib.dir}/${snapshot.full.name}-bin.zip"/>
</tar>
</target>
<target name="snapshot-bin-with-dependencies" depends="snapshot-metadata, jar, all-doc">
<delete dir="${build.dir}/lib" />
<ivy:retrieve conf="default" pattern="${build.dir}/lib/[artifact]-[revision].[ext]" />
<zip destfile="${distrib.dir}/${snapshot.full.name}-bin-with-deps.zip">
<zipfileset dir="${doc.build.dir}" prefix="${snapshot.full.name}/doc" excludes="**/reports/coverage/**,**/reports/test/**"/>
<zipfileset dir="${basedir}/src/example" prefix="${snapshot.full.name}/src/example"/>
<zipfileset dir="${basedir}" includes="DISCLAIMER" fullpath="${snapshot.full.name}/DISCLAIMER"/>
<zipfileset dir="${basedir}" includes="NOTICE" fullpath="${snapshot.full.name}/NOTICE"/>
<zipfileset dir="${basedir}" includes="LICENSE*" prefix="${snapshot.full.name}"/>
<zipfileset dir="${basedir}" includes="CHANGES.txt" fullpath="${snapshot.full.name}/CHANGES.txt"/>
<zipfileset dir="${basedir}" includes="RELEASE_NOTES" fullpath="${snapshot.full.name}/RELEASE_NOTES"/>
<zipfileset dir="${src.dir}/org/apache/ivy/plugins/parser/xml" includes="ivy.xsd" fullpath="${snapshot.full.name}/ivy.xsd"/>
<zipfileset dir="${distrib.dir}" includes="ivy.xml" fullpath="${snapshot.full.name}/ivy.xml"/>
<zipfileset dir="${artifacts.build.dir}" includes="${final.name}" fullpath="${snapshot.full.name}/ivy-${build.version}.jar"/>
<zipfileset dir="${artifacts.build.dir}" includes="${final.core.name}" fullpath="${snapshot.full.name}/ivy-core-${build.version}.jar"/>
<zipfileset dir="${build.dir}/lib" prefix="${snapshot.full.name}/lib"/>
</zip>
<tar destfile="${distrib.dir}/${snapshot.full.name}-bin-with-deps.tar.gz"
compression="gzip" longfile="gnu">
<zipfileset src="${distrib.dir}/${snapshot.full.name}-bin-with-deps.zip"/>
</tar>
</target>
<target name="snapshot-bin"
depends="snapshot-bin-with-dependencies, snapshot-bin-without-dependencies" />
<target name="snapshot-jars" depends="init-snapshot, jar">
<mkdir dir="${distrib.dir}"/>
<copy file="${artifacts.build.dir}/${final.name}" todir="${distrib.dir}" />
<copy file="${artifacts.build.dir}/${final.core.name}" todir="${distrib.dir}" />
<copy file="${src.dir}/org/apache/ivy/plugins/parser/xml/ivy.xsd" todir="${distrib.dir}" />
</target>
<target name="snapshot-xsd" depends="init-snapshot">
<mkdir dir="${distrib.dir}"/>
<copy file="${src.dir}/org/apache/ivy/plugins/parser/xml/ivy.xsd" todir="${distrib.dir}" />
</target>
<target name="snapshot-checksums">
<checksum algorithm="md5">
<fileset dir="${distrib.dir}">
@ -133,7 +172,10 @@
<input message="please enter status: (integration,milestone,release)" addproperty="status"/>
</target>
<target name="snapshot" depends="localivy, clean-ivy-home, init-ivy, clean-all, snapshot-version, coverage-report, snapshot-src, snapshot-bin, snapshot-checksums"
<target name="prepare-snapshot"
depends="localivy, clean-ivy-home, clean, clean-lib, snapshot-version, install, clean-examples, coverage-report" />
<target name="snapshot"
depends="prepare-snapshot, snapshot-src, snapshot-bin, snapshot-jars, snapshot-xsd, snapshot-checksums"
description="used for nightly and integration builds"/>
<target name="release" depends="release-version, snapshot" description="make a new release of Ivy"/>

View File

@ -28,11 +28,11 @@
<condition property="ivy.home" value="${env.IVY_HOME}">
<isset property="env.IVY_HOME" />
</condition>
<property name="ivy.home" value="${user.home}/.ivy" />
<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}/.ivy" />
<property name="ivy.home" value="${basedir}/.ivy2" />
</target>
<target name="init-ivy-home" depends="init-ivy-user-home, init-ivy-local-home" />
@ -50,6 +50,7 @@
</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>
@ -439,7 +440,7 @@ ${final.core.name} The Ivy core, eg everything but classes dependent on Ant.$
</target>
<target name="javadoc" unless="skip.javadoc">
<javadoc destdir="${javadoc.build.dir}">
<javadoc destdir="${javadoc.build.dir}" useexternalfile="true">
<fileset dir="${src.dir}" includes="**/*.java,**/package.html" />
</javadoc>
</target>

View File

@ -46,7 +46,7 @@
<dependency org="oro" name="oro" rev="2.0.8" conf="default,oro->default"/>
<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 depdendencies -->
<!-- Test dependencies -->
<dependency org="ant" name="ant-launcher" rev="1.6.5" 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" />