Ivy - The agile open source dependency manager - http://ant.apache.org/ivy ============================================ for detailed view of each issue, please consult http://issues.apache.org/jira/browse/IVY Committers Maarten Coene Xavier Hanin Nicolas Lalevée Gilles Scokart Contributors Ingo Adler alex322 Stephane Bailliez Karl Baum Mikkel Bjerg Jeffrey Blattman Jim Bonanno Matthieu Brouillard Carlton Brown Mirko Bulovic Jamie Burns Chris Chilvers Kristian Cibulskis Andrea Bernardo Ciddio Archie Cobbs Danno Ferrin Benjamin Francisoud Jacob Grydholt Jensen Scott Goldstein Pierre Hägnestrand Scott Hebert Tobias Himstedt Ben Hale Peter Hayes Scott Hebert Matt Inger Anders Janmyr Christer Jonsson Michael Kebe Matthias Kilian Alexey Kiselev Gregory Kisling Tat Leung Costin Leau Antoine Levy-Lambert William Lyvers Sakari Maaranen Jan Materne Markus M. May Stephen Nesbitt Joshua Nichols Bernard Niset David Maplesden Glen Marchesani Phil Messenger Mathias Muller Randy Nott Peter Oxenham Emmanuel Pellereau Roshan Punnoose Jean-Baptiste Quenot Damon Rand Geoff Reedy Christian Riege Andreas Sahlbach Brian Sanders Adrian Sandor Ruslan Shevchenko John Shields Simon Steiner Johan Stuyts Jason Trump Tjeerd Verhagen James P. White Tom Widmer John Williams Chris Wood Patrick Woodworth Jaroslaw Wypychowski 2.0.0 ===================================== - IMPROVEMENT: Extend packager resolver to allow arbitrary ant tasks in build instructions (IVY-994) (thanks to Archie Cobbs) - 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: NullPointerException at PomModuleDescriptorBuilder.addDependency (IVY-995) - 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) 2.0.0-rc2 ===================================== - DOCUMENTATION: Filesystem resolver: talks about "patterns" but does not mention these must become absolute file paths (IVY-910) - NEW: Allow authentication credentials to be specified in settings file (IVY-943) (thanks to Randy Nott) - IMPROVEMENT: Error messages on use of relative paths can be cyrptic (IVY-909) - IMPROVEMENT: Maven accepts illegal XML for its pom's, Ivy not (IVY-921) - IMPROVEMENT: Ivy should set the ${basedir} property (IVY-953) - FIX: NullPointerException in AbstractPatternsBasedResolver when organization is null (IVY-928) - FIX: NullPointerException when Ivy cannot locate pom parent (IVY-927) - FIX: Cannot configure items with java.io.File attributes (IVY-905) - FIX: Environment properties in ivy settings are no longer resolved (IVY-907) - FIX: Resolve failed on certain proxy environment (IVY-911) - FIX: Ivy can't handle bare POM ${groupId} property (IVY-913) (thanks to Tom Widmer) - FIX: Properties needed to parse version in POM (IVY-914) (thanks to Tom Widmer) - FIX: build.xml: checkstyle + checkstyle-report dont work together (IVY-919) - FIX: Maven packaging of "pom" should add a "jar" artifact if present (IVY-920) - FIX: StackOverflow when using ivy:settings with "ivy.instance" as id (IVY-924) - FIX: Maven Pom reader doesn't handle optional dependencies correctly in some instances (IVY-926) (thanks to Phil Messenger) - FIX: ivy:settings doesn't work if id is a property (IVY-925) - FIX: HttpClientHandler hanging in certain cases (IVY-930) (thanks to Scott Hebert) - FIX: Can't download files containing space or + in their names by HTTP (IVY-923) - FIX: Maven2 parser doesn't support POMs with as root (IVY-932) - FIX: Default retrieve, publish and deliver patterns doesn't include the [classifier] token (IVY-935) - FIX: Can't use latest.release for pom dependencies (IVY-936) - FIX: Unable to resolve snapshot versions depending on xml elements order (IVY-940) - FIX: pre-resolve-dependency event doesn't export branch information (IVY-941) (thanks to Jaroslaw Wypychowski) - FIX: cachefileset produces an empty fileset when the cache refers to libs in directories that only have the root directory in common (IVY-948) (thanks to Chris Wood) - FIX: Extra Attributes specified in the Dependency's Module Descriptor are not available to resolvers (IVY-929) (thanks to Scott Hebert) - FIX: Support for passing arbitrary arguments to the -main invoked class when using the standalone mode is severely limited (IVY-952) (thanks to Patrick Woodworth) - FIX: Correctly set ivy.resolved.configurations property when the conf string includes a negation operator (IVY-951) (thanks to Patrick Woodworth) - FIX: Maven pom license url can contain xml entities (IVY-950) - FIX: Maven pom license has name as optional element (IVY-949) - FIX: Ivy doesn't throw an error when the parent POM cannot be loaded (IVY-931) - FIX: Maven pom parser is not handling pom property ${project.parent.version} (IVY-955) - FIX: inline resolve ignores the transitive attribute (IVY-958) 2.0.0-rc1 ===================================== - NEW: Report version of Ivy in HTTP headers (user-agent?) when Ivy downloads artifacts (IVY-878) - NEW: Add publish support to URL resolver (IVY-848) (thanks to Brian Sanders) - NEW: Better support for local builds (IVY-857) - NEW: Retain original dependency constraint rules in resolved ivy file (IVY-739) - NEW: Add a new resolve mode (optionally per module) to utilize dynamic constraint rule metadata (IVY-740) - NEW: Add transitive dependency version and branch override mechanism (IVY-784) - NEW: Add new packager resolver (IVY-829) (thanks to Archie Cobbs) - IMPROVEMENT: DualResolver should also provide setDescriptor method instead of setAllownomd, which is deprecated for the other resolvers (IVY-903) - IMPROVEMENT: Parse license information in poms (IVY-892) - IMPROVEMENT: Change 'alwaysUseExactRevision' default value to false (IVY-891) - IMPROVEMENT: Better and more homogeneous relative paths handling (IVY-387) - IMPROVEMENT: undeprecate configure task (IVY-849) - IMPROVEMENT: Detect missing artifacts on publish asap (IVY-862) - IMPROVEMENT: Allow to set the branch at deliver/publish time (IVY-859) - IMPROVEMENT: Add defaultconf in publications tag of ivy file (IVY-801) - IMPROVEMENT: Support atomic publish with sub directory structure (IVY-856) - IMPROVEMENT: Provide ant task to retrieve information from published ivy modules (IVY-838) (thanks to David Maplesden) - IMPROVEMENT: Install task fails but reason is not displayed without using -debug or -verbose (IVY-834) - IMPROVEMENT: SSH resolver doesn't support keyboard-interactive authentication (IVY-836) (thanks to Tobias Himstedt) - IMPROVEMENT: declare source and javadoc artifacts in maven2 modules (IVY-325) - IMPROVEMENT: Set the last modified attribute of files downloaded from repositories (IVY-823) - IMPROVEMENT: If DNS is playing up, Ivy takes a lot longer to sort project dependencies (IVY-817) - IMPROVEMENT: make it possible to specify permissions of published files for the SSH resolver (IVY-764) - IMPROVEMENT: Load Ivy version number into some Ant property (IVY-790) - IMPROVEMENT: Make Ivy standalone runnable with no required dependencies (IVY-757) - IMPROVEMENT: add branch attribute in ivy:install task (IVY-727) - IMPROVEMENT: Parse description information in ivy files (IVY-766) - IMPROVEMENT: Parse description and home page from poms (IVY-767) - IMPROVEMENT: Change allownomd and skipbuildwithoutivy into a more semantically correct name (IVY-297) - IMPROVEMENT: Smarter determination if an expression is exact or not for RegexpPatternMatcher and GlobPatternMatcher - IMPROVEMENT: Check branch consistency during resolve (IVY-858) - IMPROVEMENT: Give the possibility to not compute ivy.deps.changed (IVY-876) - IMPROVEMENT: Add a memory cache for the module descriptor that are parsed from the cache (IVY-883) - IMPROVEMENT: Improve performance (IVY-872) - IMPROVEMENT: Additional descriptions of build.xml targets (IVY-499) - FIX: Publish Ant Task 'warnonmissing' ignored (IVY-867) - FIX: Ivy stand-alone ignores -cache argument (IVY-901) (thanks to Chris Chilvers) - FIX: ivy.cache.dir.${settingsRef} is set to default instead of the defaultCacheDir from the ivysettings.xml after ivy:resolve (IVY-898) - FIX: Ivy ibiblio resolver chokes on variables while checking descriptor consistency (IVY-818) - FIX: Enable consistent support of the configuration negation operator (IVY-894) (thanks to Patrick Woodworth) - FIX: add variable expansion in extra attributes (IVY-798) - FIX: Invalid URL when using dynamic ranges (IVY-885) - FIX: can't use gotoNode with a node which has not been visited yet (IVY-874) - FIX: Ivy Publish Task Fails When XML Comments Exist Next to Dependency Declarations (IVY-888) - FIX: Incorrect directory path resolve when running from a different directory (IVY-232) - FIX: Ivy#listTokenValues(String, Map) does not filter returned values, and does not use maven-metadata.xml files with IBiblio resolver (IVY-886) - FIX: Circular Dependency messages in a resolve do not reflect the configuration used during the resolve (IVY-708) - FIX: Failure to transitively install Maven2 artifacts with namespace (IVY-440) - FIX: Unwanted eviction of dependencies when optional attributes in dependency and info tags are in consistent (IVY-745) - FIX: HTTP Handlers ignore unsuccessful response codes (IVY-864) (thanks to James P. White) - FIX: Deliver delivers the wrong version when a dynamic revision is evicted before being resolved (IVY-707) - FIX: Inconsistency with "multi-project" tutorial (IVY-667) - FIX: URLRepository does not allow some valid file scheme uri's (IVY-884) - FIX: Incorrect parsing artifactPattern attribute in a sftp resolver (IVY-661) (thanks to Alexey Kiselev) - FIX: Maven2 "ejb" packaging is not supported (IVY-873) - FIX: Config files with # in path can't be read (IVY-868) (thanks to Simon Steiner) - FIX: Cache can't distinguish artifacts with classifiers (IVY-803) (thanks to James P. White) - FIX: Reports showing double dependencies in certain cases (IVY-578) - FIX: Dynamic revision resolve does not throw error when configuration is missing (IVY-861) - FIX: Referenced resolver not found in macro (IVY-860) - FIX: Ivy files are not retrieved when using useOrigin=true (IVY-713) - FIX: NPE in Ivy:install task if the repository cache dir has been cleared (IVY-843) - FIX: Maven version ranges with ( ) are not supported (IVY-678) (thanks to Michael Kebe) - FIX: Ignore maven metadata files when listing revisions (IVY-765) - FIX: haltonmissing on publish task does not prevent the other files to be published, even with an atomic publisher (IVY-656) - FIX: Transitive dependencies resolves incorrectly when different modules uses the same dependency with different configurations in the same build (IVY-541) - FIX: transitive attribute set to false because of dependency (IVY-105) - FIX: Wrong check for defaultCacheArtifactPattern (IVY-840) - FIX: NPE in ivy:install if ivy.settings.xml contains custom attribute for a module (IVY-838) - FIX: Ivy unit tests fail because 'classifier' attribute of 'artifacts' element is missing in ivy.xsd (IVY-837) - FIX: Ivy build system: fix build.xml to allow "ant coverage-report" behind a proxy (IVY-832) - FIX: NPE in AbstractResolver.exists() if a resource cannot be found (IVY-831) - FIX: Ivy distribution jars contains duplicate entries (IVY-828) - FIX: ivy:report will generate an HTML file that references non-existent ivy-report.css (IVY-826) - FIX: dynamic resolveMode not being dynamic on branch (IVY-825) - FIX: Filesystem repositories can not have () in the path (IVY-797) - FIX: Type tag in poms not supported (IVY-762) - FIX: An empty exclusion tag results in an IllegalArgumentException (IVY-821) - FIX: Maven scope defined in POM dependencyManagement section not honoured (IVY-811) - FIX: SFTPRepository incorrectly calculates last modified time for resources (IVY-815) - FIX: Filesystem resolver does not evaluate [branch] token when publishing (IVY-814) - FIX: Using ivy:settings with the "id" attribute not behaving as expected (IVY-809) - FIX: onMissingDescriptor doesn't work due to == comparison (IVY-805) (thanks to Ben Hale) - FIX: revision token is not set in report outputpattern (IVY-272) - FIX: Ivy uses the first set of configurations it sees when resolving multiple versions of a module (IVY-681) - FIX: Eviction fails for libs not providing their ivy configuration and providing artifacts named different between lib versions (IVY-537) - FIX: Memory leak in ModuleRevisionId.java (IVY-791) - FIX: conflict manager scoping does not work as expected (IVY-465) - FIX: ivy.original.xml file using artifact pattern in cache and causing problems (IVY-787) - FIX: ivy:retrieve with sync="true" removes the .svn directory (IVY-763) - FIX: Ivy silently fails XML errors in ivyrep (IVY-579) - FIX: Extra Attributes are not available to resolver after resolve if cache was empty (IVY-773) - FIX: NullPointerException during ResovleEngine.downloadArtifacts. (IVY-592) - FIX: setting m2compatible on ibiblio resolver overwrite root and pattern settings (IVY-437) (thanks to Jing Xue) - FIX: unable to resolve snapshot versions (IVY-501) - FIX: No error or warning when a resolver references a non-existent cache (IVY-777) - FIX: ivy properties defined in an include file not available in the file that includes it (IVY-780) - FIX: SFTPRepository.list(String) hides exceptions (IVY-751) - FIX: Wrong error message for republishing a module (IVY-752) - FIX: resolve fails to put metadata in cache (IVY-779) - FIX: multiple cleancache and inline retrieve error (IVY-778) - FIX: buildlist evicts modules with the same name, but different organisation (IVY-731) - FIX: Out of memory/Stack overflow for new highly coupled project (IVY-595) - FIX: Compatibility with maven's dependencyMangement (IVY-753) - FIX: ivy:settings fails when override is not set to 'true' (IVY-771) - FIX: NPE when specifying both resolveId and inline in an Ivy:Resolve (IVY-776) - FIX: repreport task not working against a repository structured by branches (IVY-716) - FIX: Ivy reports a conflict when the same file is supposed to be retrieved at the same location twice (or more) (IVY-743) - FIX: StackOverflowError when configuration extends itself (IVY-696) - FIX: XML schema ambiguity (IVY-750) - FIX: ivy-resolve fails when a project has different dependencies in different branches (IVY-717) - FIX: PublishEventsTest fails when Ivy sources are located in a directory with a + (IVY-755) - FIX: XML entity parsing does not work properly (IVY-737) (thanks to Patrick Woodworth) - FIX: Cachefileset task silently fails with parent dir ".." construct (IVY-638) - FIX: SFTP should verify input parameter for hostname (IVY-734) - FIX: Classpath issues with vfs ftp while being used as a bundle (IVY-785) - FIX: Relative include in a settings must be evaluated relatively to the settings file (IVY-372) - FIX: The Bundle-Version is 0.0.0 in the build artifacts (IVY-802) - FIX: Fix the encoding used in XML reports (IVY-816) - FIX: Properties tag in ivy conf do not support relative path (IVY-89) - FIX: Ivy causes IveDE to fail where a properties file is relative to ivyconf.xml (IVY-573) - DOCUMENTATION: Fixed more than a hundred (100+) obsolete "configuration" references; replaced with "settings" (IVY-863) (thanks to Sakari Maaranen) - DOCUMENTATION: Elaborated documentation of ivy files and deliver/publish tasks (IVY-847) (thanks to Sakari Maaranen) - DOCUMENTATION: Ivy terminology elaboration and illustration (IVY-852) (thanks to Sakari Maaranen) - DOCUMENTATION: Broken link in documentation in Ivy files section, info element page (IVY-788) - DOCUMENTATION: Add new cache information to resolver doc (IVY-772) (thanks to Carlton Brown) 2.0.0-beta2 ===================================== - NEW: Introduce RepositoryManagementEngine (IVY-665) - NEW: Add support for importing environment variables (IVY-608) - NEW: Add ability for buildlist task to start build from specified module in the list (IVY-697) (thanks to Mirko Bulovic) - NEW: Cache dynamic revision resolution (IVY-694) - NEW: Make resolve console output configurable per resolve (IVY-715) - IMPROVEMENT: branch and extra attributes missing from info Ant task (IVY-721) - IMPROVEMENT: Review settings loading in Ant (IVY-703) - IMPROVEMENT: Move useOrigin to repository cache manager (IVY-700) - IMPROVEMENT: Make IBiblio resolver compatible with maven proxy (IVY-466) - IMPROVEMENT: Use namespace aware validation (IVY-553) - IMPROVEMENT: use ModuleRevisionId instead of ModuleId in IvySettings#getResolver (IVY-691) - IMPROVEMENT: Flexible cache management (IVY-399) (With contribution of Adrian Sandor) - IMPROVEMENT: Decrease memory footprint (IVY-662) - IMPROVEMENT: Downgrade Ant version requirement to 1.6 to build Ivy (IVY-687) - IMPROVEMENT: In the ResolveReport class, add the possibility to filter the evicted module while getting the list of DownloadArtifact (IVY-704) (thanks to Nicolas Lalevée) - IMPROVEMENT: Refactor the PomModuleDescriptorParser in order to allow easier integration of maven pom - FIX: ivy:install task not using validate attribute (IVY-728) - FIX: Bad conflict resolution leads to bad "configuration(s) not found" error (IVY-729) - FIX: Resolving for muyltiple configurations when one is not in the list of available configurations does not abort the build (IVY-720) - FIX: Branch attribute considered as both a standard and extra attribute on module info (IVY-726) - FIX: Branch attribute not set on deliver when using a non default branch (IVY-724) - FIX: NullPointerException reported instead of error in ivy:cachepath (IVY-690) - FIX: NPE when calling retrieve if some artifacts are not available locally (IVY-712) - FIX: When in ssh plugin we does not set username in scheme, Ivy always try to connect with guest username, even if we change one in panel. (IVY-710) (thanks to Ruslan Shevchenko) - FIX: NPE in SshCache during publish with ssh resolver without passFile (IVY-709) (thanks to Ruslan Shevchenko) - FIX: Update install ivy build file example (IVY-705) (thanks to Benjamin Francisoud) - FIX: Ivy swallows ParseException when using a latest strategy requiring module descriptors (IVY-702) (thanks to Nicolas Lalevée) - FIX: Problem with cached Ivy files which have extra attributes (IVY-693) - FIX: Detection of newer and better artifacts should not happen if 'checkModified' is set to 'false' (IVY-389) (with contribution from Johan Stuyts) - FIX: Ivy doesn't respect the order of the ivy patterns as defined in the settings (IVY-676) - FIX: XmlModuleDescriptorWriter doesn't write the deprecated attribute of the "ivy-module/configurations/conf" element (IVY-664) - FIX: XMLModuleDescriptorWriter does not write extra attributes (IVY-471) (with contribution from Mikkel Bjerg) - FIX: latest compatible conflict manager fails with circular dependencies and dynamic revision (IVY-663) - FIX: Strict conflictmanager seems to not support dynamic revisions (IVY-474) - FIX: NPE in namespace transformation during the ivy:findrevision and ivy:resolve task execution (IVY-659) (thanks to Andrea Bernardo Ciddio) - FIX: Maven test scope includes all runtime dependencies (IVY-682) - FIX: Inherit depedencies defined in parent pom (IVY-683) - FIX: Incorrect ivy from maven pom generation when classifier are user (IVY-714) (thanks to Ruslan Shevchenko) - FIX: m2 incompatibility - IVY does not recognize property section(IVY-637) - FIX: Maven test scope not mapped to test conf (IVY-744) (thanks to Danno Ferrin) - TASK: Remove cache attribute on Ant tasks (IVY-685) - Improvement in coding conventions (IVY-511) (with contribution from Markus M. May) 2.0.0-beta1 ===================================== - NEW: Share cache with locking (IVY-654) - NEW: support atomic publish operation (IVY-492) (with contribution from Geoff Reedy) - NEW: latest compatible conflict manager (IVY-648) - NEW: Add a task/code to create M2 POM files from Ivy configurations (IVY-416) - NEW: [Build] Publish the ivy sources (IVY-646) (thanks to Nicolas Lalevée) - IMPROVEMENT: Ease performance auditing (IVY-655) - IMPROVEMENT: Maven Dependency Management is not used to determine artifact version (IVY-616) (thanks to Jim Bonanno) - IMPROVEMENT: split the cache into an downloaded artifacts cache and a metadata cache (IVY-628) - IMPROVEMENT: add publish triggers to event system (IVY-650) (thanks to Jason Trump) - IMPROVEMENT: Only display unique circular dependencies during Resolve (IVY-653 IVY-514) (with contribution from John Williams) - IMPROVEMENT: Adding option 'cp', which makes it possible for main to be loaded from file (IVY-543) (thanks to Tjeerd Verhagen) - IMPROVEMENT: BasicURLHandler should use method=head for getURLInfo (IVY-611) (thanks to Jim Bonanno) - IMPROVEMENT: artifactproperty should not overwrite the existing properties (IVY-587) - IMPROVEMENT: Support *(private) and *(public) in the confs parameter of the resolve (IVY-588) - IMPROVEMENT: replace * by *(public) when resolving inline (IVY-589) - IMPROVEMENT: ivy html reports now refers http://ant.apache.org (partial IVY-414) - IMPROVEMENT: Improvements on hello ivy example (IVY-626) (with contribution from Jacob Grydholt Jensen) - IMPROVEMENT: Make the root attribute in the ivyrep resolver mandatory (IVY-625) - IMPROVEMENT: New text representation for main module metadata concepts (IVY-649) - FIX: m2 incompatibility - IVY does not recognize property section (IVY-637) - FIX: m2 incompatibility - IVY does not recognize parent pom (IVY-636) - FIX: Attempt to download a file with & in its name causes SAXParseException in Ivy (IVY-635) - FIX: Bad IvyContext scope causing memory leak and bad handling of subproject builds (IVY-639) - FIX: Resolution failure when no ivy.xml file present (IVY-630) - FIX: ${parent.version} property is not recognized in maven2 pom (IVY-620) - FIX: Handle relocation tag in maven 2 pom (IVY-586) - FIX: Ivy doesn't work with Ant 1.6.2 (IVY-614) - FIX: EmptyStackException when upgrading from 1.4 to 2.0 (IVY-610) - FIX: Ivy:retrieve fails through proxy server (IVY-529) - FIX: java.lang.IllegalArgumentException: Invalid uri when working with version ranges (IVY-390) - FIX: Ivy settings include -tag url attribute does not work correctly (IVY-601) - FIX: Static revision replacement is not working when a dynamic revision is evicted by a transitive dependency (IVY-603) (with contribution from Matthias Kilian) - FIX: NullPointerException whilst resolving transitive dependencies (IVY-590) - FIX: cachepath based on a resolve done in a previous build broken (IVY-583) - FIX: Resolving dynamic version fails when using multiple patterns if only one pattern find a revision and others don't (IVY-602) - FIX: Invalid character in IvyRetrieveTest causing most tests to fail (IVY-604) - FIX: ivy:settings and ivy:retrieve with explicit id causes unwarranted DEPRECATED warning (thanks to Jacob Grydholt Jensen) - REFACTORING: Extract a settings interface for the different engines - TASK: Review all tutorials to make sure they are in sync with 2.0 (IVY-591) (with contribution from Jing Xue) - TASK: Satisfy the US export control laws for software "specially designed" to use cryptography. (IVY-593) 2.0.0-alpha2-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: Retrieval not expanding "[originalname]". (IVY-631) - 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: 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) (thanks to Gilles Scokart) - 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) 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 task (IVY-340) (thanks to Matt Inger) - IMPROVE: Refactoring / documentation / test of matcher package (IVY-375) (thanks to Stephane Bailliez) - 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. 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. 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