| Apache Ivy v2.0.0-alpha2-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 is the second release of Ivy in the Apache incubator, and as an |
| alpha version we do not guarantee any stability. API and features |
| are still likely to change until final 2.0.0 version. Still we encourage |
| the use of this version for 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. Review of settings loading |
| |
| This new Ivy version experience with a new way of loading the settings. The configure task |
| is deprecated, and replaced by a settings datatype. By using the settings datatype, you can |
| easily use several settings inside one Ant build script, and use a scope to tell Ivy which |
| settings to use when calling a task which requires some settings. |
| |
| This is still an experiment though, so feedback is very welcome in the mailing lists. |
| |
| 3.4. 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 loading the settings (implicitly or explicitly): |
| ivy.14.compatible=true |
| |
| 3.5. Relative paths resolution |
| |
| Relative paths resolution in Ivy used to be resolved against the current directory. |
| Some work is in progress in this area, currently relative path resolution for the inclusion |
| of configuration files in Ivy files has been modified to work relative to the Ivy file in which |
| the configurations are included. |
| |
| This may break your dependency resolution if you used to use relative paths for configuration |
| file inclusion. |
| |
| 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' |
| |
| We also suggest using the new org.apache.ivy.ant package name for the antlib declaration. |
| |
| 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 |
| Gilles Scokart |
| |
| Contributors |
| Stephane Bailliez |
| Mikkel Bjerg |
| Jeffrey Blattman |
| Archie Cobbs |
| Scott Goldstein |
| Jan Materne |
| Tjeerd Verhagen |
| John Williams |
| Jaroslaw Wypychowski |
| |
| 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 |
| |
| List of changes since Ivy 2.0.0-alpha-1-incubating: |
| - NEW: Add cleancache task (IVY-565) |
| - NEW: A checkstyle report is generated (IVY-483) (thanks to Jan Materne) |
| - NEW: Hide private or specific conf when publishing (IVY-77) |
| |
| - IMPROVEMENT: File buffer increased to 64KB (IVY-551) |
| - IMPROVEMENT: Expose default cache location as an ant property (IVY-563) |
| - IMPROVEMENT: Expose Ivy variables as Ant Properties (IVY-564) |
| - IMPROVEMENT: Change default cache location (IVY-530) |
| - IMPROVEMENT: Upgraded VFS dependency to 1.0 and removed dependency on VFS-sandbox (IVY-498) |
| - IMPROVEMENT: Use maven2 repository to download dependencies |
| - IMPROVEMENT: Allow "main" parameters to be passed directly (instead of using -args flag) (IVY-480) (thanks to Archie Cobbs) |
| - IMPROVEMENT: Remove @author tags (thanks to Stephane Bailliez) |
| - IMPROVEMENT: Remove use of deprecated elements in ivysettings.xml (IVY-505) (with contribution from Jan Materne) |
| - IMPROVEMENT: Buildlist onlydirectdep attribute (IVY-473 and IVY-504) (with contribution from Mikkel Bjerg) |
| - 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) |
| - FIX: XmlModuleDescriptorWriter does not produce matcher attribute on include and exclude rules (IVY-556) |
| - FIX: pom.groupId is not recognized in maven 2 pom parser (IVY-550) |
| - FIX: Evicted modules report depends on the order of the dependencies (IVY-526) |
| - FIX: Ivy does not work on Turkish machines (IVY-65) |
| - FIX: Ivy does not handle multiple version dependencies in maven2 poms correctly (IVY-494) |
| - FIX: pom parser doesn't necessarily processes all important information (IVY-524) |
| - FIX: <info> element of Ivy file in cache is not updated when using namespaces (IVY-516) |
| - FIX: Retrieve Ant task ignores resolveId attribute (IVY-522) (thanks to Scott Goldstein) |
| - FIX: The deprecated "keep" attribute on post resolve tasks causes an error (IVY-517) |
| - FIX: Some circular dependencies not retrieved (IVY-400) |
| - FIX: ${version} property not recognized in poms (IVY-512) |
| - FIX: Bug on handling dependency artifacts when a module configuration is specified (IVY-507) |
| - FIX: Configure fails when having httpclient in classpath without commons-logging (IVY-502) |
| - FIX: packaging data not parsed in maven 2 pom (IVY-500) (thanks to Jeffrey Blattman) |
| - FIX: install ant task: requires default resolver in ivy settings (IVY-477) |
| - FIX: Ant project reference lost from context on multiple ant calls in single thread (IVY-497) (thanks to Jaroslaw Wypychowski) |
| - FIX: EOL in the doc pages (IVY-470) |
| - FIX: Cache is storing ArtifactOrigin properties with no guarantee of unicity and types telescope during resolve. (IVY-430) (thanks to Stephane Bailliez) |
| - FIX: ivy:install ant task does not fail on error (IVY-475) (thanks to Jeffrey Blattman) |
| - FIX: Credentials are shown in build log even if debug is not enabled (IVY-486) |
| - FIX: Post-Resolve task shouldn't set the 'resolveid' (IVY-489) |
| - FIX: build fails without emma code coverage JARs present (IVY-478) |
| - FIX: buildlist broken - regression in 2.0.0-alpha1-incubating (IVY-493) |
| - FIX: Circular dependency startegy in buildlist (IVY-509) |
| - FIX: ivy should stop telling me off twice for ivyconf.xml files (IVY-513) |
| - FIX: Allow relative path in ivy.xml files (IVY-347) |