mirror of https://github.com/apache/ant-ivy
192 lines
9.3 KiB
Plaintext
192 lines
9.3 KiB
Plaintext
Apache Ivy v2.0.0-alpha1-incubating
|
||
Release Notes
|
||
-----------------------------------------------------------------------
|
||
|
||
CONTENTS
|
||
1. What is Apache Ivy?
|
||
2. Status of this release
|
||
3. Major Changes in this Release
|
||
4. Migrating from Jayasoft Ivy to Apache Ivy
|
||
5. How to Get Involved
|
||
6. How to Report Issues
|
||
7. Committers and Contributors for this release
|
||
8. List of Changes in this Release
|
||
|
||
|
||
1. What is Apache Ivy?
|
||
|
||
Apache Ivy is a tool for managing (recording, tracking, resolving and reporting)
|
||
project dependencies.
|
||
It is characterized by the following:
|
||
|
||
1. flexibility and configurability
|
||
Apache Ivy is essentially process agnostic and is not tied to any
|
||
methodology or structure.
|
||
Instead it provides the necessary flexibility and configurability
|
||
to be adapted to a broad range of dependency management and build
|
||
processes.
|
||
2. tight integration with Apache Ant
|
||
while available as a standalone tool, Apache Ivy works particularly well
|
||
with Apache Ant providing a number of powerful Ant tasks ranging
|
||
from dependency resolution to dependency reporting and publication.
|
||
|
||
2. Status of this release
|
||
|
||
This release of Apache Ivy is the first release within the Apache Incubator,
|
||
and is labelled and should be considered as an alpha version.
|
||
|
||
This means that we do not guarantee any stability, that API and features are still
|
||
likely to change until final 2.0.0 version, and thus we do not encourage the use
|
||
of this version, except for very early testing.
|
||
|
||
The current production quality version is still 1.4.1, which has not been produced
|
||
within the Apache Software Foundation.
|
||
|
||
3. Major Changes in this Release
|
||
|
||
This section describes what has changed between version 1.4.1 and this version of
|
||
Apache Ivy.
|
||
|
||
This new version of Apache Ivy is fully compatible with previous versions as long as you do
|
||
not use custom plugins: Ivy API has changed, but not its behavior:
|
||
|
||
Some tasks and configuration elements have been renamed, but the old versions
|
||
are still available, they are only deprecated (you will see deprecated warnings).
|
||
|
||
3.1. Java Package Name Changes
|
||
|
||
All of the Ivy Java package names have changed in Apache Ivy. They now start
|
||
with org.apache rather than fr.jayasoft. There have been other changes as well.
|
||
Important refactorings have done on the source code to ease the understanding
|
||
of Ivy internal architecture by new developers.
|
||
|
||
A class named org.apache.ivy.Ivy14 is provided with an API compatible with the
|
||
fr.jayasoft.Ivy class of Ivy 1.4.1, to ease migration to this new version.
|
||
|
||
3.2. Configuration replaced by Settings
|
||
|
||
Configuration used to have two meanings in prior Ivy versions, causing some confusion
|
||
with new users.
|
||
To avoid this confusion, Apache Ivy calls settings instead of configuration the files
|
||
used to customize Ivy. Configuration is still used for module configurations.
|
||
|
||
Besides the changes in the documentation, this renaming also imply a modification
|
||
in settings files, which now use ivysettings as root element instead of ivyconf,
|
||
and settings instead of conf element to define top level defaults (such as
|
||
defaultCache, ...).
|
||
Previous names have been deprecated, so previous settings files can still be used, but
|
||
you will see a deprecation warning.
|
||
|
||
3.3. public resolver in default settings is now ibiblio in m2 compatible mode
|
||
|
||
In previous versions Ivy used to use the ivyrep resolver as default public resolver,
|
||
but ivyrep is no longer maintained, while maven 2 repository on ibiblio is growing rapidly.
|
||
|
||
Since Ivy is compatible with maven 2 repository, defaulting to the ibiblio maven 2
|
||
repository makes more sense.
|
||
|
||
If you have any issue of backward compatibility with these new settings, you can simply
|
||
set the following ant property before calling configure (implicitly or explicitly):
|
||
ivy.14.compatible=true
|
||
|
||
4. Migrating from Jayasoft Ivy to Apache Ivy
|
||
|
||
Apache Ivy is fully compatible with Jayasoft Ivy as long as you do not use
|
||
custom plugins.
|
||
This means that you can use Apache Ivy as a drop in replacement of Jayasoft Ivy.
|
||
|
||
However due to the the renaming of configuration files to settings files, we
|
||
strongly suggest to update your configuration files:
|
||
- rename the files called ivyconf*.xml in ivysettings*.xml
|
||
- rename 'ivyconf' element in 'ivysettings'
|
||
- rename 'conf' element of those settings file in 'settings'
|
||
|
||
Migrating custom plugins can be done by using the org.apache.ivy.Ivy14 class
|
||
instead of fr.jayasoft.ivy.Ivy, and reorganizing your imports to reflect the
|
||
changes in the package names.
|
||
|
||
5. How to Get Involved
|
||
|
||
The Apache Ivy project really needs and appreciates any contributions,
|
||
including documentation help, source code and feedback. If you are interested
|
||
in contributing, please visit http://incubator.apache.org/ivy/get-involved.html.
|
||
|
||
6. How to Report Issues
|
||
|
||
The Apache Ivy project uses JIRA for issue tracking. Please report any
|
||
issues you find at http://issues.apache.org/jira/browse/IVY
|
||
|
||
7. Committers and Contributors for this Release
|
||
|
||
Here is the list of people who have contributed source code and documentation
|
||
to this release. Many thanks to all of them, and also to the whole Ivy community
|
||
contributing ideas and feedback, and promoting the use of Ivy. The list would be too
|
||
long, but Ivy couldn't be what it is without you!
|
||
|
||
Committers
|
||
Maarten Coene
|
||
Xavier Hanin
|
||
|
||
Contributors
|
||
Stephane Baillez
|
||
Pierre H<>gnestrand
|
||
Matt Inger
|
||
Costin Leau
|
||
William Lyvers
|
||
Gilles Scokart
|
||
John Williams
|
||
|
||
8. List of Changes in this Release
|
||
|
||
For a full release history of Ivy see the file CHANGES.txt
|
||
|
||
For details about the following changes, check our JIRA install at
|
||
http://issues.apache.org/jira/browse/ivy
|
||
|
||
- TASK: refactor Ivy source code to improve readibility (IVY-434)
|
||
|
||
- NEW: define artifacts not declared by the dependency module descriptor (IVY-419)
|
||
- NEW: Module wide exclude (IVY-431)
|
||
- NEW: The default public resolver used is now ibiblio with m2 compatible mode (IVY-463)
|
||
|
||
- IMPROVE: OSGIfy ivy artifacts (IVY-464) (thanks to Costin Leau)
|
||
- IMPROVE: Let user specify Ivy file when using a post-resolve task (IVY-455)
|
||
- IMPROVE: IvyArtifactProperty and IvyArtifactReport tasks should be a post resolve task (IVY-452)
|
||
- IMPROVE: Rename ivy configuration in settings to remove ambiguity on configuration meaning (IVY-438)
|
||
- IMPROVE: Please typedef CacheResolver as "cache" for us (IVY-359)
|
||
- IMPROVE: ivy:retrieve should be able to create symlinks (IVY-353) (thanks to John Williams)
|
||
- IMPROVE: Ability to have multiple roots in the <ivy:buildfilelist> task (IVY-340) (thanks to Matt Inger)
|
||
- IMPROVE: Refactoring / documentation / test of matcher package (IVY-375) (thanks to Stephane Baillez)
|
||
- IMPROVE: Add a unit test to verify that latest.integration accepts released modules (IVY-394) (thanks to Gilles Scokart)
|
||
- IMPROVE: New "modules in use" section in console report at the end of resolve (IVY-373) (thanks to John Wiliams)
|
||
- IMPROVE: Generated XML reports now contains more information about the resolved module (IVY-446)
|
||
|
||
- FIX: ivy-retrieve failure when explicit absolute 'ivy.dep.file' path specified (IVY-396)
|
||
- FIX: IvyPostResolve Task doesn't reuse Ivy file of previous resolve (IVY-458)
|
||
- FIX: Ivy standalone is passing null args to main method when invoking with no args (IVY-457)
|
||
- FIX: Invalid error report with m2compatible resolver (IVY-456)
|
||
- FIX: IvyPostResolve Task doesn't use specified cache for the resolve (IVY-453)
|
||
- FIX: XmlModuleDescriptorWriterTest not working with Java 6 (IVY-374)
|
||
- FIX: Conflict managers ignored, when assigned to modules in Ivy configuration (setting, ivyconf.xml) (IVY-448)
|
||
- FIX: Ivy should fail if ';' has been used in publications/artifact/@conf of ivy.xml (IVY-441)
|
||
- FIX: Ivy should fail where dependency uses undefined configuration (IVY-442)
|
||
- FIX: Dynamic revision not calculated properly when using multiple directories (IVY-427)
|
||
- FIX: LatestRevisionStrategy.sort() doesn't sort as specified (IVY-435)
|
||
- FIX: setting m2compatible on ibiblio resolver overwrite root and pattern settings (IVY-437)
|
||
- FIX: ivy.revision property not set correctly for second resolve (IVY-429)
|
||
- FIX: NPE when no organisation or no name is provided in module element of ivyconf (IVY-422)
|
||
- FIX: FileUtil#copy(File src, File dest, CopyProgressListener l, boolean overwrite) (IVY-420)
|
||
- FIX: Invalid pom parsing when version is only declared in parent (IVY-436)
|
||
- FIX: ${project.groupId} and ${project.version} not processed correctly in poms (IVY-425)
|
||
- FIX: Incorrect pom parsing with profile (IVY-423)
|
||
- FIX: Ivy doesn't recognize maven2 classifiers (IVY-418)
|
||
- FIX: PomModuleDescriptorParser fails with nested profile dependency (IVY-392) (thanks to William Lyvers)
|
||
- FIX: Static revision replacement is not working when delivering an artifact with a dependency having extra attributes (IVY-415)
|
||
- FIX: Static revision replacement is not working when delivering an artifact with a dependency on a branch (IVY-404)
|
||
- FIX: latest-time conflict manager not working properly (IVY-407)
|
||
- FIX: LatestRevisionStrategy do not consider all dynamic revisions properly (IVY-383) (thanks to John Williams for the unit test)
|
||
- FIX: IOException during publish causes NullPointerException (IVY-371)
|
||
- FIX: Comments in ivy.xml duplicated (IVY-336) (thanks to Gilles Scokart)
|
||
- FIX: Ivy failure when the ivy.xml file contains non US-ASCII characters (IVY-346) (thanks to Gilles Scokart)
|
||
- FIX: Urlresolver is not possible to use dynamic revisions on nonstandard repository structure (IVY-350) (thanks to Pierre H<>gnestrand)
|