| Apache Ivy v2.0.0 |
| 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 first official release made since Ivy has moved to the Apache Software |
| Foundation. We strongly encourage the use of this new version instead of the older |
| 1.4.1 version, 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 which may cause incompatibilities. For a full list of detailed changes, |
| please refer to CHANGES.txt file. |
| |
| This new version of Apache Ivy is almost fully compatible with 1.4 version 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 loading the settings (implicitly or explicitly): |
| ivy.14.compatible=true |
| |
| 3.4. Relative paths resolution |
| |
| Relative paths resolution in Ivy used to be resolved against the current directory. |
| In 2.0, relative path resolution is done like this: |
| * In an Ivy file, paths are relative to the Ivy file itself (the only possible path |
| in an Ivy file is for configurations declaration inclusion) |
| * In settings files, paths for file inclusion (namely properties file loading and |
| settings inclusion) are relative to the directory in which the settings file is |
| located. All other paths must be absolute unless explicitly noted. |
| * In Ivy Ant tasks and Ivy parameters or options, paths are relative to Ivy base |
| directory, which when called from Ant is the same as your Ant basedir. |
| |
| This may break your dependency resolution if you used to use relative paths for configuration |
| file inclusion. |
| |
| 3.5 Ivyrep ivyroot attribute is now mandatory |
| |
| If you still use the ivyrep resolver, you will need to provide an ivyroot. |
| To restore the previous behavior, use ivyroot="http://ivyrep.jayasoft.org/". |
| |
| Since Ivyrep is not maintained anymore, we recommend moving away from this repository anyway. |
| |
| 3.6 alwaysCheckExactRevision now defaults to false |
| |
| This property common to many resolvers is used to tell the resolver if the raw revision |
| should be tested even when the revision is dynamic. This is used in very few use cases, |
| so we decided to change the default to false. |
| |
| If you want to set the default to true, set 'ivy.default.always.check.exact.revision' to |
| 'true' before loading Ivy settings. |
| |
| 4. Migrating from Jayasoft Ivy to Apache Ivy |
| |
| Besides what is stated in "3. Major Changes in this Release" |
| 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 |
| in most cases. |
| |
| 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://ant.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 |
| Nicolas Lalevee |
| Gilles Scokart |
| |
| Contributors |
| Patrick Woodworth |
| |
| For the list of people who have contributed since Ivy inception, see CHANGES.txt file. |
| |
| 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-rc2: |
| - IMPROVEMENT: Ivy Standalone setting to overwrite publications (IVY-976) |
| - IMPROVEMENT: Support useOrigin for artifacts with a set url attribute (IVY-965) (thanks to alex322) |
| |
| - FIX: Log levels aren't respected in certain cases using the standalone functionality (IVY-960) (thanks to Patrick Woodworth) |
| - FIX: NPE in LogReportOutputter (IVY-961) |
| - FIX: NullPointerException when resolving module wihout revision in the pattern (IVY-980) |
| - FIX: IO problem while parsing ivy file (Resetting to invalid mark) (IVY-975) |
| - FIX: Cannot parse maven2 poms containing an UTF-8 BOM |
| - FIX: Files with non-latin symbols fail to download (IVY-962) |