Ivy | |
- The agile open source dependency manager | |
- http://incubator.apache.org/ivy | |
============================================ | |
for detailed view of each issue, please consult http://issues.apache.org/jira/browse/IVY | |
Committers | |
Maarteen Coene | |
Xavier Hanin | |
Contributors | |
Ingo Adler | |
Stephane Baillez | |
Karl Baum | |
Matthieu Brouillard | |
Kristian Cibulskis | |
Pierre Hägnestrand | |
Peter Hayes | |
Matt Inger | |
Anders Janmyr | |
Christer Jonsson | |
Matthias Kilian | |
Gregory Kisling | |
Tat Leung | |
Costin Leau | |
Antoine Levy-Lambert | |
William Lyvers | |
Stephen Nesbitt | |
Joshua Nichols | |
Bernard Niset | |
Glen Marchesani | |
Mathias Muller | |
Peter Oxenham | |
Emmanuel Pellereau | |
Roshan Punnoose | |
Damon Rand | |
Christian Riege | |
Jean-Baptiste Quenot | |
Andreas Sahlbach | |
Gilles Scokart | |
John Shields | |
Johan Stuyts | |
John Williams | |
2.0.0-alpha1-incubating | |
===================================== | |
- 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) | |
version 1.4.1 - 2006-11-09 | |
===================================== | |
- IMPROVE: ability to rebuild all dependent projects from a leaf (IVY-101) | |
- IMPROVE: Artifact pattern list attribute for the ivy:publish (IVY-113) | |
- IMPROVE: Measure code coverage (IVY-323) | |
- IMPROVE: add release target to build file (IVY-339) | |
- IMPROVE: Add a 'conf' parameter to the ivy 'publish' ant task (IVY-322) (thanks to Emmanuel Pellereau) | |
- FIX: retrieve fails when resolve is done with useOrigin set to true (IVY-304) | |
- FIX: IVY complains about non-existent reports in the cache directory (IVY-315) | |
- FIX: Typo in failureproperty attribute of Ant resolve task (IVY-327) (thanks to Jean-Baptiste Quenot) | |
- FIX: ivy:resolve useOrigin fails to behave correctly (IVY-332) | |
- FIX: ChainVersionMatcher doesn't handle IvyAware children version matchers (IVY-331) | |
- FIX: latest.<status> does not work properly when no matching revision exist (IVY-318) | |
- FIX: attribute name in macrodef is not handled as expected (IVY-319) | |
- FIX: confmappingoverride doesn't work for configurations extending from "*(public)" (IVY-326) | |
version 1.4 - 2006-10-09 | |
===================================== | |
Version 1.4-RC2 has been promoted to 1.4 on 2006-10-09, with documentation update. | |
Known bugs and limitations: | |
- references in resolvers are not resolved 'in-time' with macrodef (IVY-319) | |
- latest.<status> does not work properly when no matching revision exist (IVY-318) | |
- IVY complains about non-existent reports in the cache directory (IVY-315) | |
- retrieve fails when resolve is done with useOrigin set to true (IVY-304) | |
version 1.4-RC2 - 2006-09-27 | |
===================================== | |
- FIX: m2compatible flag is ignored for display of failed artifact searches (IVY-303) | |
- FIX: AntCallTriggerTest and AntBuildTriggerTest fail when run from ivy build.xml (IVY-310) | |
- FIX: Classloader problem with ant (IVY-311) | |
- FIX: Make resolve overview more compact (IVY-299) | |
- FIX: Could not write to "tmp:///webdav_tmp.c1" because it is read-only (IVY-312) | |
version 1.4-RC1 - 2006-09-17 | |
================================= | |
Incompatibility with previous versions: | |
--------------------------------------- | |
* usage: | |
- no known major incompatiblity | |
- build list task now requires a configured ivy instance (configure will automatically be called if you don't call it explicitly) | |
- publish now requires the published ivy file to have the published revision (automatic if you use deliver) | |
* API: | |
- Numerous API changes especially in the BasicResolver class and subclasses due to the introduction of VersionMatcher, | |
this may break some custom dependency resolvers or other tools or plugins depending directly on Ivy API | |
Changes: | |
-------- | |
* thanks to Jayasoft: | |
- NEW: ivy report generate full graph from automated build (IVY-155) | |
- NEW: support for build number calculation (IVY-276) | |
- NEW: find modules in repository (IVY-275) | |
- NEW: explicitly specify artifact download URL (IVY-271) | |
- NEW: introduce branch management (IVY-269) | |
- NEW: resolve dependencies directly without using an ivy file (IVY-268) | |
- NEW: ability to invoke any build scripts for dependencies (IVY-68) | |
- NEW: support sftp repository (IVY-267) | |
- NEW: pluggable version matcher (IVY-219) | |
- NEW: support for version ranges (IVY-295) | |
- NEW: dependency based on dependency status (IVY-47) | |
- NEW: add possibility to define extra attributes in ivy files (IVY-217) | |
- NEW: option to omit specific confs and allow the rest (IVY-66) | |
- NEW: use custom classloader for plugins (IVY-220) | |
- NEW: adding to SPECIAL_MEANINGS in LatestRevisionStrategy (IVY-121) | |
- NEW: Allow use of system properties in ivyconf.xml (IVY-228) | |
- IMPROVE: allow to use file-system repository directly without cache (IVY-211) | |
- IMPROVE: deliver task use a default value for revision (IVY-252) | |
- IMPROVE: better documentation distribution (IVY-274) - in progress | |
- IMPROVE: define conflict manager per organisation/module in ivyconf (IVY-270) | |
- IMPROVE: transitive parameter in resolve (IVY-21) | |
- IMPROVE: add syncing feature in retrieve (IVY-33) | |
- IMPROVE: use of md5 and/or sha1 files to check downloads (IVY-27) | |
- IMPROVE: possible to use m2compatible without automatically using POMs as well (IVY-263) | |
- IMPROVE: support for circular dependencies (IVY-202) | |
- IMPROVE: make status list configurable (IVY-242) | |
- IMPROVE: use only ivy patterns for listing revisions when module desciptor is required (allownomd = false) (IVY-166) | |
- IMPROVE: implement strict haltonfailure if ivy.xml is not found (IVY-110) | |
- IMPROVE: artifact's "name" attribute could be omitted (IVY-231) | |
- IMPROVE: ivy standalone now return error status (IVY-152) | |
- IMPROVE: log messages do not display most specfic resolver name (IVY-170) | |
- IMPROVE: prints URL before downloading in verbose mode (IVY-257) | |
- IMPROVE: incorrect value in status attribute causes silent failure (IVY-259) | |
- IMPROVE: suport empty dependencies tag in an ivy file (IVY-281) | |
- IMPROVE: isolate dependency resolution from artifact downloading (IVY-254) | |
- IMPROVE: Pass artifact to repository when calling "put" (IVY-192) | |
- IMPROVE: Do not publish ivy file with bad revision, and allow to force the deliver when calling publish task (IVY-245) | |
- FIX: Problem with multiple artifact includes in transitive dependencies (IVY-283) | |
- FIX: Endless recursion in report (IVY-284) | |
- FIX: http url lister doesn't work when link text has spaces (IVY-282) | |
- FIX: Incorrect ant log level (IVY-279) | |
- FIX: Wrong resolution of dependencies if artifacts specified explicitly (IVY-261) | |
- FIX: Multiple versions of dependencies appearing in retrieve (IVY-264) | |
- FIX: Too many false CircularDependencyException errors thrown (IVY-230) | |
- FIX: CircularDependencyException not always thrown (IVY-184) | |
- FIX: NullPointer in BasicResolver (IVY-258) | |
- FIX: Bad diagnostics message when no space left (IVY-250) | |
- FIX: Maven2 POM support can find groupId from "parent" element (IVY-262) | |
- FIX: Parent version is expected to be equal to the module version in POM (IVY-241) | |
- FIX: problem with cache and returnFirst (IVY-207) | |
- FIX: modules splitted across a chain are not handled correctly (IVY-206) | |
- FIX: problem with conf extension and latest revisions (IVY-240) | |
- FIX: The clean-cache target in /src/example/hello-ivy/build.xml file refers to ${user.home}/.ivy-cache instead of ${user.home}/.ivy/cache/ (IVY-265) | |
* thanks to Ivy Community: | |
- NEW: SSH Resolver added and aligned with SFTP resolver (IVY-273) (thanks to Andreas Sahlbach) | |
- NEW: ability to turn off transitivity at configuration level (IVY-103) (thanks to Karl Baum and Maarten Coene) | |
- NEW: a conflict manager that is able to allow implementation changes but not api changes (1.2.x - OK), (1.x.x - Not OK) (IVY-223) (thanks to Anders Janmyr) | |
- NEW: enhance standalone mode to execute java program by creating classloader of dependant jars from cache (IVY-210) (thanks to Peter Hayes) | |
- NEW: addition of Vfs Resolver which uses Commons-Vfs to resolve files (IVY-128) (thanks to Glen Marchesani, Matt Inger and Stephen Nesbitt) | |
- IMPROVE: use global properties in the recursive delivery (IVY-222) (with the contribution of Roshan Punnoose) | |
- IMPROVE: better handling of authentication (thanks to Christian Riege) | |
- FIX: Ant log messsages not embedded in task log (IVY-280) (thanks to Gilles Scokart) | |
- FIX: Ivy fails when downloading from a server that supports NTLM authentication (IVY-213) (thanks to Damon Rand) | |
- FIX: Delivered Ivy files with incomplete last line. (IVY-125) (thanks to Matthias Kilian) | |
- FIX: the vfs resolver should not log passwords (IVY-292) (thanks to Antoine Levy-Lambert) | |
* thanks to Maarten Coene: | |
- NEW: add failureproperty parameter to the resolve task (IVY-285) | |
- NEW: Add type filtering to retrieve task (IVY-260) | |
- NEW: Add selectors to the configuration mapping (IVY-253) | |
- NEW: Add Ant task to retrieve information from an Ivy file without doing a resolve (IVY-255) | |
- NEW: add option to cachepath task to create a path with local artifact paths (IVY-221) | |
- NEW: allow extending configurations to override the mapping of their super configurations (IVY-218) | |
- IMPROVE: Retain artifact filenames along the publish/resolve/retrieve process (IVY-54) | |
- IMPROVE: report Ant-task doesn't process the reports in batch (IVY-247) | |
- IMPROVE: make ReportOutputter pluggable and customizable (IVY-205) | |
- IMPROVE: add wildcard support for extending configurations (IVY-235) | |
- IMPROVE: add support for xslt parameters in the report task (IVY-227) | |
- IMPROVE: comments now aren't lost when delivering ivy files (IVY-226) | |
- IMPROVE: add sort of 'fallback'-mapping to the defaultconfmapping attribute (IVY-215) | |
- IMPROVE: artifact origin is not included in the default report (IVY-251) | |
- FIX: VFS Resolve fails when trying to resolve a + version (IVY-237) | |
- FIX: report Ant-task doesn't use outputpattern for generating graphml reports (IVY-246) | |
- FIX: report Ant-task doesn't call init() on the internal XSLTProcess (IVY-248) | |
- FIX: value of confmappingoverride from imported configurations is lost when writing Ivy file (IVY-239) | |
- FIX: including configurations doesn't import the confmappingoverride setting (IVY-238) | |
- FIX: NullPointerException when the creation of Ivy file in cache fails (IVY-234) | |
- FIX: Ivy file containing 2 different versions of the same module is not deliverd correctly (IVY-229) | |
- FIX: ModuleRevisionId encode/decode doesn't work if revision is empty (IVY-233) | |
- FIX: cachepath task should preserve the order of the dependencies (IVY-225) | |
- FIX: specifying a defaultconfmapping adds dependencies of each unlisted configuration (IVY-214) | |
* thanks to Johan Stuyts: | |
- NEW: always update artifacts when revision matches a regex pattern (IVY-189) | |
- NEW: provide Ant task for generating report about artifacts depended upon (IVY-194) | |
- IMPROVE: change default cache artifact pattern to handle missing extension (IVY-196) | |
* thanks to Karl Baum: | |
- NEW: "this" symbol for configuration mappings (IVY-183) | |
- IMPROVE: performances improved (IVY-187) | |
version 1.3.1 - 2006-03-30 | |
=============================== | |
- FIX: retrieval of multiple artifacts in different configurations does not work as expected (IVY-188) | |
- FIX: configuration http url include doesn't work with commons http client (IVY-203) | |
- FIX: problem with conflict resolution in transitive dependencies (IVY-199) | |
- FIX: pb with force when it comes after a conflict which has already been solved (IVY-193) | |
- FIX: POM files that reference to the parent artifact download fails (IVY-195) (thanks to Tat Leung) | |
- FIX: M2 compatibility does not take into account the . replacement for publishing artifacts (IVY-191) (thanks to Peter Hayes) | |
- FIX: artifactproperty does not set the [conf] token in the pattern to the correct value. It is always set to 'default'. (IVY-123) (thanks to Peter Oxenham) | |
version 1.3 - 2006-03-17 | |
=============================== | |
This version is the same as 1.3-RC3 promoted to release status. | |
For known bugs and limitations, please refer to http://jira.jayasoft.org/ | |
version 1.3-RC3 - 2006-03-06 | |
=============================== | |
- IMPROVE: Retrieve task now also optionally do ivy file downloads (IVY-167) (with the contribution of Costin Leau) | |
- FIX: ivy variable substitution in ivy files (IVY-186) | |
- FIX: force attribute is not treated as it should in some cases (IVY-182) | |
- FIX: problem reading 'invalid' POMs (IVY-153) | |
- FIX: cryptic NPE due to spelling error in ivy.xml (IVY-177) | |
- FIX: conflicts with dynamic revisions not resolved properly (IVY-181) | |
- FIX: incorrect configuration definition gives misleading NullPointerException (IVY-175) | |
- FIX: throw an error when using a non-existing conflict manager as default (IVY-179) (thanks to Maarten Coene) | |
- FIX: eviction problem with different conflicts in multiple confs (IVY-173) | |
version 1.3-RC2 - 2006-02-15 | |
=============================== | |
- IMPROVE: ivy now supports ${pom.version} in poms (IVY-174) | |
- IMPROVE: adds the possibility to disable concistency check (IVY-163) | |
- IMPROVE: add possibility to choose matcher on include exclude and conflict manager rules in ivy files, and on resolver per module in ivyconf (IVY-161) | |
- IMPROVE: add regexp management in the install ant task (IVY-154) | |
- FIX: httclient is not registered for https urls (IVY-171) | |
- FIX: post resolve tasks like retrieve or cachepath should be able to run from cache information (IVY-169) | |
- FIX: resolve fails without appropriate message when cache is empty and a module in the repository has no revision (IVY-165) | |
- FIX: resolve problem with configuration inheritance (IVY-164) | |
- FIX: some files in cache detected by not used by Ivy for subsequent retrieves (IVY-159) | |
- FIX: HTML report shouldn't display the dependencies of evicted modules (IVY-158) (thanks to Maarten Coene) | |
- FIX: bug when an organisation or module or revision contains a space (IVY-157) | |
- FIX: cos-nonambig warnings (IVY-156) | |
version 1.3-RC1 - 2006-01-25 | |
=============================== | |
--> compatiblity with previous version: | |
- the default place for the cache has changed, it is now in {USER_HOME}/.ivy/cache, instead of {USER_HOME}/.ivy-cache | |
please move this directory if you want to avoid unnecessary downloads | |
- modules are now logged as they are found, set ivy.log.module.when.found variable to false to avoid this | |
- NEW: namespace system: a resolver can be declared to belong to a namespace, which itself | |
specify the transformation to apply to convert it from and to system namespace (IVY-147) | |
- NEW: pluggable module descriptor parsers let define new kind of module descriptor (IVY-146) (thanks to Maarten Coene) | |
- NEW: a new install task let add modules found in a repository in another one, even transitively (IVY-141) | |
- NEW: maven2 pom compatibility: most resolvers are now able to handle m2 pom as project metadata | |
and there is a new convertpom task able to convert a pom file to an ivy file (IVY-140) | |
- NEW: include configurations from external file (IVY-88) | |
- NEW: a new default resolver which let override ivy files and artifacts found on public repository | |
(ivyrep / ibiblio) and let publish modules in a local repository (IVY-132) | |
- NEW: ivyconf file inclusion in ivyconf files (IVY-99) | |
- NEW: macrodef feature in ivyconf for defining macro resolvers with parameters (IVY-98) | |
- NEW: conf fallback mechanism (IVY-145) | |
- NEW: exclusion now let exclude whole modules (IVY-144) | |
- NEW: ability to use a dependency instead of an ivy file in standalone mode (IVY-96) | |
- NEW: ability to output a path of dependencies in cache from the standalone mode (IVY-92) | |
- NEW: it is now possible to reference existing resolver in resolver containers (IVY-35) | |
- NEW: overwrite attribute in the publish task now let force overwrite of read only files (IVY-83) | |
- NEW: add a conflict manager ("strict") making build fail when a diamond conflict is found (thanks to Christer Jonsson) (IVY-118) | |
- IMPROVE: generate xml report using ivy:report task (IVY-143) | |
- IMPROVE: possibility to configure ivy so that special revisions are not queried as fixed one at all (IVY-139) | |
- IMPROVE: better url querying management (IVY-138) (thanks to Bernard Niset) | |
- IMPROVE: do not add resolver info in ivy files in cache so that they can be safely used as usual ivy files in a repository (IVY-137) | |
- IMPROVE: review default conf mapping management (IVY-134) | |
- IMPROVE: add possibility for a chain to behave like a dual chain (IVY-131) | |
- IMPROVE: add possibility to avoid overwrite of an ivy variable when setting them in ivyconf.xml (IVY-127) | |
- IMPROVE: ability to exclude the root project from the buildlist (thanks to Constantine Vetoshev) (IVY-124) | |
- IMPROVE: exclusion of artifacts now works on transitive artifacts, and exclusion can specify organisation and/or module (IVY-116) | |
- IMPROVE: now dynamic revisions replacement by deliver task can be turned off (IVY-120) | |
- IMPROVE: better performance with deep transitive dependencies | |
- IMPROVE: allow optional parts in the patterns (IVY-102) (thanks to Maarten Coene) | |
- IMPROVE: ability to define variable directly in ivyconf.xml (IVY-100) | |
- IMPROVE: ability to use no revision in pattern with latest.integration dependency, artifacts being updated according to revision change in ivy file (if checkmodified is set to true) (IVY-95) | |
- IMPROVE: ability to specify a root module in buildlist to filter out unnecessary build files (IVY-93) (thanks to Kristian Cibulskis) | |
- IMPROVE: import system properties as ivy variables in standalone mode | |
- IMPROVE: string identifying a module is now clearly different from a path | |
- IMPROVE: better error message when publish fails due to readonly destination (IVY-83) | |
- IMPROVE: some javadoc improvements (IVY-136 IVY-129) (thanks to Stephen Nesbitt) | |
- FIX: problem resolving dependencies when 2 module versions have different configurations (IVY-151) | |
- FIX: problem with inheritance between public and private conf (IVY-149) | |
- FIX: no variable replacement during the deliver step (IVY-133) | |
- FIX: conflict badly solved in some complex cases (IVY-130) | |
- FIX: mapping on conf * now only takes public configurations (IVY-126) | |
- FIX: bad dependency ivy files now causes failure (IVY-112) | |
- FIX: stack overflow error in contradictory conflict cases (IVY-117) | |
- FIX: publish now doesn't call deliver when not necessary (IVY-119) | |
- FIX: cachefileset was returning all artifacts for empty configuration (IVY-108) | |
- FIX: transitive and changing attribute were not copied in ivy files in cache (IVY-94) | |
- FIX: chain resolver now support latest strategy configuration (IVY-90) | |
- FIX: raise a clean error when a cyclic variable definition is found (IVY-75) | |
- FIX: clean ant project reference at the end of the build to improve usability in ide launching multiple builds in the same vm (like netbeans) (IVY-87 - IVY-115) | |
- FIX: ivy is now able to use simple ivy files in cache (doesn't need resolver info, use default one if no resolver is given) (IVY-86) | |
- FIX: private conf not accessible from other modules (IVY-76) | |
- FIX: root module configurations isolation bug fixed (IVY-84) | |
- FIX: changed the place where ivy stores master ivy files in cache to not overlap | |
with dependencies one (IVY-85) | |
- FIX: bug in ResourceHelper didn't let override resource easily (IVY-80) | |
- FIX: throws a circular dependency exception when a circular dependency is found | |
instead of failing silently (IVY-79) | |
version 1.2a - 2005-09-14 | |
=============================== | |
Note : version 1.2 previously published on ivy site was not the real 1.2 due to a bad release operation | |
version 1.2a should then be used instead | |
- new ivy.deps.changed property set if there are changes since last resolve (IVY-71) | |
- new buildlist task: calculate order of dependencies of subprojects for easy multi-projects builds (IVY-69) | |
- accept organization as token (IVY-55) | |
- added type filtering mechanism on resolve task (IVY-45) | |
- detect and warn about resolver using ivy cache as repository (IVY-53) | |
- new transitive attribute on dependency, which enable to disable transitive dependency | |
management on a particular dependency (thanks to Ingo Adler) (IVY-20) | |
- new '@' in dependency configuration mapping declaration, used to indicate that a configuration maps to itself | |
useful with *, '*->@' meaning that all configurations of the module maps to their equivalent (same name) | |
in the dependency (IVY-52) | |
- new changing attribute on dependencies indicate that the dependency artifacts | |
may change even without revision change, but with only a new ivy file with new | |
publication date | |
- new useRemoteConfig on conf tag in ivyconf.xml, tells to use remote configuration file | |
for repository config | |
- new type filtering in cachepath task | |
- new cachefileset task: builds an ant fileset of artifacts in cache | |
- publish task now uses srcivypattern for ivy files finding and for delivery | |
- better debug and error messages (IVY-60 IVY-61) | |
- added a javadoc target in ant build (thanks to joshua nichols) | |
- FIX: module descriptors sort was failing in some case cases (fix by Karl Baum) | |
- FIX: Ivy complains about schema directive (IVY-64) | |
- FIX: 'null' status attribute in module descriptor (IVY-62) | |
- FIX: report header contains incorrect link after resolve for multiple, comma-separated configurations (IVY-57) | |
- FIX: error retrieving dependencies with a '+' in their revision if the ivy file doesn't exist - fixed by maarten coene (IVY-59) | |
- FIX: trying to resolve latest with no revision in pattern caused a StackOverflowError (IVY-56) | |
- FIX: now handle transitive eviction (IVY-51) | |
- FIX: resolve now store resolved file id in ivy variables, so that multiple resolve calls | |
can be followed by multiple retrieve, each retrieve will use the last resolve info (IVY-49) | |
- FIX: IllegalStateException on retrieve done from command line | |
- FIX: checks ivy files data consistency with asked info (org, module name and revision) | |
- FIX: use AUTH configuration for configuration file | |
- IMPROVE: added publish handling from command line (IVY-48) | |
version 1.1 - 2005-06-13 | |
=============================== | |
- remote configuration (if available) of ivyrep and ibiblio patterns and roots | |
- new detailed messages when ivy fails to reach an url (thanks to Nicolas) | |
- new artifactproperty task, which enables to set a property for each dependency artifacts | |
resolved by ivy | |
- new defaultconf attribute in ivy file dependencies, to change the default conf to use in the file | |
when no conf is specified for a dependency | |
- add the ability to change the xsl file and report name pattern used by report task | |
- http listing now compatible with tomcat listing (tested with 5.0.28) | |
- pub revision in deliver task now defaults to timestamp if not provided by any other way | |
- debug messages improvements, with configuration dump among others | |
- new var task, enables to set ivy variables from ant | |
- now defaults for ivyrep and ibiblio resolver are configurable by variables | |
- refactoring: introduce the notion of BasicResolver, Repository, Resource, RepositoryResolver, | |
making much easier the task of writing basic resolvers | |
- added checkmodified attribute on all basic resolvers, which defaults to ${ivy.resolver.default.check.modified} | |
This makes ivy check last modified date of ivy files to see it its cache is up to date | |
- artifacts download are now first made to a temp file, which is renamed | |
only at the end of the download. This prevent interrupted downloads to be | |
considered as finished | |
- FIX: handle proxy configuration with http-client (thanks to Nicolas) | |
- FIX: remove dependency on ant outside of ant integration classes | |
- FIX: resolve problem when conflicts on latest revisions | |
- FIX: allow use of any kind of URL in IvyRepResolver (both ivyroot and artroot) and IBibiblioResolver | |
- FIX: chain resolver can now be used for artifacts part of dual resolver | |
- FIX: now detects and warn about circular dependencies | |
- FIX: cachepath task now takes pathid as parameter instead of id, to prevent | |
special handling from ant | |
- FIX: ivy.xsd: set artifact minOccurs to 0 in publications | |
Thanks to John Shields from Robert Half International, Inc.: | |
- FIX: no more infinite loop when a conflict occurs between a latest subversion and a fully resolved revision | |
- FIX: BasicURLHandler now closes its connections | |
- FIX: ApacheURLLister now works with capital letter in revisions and truncated names | |
- now use of ivy variables is allowed in ivy files | |
- added a null check in pattern helper substitute | |
version 1.0 - 2005-04-26 | |
=============================== | |
1.0-rc3 has been promoted to 1.0 on 2005-04-26 | |
Known bugs and limitations: | |
- cyclic dependencies result in StackOverflowError | |
- infinite loop in rare cases when a conflict occur between a latest subversion and a fully resolved revision | |
- url connections not closed properly when not using commons-httpclient | |
- latest does not work with http urls in some cases, when the name of the link is truncated in the web page | |
version 1.0-rc3 - 2005-04-21 | |
=============================== | |
- IMPROVE: added debug messages on variables setting | |
- FIX: ivyconf now able to load a properties file given as url | |
- FIX: deliver pub date now actually defaults to 'now' | |
- FIX: all tasks attributes now substitute ivy variables | |
version 1.0-rc2 - 2005-04-18 | |
=============================== | |
- IMPROVE: improved messages: more debug, more verbose, and more details on failures | |
- FIX: bug with '\' in path patterns | |
- FIX: bug with relative paths patterns | |
- FIX: configure task tries ivy.conf.file as relative to base dir and to current dir | |
- FIX: file system resolver publishes ivy files with ivy pattern | |
- FIX: 0 content length considered as non existing (behaviour of jre 5.0 on linux) | |
=> empty ressources are now considered as non existing | |
version 1.0-rc1 - 2005-04-12 | |
=============================== | |
- add report task, which enables to generates reports of dependencies, including a graph | |
ready to be layed out by yEd | |
- add exclude feature in dependency | |
- include exclude feature now handles regexps | |
- new latest strategy: latest revision now uses a "php version_compare" like algorithm, whereas | |
lexicographic comparison is now available in latest lexicographic | |
- enhance xml resolve report details | |
- FIX: better separation between root configurations | |
- FIX: XmlModuleDescriptorUpdater now preserves xml header | |
- FIX: modules number in report (displayed at the end of resolve) | |
version 0.9 - 2005-04-06 | |
=========================== | |
- clearly differenciate pattern tokens from variables, by using brackets as delimiter in pattern tokens | |
=> WARNING: this introduce changes in all patterns syntax, and thus does not provide compatibility | |
with previous versions | |
- ChainResolver are now able to publish (delegating the call to the first resolver in the chain) | |
- DualResolver sub resolvers are now registered in Ivy | |
- more precise message on eviction | |
- add validate attribute on most resolvers | |
- ivy files validation handling review | |
- use ivy variables in ant tasks to get default values for attributes | |
- documentation update for configuring ivy | |
- FIX: dependencies order not taken into account during resolve | |
- FIX: evicting modules also evict confs | |
- FIX: NPE during resolve when a dependency ivy file has no publication date | |
- FIX: check nullity of artifact download reports | |
version 0.8 - 2005-03-30 | |
=========================== | |
- added validate attribute on resolve, retrieve and publish, which allows to disable ivy file validation | |
against ivy.xsd (useful to parse future compatible ivy files) | |
- ant properties are now available in ivyconf file | |
- unified default properties in ivyconf, with better independance from url or file | |
- added ext on artifacts: this enable to distinguish artifact extension from artifact | |
type, util in cases where it differs (example: 'src' type with 'zip' extension, 'ivy' type with 'xml' extension, ...) | |
- added publish artifacts feature, which enable to publish declared artifacts of a module to a repository | |
described by a dependency resolver. It currently works only with filesystem resolver. | |
- url resolver now handles latest with file urls and http ones (tested only with apache server) | |
- added latest strategy concept: the way to determine which artifact is the latest | |
is now configurable on resolvers handling latest. | |
- added parameter on chain resolver to say if it should return first found or | |
try to find the latest among all if asked | |
- a module can now publish no artifact, useful for virtual modules consisting only | |
of integration of other modules | |
- added conflict management at resolve time: during resolve, modules in conflict can be evicted | |
and thus not downloaded | |
- added ivyrep resolver, using ivyrep to find ivy files, and ibiblio for artifacts | |
- use ivyrep instead of ibiblio as default resolver | |
- added more info in ivy files (description, homepage, ivy authors, license, public repository, ...) | |
- now cache layout is configurable, using cacheIvyPattern and cacheArtifactPattern | |
attributes on conf element in ivyconf.xml | |
- changed default cache layout: artifacts are separated by type | |
- added cachepath task, which enables to build an ant path of artifacts in cache required for a conf | |
version 0.7 - 2005-03-11 | |
=========================== | |
- added latest sub revision feature: you can now select the latest sub revision of a module | |
using a +. For instance, "1.0+" selects the latest revision starting with 1.0. (thanks to jonas for the idea) | |
- haltonfailure now defaults to true (as suggested by Jeroen) | |
- shorter info lines to better view important info (as suggested by Jeroen) | |
- retrieve now checks if files are up to date before copying them from cache. This feature | |
can be disabled using the checkUpToDate attribute in ivy configuration file. | |
- do not download dependencies when not necessary during publication (as suggested by Daniele) | |
- bug fix: better handling of publish without recursive delivery | |
version 0.6.1 - 2005-02-11 | |
============================= | |
- bug fix: conf extends problem with publications | |
- bug fix: typedef badly handled in ivyconf.xml | |
- bug fix: default properties loading in ivy configure loaded using task classloader | |
version 0.6 - 2005-02-03 | |
=========================== | |
+ functional | |
- added haltonfailure attribute on resolve and retrieve task, so that build can be halt when | |
resolve or retrieve fails | |
- added dependency artifacts filtering feature, enabling to work better with ibiblio | |
- ibiblio resolver can now be configured to use any maven like repository, with root and pattern attributes | |
- added download progression info on resolve | |
- default cache is now in user home (.ivy-cache in user home), so that cache is shared | |
by default for all projects of the same user | |
- added public access to method getDependencies(...) in Ivy, which resolve dependencies without | |
downloading artifacts | |
- added DualResolver, which allows to have ivy files in one place and artifacts in another one | |
+ non functional | |
- added some unit tests | |
- deep review of ivy file reference documentation | |
+ bugs and refactoring | |
- bug fix: SimpleURLResolver not handling the case when there is no ivy file | |
- refactoring: URLResolver renamed to AbstractURLResolver | |
- refactoring: SimpleURLResolver renamed to URLResolver | |
version 0.5.1 - 2005-01-16 | |
============================= | |
- Bug Fix: NPE in publish task when no delivery.list.file is provided | |
- documentation update | |
version 0.5 - 2005-01-12 | |
=========================== | |
initial public version |