[jira] [Closed] (IVY-444) provide versioned doc online
[ https://issues.apache.org/jira/browse/IVY-444?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xavier Hanin closed IVY-444. Resolution: Fixed Indeed, and it's been for a while! Thanks for pointing that out. > provide versioned doc online > > > Key: IVY-444 > URL: https://issues.apache.org/jira/browse/IVY-444 > Project: Ivy > Issue Type: Improvement > Components: Documentation > Reporter: Xavier Hanin > > The current online version of the documentation reflects the latest change, > and can cause confusion for new users who download Ivy 1.4.1. > The suggestion is to provide a snapshot of the 1.4.1 doc as well as latest > doc version online. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
svn commit: r790046 - /ant/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/IvyNodeCallers.java
Author: xavier Date: Wed Jul 1 05:55:38 2009 New Revision: 790046 URL: http://svn.apache.org/viewvc?rev=790046view=rev Log: FIX: NPE when a conf is unknown (related to IVY-983) Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/IvyNodeCallers.java Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/IvyNodeCallers.java URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/IvyNodeCallers.java?rev=790046r1=790045r2=790046view=diff == --- ant/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/IvyNodeCallers.java (original) +++ ant/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/IvyNodeCallers.java Wed Jul 1 05:55:38 2009 @@ -60,10 +60,12 @@ public void addConfiguration(String callerConf, String[] dependencyConfs) { updateConfs(callerConf, dependencyConfs); Configuration conf = md.getConfiguration(callerConf); -String[] confExtends = conf.getExtends(); -if (confExtends != null) { -for (int i = 0; i confExtends.length; i++) { -addConfiguration(confExtends[i], dependencyConfs); +if (conf != null) { +String[] confExtends = conf.getExtends(); +if (confExtends != null) { +for (int i = 0; i confExtends.length; i++) { +addConfiguration(confExtends[i], dependencyConfs); +} } } }
[jira] Created: (IVY-1097) configuration groups
configuration groups Key: IVY-1097 URL: https://issues.apache.org/jira/browse/IVY-1097 Project: Ivy Issue Type: New Feature Components: Core Reporter: Xavier Hanin Assignee: Xavier Hanin In modules having a lot of configurations, sometimes it would be nice to be able to define a group of configurations based on their attributes (including extra attributes). The proposed syntax is {{*[att=value]}} For instance, one could define an extra attribute named 'axis' on the configuration, and then refer to all configurations where 'axis' is 'platform' with {{*[axis=platform]}}. Here is an example of Ivy file using this notation: {noformat} ivy-module version=1.0 xmlns:e=http://ant.apache.org/ivy/extra; info organisation=org5 module=mod5.1 revision=4.5 status=integration publication=2009050111 / configurations conf name=A / conf name=B / conf name=windows e:axis=platform / conf name=linux e:axis=platform/ /configurations publications artifact name=art51A type=jar conf=A,*[axis=platform]/ artifact name=art51B type=jar conf=B,*[axis=platform]/ artifact name=art51B type=dll conf=B,windows/ artifact name=art51B type=so conf=B,linux/ /publications dependencies dependency org=org1 name=mod1.2 rev=2.0 conf=B,*[axis=platform]-default/ /dependencies /ivy-module {noformat} In this ivy file, {{*[axis=platform]}} is equivalent to {{windows,linux}} -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
svn commit: r789095 - in /ant/ivy/core/trunk: ./ doc/ivyfile/ src/java/org/apache/ivy/core/module/descriptor/ test/java/org/apache/ivy/core/resolve/ test/repositories/2/mod5.1/ test/repositories/2/mod
Author: xavier Date: Sun Jun 28 13:02:10 2009 New Revision: 789095 URL: http://svn.apache.org/viewvc?rev=789095view=rev Log: NEW: configuration groups (IVY-1097) Added: ant/ivy/core/trunk/src/java/org/apache/ivy/core/module/descriptor/ConfigurationGroup.java (with props) ant/ivy/core/trunk/test/repositories/2/mod5.1/art51B-4.5.dll (with props) ant/ivy/core/trunk/test/repositories/2/mod5.1/art51B-4.5.jar (with props) ant/ivy/core/trunk/test/repositories/2/mod5.1/art51B-4.5.so (with props) ant/ivy/core/trunk/test/repositories/2/mod5.1/ivy-4.5.xml (with props) ant/ivy/core/trunk/test/repositories/2/mod5.2/ivy-3.1.xml (with props) Modified: ant/ivy/core/trunk/CHANGES.txt ant/ivy/core/trunk/doc/ivyfile/dependency.html ant/ivy/core/trunk/src/java/org/apache/ivy/core/module/descriptor/DefaultDependencyDescriptor.java ant/ivy/core/trunk/src/java/org/apache/ivy/core/module/descriptor/DefaultModuleDescriptor.java ant/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ResolveTest.java Modified: ant/ivy/core/trunk/CHANGES.txt URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/CHANGES.txt?rev=789095r1=789094r2=789095view=diff == --- ant/ivy/core/trunk/CHANGES.txt (original) +++ ant/ivy/core/trunk/CHANGES.txt Sun Jun 28 13:02:10 2009 @@ -90,6 +90,7 @@ trunk = - NEW: configuration intersections (IVY-1093) +- NEW: configuration groups (IVY-1097) - IMPROVEMENT: Added support for NTLM authentication (IVY-1094) (thanks to Mathieu Anquetin) - IMPROVEMENT: Standalone runner should accept all the same parameters as ant tasks (IVY-1090) Modified: ant/ivy/core/trunk/doc/ivyfile/dependency.html URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/doc/ivyfile/dependency.html?rev=789095r1=789094r2=789095view=diff == --- ant/ivy/core/trunk/doc/ivyfile/dependency.html (original) +++ ant/ivy/core/trunk/doc/ivyfile/dependency.html Sun Jun 28 13:02:10 2009 @@ -33,12 +33,14 @@ The revision can be given as a fixed one (1.5.2, for instance) or as a latest (or dynamic) one. Several possibilities for dynamic revisions are implemented in Ivy: ul lilatest.integration/li selects the latest revision of the dependency module. -lilatest.[any status]/li selects the latest revision of the dependency module with at least the specified status. span class=sincesince 1.4/span +lilatest.[any status] span class=sincesince 1.4/span/li selects the latest revision of the dependency module with at least the specified status. + For instance latest.milestone will select the latest version being either a milestone or a release, and latest.release will only selects the latest release. Note that in order to find the latest revision with the appropriate status Ivy has to parse all the ivy files in your repository from the last one until it finds such a revision. Hence don't be surprised if the resolution slow down. See also [[settings/statuses]] to see how to configure module statuses. liend the revision with a +/li selects the latest sub-revision of the dependency module. For instance, if the dependency module exists in revision 1.0.3, 1.0.7 and 1.1.2, 1.0.+ will select 1.0.7. -liversion ranges/li mathematical notation for ranges can be used to match a range of version. span class=sincesince 1.4/span +liversion ranges span class=sincesince 1.4/span/li mathematical notation for ranges can be used to match a range of version. + Examples: [1.0,2.0] matches all versions greater or equal to 1.0 and lower or equal to 2.0 [1.0,2.0[ matches all versions greater or equal to 1.0 and lower than 2.0 @@ -116,7 +118,30 @@ Moreover, the mapping '*-@' is handled as a specific case with configuration intersections: it maps also the intersections. So if one resolve conf A+B in a module which defines a dependency with mapping *-@, the mapping *-@ is interpreted as A+B-A+B so the intersection of A and B will be resolved in the dependency. -span class=sincesince 1.4/span you can add simple conditions in the dependency mapping. This is done by adding a condition between '[' and ']'. If the condition evaluates to codetrue/code, the mapping is performed. If the condition evaluates to codefalse/code, the mapping will be ignored. For instance, codetest-[org=A]runtime,[org=B]default/code means that the codetest/code configuration will be mapped to the coderuntime/code conf for the dependencies of organisation 'A' and to the codedefault/code conf for dependencies of organisation 'B'. +span class=sincesince 2.1/span you can refer to a group of configurations sharing the same value for an attribute as left side part of the dependency mapping. + +The syntax is +code*[att=value]/code +where ematt/em is the name of the attribute shared by the configurations of the group
svn commit: r787597 - /ant/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/IvyNodeUsage.java
Author: xavier Date: Tue Jun 23 09:28:56 2009 New Revision: 787597 URL: http://svn.apache.org/viewvc?rev=787597view=rev Log: FIX: NPE in some cases, related to IVY-1083 implementation Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/IvyNodeUsage.java Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/IvyNodeUsage.java URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/IvyNodeUsage.java?rev=787597r1=787596r2=787597view=diff == --- ant/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/IvyNodeUsage.java (original) +++ ant/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/IvyNodeUsage.java Tue Jun 23 09:28:56 2009 @@ -311,6 +311,9 @@ */ public boolean hasTransitiveDepender(String rootModuleConf) { Set/*Depender*/ dependersSet = (Set) dependers.get(rootModuleConf); +if (dependersSet == null) { +return false; +} for (Iterator iterator = dependersSet.iterator(); iterator.hasNext();) { Depender depender = (Depender) iterator.next(); if (depender.dd.isTransitive()) {
svn commit: r783755 - in /ant/ivy/core/trunk: ./ doc/ivyfile/ src/java/org/apache/ivy/core/module/descriptor/ src/java/org/apache/ivy/core/resolve/ test/java/org/apache/ivy/core/resolve/ test/reposito
Author: xavier Date: Thu Jun 11 13:12:32 2009 New Revision: 783755 URL: http://svn.apache.org/viewvc?rev=783755view=rev Log: NEW: configuration intersections (IVY-1093) Added: ant/ivy/core/trunk/src/java/org/apache/ivy/core/module/descriptor/ConfigurationIntersection.java (with props) ant/ivy/core/trunk/test/repositories/1/org2/mod2.1/ivys/ivy-0.5.xml (with props) ant/ivy/core/trunk/test/repositories/1/org2/mod2.1/jars/art21A-0.5.jar (with props) ant/ivy/core/trunk/test/repositories/1/org2/mod2.1/jars/art21AB-0.5.jar (with props) ant/ivy/core/trunk/test/repositories/1/org2/mod2.1/jars/art21B-0.5.jar (with props) ant/ivy/core/trunk/test/repositories/1/org2/mod2.2/ivys/ivy-0.9.xml (with props) ant/ivy/core/trunk/test/repositories/1/org2/mod2.2/jars/art22-1-0.9.jar (with props) ant/ivy/core/trunk/test/repositories/1/org2/mod2.2/jars/art22-2-0.9.jar (with props) ant/ivy/core/trunk/test/repositories/2/mod5.1/art51A-4.4.jar (with props) ant/ivy/core/trunk/test/repositories/2/mod5.1/art51B-4.4.dll (with props) ant/ivy/core/trunk/test/repositories/2/mod5.1/art51B-4.4.jar (with props) ant/ivy/core/trunk/test/repositories/2/mod5.1/art51B-4.4.so (with props) ant/ivy/core/trunk/test/repositories/2/mod5.1/ivy-4.4.xml (with props) ant/ivy/core/trunk/test/repositories/2/mod5.2/ivy-3.0.xml (with props) Modified: ant/ivy/core/trunk/CHANGES.txt ant/ivy/core/trunk/doc/ivyfile/dependency.html ant/ivy/core/trunk/src/java/org/apache/ivy/core/module/descriptor/Configuration.java ant/ivy/core/trunk/src/java/org/apache/ivy/core/module/descriptor/DefaultDependencyDescriptor.java ant/ivy/core/trunk/src/java/org/apache/ivy/core/module/descriptor/DefaultModuleDescriptor.java ant/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/IvyNode.java ant/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ResolveTest.java Modified: ant/ivy/core/trunk/CHANGES.txt URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/CHANGES.txt?rev=783755r1=783754r2=783755view=diff == --- ant/ivy/core/trunk/CHANGES.txt (original) +++ ant/ivy/core/trunk/CHANGES.txt Thu Jun 11 13:12:32 2009 @@ -87,6 +87,8 @@ trunk = +- NEW: configuration intersections (IVY-1093) + - IMPROVEMENT: Pre and post retrieve artifact events (IVY-1084) - FIX: Ivy buildnumber task does not find artifact in Sonatype Nexus repo (IVY-1069) Modified: ant/ivy/core/trunk/doc/ivyfile/dependency.html URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/doc/ivyfile/dependency.html?rev=783755r1=783754r2=783755view=diff == --- ant/ivy/core/trunk/doc/ivyfile/dependency.html (original) +++ ant/ivy/core/trunk/doc/ivyfile/dependency.html Thu Jun 11 13:12:32 2009 @@ -110,6 +110,12 @@ The syntax for specifying this adds the fallback conf between parenthesis right after the required conf. For instance, codetest-runtime(default)/code means that in the test configuration of the module the coderuntime/code conf of the dependency is required, but if doesn't exist, it will use the codedefault/code conf instead. If codedefault/code conf doesn't exist then it will be considered as an error. Note that the code*/code wildcard can be used as fallback conf. +span class=sincesince 2.1/span It is also possible to define dependencies on configurations intersection. A configuration intersection is defined using a '+' sign to separate the configuration (eg 'A+B' means the intersection of configuration 'A' and 'B'). In that case only artifacts and dependencies defined in both configurations in the dependency will be part of the master configuration defining the dependency on the configuration intersection. + +Configuration intersections can also be used when specifying the confs to [[ant:resolve]]. + +Moreover, the mapping '*-@' is handled as a specific case with configuration intersections: it maps also the intersections. So if one resolve conf A+B in a module which defines a dependency with mapping *-@, the mapping *-@ is interpreted as A+B-A+B so the intersection of A and B will be resolved in the dependency. + span class=sincesince 1.4/span you can add simple conditions in the dependency mapping. This is done by adding a condition between '[' and ']'. If the condition evaluates to codetrue/code, the mapping is performed. If the condition evaluates to codefalse/code, the mapping will be ignored. For instance, codetest-[org=A]runtime,[org=B]default/code means that the codetest/code configuration will be mapped to the coderuntime/code conf for the dependencies of organisation 'A' and to the codedefault/code conf for dependencies of organisation 'B'. liSpecify a semi-column separated list of any of the previous specs./li In this case, it is the union
[jira] Created: (IVY-1083) transitive dependencies and conflict management
transitive dependencies and conflict management --- Key: IVY-1083 URL: https://issues.apache.org/jira/browse/IVY-1083 Project: Ivy Issue Type: Bug Components: Core Affects Versions: 2.1.0-RC1, 2.0 Reporter: Xavier Hanin Assignee: Xavier Hanin let's say we have the following modules: {noformat} mod20.4 - mod20.3;1.0 mod20.2;1.0 mod20.3;1.0 - mod20.1;1.0 mod20.2;1.0 - mod20.1;1.1 (transitive false) mod20.1;1.0 - mod1.2;1.0 mod20.1;1.1 - mod1.2;1.0 {noformat} when the conflict manager evicts mod20.1;1.0 in favor of mod20.1;1.1, it loses the information that the dependency was transitive from mod20.3, and as such transitively exclude mod1.2. Note that if the dependencies in mod20.4 are expressed the other way (mod20.2;1.0 mod20.3;1.0) then transitivity is handled correctly. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Resolved: (IVY-1083) transitive dependencies and conflict management
[ https://issues.apache.org/jira/browse/IVY-1083?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xavier Hanin resolved IVY-1083. --- Resolution: Fixed Fix Version/s: trunk I've added a unit test and fixed the problem. transitive dependencies and conflict management --- Key: IVY-1083 URL: https://issues.apache.org/jira/browse/IVY-1083 Project: Ivy Issue Type: Bug Components: Core Affects Versions: 2.0, 2.1.0-RC1 Reporter: Xavier Hanin Assignee: Xavier Hanin Fix For: trunk let's say we have the following modules: {noformat} mod20.4 - mod20.3;1.0 mod20.2;1.0 mod20.3;1.0 - mod20.1;1.0 mod20.2;1.0 - mod20.1;1.1 (transitive false) mod20.1;1.0 - mod1.2;1.0 mod20.1;1.1 - mod1.2;1.0 {noformat} when the conflict manager evicts mod20.1;1.0 in favor of mod20.1;1.1, it loses the information that the dependency was transitive from mod20.3, and as such transitively exclude mod1.2. Note that if the dependencies in mod20.4 are expressed the other way (mod20.2;1.0 mod20.3;1.0) then transitivity is handled correctly. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
svn commit: r778767 - in /ant/ivy/core/trunk/test/repositories/1/org20: ./ mod20.1/ mod20.1/ivys/ mod20.2/ mod20.2/ivys/ mod20.3/ mod20.3/ivys/ mod20.4/ mod20.4/ivys/
Author: xavier Date: Tue May 26 15:49:48 2009 New Revision: 778767 URL: http://svn.apache.org/viewvc?rev=778767view=rev Log: FIX: transitive dependencies and conflict management (IVY-1083) Added: ant/ivy/core/trunk/test/repositories/1/org20/ ant/ivy/core/trunk/test/repositories/1/org20/mod20.1/ ant/ivy/core/trunk/test/repositories/1/org20/mod20.1/ivys/ ant/ivy/core/trunk/test/repositories/1/org20/mod20.1/ivys/ivy-1.0.xml (with props) ant/ivy/core/trunk/test/repositories/1/org20/mod20.1/ivys/ivy-1.1.xml (with props) ant/ivy/core/trunk/test/repositories/1/org20/mod20.2/ ant/ivy/core/trunk/test/repositories/1/org20/mod20.2/ivys/ ant/ivy/core/trunk/test/repositories/1/org20/mod20.2/ivys/ivy-1.0.xml (with props) ant/ivy/core/trunk/test/repositories/1/org20/mod20.3/ ant/ivy/core/trunk/test/repositories/1/org20/mod20.3/ivys/ ant/ivy/core/trunk/test/repositories/1/org20/mod20.3/ivys/ivy-1.0.xml (with props) ant/ivy/core/trunk/test/repositories/1/org20/mod20.4/ ant/ivy/core/trunk/test/repositories/1/org20/mod20.4/ivys/ ant/ivy/core/trunk/test/repositories/1/org20/mod20.4/ivys/ivy-1.0.xml (with props) Added: ant/ivy/core/trunk/test/repositories/1/org20/mod20.1/ivys/ivy-1.0.xml URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/repositories/1/org20/mod20.1/ivys/ivy-1.0.xml?rev=778767view=auto == --- ant/ivy/core/trunk/test/repositories/1/org20/mod20.1/ivys/ivy-1.0.xml (added) +++ ant/ivy/core/trunk/test/repositories/1/org20/mod20.1/ivys/ivy-1.0.xml Tue May 26 15:49:48 2009 @@ -0,0 +1,30 @@ +!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + License); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +-- +ivy-module version=1.0 + info organisation=org20 + module=mod20.1 + revision=1.0 + status=integration + publication=2009052611 + / + publications/ + dependencies + dependency org=org1 name=mod1.2 rev=1.0/ + /dependencies +/ivy-module Propchange: ant/ivy/core/trunk/test/repositories/1/org20/mod20.1/ivys/ivy-1.0.xml -- svn:mime-type = text/plain Added: ant/ivy/core/trunk/test/repositories/1/org20/mod20.1/ivys/ivy-1.1.xml URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/repositories/1/org20/mod20.1/ivys/ivy-1.1.xml?rev=778767view=auto == --- ant/ivy/core/trunk/test/repositories/1/org20/mod20.1/ivys/ivy-1.1.xml (added) +++ ant/ivy/core/trunk/test/repositories/1/org20/mod20.1/ivys/ivy-1.1.xml Tue May 26 15:49:48 2009 @@ -0,0 +1,30 @@ +!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + License); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +-- +ivy-module version=1.0 + info organisation=org20 + module=mod20.1 + revision=1.1 + status=integration + publication=2009052611 + / + publications/ + dependencies + dependency org=org1 name=mod1.2 rev=1.0/ + /dependencies +/ivy-module Propchange: ant/ivy/core/trunk/test/repositories/1/org20/mod20.1/ivys/ivy-1.1.xml -- svn:mime-type = text/plain Added: ant/ivy/core/trunk/test/repositories/1/org20/mod20.2/ivys/ivy-1.0.xml URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/repositories
svn commit: r778769 - in /ant/ivy/core/trunk: ./ doc/settings/ src/java/org/apache/ivy/core/event/retrieve/ src/java/org/apache/ivy/core/retrieve/ test/java/org/apache/ivy/core/retrieve/
Author: xavier Date: Tue May 26 15:50:41 2009 New Revision: 778769 URL: http://svn.apache.org/viewvc?rev=778769view=rev Log: IMPROVEMENT: Pre and post retrieve artifact events (IVY-1084) Added: ant/ivy/core/trunk/src/java/org/apache/ivy/core/event/retrieve/EndRetrieveArtifactEvent.java (with props) ant/ivy/core/trunk/src/java/org/apache/ivy/core/event/retrieve/RetrieveArtifactEvent.java (with props) ant/ivy/core/trunk/src/java/org/apache/ivy/core/event/retrieve/StartRetrieveArtifactEvent.java (with props) Modified: ant/ivy/core/trunk/CHANGES.txt ant/ivy/core/trunk/doc/settings/triggers.html ant/ivy/core/trunk/src/java/org/apache/ivy/core/retrieve/RetrieveEngine.java ant/ivy/core/trunk/test/java/org/apache/ivy/core/retrieve/RetrieveTest.java Modified: ant/ivy/core/trunk/CHANGES.txt URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/CHANGES.txt?rev=778769r1=778768r2=778769view=diff == --- ant/ivy/core/trunk/CHANGES.txt (original) +++ ant/ivy/core/trunk/CHANGES.txt Tue May 26 15:50:41 2009 @@ -87,6 +87,8 @@ trunk = +- IMPROVEMENT: Pre and post retrieve artifact events (IVY-1084) + - FIX: Ibiblio resolver throws IndexOutOfBoundsException when using snapshot versions with usepoms='false' (IVY-1028) - FIX: Wrong BuildException messages (findmodules) (IVY-1056) - FIX: PomModuleDescriptorBuilder does not resolve ejb type dependencies to jar extension (IVY-1058) (thanks to Andrey Lomakin) Modified: ant/ivy/core/trunk/doc/settings/triggers.html URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/doc/settings/triggers.html?rev=778769r1=778768r2=778769view=diff == --- ant/ivy/core/trunk/doc/settings/triggers.html (original) +++ ant/ivy/core/trunk/doc/settings/triggers.html Tue May 26 15:50:41 2009 @@ -171,6 +171,40 @@ /td tdFired at the end of the retrieve process./td /tr +trtdpre-retrieve-artifact br/span class=sincesince 2.1/span/td +td + ul +liorganisation/lithe organisation of the artifact which is about to be retrieved +limodule/lithe name of the module of the artifact which is about to be retrieved +lirevision/lithe revision of the the artifact which is about to be retrieved +liartifact/lithe name of the the artifact which is about to be retrieved +litype/lithe type of the the artifact which is about to be retrieved +liext/lithe extension of the the artifact which is about to be retrieved +limetadata/litrue if the retrieved artifact is a metadata artifact, false for published artifacts +lisize/lithe size in bytes of the retrieved artifact +lifrom/lithe absolute path from which it will be retrieved (usually a location in cache) +lito/lithe absolute path to which it will be retrieved + /ul +/td +tdFired before an artifact is retrieved from cache to a local location/td +/tr +trtdpost-retrieve-artifact br/span class=sincesince 2.1/span/td +td + ul +liorganisation/lithe organisation of the artifact which has just been retrieved +limodule/lithe name of the module of the artifact which has just been retrieved +lirevision/lithe revision of the the artifact which has just been retrieved +liartifact/lithe name of the the artifact which has just been retrieved +litype/lithe type of the the artifact which has just been retrieved +liext/lithe extension of the the artifact which has just been retrieved +limetadata/litrue if the retrieved artifact is a metadata artifact, false for published artifacts +lisize/lithe size in bytes of the retrieved artifact +lifrom/lithe absolute path from which it has just been retrieved (usually a location in cache) +lito/lithe absolute path to which it has just been retrieved + /ul +/td +tdFired after an artifact is retrieved from cache to a local location/td +/tr trtdpre-publish-artifact br/span class=sincesince 2.0/span/td td ul Added: ant/ivy/core/trunk/src/java/org/apache/ivy/core/event/retrieve/EndRetrieveArtifactEvent.java URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/core/event/retrieve/EndRetrieveArtifactEvent.java?rev=778769view=auto == --- ant/ivy/core/trunk/src/java/org/apache/ivy/core/event/retrieve/EndRetrieveArtifactEvent.java (added) +++ ant/ivy/core/trunk/src/java/org/apache/ivy/core/event/retrieve/EndRetrieveArtifactEvent.java Tue May 26 15:50:41 2009 @@ -0,0 +1,31 @@ +/* + * Licensed to the Apache Software
svn commit: r778773 - /ant/ivy/core/trunk/src/java/org/apache/ivy/core/event/retrieve/EndRetrieveArtifactEvent.java
Author: xavier Date: Tue May 26 15:52:37 2009 New Revision: 778773 URL: http://svn.apache.org/viewvc?rev=778773view=rev Log: IMPROVEMENT: Pre and post retrieve artifact events (IVY-1084) fix mistake in event name Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/core/event/retrieve/EndRetrieveArtifactEvent.java Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/core/event/retrieve/EndRetrieveArtifactEvent.java URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/core/event/retrieve/EndRetrieveArtifactEvent.java?rev=778773r1=778772r2=778773view=diff == --- ant/ivy/core/trunk/src/java/org/apache/ivy/core/event/retrieve/EndRetrieveArtifactEvent.java (original) +++ ant/ivy/core/trunk/src/java/org/apache/ivy/core/event/retrieve/EndRetrieveArtifactEvent.java Tue May 26 15:52:37 2009 @@ -22,7 +22,7 @@ import org.apache.ivy.core.report.ArtifactDownloadReport; public class EndRetrieveArtifactEvent extends RetrieveArtifactEvent { -public static final String NAME = pre-retrieve-artifact; +public static final String NAME = post-retrieve-artifact; public EndRetrieveArtifactEvent( ArtifactDownloadReport report, File destFile) {
[jira] Created: (IVY-1084) post-retrieve-artifact-trigger
post-retrieve-artifact-trigger -- Key: IVY-1084 URL: https://issues.apache.org/jira/browse/IVY-1084 Project: Ivy Issue Type: Improvement Components: Core Affects Versions: 2.1.0-RC1, 2.0 Reporter: Xavier Hanin Assignee: Xavier Hanin adding an event after an artifact has been retrieved to final destination would be useful -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (IVY-987) Error message: impossible to get artifacts when data has not been loaded , on certain modules only
[ https://issues.apache.org/jira/browse/IVY-987?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12680003#action_12680003 ] Xavier Hanin commented on IVY-987: -- Sorry for the delay on this issue, too hard to find free time ATM. Maarten (or anybody), maybe you already have a unit test reproducing the problem? It would help me to investigate and hopefully fix this bug. Error message: impossible to get artifacts when data has not been loaded , on certain modules only Key: IVY-987 URL: https://issues.apache.org/jira/browse/IVY-987 Project: Ivy Issue Type: Bug Affects Versions: 2.0 Environment: ubuntu 8.04, java .1.6.0_06 Java HotSpot(TM) Client VM, calling external ant 1.7 from netbeans 6.1 IDE, ivy ant task in ants home lib dir Reporter: K. Rekk I found a similiar post here: http://www.mail-archive.com/ivy-u...@ant.apache.org/msg01766.html Everything worked fine with 2.0.0 beta . It's just a simple test and dom4j seems to cause the problem with standard ivysettings : dependencies dependency org=dom4j name=dom4j rev=1.6.1/ dependency org=log4j name=log4j rev=1.2.9/ dependency org=junit name=junit rev=4.5/ /dependencies /ivy-module Removing dom4j makes it work again. So I dont know, is it dom4j or ivy causing the problem? output: init: deps-jar: ivy-retrieve: No ivy:settings found for the default reference 'ivy.instance'. A default instance will be used no settings file found, using default... :: loading settings :: url = jar:file:/home/kostja/VZG/soa-workarea-ref/tools/ant/lib/ivy-2.0.0-rc2.jar!/org/apache/ivy/core/settings/ivysettings.xml :: resolving dependencies :: gbv.de#test;work...@myhome confs: [default] found dom4j#dom4j;1.6.1 in public found xml-apis#xml-apis;1.0.b2 in public found jaxme#jaxme-api;0.3 in public found jaxen#jaxen;1.1-beta-6 in public found jdom#jdom;1.0 in public found xerces#xmlParserAPIs;2.6.2 in public found xerces#xercesImpl;2.6.2 in public found xom#xom;1.0b3 in public found com.ibm.icu#icu4j;2.6.1 in public found org.ccil.cowan.tagsoup#tagsoup;0.9.7 in public found msv#xsdlib;20030807 in public found msv#relaxngDatatype;20030807 in public found pull-parser#pull-parser;2 in public found xpp3#xpp3;1.1.3.3 in public found stax#stax-api;1.0 in public found log4j#log4j;1.2.9 in public found junit#junit;4.5 in public :: problems summary :: ERRORS impossible to get artifacts when data has not been loaded. IvyNode = xalan#xalan;2.5.1 :: USE VERBOSE OR DEBUG MESSAGE LEVEL FOR MORE DETAILS /home/kostja/VZG/soa-workarea-ref/projects/Test/build.xml:15: impossible to resolve dependencies: java.lang.IllegalStateException: impossible to get artifacts when data has not been loaded. IvyNode = xalan#xalan;2.5.1 BUILD FAILED (total time: 0 seconds) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
svn commit: r751536 - in /ant/ivy/core/trunk: CHANGES.txt src/java/org/apache/ivy/core/resolve/IvyNode.java
Author: xavier Date: Sun Mar 8 21:32:52 2009 New Revision: 751536 URL: http://svn.apache.org/viewvc?rev=751536view=rev Log: FIX: Error message: impossible to get artifacts when data has not been loaded , on certain modules only (IVY-987) - no unit test :-( Modified: ant/ivy/core/trunk/CHANGES.txt ant/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/IvyNode.java Modified: ant/ivy/core/trunk/CHANGES.txt URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/CHANGES.txt?rev=751536r1=751535r2=751536view=diff == --- ant/ivy/core/trunk/CHANGES.txt (original) +++ ant/ivy/core/trunk/CHANGES.txt Sun Mar 8 21:32:52 2009 @@ -99,6 +99,7 @@ - IMPROVEMENT: Error message is not clear when specifying an invalid value for checksums (IVY-977) - IMPROVEMENT: catch AccessControlException on System.getProperties() (IVY-1015) +- FIX: Error message: impossible to get artifacts when data has not been loaded , on certain modules only (IVY-987) - FIX: Ivy doesn't handle the classifier attribute of artifacts inside dependency elements (IVY-1041) - FIX: Buildnumber task does not work for chained resolvers (IVY-1037) - FIX: Dependencies don't inherit exclusions from dependencyManagement (IVY-974) (thanks to John Gibson) Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/IvyNode.java URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/IvyNode.java?rev=751536r1=751535r2=751536view=diff == --- ant/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/IvyNode.java (original) +++ ant/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/IvyNode.java Sun Mar 8 21:32:52 2009 @@ -293,7 +293,11 @@ impossible to get dependencies when data has not been loaded); } if (Arrays.asList(confs).contains(*)) { -confs = md.getConfigurationsNames(); +if (isRoot()) { +confs = md.getConfigurationsNames(); +} else { +confs = md.getPublicConfigurationsNames(); +} } Collection deps = new HashSet(); for (int i = 0; i confs.length; i++) {
[jira] Commented: (IVY-987) Error message: impossible to get artifacts when data has not been loaded , on certain modules only
[ https://issues.apache.org/jira/browse/IVY-987?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12680018#action_12680018 ] Xavier Hanin commented on IVY-987: -- I've investigated using the dependencies description provided here, I've reproduced and fixed the bug (at least in this case). I haven't changed how forced dependencies are handled in conflict managers, so there may still need some investigation in this area, I'm not really sure. What I've changed is just the way * configurations is resolved during conflict management, to be consistent with how they are handled in fetchDependencies. I haven't had time to add a junit test, so I don't mark the bug resolved now. I don't think I'll have much time in the coming weeks, so if someone can submit or commit a junit test it would be really nice. Otherwise we may also decide to mark this as resolved without a unit test to release 2.0.1. Error message: impossible to get artifacts when data has not been loaded , on certain modules only Key: IVY-987 URL: https://issues.apache.org/jira/browse/IVY-987 Project: Ivy Issue Type: Bug Affects Versions: 2.0 Environment: ubuntu 8.04, java .1.6.0_06 Java HotSpot(TM) Client VM, calling external ant 1.7 from netbeans 6.1 IDE, ivy ant task in ants home lib dir Reporter: K. Rekk I found a similiar post here: http://www.mail-archive.com/ivy-u...@ant.apache.org/msg01766.html Everything worked fine with 2.0.0 beta . It's just a simple test and dom4j seems to cause the problem with standard ivysettings : dependencies dependency org=dom4j name=dom4j rev=1.6.1/ dependency org=log4j name=log4j rev=1.2.9/ dependency org=junit name=junit rev=4.5/ /dependencies /ivy-module Removing dom4j makes it work again. So I dont know, is it dom4j or ivy causing the problem? output: init: deps-jar: ivy-retrieve: No ivy:settings found for the default reference 'ivy.instance'. A default instance will be used no settings file found, using default... :: loading settings :: url = jar:file:/home/kostja/VZG/soa-workarea-ref/tools/ant/lib/ivy-2.0.0-rc2.jar!/org/apache/ivy/core/settings/ivysettings.xml :: resolving dependencies :: gbv.de#test;work...@myhome confs: [default] found dom4j#dom4j;1.6.1 in public found xml-apis#xml-apis;1.0.b2 in public found jaxme#jaxme-api;0.3 in public found jaxen#jaxen;1.1-beta-6 in public found jdom#jdom;1.0 in public found xerces#xmlParserAPIs;2.6.2 in public found xerces#xercesImpl;2.6.2 in public found xom#xom;1.0b3 in public found com.ibm.icu#icu4j;2.6.1 in public found org.ccil.cowan.tagsoup#tagsoup;0.9.7 in public found msv#xsdlib;20030807 in public found msv#relaxngDatatype;20030807 in public found pull-parser#pull-parser;2 in public found xpp3#xpp3;1.1.3.3 in public found stax#stax-api;1.0 in public found log4j#log4j;1.2.9 in public found junit#junit;4.5 in public :: problems summary :: ERRORS impossible to get artifacts when data has not been loaded. IvyNode = xalan#xalan;2.5.1 :: USE VERBOSE OR DEBUG MESSAGE LEVEL FOR MORE DETAILS /home/kostja/VZG/soa-workarea-ref/projects/Test/build.xml:15: impossible to resolve dependencies: java.lang.IllegalStateException: impossible to get artifacts when data has not been loaded. IvyNode = xalan#xalan;2.5.1 BUILD FAILED (total time: 0 seconds) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (IVY-1027) resolver, which can do automatic build of dependencies
[ https://issues.apache.org/jira/browse/IVY-1027?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12671166#action_12671166 ] Xavier Hanin commented on IVY-1027: --- I've not had the time to have a look at the code, but does it require change in Ivy core? Maybe this could be provided as a separate project instead of being included in Ivy core? resolver, which can do automatic build of dependencies -- Key: IVY-1027 URL: https://issues.apache.org/jira/browse/IVY-1027 Project: Ivy Issue Type: New Feature Environment: any. Reporter: Ruslan Shevchenko Attachments: ivy.build.plugin-src-1.0.tar.gz Good day. I wrote resolver, which can do automatic build and publish of dependencies, if their source code is available. (detailed description at http://redmine.gradsoft.ua/wiki/jungleplatform/Ivybuildplugin) I want donate all code to ivy project and include resolver to ivy core. Source archive is in attachment. Now this is separate module, I need some advise before preparing path to ivy (It is necessory to rewrite resolver in JDK-1.4 ? Where to put testcases ?) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (IVY-987) Error message: impossible to get artifacts when data has not been loaded , on certain modules only
[ https://issues.apache.org/jira/browse/IVY-987?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12670872#action_12670872 ] Xavier Hanin commented on IVY-987: -- I'll try to find some time, but I'm currently overbooked with my job, so I can't promise anything, at least in the coming weeks... Error message: impossible to get artifacts when data has not been loaded , on certain modules only Key: IVY-987 URL: https://issues.apache.org/jira/browse/IVY-987 Project: Ivy Issue Type: Bug Affects Versions: 2.0 Environment: ubuntu 8.04, java .1.6.0_06 Java HotSpot(TM) Client VM, calling external ant 1.7 from netbeans 6.1 IDE, ivy ant task in ants home lib dir Reporter: K. Rekk I found a similiar post here: http://www.mail-archive.com/ivy-u...@ant.apache.org/msg01766.html Everything worked fine with 2.0.0 beta . It's just a simple test and dom4j seems to cause the problem with standard ivysettings : dependencies dependency org=dom4j name=dom4j rev=1.6.1/ dependency org=log4j name=log4j rev=1.2.9/ dependency org=junit name=junit rev=4.5/ /dependencies /ivy-module Removing dom4j makes it work again. So I dont know, is it dom4j or ivy causing the problem? output: init: deps-jar: ivy-retrieve: No ivy:settings found for the default reference 'ivy.instance'. A default instance will be used no settings file found, using default... :: loading settings :: url = jar:file:/home/kostja/VZG/soa-workarea-ref/tools/ant/lib/ivy-2.0.0-rc2.jar!/org/apache/ivy/core/settings/ivysettings.xml :: resolving dependencies :: gbv.de#test;work...@myhome confs: [default] found dom4j#dom4j;1.6.1 in public found xml-apis#xml-apis;1.0.b2 in public found jaxme#jaxme-api;0.3 in public found jaxen#jaxen;1.1-beta-6 in public found jdom#jdom;1.0 in public found xerces#xmlParserAPIs;2.6.2 in public found xerces#xercesImpl;2.6.2 in public found xom#xom;1.0b3 in public found com.ibm.icu#icu4j;2.6.1 in public found org.ccil.cowan.tagsoup#tagsoup;0.9.7 in public found msv#xsdlib;20030807 in public found msv#relaxngDatatype;20030807 in public found pull-parser#pull-parser;2 in public found xpp3#xpp3;1.1.3.3 in public found stax#stax-api;1.0 in public found log4j#log4j;1.2.9 in public found junit#junit;4.5 in public :: problems summary :: ERRORS impossible to get artifacts when data has not been loaded. IvyNode = xalan#xalan;2.5.1 :: USE VERBOSE OR DEBUG MESSAGE LEVEL FOR MORE DETAILS /home/kostja/VZG/soa-workarea-ref/projects/Test/build.xml:15: impossible to resolve dependencies: java.lang.IllegalStateException: impossible to get artifacts when data has not been loaded. IvyNode = xalan#xalan;2.5.1 BUILD FAILED (total time: 0 seconds) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (IVY-996) Remove excessive HEAD requests for URL repository
[ https://issues.apache.org/jira/browse/IVY-996?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12669636#action_12669636 ] Xavier Hanin commented on IVY-996: -- Thanks to Nicolas Lalevée, an update site with trunk versions of both IvyDE and Ivy is now available here: http://hudson.zones.apache.org/hudson/view/Ant/job/IvyDE-updatesite/lastSuccessfulBuild/artifact/trunk/build/ Please use this to test the trunk Ivy version and tell me if it works as you expect. Remove excessive HEAD requests for URL repository - Key: IVY-996 URL: https://issues.apache.org/jira/browse/IVY-996 Project: Ivy Issue Type: Improvement Components: Core Affects Versions: 2.0-RC2 Reporter: Eric Anderson Assignee: Xavier Hanin Fix For: trunk h3. Fixing useless extra HEAD requests When searching for an artifact named project version 2.2.+ for organization org, Ivy attempts HEAD requests for completely not possible versions. IE: /org/project/0.9.2/ivy-0.9.2.xml This is not terribly painful unless you have thousands of builds and are not on the same network as your ivy server. h3. Are HEAD requests even necessary? Simply getting a directory listing should be good enough to determine if there is an artifact (for choosing latest-release). Now, after one is chosen, if no ivy.xml file exists, I could understand trying the next one, but trying all of them, just to select the latest one anyways seems like a complete waste. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (IVY-1022) Forced resolver behavior is inappropriate for ivy:install
[ https://issues.apache.org/jira/browse/IVY-1022?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xavier Hanin updated IVY-1022: -- Issue Type: Improvement (was: Bug) I don't classify this as a bug, because if you use a forced resolver in your source resolver chain, it's not that much a bug what happen. It's more a settings problem IMHO. But having an easy way to prevent forced resolvers from being forced during install could be an interesting improvement. Forced resolver behavior is inappropriate for ivy:install - Key: IVY-1022 URL: https://issues.apache.org/jira/browse/IVY-1022 Project: Ivy Issue Type: Improvement Components: Ant Affects Versions: 2.0 Reporter: Carlton Brown I tried to install a certain revision of a module from a chained resolver to an fs resolver, and observed that Ivy installed a revision other than what I specified. After investigation I noticed that the chain contained a forced fs resolver. I removed the forced resolver from the chain, replacing it with an equivalent un-forced fs resolver. The install worked correctly after that. I think that ivy:install should not be doing any dynamic version resolution at all. It should in every case use the literal module identifiers that are passed to it. This being the case, install should ignore a force attribute wherever it is encountered. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (IVY-987) Error message: impossible to get artifacts when data has not been loaded , on certain modules only
[ https://issues.apache.org/jira/browse/IVY-987?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12668391#action_12668391 ] Xavier Hanin commented on IVY-987: -- Maybe in this situation the conflict manager should resolve the conflict as if they were not forced. I mean, the conflict manager could first check if there is at least one revision being forced, if it is the case it ignores non forced revision and do its usual job with the forced revisions only. Does it make sense? Error message: impossible to get artifacts when data has not been loaded , on certain modules only Key: IVY-987 URL: https://issues.apache.org/jira/browse/IVY-987 Project: Ivy Issue Type: Bug Affects Versions: 2.0 Environment: ubuntu 8.04, java .1.6.0_06 Java HotSpot(TM) Client VM, calling external ant 1.7 from netbeans 6.1 IDE, ivy ant task in ants home lib dir Reporter: K. Rekk I found a similiar post here: http://www.mail-archive.com/ivy-u...@ant.apache.org/msg01766.html Everything worked fine with 2.0.0 beta . It's just a simple test and dom4j seems to cause the problem with standard ivysettings : dependencies dependency org=dom4j name=dom4j rev=1.6.1/ dependency org=log4j name=log4j rev=1.2.9/ dependency org=junit name=junit rev=4.5/ /dependencies /ivy-module Removing dom4j makes it work again. So I dont know, is it dom4j or ivy causing the problem? output: init: deps-jar: ivy-retrieve: No ivy:settings found for the default reference 'ivy.instance'. A default instance will be used no settings file found, using default... :: loading settings :: url = jar:file:/home/kostja/VZG/soa-workarea-ref/tools/ant/lib/ivy-2.0.0-rc2.jar!/org/apache/ivy/core/settings/ivysettings.xml :: resolving dependencies :: gbv.de#test;work...@myhome confs: [default] found dom4j#dom4j;1.6.1 in public found xml-apis#xml-apis;1.0.b2 in public found jaxme#jaxme-api;0.3 in public found jaxen#jaxen;1.1-beta-6 in public found jdom#jdom;1.0 in public found xerces#xmlParserAPIs;2.6.2 in public found xerces#xercesImpl;2.6.2 in public found xom#xom;1.0b3 in public found com.ibm.icu#icu4j;2.6.1 in public found org.ccil.cowan.tagsoup#tagsoup;0.9.7 in public found msv#xsdlib;20030807 in public found msv#relaxngDatatype;20030807 in public found pull-parser#pull-parser;2 in public found xpp3#xpp3;1.1.3.3 in public found stax#stax-api;1.0 in public found log4j#log4j;1.2.9 in public found junit#junit;4.5 in public :: problems summary :: ERRORS impossible to get artifacts when data has not been loaded. IvyNode = xalan#xalan;2.5.1 :: USE VERBOSE OR DEBUG MESSAGE LEVEL FOR MORE DETAILS /home/kostja/VZG/soa-workarea-ref/projects/Test/build.xml:15: impossible to resolve dependencies: java.lang.IllegalStateException: impossible to get artifacts when data has not been loaded. IvyNode = xalan#xalan;2.5.1 BUILD FAILED (total time: 0 seconds) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Closed: (IVY-1018) include jsch classes in ivy jar
[ https://issues.apache.org/jira/browse/IVY-1018?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xavier Hanin closed IVY-1018. - Resolution: Fixed Including jsch in our distribution is the best we can do, we won't package it in ivy.jar itself. include jsch classes in ivy jar --- Key: IVY-1018 URL: https://issues.apache.org/jira/browse/IVY-1018 Project: Ivy Issue Type: Wish Components: Core Environment: any Reporter: Ruslan Shevchenko Priority: Minor Original Estimate: 24h Remaining Estimate: 24h It would be good include copy of jsch in ivy.jar -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (IVY-1016) Patch to add an ivy:eclipse ant task that generates Eclipse .classpath files
[ https://issues.apache.org/jira/browse/IVY-1016?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12667648#action_12667648 ] Xavier Hanin commented on IVY-1016: --- And don't forget to talk about it on the user mailing list, and also add a link to it on the wiki. Patch to add an ivy:eclipse ant task that generates Eclipse .classpath files Key: IVY-1016 URL: https://issues.apache.org/jira/browse/IVY-1016 Project: Ivy Issue Type: New Feature Components: Ant Affects Versions: trunk Reporter: Jing Xue Attachments: EclipseClasspath.java I put together a post-resolve ivy:eclipse task that updates the Eclipse .classpath file according to the result of ivy:resolve. It also will discover any source jars if they are part of the resolve/download, and automatically attach them to the corresponding entries. For example, I have this entry in ivy.xml: {code:xml|title=ivy.xml} dependency org=commons-collections name=commons-collections rev=3.2.1 conf=compile;references artifact name=commons-collections type=sources ext=jar m:classifier=sources conf=references / /dependency {code} In build.xml, I have: {code:xml|title=build.xml} target name=eclipse description=Updates eclipse classpath. ivy:configure settingsId=ivy.eclipse override=true / ivy:resolve settingsRef=ivy.eclipse conf=compile, references / ivy:eclipse settingsRef=ivy.eclipse conf=compile, references / /target {code} And running 'ant eclipse' will update my .classpath with the cache path to the commons-collections jar, with its sources jar attached. The classpath entry will be annotated with an ivygen=true. Next time I run 'ant eclipse', this entry will be recognized and replaced with whatever updated paths. This is only the first draft. I know there is IvyDE, but I feel that this could be a good starting point for an alternative that is more Ant-oriented. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Created: (IVY-1017) add refresh parameter to post resolve tasks
add refresh parameter to post resolve tasks --- Key: IVY-1017 URL: https://issues.apache.org/jira/browse/IVY-1017 Project: Ivy Issue Type: Improvement Components: Ant Affects Versions: 2.0 Reporter: Xavier Hanin Assignee: Xavier Hanin The refresh parameter available on the resolve task is not available on post resolve tasks. Therefore if one wants to set refresh there is no other option than calling resolve explicitly -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
svn commit: r737669 - in /ant/ivy/core/trunk: CHANGES.txt doc/use/postresolvetask.html src/java/org/apache/ivy/ant/IvyPostResolveTask.java
Author: xavier Date: Mon Jan 26 10:45:12 2009 New Revision: 737669 URL: http://svn.apache.org/viewvc?rev=737669view=rev Log: IMPROVEMENT: add refresh parameter to post resolve tasks (IVY-1017) Modified: ant/ivy/core/trunk/CHANGES.txt ant/ivy/core/trunk/doc/use/postresolvetask.html ant/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyPostResolveTask.java Modified: ant/ivy/core/trunk/CHANGES.txt URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/CHANGES.txt?rev=737669r1=737668r2=737669view=diff == --- ant/ivy/core/trunk/CHANGES.txt (original) +++ ant/ivy/core/trunk/CHANGES.txt Mon Jan 26 10:45:12 2009 @@ -85,6 +85,7 @@ trunk = +- IMPROVEMENT: add refresh parameter to post resolve tasks (IVY-1017) - IMPROVEMENT: Remove excessive HEAD requests for URL repository (IVY-996) - IMPROVEMENT: add -version option on command line (IVY-1014) - IMPROVEMENT: support resolve refresh in command line (IVY-1013) Modified: ant/ivy/core/trunk/doc/use/postresolvetask.html URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/doc/use/postresolvetask.html?rev=737669r1=737668r2=737669view=diff == --- ant/ivy/core/trunk/doc/use/postresolvetask.html (original) +++ ant/ivy/core/trunk/doc/use/postresolvetask.html Mon Jan 26 10:45:12 2009 @@ -66,6 +66,7 @@ trtdtransitive/tdtdtrue to resolve dependencies transitively, false otherwise span class=sincesince 1.4/span/tdtdNo. Defaults to true/td/tr trtdhaltonfailure/tdtdtrue to halt the build on ivy failure, false to continue/tdtdNo. Defaults to true/td/tr trtdvalidate/tdtdtrue to force ivy files validation against ivy.xsd, false to force no validation/tdtdNo. Defaults to default ivy value (as configured in configuration file)/td/tr +trtdrefresh/tdtdtrue to force Ivy to resolve dynamic revision in this resolve process, false to use cached resolved revision span class=sincesince 2.1/span/tdtdNo. defaults to false/td/tr trtdfile/tdtdthe file to resolve if a resolve is necessary span class=sincesince 2.0/span/tdtdNo. Defaults to the previous resolved Ivy file or to ${ivy.dep.file}/td/tr trtdsettingsRef/tdtdA reference to the ivy settings that must be used by this task span class=since(since 2.0)/span/tdtdNo, 'ivy.instance' is taken by default./td/tr trtdresolveId/tdtdThe id which was used for a previous resolve, or the resolveId if a new resolve is performed span class=since(since 2.0)/span/tdtdNo, defaults to '[org]-[module]'./td/tr Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyPostResolveTask.java URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyPostResolveTask.java?rev=737669r1=737668r2=737669view=diff == --- ant/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyPostResolveTask.java (original) +++ ant/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyPostResolveTask.java Mon Jan 26 10:45:12 2009 @@ -66,6 +66,8 @@ private Boolean keep = null; +private boolean refresh = false; + private String log = ResolveOptions.LOG_DEFAULT; public boolean isUseOrigin() { @@ -288,6 +290,7 @@ resolve.setUseOrigin(useOrigin); resolve.setValidate(isValidate()); resolve.setKeep(isKeep()); +resolve.setRefresh(isRefresh()); resolve.setLog(getLog()); resolve.setSettingsRef(getSettingsRef()); return resolve; @@ -404,4 +407,12 @@ return this.keep == null ? !isInline() : this.keep.booleanValue(); } +public void setRefresh(boolean refresh) { +this.refresh = refresh; +} + +public boolean isRefresh() { +return refresh; +} + }
[jira] Commented: (IVY-1011) Enhance download options
[ https://issues.apache.org/jira/browse/IVY-1011?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12667214#action_12667214 ] Xavier Hanin commented on IVY-1011: --- a vertical progress bar sounds like a nice idea, I really like it! Enhance download options Key: IVY-1011 URL: https://issues.apache.org/jira/browse/IVY-1011 Project: Ivy Issue Type: New Feature Components: Core Reporter: Jan Matèrne Priority: Minor Enhance the downloading of artefacts. - parallel downloads - resuming a download - partial downloads - using a downloadmanager (for getting the first three topics) (Without knowing the internals) I think of something like public interface Downloader { /** * @param source From where to download * @param target where to store the artefact * @param progressReporter something that reports the progress (the [...]ok at the moment) */ download(URI source, File target, ?? progressReporter); } Implementations: - SerialDownloader : the existing downloader - ParallelDownloader : starts multiple downloads in parallel - SunDownloader : uses Suns Downloadmanager [1] for doing the job - ??Downloader : other (free available Java based) download manager [1] http://www.sun.com/download/sdm/download.xml -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Resolved: (IVY-1017) add refresh parameter to post resolve tasks
[ https://issues.apache.org/jira/browse/IVY-1017?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xavier Hanin resolved IVY-1017. --- Resolution: Fixed Fix Version/s: trunk I've implemented this on trunk. In the documentation I've put since 2.1 but I don't know if this will go in 2.1 only, or 2.0.1 too. Documentation will need an update if we decide to merge this to 2.0.x branch. add refresh parameter to post resolve tasks --- Key: IVY-1017 URL: https://issues.apache.org/jira/browse/IVY-1017 Project: Ivy Issue Type: Improvement Components: Ant Affects Versions: 2.0 Reporter: Xavier Hanin Assignee: Xavier Hanin Fix For: trunk The refresh parameter available on the resolve task is not available on post resolve tasks. Therefore if one wants to set refresh there is no other option than calling resolve explicitly -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (IVY-1016) Patch to add an ivy:eclipse ant task that generates Eclipse .classpath files
[ https://issues.apache.org/jira/browse/IVY-1016?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12667216#action_12667216 ] Xavier Hanin commented on IVY-1016: --- Thanks for this contribution Jing! But does it really need to be integrated in ivy core? Maybe this could be provided as a separate plugin? Patch to add an ivy:eclipse ant task that generates Eclipse .classpath files Key: IVY-1016 URL: https://issues.apache.org/jira/browse/IVY-1016 Project: Ivy Issue Type: New Feature Components: Ant Affects Versions: trunk Reporter: Jing Xue Attachments: EclipseClasspath.java I put together a post-resolve ivy:eclipse task that updates the Eclipse .classpath file according to the result of ivy:resolve. It also will discover any source jars if they are part of the resolve/download, and automatically attach them to the corresponding entries. For example, I have this entry in ivy.xml: {code:xml|title=ivy.xml} dependency org=commons-collections name=commons-collections rev=3.2.1 conf=compile;references artifact name=commons-collections type=sources ext=jar m:classifier=sources conf=references / /dependency {code} In build.xml, I have: {code:xml|title=build.xml} target name=eclipse description=Updates eclipse classpath. ivy:configure settingsId=ivy.eclipse override=true / ivy:resolve settingsRef=ivy.eclipse conf=compile, references / ivy:eclipse settingsRef=ivy.eclipse conf=compile, references / /target {code} And running 'ant eclipse' will update my .classpath with the cache path to the commons-collections jar, with its sources jar attached. The classpath entry will be annotated with an ivygen=true. Next time I run 'ant eclipse', this entry will be recognized and replaced with whatever updated paths. This is only the first draft. I know there is IvyDE, but I feel that this could be a good starting point for an alternative that is more Ant-oriented. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
svn commit: r737584 - in /ant/ivy: core/branches/2.0.0/doc/printTemplate.html site/build.xml site/history/ site/toc.json
Author: xavier Date: Sun Jan 25 21:40:47 2009 New Revision: 737584 URL: http://svn.apache.org/viewvc?rev=737584view=rev Log: upgrade printTemplate.html, introduce latest-release, and update toc to point to latest-release for better navigation tree handling and permanent link Modified: ant/ivy/core/branches/2.0.0/doc/printTemplate.html ant/ivy/site/build.xml ant/ivy/site/history/ (props changed) ant/ivy/site/toc.json Modified: ant/ivy/core/branches/2.0.0/doc/printTemplate.html URL: http://svn.apache.org/viewvc/ant/ivy/core/branches/2.0.0/doc/printTemplate.html?rev=737584r1=737583r2=737584view=diff == --- ant/ivy/core/branches/2.0.0/doc/printTemplate.html (original) +++ ant/ivy/core/branches/2.0.0/doc/printTemplate.html Sun Jan 25 21:40:47 2009 @@ -20,7 +20,7 @@ html xmlns=http://www.w3.org/1999/xhtml; lang=en xml:lang=en head META HTTP-EQUIV=Content-Type CONTENT=text/html; charset=ISO-8859-1 -title${title} | Ivy 2.0.0/title +title${title} | Ivy/title meta http-equiv=Content-Type content=text/html; charset=utf-8 / link rel=stylesheet type=text/css href=style/print-style.css / /head @@ -32,8 +32,8 @@ table id=header summary=Navigation elements. border=0 cellpadding=0 cellspacing=0 width=100% tr - td id=home width=30%a href=http://incubator.apache.org/; - title=Homeimg src=images/apache-incubator-logo.png alt=Apache Incubator + td id=home width=30%a href=http://ant.apache.org/; + title=Apache Antimg src=images/ant-group-logo.gif alt=Apache Ant border=0 //a/td td class=product width=70% align=right valign=middleimg Modified: ant/ivy/site/build.xml URL: http://svn.apache.org/viewvc/ant/ivy/site/build.xml?rev=737584r1=737583r2=737584view=diff == --- ant/ivy/site/build.xml (original) +++ ant/ivy/site/build.xml Sun Jan 25 21:40:47 2009 @@ -88,6 +88,11 @@ generate-printdoc version=latest-milestone / /target +target name=generate-printdoc-latest-release depends=copy-resources +description=-- Generates latest-release documentation printer friendly version +generate-printdoc version=latest-release / +/target + target name=generate-printdoc depends=copy-resources description=-- Generates documentation printer friendly version input message=Ivy version to generate doc for? addproperty=version / Propchange: ant/ivy/site/history/ -- --- svn:externals (original) +++ svn:externals Sun Jan 25 21:40:47 2009 @@ -1,4 +1,5 @@ trunk https://svn.apache.org/repos/asf/ant/ivy/core/trunk/doc +latest-release https://svn.apache.org/repos/asf/ant/ivy/core/branches/2.0.0/doc latest-milestone https://svn.apache.org/repos/asf/ant/ivy/core/branches/2.0.0/doc 2.0.0 https://svn.apache.org/repos/asf/ant/ivy/core/branches/2.0.0/doc 2.0.0-rc2 https://svn.apache.org/repos/asf/ant/ivy/core/branches/2.0.0-rc2/doc Modified: ant/ivy/site/toc.json URL: http://svn.apache.org/viewvc/ant/ivy/site/toc.json?rev=737584r1=737583r2=737584view=diff == --- ant/ivy/site/toc.json (original) +++ ant/ivy/site/toc.json Sun Jan 25 21:40:47 2009 @@ -76,7 +76,7 @@ }, { title:Documentation (2.0.0), -importRoot:history/2.0.0, +importRoot:history/latest-release, importNode:index }, { id:history,
svn commit: r737587 - in /ant/ivy/site/target: ./ history/ history/2.0.0-alpha2/ history/2.0.0-alpha2/configuration/ history/2.0.0-alpha2/configuration/macrodef/ history/2.0.0-alpha2/configuration/nam
Author: xavier Date: Sun Jan 25 21:59:46 2009 New Revision: 737587 URL: http://svn.apache.org/viewvc?rev=737587view=rev Log: regenerate site [This commit notification would consist of 51 parts, which exceeds the limit of 50 ones, so it was shortened to the summary.]
svn commit: r737605 [30/30] - in /ant/ivy/site/target/history/latest-release: ./ configuration/ configuration/caches/ configuration/macrodef/ configuration/namespace/ dev/ ivyfile/ resolver/ settings/
Modified: ant/ivy/site/target/history/latest-release/use/settings.html URL: http://svn.apache.org/viewvc/ant/ivy/site/target/history/latest-release/use/settings.html?rev=737605r1=737604r2=737605view=diff == --- ant/ivy/site/target/history/latest-release/use/settings.html (original) +++ ant/ivy/site/target/history/latest-release/use/settings.html Sun Jan 25 23:24:04 2009 @@ -22,17 +22,16 @@ script type=text/javascriptvar xookiConfig = {level: 1};/script - META HTTP-EQUIV=Content-Type CONTENT=text/html; charset=ISO-8859-1 -titlesettings | Ivy 2.0.0 Documentation/title +titlesettings | Apache Ivy/title meta http-equiv=Content-Type content=text/html; charset=utf-8 / - link rel=stylesheet type=text/css href=../style/style.css / - script src=../js/jquery.pack.js type=text/javascript/script - script src=../js/jquery.treeview.js type=text/javascript/script + link rel=stylesheet type=text/css href=../../../style/style.css / + script src=../../../js/jquery.pack.js type=text/javascript/script + script src=../../../js/jquery.treeview.js type=text/javascript/script script type=text/javascript $(document).ready(function(){$(#treemenu).Treeview({speed: fast,store: true});}); /script -script language=javascript type=text/javascriptxooki = {u: function(url) {return ../xooki/+url;}};/script +script language=javascript type=text/javascriptxooki = {u: function(url) {return ../../../xooki/+url;}};/script /head body @@ -41,11 +40,11 @@ cellpadding=0 cellspacing=0 width=100% tr td id=home width=30%a href=http://ant.apache.org/; - title=Apache Antimg src=../images/ant-group-logo.gif alt=Apache Ant + title=Apache Antimg src=../../../images/ant-group-logo.gif alt=Apache Ant border=0 //a/td td class=product width=70% align=right valign=middleimg - src=../images/logo.png alt=ivy border=0 //td + src=../../../images/logo.png alt=ivy border=0 //td /tr /table @@ -54,8 +53,20 @@ tr td +div style=float:right;margin: 0 10px; +!-- Google CSE Search Box Begins -- + form id=searchbox_014292259695392975429:5y6qypnrni8 action=http://ant.apache.org/ivy/search.html; +input type=hidden name=cx value=014292259695392975429:5y6qypnrni8 / +input type=hidden name=cof value=FORID:11 / +input name=q type=text size=30 / +input type=submit name=sa value=Search / + /form + script type=text/javascript src=http://www.google.com/coop/cse/brand?form=searchbox_014292259695392975429%3A5y6qypnrni8;/script +!-- Google CSE Search Box Ends -- +/div + div id=navcontainer - a href=http://ant.apache.org/;Apache Ant/a gt; a href=http://ant.apache.org/ivy/;Ivy/a gt; span class=breadCrumba href=../index.html Documentation/a gt; a href=../reference.html Reference/a gt; a href=../ant.html Ant Tasks/a gt; a href=../use/settings.html class=currentsettings/a/span + a href=http://ant.apache.org/;Apache Ant/a gt; a href=http://ant.apache.org/ivy/;Ivy/a gt; span class=breadCrumba href=../../../history/latest-release/index.html Documentation (2.0.0)/a gt; a href=../../../history/latest-release/reference.html Reference/a gt; a href=../../../history/latest-release/ant.html Ant Tasks/a gt; a href=../../../history/latest-release/use/settings.html class=currentsettings/a/span /div /td /tr @@ -69,8 +80,13 @@ div class=block block-book id=block-book-0 h2Ivy/h2 - div class=contentul id=treemenu class=treeviewli id=xooki-index class=submenua href=../index.html Documentation/aul class=openli id=xooki-release-notesa href=../release-notes.html Release Notes/a/lili id=xooki-tutorial class=submenua href=../tutorial.html Tutorials/aul class=closedli id=xooki-tutorial/starta href=../tutorial/start.html Quick Start/a/lili id=xooki-tutorial/defaultconfa href=../tutorial/defaultconf.html Adjusting default settings/a/lili id=xooki-tutorial/multiplea href=../tutorial/multiple.html Multiple Resolvers/a/lili id=xooki-tutorial/duala href=../tutorial/dual.html Dual Resolver/a/lili id=xooki-tutorial/dependencea href=../tutorial/dependence.html Project dependencies/a/lili id=xooki-tutorial/multiprojecta href=../tutorial/multiproject.html Using Ivy in multiple projects environment/a/lili id=xooki-tutorial/confa href=../tu torial/conf.html Using Ivy Module Configurations/a/lili id=xooki-tutorial/build-repository class=submenua href=../tutorial/build-repository.html Building a repository/aul class=closedli id=xooki-tutorial/build-repository/basica href=../tutorial/build-repository/basic.html Basic repository copy/a/lili id=xooki-tutorial/build-repository/advanceda
[jira] Commented: (IVY-1011) Enhance download options
[ https://issues.apache.org/jira/browse/IVY-1011?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12666858#action_12666858 ] Xavier Hanin commented on IVY-1011: --- One issue with parallel downloading is download progress reporting. When used from Ant, we are very limited in reporting, output to console being done only by whole lines. I guess this is not a showstopper if we don't get something clean during parallel downloads, but we need to be careful with this IMO. Enhance download options Key: IVY-1011 URL: https://issues.apache.org/jira/browse/IVY-1011 Project: Ivy Issue Type: New Feature Components: Core Reporter: Jan Matèrne Priority: Minor Enhance the downloading of artefacts. - parallel downloads - resuming a download - partial downloads - using a downloadmanager (for getting the first three topics) (Without knowing the internals) I think of something like public interface Downloader { /** * @param source From where to download * @param target where to store the artefact * @param progressReporter something that reports the progress (the [...]ok at the moment) */ download(URI source, File target, ?? progressReporter); } Implementations: - SerialDownloader : the existing downloader - ParallelDownloader : starts multiple downloads in parallel - SunDownloader : uses Suns Downloadmanager [1] for doing the job - ??Downloader : other (free available Java based) download manager [1] http://www.sun.com/download/sdm/download.xml -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Created: (IVYDE-157) [regression] when possible, do not resolve issues on startup, only refresh last resolve from cache
[regression] when possible, do not resolve issues on startup, only refresh last resolve from cache -- Key: IVYDE-157 URL: https://issues.apache.org/jira/browse/IVYDE-157 Project: IvyDE Issue Type: Improvement Components: classpath container Affects Versions: 2.0.0.beta1 Reporter: Xavier Hanin Assignee: Xavier Hanin In previous IvyDE version, on eclipse startup dependencies where not fully resolved, but the last resolve found in cache was used when available. This is not the case anymore, which causes very slow startup of eclipse on projects using Ivy extensively with a slow connection to repositories -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Resolved: (IVYDE-157) [regression] when possible, do not resolve issues on startup, only refresh last resolve from cache
[ https://issues.apache.org/jira/browse/IVYDE-157?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xavier Hanin resolved IVYDE-157. Resolution: Invalid I missed the implementation of IVYDE-74 which makes this issue invalid. [regression] when possible, do not resolve issues on startup, only refresh last resolve from cache -- Key: IVYDE-157 URL: https://issues.apache.org/jira/browse/IVYDE-157 Project: IvyDE Issue Type: Improvement Components: classpath container Affects Versions: 2.0.0.beta1 Reporter: Xavier Hanin Assignee: Xavier Hanin In previous IvyDE version, on eclipse startup dependencies where not fully resolved, but the last resolve found in cache was used when available. This is not the case anymore, which causes very slow startup of eclipse on projects using Ivy extensively with a slow connection to repositories -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Created: (IVY-1012) TTL does not work as expected
TTL does not work as expected - Key: IVY-1012 URL: https://issues.apache.org/jira/browse/IVY-1012 Project: Ivy Issue Type: Bug Affects Versions: 2.0 Reporter: Xavier Hanin Assignee: Xavier Hanin It seems that the TTL feature does not work as expected. I'm not even sure it works at all, it definetly needs some investigation. It could also be a good opportunity to deal with IVY-879. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
svn commit: r737330 - in /ant/ivy/core/trunk: ./ src/java/org/apache/ivy/core/cache/ src/java/org/apache/ivy/plugins/resolver/ test/java/org/apache/ivy/core/resolve/ test/java/org/apache/ivy/plugins/r
Author: xavier Date: Sat Jan 24 11:00:40 2009 New Revision: 737330 URL: http://svn.apache.org/viewvc?rev=737330view=rev Log: FIX: TTL does not work as expected (IVY-1012) Added: ant/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ivy-mod1.2-1.5.xml (with props) Modified: ant/ivy/core/trunk/CHANGES.txt ant/ivy/core/trunk/src/java/org/apache/ivy/core/cache/DefaultRepositoryCacheManager.java ant/ivy/core/trunk/src/java/org/apache/ivy/core/cache/RepositoryCacheManager.java ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/AbstractResolver.java ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/BasicResolver.java ant/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ResolveTest.java ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/resolver/MockResolver.java Modified: ant/ivy/core/trunk/CHANGES.txt URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/CHANGES.txt?rev=737330r1=737329r2=737330view=diff == --- ant/ivy/core/trunk/CHANGES.txt (original) +++ ant/ivy/core/trunk/CHANGES.txt Sat Jan 24 11:00:40 2009 @@ -87,6 +87,7 @@ = - IMPROVEMENT: Error message is not clear when specifying an invalid value for checksums (IVY-977) +- FIX: TTL does not work as expected (IVY-1012) - FIX: Listing of URL's under a given URL does not handle fully specified URL's (IVY-959) (thanks to Randy Nott) - FIX: ivy:buildnumber returns wrong result when resolve fails (IVY-970) - FIX: listing possible token values doesn't work properly for the ibiblio resolver Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/core/cache/DefaultRepositoryCacheManager.java URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/core/cache/DefaultRepositoryCacheManager.java?rev=737330r1=737329r2=737330view=diff == --- ant/ivy/core/trunk/src/java/org/apache/ivy/core/cache/DefaultRepositoryCacheManager.java (original) +++ ant/ivy/core/trunk/src/java/org/apache/ivy/core/cache/DefaultRepositoryCacheManager.java Sat Jan 24 11:00:40 2009 @@ -24,6 +24,7 @@ import java.util.Map; import java.util.regex.Pattern; +import org.apache.ivy.core.IvyContext; import org.apache.ivy.core.IvyPatternHelper; import org.apache.ivy.core.module.descriptor.Artifact; import org.apache.ivy.core.module.descriptor.DefaultArtifact; @@ -683,7 +684,7 @@ } } -private void saveResolvedRevision(ModuleRevisionId mrid, String revision) { +public void saveResolvedRevision(ModuleRevisionId mrid, String revision) { if (!lockMetadataArtifact(mrid)) { Message.error(impossible to acquire lock for + mrid); return; @@ -846,11 +847,6 @@ saveResolvers(md, resolver.getName(), resolver.getName()); -if (getSettings().getVersionMatcher().isDynamic(md.getModuleRevisionId()) - getTTL(md.getModuleRevisionId()) 0) { -saveResolvedRevision(md.getModuleRevisionId(), rmr.getId().getRevision()); -} - if (!md.isDefault()) { rmr.getReport().setOriginalLocalFile(originalFileInCache); } Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/core/cache/RepositoryCacheManager.java URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/core/cache/RepositoryCacheManager.java?rev=737330r1=737329r2=737330view=diff == --- ant/ivy/core/trunk/src/java/org/apache/ivy/core/cache/RepositoryCacheManager.java (original) +++ ant/ivy/core/trunk/src/java/org/apache/ivy/core/cache/RepositoryCacheManager.java Sat Jan 24 11:00:40 2009 @@ -156,5 +156,13 @@ * Cleans the whole cache. */ public void clean(); + +/** + * Caches a dynamic revision constraint resolution. + * + * @param dynamicMrid the dynamic module revision id + * @param revision the resolved revision + */ +public void saveResolvedRevision(ModuleRevisionId dynamicMrid, String revision); } Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/AbstractResolver.java URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/AbstractResolver.java?rev=737330r1=737329r2=737330view=diff == --- ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/AbstractResolver.java (original) +++ ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/AbstractResolver.java Sat Jan 24 11:00:40 2009 @@ -493,6 +493,7 @@ } protected ResolvedModuleRevision checkLatest( +DependencyDescriptor dd, ResolvedModuleRevision newModuleFound, ResolveData data
[jira] Resolved: (IVY-1012) TTL does not work as expected
[ https://issues.apache.org/jira/browse/IVY-1012?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xavier Hanin resolved IVY-1012. --- Resolution: Fixed Fix Version/s: trunk I've done some investigation and figured out that TTL where only working with modules without module descriptor :-( This is fixed now on trunk, TTL work with modules with module descriptors, and also when a dynamic revision is resolved to the same revision after a TTL expiration. I'll make something for IVY-879 in a moment too. This should probably be merged to 2.0.x branch, but I had to change the RepositoryManager interface to make this work and one BasicResolver protected method, so it wold mean breaking API. TTL does not work as expected - Key: IVY-1012 URL: https://issues.apache.org/jira/browse/IVY-1012 Project: Ivy Issue Type: Bug Affects Versions: 2.0 Reporter: Xavier Hanin Assignee: Xavier Hanin Fix For: trunk It seems that the TTL feature does not work as expected. I'm not even sure it works at all, it definetly needs some investigation. It could also be a good opportunity to deal with IVY-879. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Assigned: (IVY-879) Using ivy in offline mode
[ https://issues.apache.org/jira/browse/IVY-879?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xavier Hanin reassigned IVY-879: Assignee: Xavier Hanin Using ivy in offline mode - Key: IVY-879 URL: https://issues.apache.org/jira/browse/IVY-879 Project: Ivy Issue Type: Improvement Components: Core Reporter: Jean-Louis Boudart Assignee: Xavier Hanin I recently tried to use ivy in offline, everything is in ivy-cache, but ivy seems to check dynamique revision all the time. Exemple: Suppose you have this dependency on your project dependency org=jasperreports name=jasperreports rev=2.0.5 conf=runtime-runtime/ Looking in the POM file (http://repo1.maven.org/maven2/jasperreports/jasperreports/2.0.5/jasperreports-2.0.5.pom) we can see that jasperreports depends on commons-logging#[1.0,) This revision is evaluated on every resolve/retrieve. I've tried to tune my cache with a large TTL, but the problem is still here. My cache configuration : caches default=mycache checkUpToDate=false cache name=mycache basedir=${ivy.home.dir}/ivy-cache defaultTTL=1d ttl revision=latest.integration duration=1d / /cache /caches Maybe there is a regression on my version? Even if the TTL options seems to be interessant, i'm not so sure that this is the best solution for working in offline mode. It could be a nice improvement to reuse the cache even if TTL is expired when repo are not reachable. What do you think about it? -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
svn commit: r737336 - in /ant/ivy/core/trunk: doc/settings/caches/ttl.html src/java/org/apache/ivy/core/cache/DefaultRepositoryCacheManager.java
Author: xavier Date: Sat Jan 24 11:49:04 2009 New Revision: 737336 URL: http://svn.apache.org/viewvc?rev=737336view=rev Log: add 'eternal' option to ttl and review how expiration is handled so that ttl is evaluated when checking the cache and not when storing the resolved revision, which makes possible to temporarily set the ttl to 'eternal' when resolving dependencies offline for instance (related to IVY-879) Modified: ant/ivy/core/trunk/doc/settings/caches/ttl.html ant/ivy/core/trunk/src/java/org/apache/ivy/core/cache/DefaultRepositoryCacheManager.java Modified: ant/ivy/core/trunk/doc/settings/caches/ttl.html URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/doc/settings/caches/ttl.html?rev=737336r1=737335r2=737336view=diff == --- ant/ivy/core/trunk/doc/settings/caches/ttl.html (original) +++ ant/ivy/core/trunk/doc/settings/caches/ttl.html Sat Jan 24 11:49:04 2009 @@ -40,6 +40,8 @@ /code Where 'd' stands for days, 'h' for hours, 'm' for minutes, 's' for seconds and 'ms' for milliseconds. Any part of the specification can be omitted, so '12d', '2h 5m' and '1d 5ms' are all valid. +The TTL duration can also be set to 'eternal', in which case once resolved the revision is always use, except when resolving in refresh mode. + Using a 0ms TTL disable resolved revision caching for the given rule. h1Attributes/h1 @@ -58,7 +60,7 @@ tdNo, defaults to */td/tr trtdmatcher/tdtdthe a href=../../concept.html#matchermatcher/a to use to match the modules to which the resolver should be applied/td tdNo, defaults to exact/td/tr -trtdduration/tdtdthe TTL to apply/td +trtdduration/tdtdthe TTL to apply (see above for format)/td tdYes/td/tr /tbody /table Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/core/cache/DefaultRepositoryCacheManager.java URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/core/cache/DefaultRepositoryCacheManager.java?rev=737336r1=737335r2=737336view=diff == --- ant/ivy/core/trunk/src/java/org/apache/ivy/core/cache/DefaultRepositoryCacheManager.java (original) +++ ant/ivy/core/trunk/src/java/org/apache/ivy/core/cache/DefaultRepositoryCacheManager.java Sat Jan 24 11:49:04 2009 @@ -257,6 +257,9 @@ if (duration == null) { return 0; } +if (eternal.equals(duration)) { +return Long.MAX_VALUE; +} java.util.regex.Matcher m = DURATION_PATTERN.matcher(duration); if (m.matches()) { //CheckStyle:MagicNumber| OFF @@ -274,7 +277,8 @@ + millis; } else { throw new IllegalArgumentException(invalid duration ' -+ duration + ': it must match + DURATION_PATTERN.pattern()); ++ duration + ': it must match + DURATION_PATTERN.pattern() ++ or 'eternal'); } } @@ -664,18 +668,23 @@ return null; } PropertiesFile cachedResolvedRevision = getCachedDataFile(mrid); -String expiration = cachedResolvedRevision.getProperty(expiration.time); -if (expiration == null) { -Message.verbose(no cached resolved revision for + mrid); -return null; -} -if (System.currentTimeMillis() Long.parseLong(expiration)) { -Message.verbose(cached resolved revision expired for + mrid); -return null; -} resolvedRevision = cachedResolvedRevision.getProperty(resolved.revision); if (resolvedRevision == null) { -Message.verbose(no cached resolved revision value for + mrid); +Message.verbose(getName() + : no cached resolved revision for + mrid); +return null; +} + +String resolvedTime = cachedResolvedRevision.getProperty(resolved.time); +if (resolvedTime == null) { +Message.verbose(getName() ++ : inconsistent or old cache: no cached resolved time for + mrid); +saveResolvedRevision(mrid, resolvedRevision); +return resolvedRevision; +} +long expiration = Long.parseLong(resolvedTime) + getTTL(mrid); +if (expiration 0 // negative expiration means that Long.MAX_VALUE has been exceeded + System.currentTimeMillis() expiration) { +Message.verbose(getName() + : cached resolved revision expired for + mrid); return null; } return resolvedRevision; @@ -691,7 +700,8 @@ } try { PropertiesFile cachedResolvedRevision = getCachedDataFile(mrid); -cachedResolvedRevision.setProperty(expiration.time
[jira] Commented: (IVY-879) Using ivy in offline mode
[ https://issues.apache.org/jira/browse/IVY-879?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12666896#action_12666896 ] Xavier Hanin commented on IVY-879: -- I've fixed the problem with TTL in IVY-1012, and also changed some tiny things to make it more usable for offline mode: I've added the option to use 'eternal' as ttl duration, and also changed when ttl is checked. So now if you don't have any specific ttl in your Ivy settings, all you have to do when offline is to set the property ivy.cache.ttl.default to eternal (with -Divy.cache.ttl.default=eternal when calling ant for instance). If you set ttls yourself, it's a bit more work to override the values in offline mode, but it's still possible. So IMO the current trunk version is enough for offline support. WDYT? Using ivy in offline mode - Key: IVY-879 URL: https://issues.apache.org/jira/browse/IVY-879 Project: Ivy Issue Type: Improvement Components: Core Reporter: Jean-Louis Boudart Assignee: Xavier Hanin I recently tried to use ivy in offline, everything is in ivy-cache, but ivy seems to check dynamique revision all the time. Exemple: Suppose you have this dependency on your project dependency org=jasperreports name=jasperreports rev=2.0.5 conf=runtime-runtime/ Looking in the POM file (http://repo1.maven.org/maven2/jasperreports/jasperreports/2.0.5/jasperreports-2.0.5.pom) we can see that jasperreports depends on commons-logging#[1.0,) This revision is evaluated on every resolve/retrieve. I've tried to tune my cache with a large TTL, but the problem is still here. My cache configuration : caches default=mycache checkUpToDate=false cache name=mycache basedir=${ivy.home.dir}/ivy-cache defaultTTL=1d ttl revision=latest.integration duration=1d / /cache /caches Maybe there is a regression on my version? Even if the TTL options seems to be interessant, i'm not so sure that this is the best solution for working in offline mode. It could be a nice improvement to reuse the cache even if TTL is expired when repo are not reachable. What do you think about it? -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Created: (IVY-1013) support resolve refresh in command line
support resolve refresh in command line --- Key: IVY-1013 URL: https://issues.apache.org/jira/browse/IVY-1013 Project: Ivy Issue Type: Improvement Reporter: Xavier Hanin Assignee: Xavier Hanin There's currently no option to run a resolve in refresh mode when used from command line -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Resolved: (IVY-1013) support resolve refresh in command line
[ https://issues.apache.org/jira/browse/IVY-1013?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xavier Hanin resolved IVY-1013. --- Resolution: Fixed Fix Version/s: trunk I've implemented this with -refresh argument support resolve refresh in command line --- Key: IVY-1013 URL: https://issues.apache.org/jira/browse/IVY-1013 Project: Ivy Issue Type: Improvement Reporter: Xavier Hanin Assignee: Xavier Hanin Fix For: trunk There's currently no option to run a resolve in refresh mode when used from command line -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Created: (IVY-1014) add -version option on command line
add -version option on command line --- Key: IVY-1014 URL: https://issues.apache.org/jira/browse/IVY-1014 Project: Ivy Issue Type: Improvement Reporter: Xavier Hanin Assignee: Xavier Hanin Ivy always display its version information when performing almost anything, but there is no way to easily get only the version information on command line. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
svn commit: r737349 - in /ant/ivy/core/trunk: CHANGES.txt src/java/org/apache/ivy/Main.java
Author: xavier Date: Sat Jan 24 12:42:15 2009 New Revision: 737349 URL: http://svn.apache.org/viewvc?rev=737349view=rev Log: IMPROVEMENT: add -version option on command line (IVY-1014) Modified: ant/ivy/core/trunk/CHANGES.txt ant/ivy/core/trunk/src/java/org/apache/ivy/Main.java Modified: ant/ivy/core/trunk/CHANGES.txt URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/CHANGES.txt?rev=737349r1=737348r2=737349view=diff == --- ant/ivy/core/trunk/CHANGES.txt (original) +++ ant/ivy/core/trunk/CHANGES.txt Sat Jan 24 12:42:15 2009 @@ -85,6 +85,7 @@ trunk = +- IMPROVEMENT: add -version option on command line (IVY-1014) - IMPROVEMENT: support resolve refresh in command line (IVY-1013) - IMPROVEMENT: Error message is not clear when specifying an invalid value for checksums (IVY-977) Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/Main.java URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/Main.java?rev=737349r1=737348r2=737349view=diff == --- ant/ivy/core/trunk/src/java/org/apache/ivy/Main.java (original) +++ ant/ivy/core/trunk/src/java/org/apache/ivy/Main.java Sat Jan 24 12:42:15 2009 @@ -157,7 +157,9 @@ .addOption(new OptionBuilder(?) .description(display this help).create()) .addOption(new OptionBuilder(deprecated) -.description(show deprecated options).create()); +.description(show deprecated options).create()) +.addOption(new OptionBuilder(version) +.description(displays version information).create()); } public static void main(String[] args) throws Exception { @@ -179,6 +181,12 @@ usage(parser, line.hasOption(deprecated)); return; } + +if (line.hasOption(version)) { +System.out.println(Ivy + Ivy.getIvyVersion() + - ++ Ivy.getIvyDate() + :: + Ivy.getIvyHomeURL()); +return; +} boolean validate = line.hasOption(novalidate) ? false : true;
[jira] Assigned: (IVY-996) Remove excessive HEAD requests for URL repository
[ https://issues.apache.org/jira/browse/IVY-996?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xavier Hanin reassigned IVY-996: Assignee: Xavier Hanin Remove excessive HEAD requests for URL repository - Key: IVY-996 URL: https://issues.apache.org/jira/browse/IVY-996 Project: Ivy Issue Type: Improvement Components: Core Affects Versions: 2.0-RC2 Reporter: Eric Anderson Assignee: Xavier Hanin h3. Fixing useless extra HEAD requests When searching for an artifact named project version 2.2.+ for organization org, Ivy attempts HEAD requests for completely not possible versions. IE: /org/project/0.9.2/ivy-0.9.2.xml This is not terribly painful unless you have thousands of builds and are not on the same network as your ivy server. h3. Are HEAD requests even necessary? Simply getting a directory listing should be good enough to determine if there is an artifact (for choosing latest-release). Now, after one is chosen, if no ivy.xml file exists, I could understand trying the next one, but trying all of them, just to select the latest one anyways seems like a complete waste. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Resolved: (IVY-1014) add -version option on command line
[ https://issues.apache.org/jira/browse/IVY-1014?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xavier Hanin resolved IVY-1014. --- Resolution: Fixed Fix Version/s: trunk I've implemented this on trunk. add -version option on command line --- Key: IVY-1014 URL: https://issues.apache.org/jira/browse/IVY-1014 Project: Ivy Issue Type: Improvement Reporter: Xavier Hanin Assignee: Xavier Hanin Fix For: trunk Ivy always display its version information when performing almost anything, but there is no way to easily get only the version information on command line. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
svn commit: r737354 - in /ant/ivy/core/trunk: CHANGES.txt src/java/org/apache/ivy/plugins/resolver/AbstractPatternsBasedResolver.java src/java/org/apache/ivy/plugins/resolver/util/ResolverHelper.java
Author: xavier Date: Sat Jan 24 13:00:16 2009 New Revision: 737354 URL: http://svn.apache.org/viewvc?rev=737354view=rev Log: IMPROVEMENT: Remove excessive HEAD requests for URL repository (IVY-996) Modified: ant/ivy/core/trunk/CHANGES.txt ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/AbstractPatternsBasedResolver.java ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/util/ResolverHelper.java Modified: ant/ivy/core/trunk/CHANGES.txt URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/CHANGES.txt?rev=737354r1=737353r2=737354view=diff == --- ant/ivy/core/trunk/CHANGES.txt (original) +++ ant/ivy/core/trunk/CHANGES.txt Sat Jan 24 13:00:16 2009 @@ -85,6 +85,7 @@ trunk = +- IMPROVEMENT: Remove excessive HEAD requests for URL repository (IVY-996) - IMPROVEMENT: add -version option on command line (IVY-1014) - IMPROVEMENT: support resolve refresh in command line (IVY-1013) - IMPROVEMENT: Error message is not clear when specifying an invalid value for checksums (IVY-977) Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/AbstractPatternsBasedResolver.java URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/AbstractPatternsBasedResolver.java?rev=737354r1=737353r2=737354view=diff == --- ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/AbstractPatternsBasedResolver.java (original) +++ ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/AbstractPatternsBasedResolver.java Sat Jan 24 13:00:16 2009 @@ -127,15 +127,14 @@ for (ListIterator iter = sorted.listIterator(sorted.size()); iter.hasPrevious();) { ResolvedResource rres = (ResolvedResource) iter.previous(); +// we start by filtering based on information already available, +// even though we don't even know if the resource actually exist. +// But checking for existence is most of the time more costly than checking +// name, blacklisting and first level version matching if (filterNames(new ArrayList(Collections.singleton(rres.getRevision(.isEmpty()) { Message.debug(\t + name + : filtered by name: + rres); continue; } -if ((date != null rres.getLastModified() date.getTime())) { -Message.verbose(\t + name + : too young: + rres); -rejected.add(rres.getRevision() + ( + rres.getLastModified() + )); -continue; -} ModuleRevisionId foundMrid = ModuleRevisionId.newInstance(mrid, rres.getRevision()); ResolveData data = context.getResolveData(); @@ -153,6 +152,17 @@ rejected.add(rres.getRevision()); continue; } +if (!rres.getResource().exists()) { +Message.debug(\t + name + : unreachable: + rres ++ ; res= + rres.getResource()); +rejected.add(rres.getRevision() + (unreachable)); +continue; +} +if ((date != null rres.getLastModified() date.getTime())) { +Message.verbose(\t + name + : too young: + rres); +rejected.add(rres.getRevision() + ( + rres.getLastModified() + )); +continue; +} if (versionMatcher.needModuleDescriptor(mrid, foundMrid)) { ResolvedResource r = rmdparser.parse(rres.getResource(), rres.getRevision()); if (r == null) { @@ -180,12 +190,6 @@ } if (found != null) { -if (!found.getResource().exists()) { -Message.debug(\t + name + : resource not reachable for + mrid + : res= -+ found.getResource()); -logAttempt(found.getResource().toString()); -continue; -} break; } } Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/util/ResolverHelper.java URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/util/ResolverHelper.java?rev=737354r1=737353r2=737354view=diff == --- ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/util/ResolverHelper.java (original) +++ ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/util/ResolverHelper.java Sat Jan 24 13:00:16 2009 @@ -153,7 +153,10 @@ IvyPatternHelper.REVISION_KEY, revs[i]); try { Resource res = rep.getResource(rres); -if ((res != null) res.exists
[jira] Resolved: (IVY-996) Remove excessive HEAD requests for URL repository
[ https://issues.apache.org/jira/browse/IVY-996?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xavier Hanin resolved IVY-996. -- Resolution: Fixed Fix Version/s: trunk I've made some modifications on trunk which should fix this as you asked: making head requests only for potential matches. I've made some testing in my environment, and it works well. I'd appreciate feedback though to know if it works for you too. Remove excessive HEAD requests for URL repository - Key: IVY-996 URL: https://issues.apache.org/jira/browse/IVY-996 Project: Ivy Issue Type: Improvement Components: Core Affects Versions: 2.0-RC2 Reporter: Eric Anderson Assignee: Xavier Hanin Fix For: trunk h3. Fixing useless extra HEAD requests When searching for an artifact named project version 2.2.+ for organization org, Ivy attempts HEAD requests for completely not possible versions. IE: /org/project/0.9.2/ivy-0.9.2.xml This is not terribly painful unless you have thousands of builds and are not on the same network as your ivy server. h3. Are HEAD requests even necessary? Simply getting a directory listing should be good enough to determine if there is an artifact (for choosing latest-release). Now, after one is chosen, if no ivy.xml file exists, I could understand trying the next one, but trying all of them, just to select the latest one anyways seems like a complete waste. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
svn commit: r737358 - in /ant/ivy/core/trunk: src/java/org/apache/ivy/plugins/resolver/AbstractResolver.java test/java/org/apache/ivy/plugins/resolver/MockResolver.java
Author: xavier Date: Sat Jan 24 14:05:24 2009 New Revision: 737358 URL: http://svn.apache.org/viewvc?rev=737358view=rev Log: fix problems introduced with IVY-1012 Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/AbstractResolver.java ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/resolver/MockResolver.java Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/AbstractResolver.java URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/AbstractResolver.java?rev=737358r1=737357r2=737358view=diff == --- ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/AbstractResolver.java (original) +++ ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/AbstractResolver.java Sat Jan 24 14:05:24 2009 @@ -58,6 +58,7 @@ import org.apache.ivy.plugins.resolver.ChainResolver.ResolvedModuleRevisionArtifactInfo; import org.apache.ivy.plugins.resolver.util.HasLatestStrategy; import org.apache.ivy.plugins.resolver.util.ResolvedResource; +import org.apache.ivy.util.Checks; import org.apache.ivy.util.Message; /** @@ -337,9 +338,19 @@ protected ResolvedModuleRevision findModuleInCache( DependencyDescriptor dd, ResolveData data, boolean anyResolver) { -return getRepositoryCacheManager().findModuleInCache( -dd, dd.getDependencyRevisionId(), -getCacheOptions(data), anyResolver ? null : getName()); +ResolvedModuleRevision rmr = getRepositoryCacheManager().findModuleInCache( +dd, dd.getDependencyRevisionId(), +getCacheOptions(data), anyResolver ? null : getName()); +if (rmr == null) { +return null; +} +if (data.getReport() != null + data.isBlacklisted(data.getReport().getConfiguration(), rmr.getId())) { +Message.verbose(\t + getName() + : found revision in cache: ++ rmr.getId() + for + dd + , but it is blacklisted); +return null; +} +return rmr; } public void setChangingMatcher(String changingMatcherName) { @@ -496,25 +507,25 @@ DependencyDescriptor dd, ResolvedModuleRevision newModuleFound, ResolveData data) { +Checks.checkNotNull(dd, dd); +Checks.checkNotNull(data, data); + // check if latest is asked and compare to return the most recent ResolvedModuleRevision previousModuleFound = data.getCurrentResolvedModuleRevision(); String newModuleDesc = describe(newModuleFound); Message.debug(\tchecking + newModuleDesc + against + describe(previousModuleFound)); if (previousModuleFound == null) { Message.debug(\tmodule revision kept as first found: + newModuleDesc); -getRepositoryCacheManager().saveResolvedRevision( -dd.getDependencyRevisionId(), newModuleFound.getId().getRevision()); +saveModuleRevisionIfNeeded(dd, newModuleFound); return newModuleFound; } else if (isAfter(newModuleFound, previousModuleFound, data.getDate())) { Message.debug(\tmodule revision kept as younger: + newModuleDesc); -getRepositoryCacheManager().saveResolvedRevision( -dd.getDependencyRevisionId(), newModuleFound.getId().getRevision()); +saveModuleRevisionIfNeeded(dd, newModuleFound); return newModuleFound; } else if (!newModuleFound.getDescriptor().isDefault() previousModuleFound.getDescriptor().isDefault()) { Message.debug(\tmodule revision kept as better (not default): + newModuleDesc); -getRepositoryCacheManager().saveResolvedRevision( -dd.getDependencyRevisionId(), newModuleFound.getId().getRevision()); +saveModuleRevisionIfNeeded(dd, newModuleFound); return newModuleFound; } else { Message.debug(\tmodule revision discarded as older: + newModuleDesc); @@ -522,6 +533,15 @@ } } +protected void saveModuleRevisionIfNeeded(DependencyDescriptor dd, +ResolvedModuleRevision newModuleFound) { +if (newModuleFound != null + getSettings().getVersionMatcher().isDynamic(dd.getDependencyRevisionId())) { +getRepositoryCacheManager().saveResolvedRevision( +dd.getDependencyRevisionId(), newModuleFound.getId().getRevision()); +} +} + private String describe(ResolvedModuleRevision rmr) { if (rmr == null) { return [none]; Modified: ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/resolver/MockResolver.java URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/resolver/MockResolver.java?rev=737358r1=737357r2=737358view
[jira] Created: (IVYDE-146) source and javadoc attachment regression
source and javadoc attachment regression Key: IVYDE-146 URL: https://issues.apache.org/jira/browse/IVYDE-146 Project: IvyDE Issue Type: Bug Components: classpath container Affects Versions: 2.0.0.beta1 Reporter: Xavier Hanin Assignee: Xavier Hanin Fix For: 2.0.0.final In 2.0.0.beta1 version, the source and javadoc attachment does not work as well as before: only artifacts got when resolving dependencies are used to find source and javadoc attachments, while before IvyDE was looking for other artifacts declared by the module or even undeclared. Looking for undeclared artifacts shouldn't be necessary anymore since now Ivy detects source and javadoc artifacts on maven modules at parsing time, but requiring to actually resolve source and javadoc artifacts as part of the resolve process is cumbersome. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
svn commit: r730083 - in /ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse: CHANGES.txt src/java/org/apache/ivyde/eclipse/cpcontainer/IvyResolveJob.java
Author: xavier Date: Tue Dec 30 02:12:32 2008 New Revision: 730083 URL: http://svn.apache.org/viewvc?rev=730083view=rev Log: FIX: source and javadoc attachment regression (IVYDE-146) Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/CHANGES.txt ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyResolveJob.java Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/CHANGES.txt URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/CHANGES.txt?rev=730083r1=730082r2=730083view=diff == --- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/CHANGES.txt (original) +++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/CHANGES.txt Tue Dec 30 02:12:32 2008 @@ -7,6 +7,7 @@ - FIX: The retrieve configuration doesn't support '*' as accepted types (IVYDE-137) (thanks to Daniel Becheanu) - FIX: NPE when a project:/// path is used and path does not exist (IVYDE-144) - FIX: project://[projectname]/ scheme for settings only work with java projects, not simple projects (IVYDE-145) +- FIX: source and javadoc attachment regression (IVYDE-146) version 2.0.0 beta1 == Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyResolveJob.java URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyResolveJob.java?rev=730083r1=730082r2=730083view=diff == --- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyResolveJob.java (original) +++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyResolveJob.java Tue Dec 30 02:12:32 2008 @@ -48,6 +48,7 @@ import org.apache.ivy.core.module.id.ModuleRevisionId; import org.apache.ivy.core.report.ArtifactDownloadReport; import org.apache.ivy.core.report.ResolveReport; +import org.apache.ivy.core.resolve.DownloadOptions; import org.apache.ivy.core.resolve.IvyNode; import org.apache.ivy.core.resolve.ResolveOptions; import org.apache.ivy.core.retrieve.RetrieveOptions; @@ -174,13 +175,11 @@ } } -private Map listDependencies(ResolveReport r) { +private Map dependenciesAsMap(ResolveReport r) { Map result = new HashMap(); -Iterator it = r.getDependencies().iterator(); -while (it.hasNext()) { +for (Iterator it = r.getDependencies().iterator(); it.hasNext();) { IvyNode node = (IvyNode) it.next(); -ModuleRevisionId moduleId = node.getId(); -result.put(moduleId.getName(), moduleId); +result.put(node.getId(), node); } return result; } @@ -216,7 +215,7 @@ Thread.currentThread().setContextClassLoader( IvyResolveJob.class.getClassLoader()); try { -Map dependencies = Collections.EMPTY_MAP; +Map/*ModuleRevisionId, IvyNode*/ dependencies = Collections.EMPTY_MAP; if (usePreviousResolveIfExist) { if (conf.confs.size() == 1 *.equals(conf.confs.get(0))) { confs = md.getConfigurationsNames(); @@ -262,7 +261,7 @@ ResolveReport r = ivy.resolve(md, resolveOption); all.addAll(Arrays.asList(r.getArtifactsReports(null, false))); confs = r.getConfigurations(); -dependencies = listDependencies(r); +dependencies = dependenciesAsMap(r); problemMessages.addAll(r.getAllProblemMessages()); maybeRetrieve(md); @@ -281,7 +280,7 @@ false))); confs = report.getConfigurations(); -dependencies = listDependencies(report); +dependencies = dependenciesAsMap(report); if (monitor.isCanceled()) { status[0] = Status.CANCEL_STATUS; @@ -459,7 +458,8 @@ } } -private IClasspathEntry[] artifacts2ClasspathEntries(Collection all, Map dependencies) { +private IClasspathEntry[] artifacts2ClasspathEntries( +Collection all, Map/*ModuleRevisionId, IvyNode*/ dependencies) { IClasspathEntry[] classpathEntries; Collection paths = new LinkedHashSet(); @@ -487,25 +487,21 @@ boolean usedProject = false; if (conf.isResolveInWorkspace()) { ModuleId moduleId = artifact.getArtifact().getModuleRevisionId().getModuleId
[jira] Resolved: (IVYDE-146) source and javadoc attachment regression
[ https://issues.apache.org/jira/browse/IVYDE-146?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xavier Hanin resolved IVYDE-146. Resolution: Fixed I've fixed this issue, looking for source and javadoc artifacts in module descriptor again. In the mean time I've slightly changed the way project dependencies are discovered, according to my test it still works as before. source and javadoc attachment regression Key: IVYDE-146 URL: https://issues.apache.org/jira/browse/IVYDE-146 Project: IvyDE Issue Type: Bug Components: classpath container Affects Versions: 2.0.0.beta1 Reporter: Xavier Hanin Assignee: Xavier Hanin Fix For: 2.0.0.final In 2.0.0.beta1 version, the source and javadoc attachment does not work as well as before: only artifacts got when resolving dependencies are used to find source and javadoc attachments, while before IvyDE was looking for other artifacts declared by the module or even undeclared. Looking for undeclared artifacts shouldn't be necessary anymore since now Ivy detects source and javadoc artifacts on maven modules at parsing time, but requiring to actually resolve source and javadoc artifacts as part of the resolve process is cumbersome. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Created: (IVYDE-144) NPE when a project:/// path is used and path does not exist
NPE when a project:/// path is used and path does not exist --- Key: IVYDE-144 URL: https://issues.apache.org/jira/browse/IVYDE-144 Project: IvyDE Issue Type: Bug Components: classpath container Affects Versions: 2.0.0.beta1 Reporter: Xavier Hanin If IvyDE is misconfigured with a project:/// path for the settings which does not correspond to an existing file, an NPE is thrown: {noformat} java.lang.NullPointerException at org.apache.ivyde.eclipse.cpcontainer.IvyClasspathContainerConfiguration.getIvy(IvyClasspathContainerConfiguration.java:442) at org.apache.ivyde.eclipse.cpcontainer.IvyResolveJob.run(IvyResolveJob.java:195) at org.apache.ivyde.eclipse.cpcontainer.IvyClasspathContainer.launchResolve(IvyClasspathContainer.java:162) at org.apache.ivyde.eclipse.ui.actions.ResolveAllAction$1.run(ResolveAllAction.java:81) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) {noformat} -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Resolved: (IVYDE-144) NPE when a project:/// path is used and path does not exist
[ https://issues.apache.org/jira/browse/IVYDE-144?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xavier Hanin resolved IVYDE-144. Resolution: Fixed Fix Version/s: 2.0.0.final Assignee: Xavier Hanin I've fixed this problem, and also made a slight change to the way conf status is updated, so that the more recent exception is shown instead of the oldest one. NPE when a project:/// path is used and path does not exist --- Key: IVYDE-144 URL: https://issues.apache.org/jira/browse/IVYDE-144 Project: IvyDE Issue Type: Bug Components: classpath container Affects Versions: 2.0.0.beta1 Reporter: Xavier Hanin Assignee: Xavier Hanin Fix For: 2.0.0.final If IvyDE is misconfigured with a project:/// path for the settings which does not correspond to an existing file, an NPE is thrown: {noformat} java.lang.NullPointerException at org.apache.ivyde.eclipse.cpcontainer.IvyClasspathContainerConfiguration.getIvy(IvyClasspathContainerConfiguration.java:442) at org.apache.ivyde.eclipse.cpcontainer.IvyResolveJob.run(IvyResolveJob.java:195) at org.apache.ivyde.eclipse.cpcontainer.IvyClasspathContainer.launchResolve(IvyClasspathContainer.java:162) at org.apache.ivyde.eclipse.ui.actions.ResolveAllAction$1.run(ResolveAllAction.java:81) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) {noformat} -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Created: (IVYDE-145) project://[projectname]/ scheme for settings only work with java projects, not simple projects
project://[projectname]/ scheme for settings only work with java projects, not simple projects -- Key: IVYDE-145 URL: https://issues.apache.org/jira/browse/IVYDE-145 Project: IvyDE Issue Type: Bug Components: classpath container Affects Versions: 2.0.0.beta1 Reporter: Xavier Hanin Assignee: Xavier Hanin Fix For: 2.0.0.final if the settings are in a simple eclipse project, not a java project, IvyDE complains that the project does not exist and thus is not able to load the settings. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Resolved: (IVYDE-145) project://[projectname]/ scheme for settings only work with java projects, not simple projects
[ https://issues.apache.org/jira/browse/IVYDE-145?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xavier Hanin resolved IVYDE-145. Resolution: Fixed The project:// now works with any kind of project project://[projectname]/ scheme for settings only work with java projects, not simple projects -- Key: IVYDE-145 URL: https://issues.apache.org/jira/browse/IVYDE-145 Project: IvyDE Issue Type: Bug Components: classpath container Affects Versions: 2.0.0.beta1 Reporter: Xavier Hanin Assignee: Xavier Hanin Fix For: 2.0.0.final if the settings are in a simple eclipse project, not a java project, IvyDE complains that the project does not exist and thus is not able to load the settings. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (IVY-742) Support ivy.xml parent mechanism
[ https://issues.apache.org/jira/browse/IVY-742?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12644090#action_12644090 ] Xavier Hanin commented on IVY-742: -- That sounds like a much more flexible and interesting way to provide parent import mechanism! While thinking about it, I'm wondering if using the parent concept isn't limiting itself. Why wouldn't we call this import as the import in Ant (or extends as we call it in EasyAnt)? Then we could imagine importing multiple ivy files, controlling for each one what is really imported. More flexible, and not really harder to implement and document if we fix what happens when the same dependency is defined multiple times in imported modules with different versions / conf mapping. I guess we could say that the last (or first?) definition takes precedence. WDYT? Support ivy.xml parent mechanism Key: IVY-742 URL: https://issues.apache.org/jira/browse/IVY-742 Project: Ivy Issue Type: New Feature Components: Core Environment: Any Reporter: Neil Lott Here's the email that details this feature: On Thu, Feb 21, 2008 at 11:22 PM, Neil Lott [EMAIL PROTECTED] wrote: Let's say I have multiple modules each with their own ivy.xml ivy-module version=2.0 info organisation=${organization.name} module=$ {interface.jar.prefix}/ configurations conf name=interface description=dependencies for interface/ include file=path/to/included-configurations.xml/ /configurations publications artifact name=${interface.jar.prefix} type=jar conf=interface ext=jar/ /publications dependencies dependency org=twc name=mas-core rev=${mas.version} conf=interface-server/ /dependencies /ivy-module and I want them all to share an inherited configuration found in a file: included-configurations.xml configuration conf name=test/ /configuration dependencies dependency name=testng rev=5.7 conf=test/ /dependencies so in the inherited configurations file I'd also like to include a dependency that goes along with that configuration. Is something like this possible? No, this is not possible in Ivy, but you can use text or xml processing tools to recompose your Ivy file before asking Ivy to resolve the dependencies of your module. Alternatively, since what you ask is close to maven 2 parent mechanism, I think it could be a nice addition to Ivy feature set. So feel free to open an issue, and even provide a patch :-) Xavier Thanks, Neil -- Xavier Hanin - Independent Java Consultant http://xhab.blogspot.com/ http://ant.apache.org/ivy/ http://www.xoocode.org/ -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (IVY-931) Ivy badly attempt to locate a 'working@host' dependency revision when the dependency revision is not set in a pom
[ https://issues.apache.org/jira/browse/IVY-931?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12637125#action_12637125 ] Xavier Hanin commented on IVY-931: -- I'm pretty sure it fails, but a try with the latest version would be nice. Ivy badly attempt to locate a 'working@host' dependency revision when the dependency revision is not set in a pom --- Key: IVY-931 URL: https://issues.apache.org/jira/browse/IVY-931 Project: Ivy Issue Type: Bug Affects Versions: 2.0-RC1 Reporter: Xavier Hanin If in a pom a dependency is declared without revision, Ivy interprets it as a 'working@host' revision, which is very confusing. This may happen for instance when Ivy cannot locate a parent pom which contains a dependencyManagement section. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (IVY-933) Maven2 parser checks version in the POM with the expected version
[ https://issues.apache.org/jira/browse/IVY-933?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12636540#action_12636540 ] Xavier Hanin commented on IVY-933: -- Actually this behaviour is supported in Ivy, but it isn't the default : you just need to set checkconsistency=false on the resolver. Maybe we should make checkconsistency false by default on ibiblio resolver? Maven2 parser checks version in the POM with the expected version - Key: IVY-933 URL: https://issues.apache.org/jira/browse/IVY-933 Project: Ivy Issue Type: Bug Components: Maven Compatibility Affects Versions: 2.0-RC1 Reporter: Maarten Coene When Ivy downloads a POM, it checks if the version inside the POM is the same as the expected version. Maven2 doesn't check this. For instance: http://repo1.maven.org/maven2/jdo/jdo/2.0-beta/jdo-2.0-beta.pom Ivy will fail resolving this dependency, maven2 doesn't fail. Even more: maven2 will download the 2.0-beta jar, but inside the POM the version is 1.0.1, so it seems that maven2 uses the version from the URL instead of the version from the POM. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (IVY-933) Maven2 parser checks version in the POM with the expected version
[ https://issues.apache.org/jira/browse/IVY-933?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12636598#action_12636598 ] Xavier Hanin commented on IVY-933: -- I think Ivy trust the dependency declaration, and not the pom information, so it behaves the same way as maven. And I think inconsistent groupId, artifactId and revision are supported. I may be wrong though, it's only from the top of my head. Maven2 parser checks version in the POM with the expected version - Key: IVY-933 URL: https://issues.apache.org/jira/browse/IVY-933 Project: Ivy Issue Type: Bug Components: Maven Compatibility Affects Versions: 2.0-RC1 Reporter: Maarten Coene When Ivy downloads a POM, it checks if the version inside the POM is the same as the expected version. Maven2 doesn't check this. For instance: http://repo1.maven.org/maven2/jdo/jdo/2.0-beta/jdo-2.0-beta.pom Ivy will fail resolving this dependency, maven2 doesn't fail. Even more: maven2 will download the 2.0-beta jar, but inside the POM the version is 1.0.1, so it seems that maven2 uses the version from the URL instead of the version from the POM. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (IVY-931) Ivy badly attempt to locate a 'working@host' dependency revision when the dependency revision is not set in a pom
[ https://issues.apache.org/jira/browse/IVY-931?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12636595#action_12636595 ] Xavier Hanin commented on IVY-931: -- Indeed, maybe it's the best option, but if we want to go this way we have to release it before 2.0 because it will break backward compatibility. The other option is to break only if a dependency has no revision, and only warn when we can't locate the parent. I don't have a strong opinion on this, what do others think? Ivy badly attempt to locate a 'working@host' dependency revision when the dependency revision is not set in a pom --- Key: IVY-931 URL: https://issues.apache.org/jira/browse/IVY-931 Project: Ivy Issue Type: Bug Affects Versions: 2.0-RC1 Reporter: Xavier Hanin If in a pom a dependency is declared without revision, Ivy interprets it as a 'working@host' revision, which is very confusing. This may happen for instance when Ivy cannot locate a parent pom which contains a dependencyManagement section. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Created: (IVY-931) Ivy badly attempt to locate a 'working@host' dependency revision when the dependency revision is not set in a pom
Ivy badly attempt to locate a 'working@host' dependency revision when the dependency revision is not set in a pom --- Key: IVY-931 URL: https://issues.apache.org/jira/browse/IVY-931 Project: Ivy Issue Type: Bug Affects Versions: 2.0-RC1 Reporter: Xavier Hanin If in a pom a dependency is declared without revision, Ivy interprets it as a 'working@host' revision, which is very confusing. This may happen for instance when Ivy cannot locate a parent pom which contains a dependencyManagement section. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Created: (IVY-927) NullPointerException when Ivy cannot locate pom parent
NullPointerException when Ivy cannot locate pom parent -- Key: IVY-927 URL: https://issues.apache.org/jira/browse/IVY-927 Project: Ivy Issue Type: Bug Components: Maven Compatibility Affects Versions: 2.0-RC1 Reporter: Xavier Hanin Assignee: Xavier Hanin When Ivy cannot locate a pom parent, it results in a NullPointerException: {noformat} java.lang.NullPointerException at org.apache.ivy.plugins.parser.m2.PomModuleDescriptorParser.parseDescriptor(PomModuleDescriptorParser.java:134) {noformat} -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
svn commit: r700792 - in /ant/ivy/core/trunk: CHANGES.txt src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParser.java
Author: xavier Date: Wed Oct 1 07:41:39 2008 New Revision: 700792 URL: http://svn.apache.org/viewvc?rev=700792view=rev Log: FIX: NullPointerException when Ivy cannot locate pom parent (IVY-927) Modified: ant/ivy/core/trunk/CHANGES.txt ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParser.java Modified: ant/ivy/core/trunk/CHANGES.txt URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/CHANGES.txt?rev=700792r1=700791r2=700792view=diff == --- ant/ivy/core/trunk/CHANGES.txt (original) +++ ant/ivy/core/trunk/CHANGES.txt Wed Oct 1 07:41:39 2008 @@ -84,6 +84,7 @@ - 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) +- 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) Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParser.java URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParser.java?rev=700792r1=700791r2=700792view=diff == --- ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParser.java (original) +++ ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParser.java Wed Oct 1 07:41:39 2008 @@ -137,13 +137,14 @@ Message.warn(impossible to load parent for + descriptorURL + . + Parent= + parentModRevID); } - -Map parentPomProps = PomModuleDescriptorBuilder.extractPomProperties( - parentDescr.getExtraInfo()); -for (Iterator iter = parentPomProps.entrySet().iterator(); iter.hasNext();) { -Map.Entry prop = (Map.Entry) iter.next(); -domReader.setProperty((String) prop.getKey(), (String) prop.getValue()); -} +if (parentDescr != null) { +Map parentPomProps = PomModuleDescriptorBuilder.extractPomProperties( +parentDescr.getExtraInfo()); +for (Iterator iter = parentPomProps.entrySet().iterator(); iter.hasNext();) { +Map.Entry prop = (Map.Entry) iter.next(); +domReader.setProperty((String) prop.getKey(), (String) prop.getValue()); +} +} } String groupId = domReader.getGroupId();
svn commit: r700798 - in /ant/ivy/core/trunk: CHANGES.txt src/java/org/apache/ivy/plugins/resolver/AbstractPatternsBasedResolver.java
Author: xavier Date: Wed Oct 1 07:50:18 2008 New Revision: 700798 URL: http://svn.apache.org/viewvc?rev=700798view=rev Log: FIX: NullPointerException in AbstractPatternsBasedResolver when organization is null (IVY-928) Modified: ant/ivy/core/trunk/CHANGES.txt ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/AbstractPatternsBasedResolver.java Modified: ant/ivy/core/trunk/CHANGES.txt URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/CHANGES.txt?rev=700798r1=700797r2=700798view=diff == --- ant/ivy/core/trunk/CHANGES.txt (original) +++ ant/ivy/core/trunk/CHANGES.txt Wed Oct 1 07:50:18 2008 @@ -84,6 +84,7 @@ - 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) +- 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) Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/AbstractPatternsBasedResolver.java URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/AbstractPatternsBasedResolver.java?rev=700798r1=700797r2=700798view=diff == --- ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/AbstractPatternsBasedResolver.java (original) +++ ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/AbstractPatternsBasedResolver.java Wed Oct 1 07:50:18 2008 @@ -438,7 +438,7 @@ } protected ModuleRevisionId convertM2IdForResourceSearch(ModuleRevisionId mrid) { -if (mrid.getOrganisation().indexOf('.') == -1) { +if (mrid.getOrganisation() == null || mrid.getOrganisation().indexOf('.') == -1) { return mrid; } return ModuleRevisionId.newInstance(mrid.getOrganisation().replace('.', '/'),
[jira] Resolved: (IVY-928) NullPointerException in AbstractPatternsBasedResolver when organization is null
[ https://issues.apache.org/jira/browse/IVY-928?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xavier Hanin resolved IVY-928. -- Resolution: Fixed Fix Version/s: trunk Assignee: Xavier Hanin Fixed on trunk, still have to merge on 2.0.x branch NullPointerException in AbstractPatternsBasedResolver when organization is null --- Key: IVY-928 URL: https://issues.apache.org/jira/browse/IVY-928 Project: Ivy Issue Type: Bug Components: Core Affects Versions: 2.0-RC1 Reporter: Xavier Hanin Assignee: Xavier Hanin Fix For: trunk When a mrid organization is null (it can happen when there is no groupId in m2 pom for instance), AbstractPatternsBasedResolver run into a NullPointException: {noformat} java.lang.NullPointerException at org.apache.ivy.plugins.resolver.AbstractPatternsBasedResolver.convertM2IdForResourceSearch(AbstractPatternsBasedResolver.java:441) {noformat} -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
svn commit: r699200 - /ant/ivy/core/tags/2.0.0-rc1/
Author: xavier Date: Fri Sep 26 00:20:47 2008 New Revision: 699200 URL: http://svn.apache.org/viewvc?rev=699200view=rev Log: Tag release 2.0.0-rc1 Added: ant/ivy/core/tags/2.0.0-rc1/ (props changed) - copied from r699199, ant/ivy/core/branches/2.0.0-rc1/ Propchange: ant/ivy/core/tags/2.0.0-rc1/ -- --- svn:ignore (added) +++ svn:ignore Fri Sep 26 00:20:47 2008 @@ -0,0 +1,5 @@ +.classpath +build +lib +bin +nbproject Propchange: ant/ivy/core/tags/2.0.0-rc1/ -- svn:mergeinfo = /ant/ivy/core/trunk:695737
svn commit: r699204 - in /ant/ivy/site/ivyde/updatesite: ./ features/ plugins/
Author: xavier Date: Fri Sep 26 00:50:20 2008 New Revision: 699204 URL: http://svn.apache.org/viewvc?rev=699204view=rev Log: update updatesite with Ivy 2.0.0.cr1 Added: ant/ivy/site/ivyde/updatesite/features/org.apache.ivy.feature_2.0.0.cr1.jar (with props) ant/ivy/site/ivyde/updatesite/features/org.apache.ivy.feature_2.0.0.cr1.jar.asc ant/ivy/site/ivyde/updatesite/features/org.apache.ivy.feature_2.0.0.cr1.jar.md5 ant/ivy/site/ivyde/updatesite/features/org.apache.ivy.feature_2.0.0.cr1.jar.sha ant/ivy/site/ivyde/updatesite/plugins/org.apache.ivy_2.0.0.cr1.jar (with props) ant/ivy/site/ivyde/updatesite/plugins/org.apache.ivy_2.0.0.cr1.jar.asc ant/ivy/site/ivyde/updatesite/plugins/org.apache.ivy_2.0.0.cr1.jar.md5 ant/ivy/site/ivyde/updatesite/plugins/org.apache.ivy_2.0.0.cr1.jar.pack.gz (with props) ant/ivy/site/ivyde/updatesite/plugins/org.apache.ivy_2.0.0.cr1.jar.pack.gz.asc ant/ivy/site/ivyde/updatesite/plugins/org.apache.ivy_2.0.0.cr1.jar.pack.gz.md5 ant/ivy/site/ivyde/updatesite/plugins/org.apache.ivy_2.0.0.cr1.jar.pack.gz.sha ant/ivy/site/ivyde/updatesite/plugins/org.apache.ivy_2.0.0.cr1.jar.sha Removed: ant/ivy/site/ivyde/updatesite/features/org.apache.ivy.feature_2.0.0.beta2.jar ant/ivy/site/ivyde/updatesite/features/org.apache.ivy.feature_2.0.0.beta2.jar.asc ant/ivy/site/ivyde/updatesite/features/org.apache.ivy.feature_2.0.0.beta2.jar.md5 ant/ivy/site/ivyde/updatesite/features/org.apache.ivy.feature_2.0.0.beta2.jar.sha ant/ivy/site/ivyde/updatesite/plugins/org.apache.ivy_2.0.0.beta2.jar ant/ivy/site/ivyde/updatesite/plugins/org.apache.ivy_2.0.0.beta2.jar.asc ant/ivy/site/ivyde/updatesite/plugins/org.apache.ivy_2.0.0.beta2.jar.md5 ant/ivy/site/ivyde/updatesite/plugins/org.apache.ivy_2.0.0.beta2.jar.pack.gz ant/ivy/site/ivyde/updatesite/plugins/org.apache.ivy_2.0.0.beta2.jar.pack.gz.asc ant/ivy/site/ivyde/updatesite/plugins/org.apache.ivy_2.0.0.beta2.jar.pack.gz.md5 ant/ivy/site/ivyde/updatesite/plugins/org.apache.ivy_2.0.0.beta2.jar.pack.gz.sha ant/ivy/site/ivyde/updatesite/plugins/org.apache.ivy_2.0.0.beta2.jar.sha Modified: ant/ivy/site/ivyde/updatesite/digest.zip ant/ivy/site/ivyde/updatesite/digest.zip.asc ant/ivy/site/ivyde/updatesite/digest.zip.md5 ant/ivy/site/ivyde/updatesite/digest.zip.sha ant/ivy/site/ivyde/updatesite/site.xml Modified: ant/ivy/site/ivyde/updatesite/digest.zip URL: http://svn.apache.org/viewvc/ant/ivy/site/ivyde/updatesite/digest.zip?rev=699204r1=699203r2=699204view=diff == Binary files - no diff available. Modified: ant/ivy/site/ivyde/updatesite/digest.zip.asc URL: http://svn.apache.org/viewvc/ant/ivy/site/ivyde/updatesite/digest.zip.asc?rev=699204r1=699203r2=699204view=diff == --- ant/ivy/site/ivyde/updatesite/digest.zip.asc (original) +++ ant/ivy/site/ivyde/updatesite/digest.zip.asc Fri Sep 26 00:50:20 2008 @@ -1,7 +1,7 @@ --BEGIN PGP SIGNATURE- -Version: GnuPG v1.4.6 (GNU/Linux) - -iD8DBQBIaz2RSDwjxnv4vo4RAl+9AJ9XcI0Dgz+SFIy6LfVlHV1+Rw7hQgCgvTJa -L87GekosXMCTYDA5sgfm1S8= -=NYUB --END PGP SIGNATURE- +-BEGIN PGP SIGNATURE- +Version: GnuPG v1.4.9 (MingW32) + +iEYEABECAAYFAkjPZEEACgkQA/aMvd6IhKD6ywCgtyf+y+DrGzFuoH7qWVmkssEl +ulQAn3SoKxwCf5E0fGq82Fgpo/BQh1og +=u5Cy +-END PGP SIGNATURE- Modified: ant/ivy/site/ivyde/updatesite/digest.zip.md5 URL: http://svn.apache.org/viewvc/ant/ivy/site/ivyde/updatesite/digest.zip.md5?rev=699204r1=699203r2=699204view=diff == --- ant/ivy/site/ivyde/updatesite/digest.zip.md5 (original) +++ ant/ivy/site/ivyde/updatesite/digest.zip.md5 Fri Sep 26 00:50:20 2008 @@ -1 +1 @@ -81edd3a183aa6ee9a3fcebbc351927bf *digest.zip +015b374d961fe254927f564d1e92478b *digest.zip Modified: ant/ivy/site/ivyde/updatesite/digest.zip.sha URL: http://svn.apache.org/viewvc/ant/ivy/site/ivyde/updatesite/digest.zip.sha?rev=699204r1=699203r2=699204view=diff == --- ant/ivy/site/ivyde/updatesite/digest.zip.sha (original) +++ ant/ivy/site/ivyde/updatesite/digest.zip.sha Fri Sep 26 00:50:20 2008 @@ -1 +1 @@ -2b133a585b9ddada17ae8f173d025b7d05bf0ad0 *digest.zip +a9f8674301436a42fa9ba355f79c8b3fa5519b71 *digest.zip Added: ant/ivy/site/ivyde/updatesite/features/org.apache.ivy.feature_2.0.0.cr1.jar URL: http://svn.apache.org/viewvc/ant/ivy/site/ivyde/updatesite/features/org.apache.ivy.feature_2.0.0.cr1.jar?rev=699204view=auto == Binary file - no diff available. Propchange: ant/ivy/site/ivyde/updatesite/features/org.apache.ivy.feature_2.0.0.cr1.jar
svn commit: r699211 - in /ant/ivy/site: build.xml download.html history/ images/ivy-dl-2.0.0-rc1.png images/ivy-dl.xcf index.html toc.json
Author: xavier Date: Fri Sep 26 01:14:56 2008 New Revision: 699211 URL: http://svn.apache.org/viewvc?rev=699211view=rev Log: update site with 2.0.0-rc1 Added: ant/ivy/site/images/ivy-dl-2.0.0-rc1.png (with props) Modified: ant/ivy/site/build.xml ant/ivy/site/download.html ant/ivy/site/history/ (props changed) ant/ivy/site/images/ivy-dl.xcf ant/ivy/site/index.html ant/ivy/site/toc.json Modified: ant/ivy/site/build.xml URL: http://svn.apache.org/viewvc/ant/ivy/site/build.xml?rev=699211r1=699210r2=699211view=diff == --- ant/ivy/site/build.xml (original) +++ ant/ivy/site/build.xml Fri Sep 26 01:14:56 2008 @@ -165,6 +165,7 @@ description=-- initialize all imported documentation history for Ivy init-imported-version version=trunk / init-imported-version version=latest-milestone / +init-imported-version version=2.0.0-rc1 / init-imported-version version=2.0.0-beta2 / init-imported-version version=2.0.0-beta1 / init-imported-version version=2.0.0-alpha2 / Modified: ant/ivy/site/download.html URL: http://svn.apache.org/viewvc/ant/ivy/site/download.html?rev=699211r1=699210r2=699211view=diff == --- ant/ivy/site/download.html (original) +++ ant/ivy/site/download.html Fri Sep 26 01:14:56 2008 @@ -26,9 +26,9 @@ /head body textarea id=xooki-source -div style=float:right;margin:10px;a href=[preferred]/ant/ivy/2.0.0-beta2/img src=images/ivy-dl-2.0.0-beta2.png style=border: none;//a/div +div style=float:right;margin:10px;a href=[preferred]/ant/ivy/2.0.0-rc1/img src=images/ivy-dl-2.0.0-rc1.png style=border: none;//a/div -The first release of Apache Ivy as a sub project of Ant, b2.0.0-beta2/b, is available. Check the [[history/2.0.0-beta2/release-notes release notes]]. +The first release candidate for 2.0.0 of Apache Ivy, b2.0.0-rc1/b, is available. Check the [[history/2.0.0-rc1/release-notes release notes]]. Use the links below to download a distribution of Ivy from one of our mirrors. It is good practice to a href=[location]#VerifyReleasesverify the integrity/a of the distribution files, especially if you are using one of our mirror sites. To do this you must use the signatures from our a href=http://www.apache.org/dist/ant/ivy/;main distribution directory/a. @@ -54,21 +54,21 @@ input type=submit value=Change / /form -h2Ivy 2.0.0-beta2/h2 -emIvy 2.0.0-beta2 has been released on 04-Mar-2008 and may not be available on all mirrors for a few days./em +h2Ivy 2.0.0-rc1/h2 +emIvy 2.0.0-rc1 has been released on 26-Sep-2008 and may not be available on all mirrors for a few days./em To get information about the different kind of distributions, see [[choose-distrib that page]]. table border=0 cellpadding=4px trtdbbinary/b/td - tda href=[preferred]/ant/ivy/2.0.0-beta2/apache-ivy-2.0.0-beta2-bin.zipapache-ivy-2.0.0-beta2-bin.zip/a (a href=[preferred]/ant/ivy/2.0.0-beta2/apache-ivy-2.0.0-beta2-bin.zip.ascPGP/a a href=[preferred]/ant/ivy/2.0.0-beta2/apache-ivy-2.0.0-beta2-bin.zip.shaSHA1/a a href=[preferred]/ant/ivy/2.0.0-beta2/apache-ivy-2.0.0-beta2-bin.zip.md5MD5/a) - a href=[preferred]/ant/ivy/2.0.0-beta2/apache-ivy-2.0.0-beta2-bin.tar.gzapache-ivy-2.0.0-beta2-bin.tar.gz/a (a href=[preferred]/ant/ivy/2.0.0-beta2/apache-ivy-2.0.0-beta2-bin.tar.gz.ascPGP/a a href=[preferred]/ant/ivy/2.0.0-beta2/apache-ivy-2.0.0-beta2-bin.tar.gz.shaSHA1/a a href=[preferred]/ant/ivy/2.0.0-beta2/apache-ivy-2.0.0-beta2-bin.tar.gz.md5MD5/a)/td/tr + tda href=[preferred]/ant/ivy/2.0.0-rc1/apache-ivy-2.0.0-rc1-bin.zipapache-ivy-2.0.0-rc1-bin.zip/a (a href=[preferred]/ant/ivy/2.0.0-rc1/apache-ivy-2.0.0-rc1-bin.zip.ascPGP/a a href=[preferred]/ant/ivy/2.0.0-rc1/apache-ivy-2.0.0-rc1-bin.zip.shaSHA1/a a href=[preferred]/ant/ivy/2.0.0-rc1/apache-ivy-2.0.0-rc1-bin.zip.md5MD5/a) + a href=[preferred]/ant/ivy/2.0.0-rc1/apache-ivy-2.0.0-rc1-bin.tar.gzapache-ivy-2.0.0-rc1-bin.tar.gz/a (a href=[preferred]/ant/ivy/2.0.0-rc1/apache-ivy-2.0.0-rc1-bin.tar.gz.ascPGP/a a href=[preferred]/ant/ivy/2.0.0-rc1/apache-ivy-2.0.0-rc1-bin.tar.gz.shaSHA1/a a href=[preferred]/ant/ivy/2.0.0-rc1/apache-ivy-2.0.0-rc1-bin.tar.gz.md5MD5/a)/td/tr trtdbbinary-with-dependencies/b/td - tda href=[preferred]/ant/ivy/2.0.0-beta2/apache-ivy-2.0.0-beta2-bin-with-deps.zipapache-ivy-2.0.0-beta2-bin-with-deps.zip/a (a href=[preferred]/ant/ivy/2.0.0-beta2/apache-ivy-2.0.0-beta2-bin-with-deps.zip.ascPGP/a a href=[preferred]/ant/ivy/2.0.0-beta2/apache-ivy-2.0.0-beta2-bin-with-deps.zip.shaSHA1/a a href=[preferred]/ant/ivy/2.0.0-beta2/apache-ivy-2.0.0-beta2-bin-with-deps.zip.md5MD5/a) - a href=[preferred]/ant/ivy/2.0.0-beta2/apache-ivy-2.0.0-beta2-bin-with-deps.tar.gzapache-ivy-2.0.0-beta2-bin-with-deps.tar.gz/a (a href
svn commit: r699239 - /ant/ivy/site/printTemplate.html
Author: xavier Date: Fri Sep 26 02:15:48 2008 New Revision: 699239 URL: http://svn.apache.org/viewvc?rev=699239view=rev Log: update printTemplate (was still referencing incubator) Modified: ant/ivy/site/printTemplate.html Modified: ant/ivy/site/printTemplate.html URL: http://svn.apache.org/viewvc/ant/ivy/site/printTemplate.html?rev=699239r1=699238r2=699239view=diff == --- ant/ivy/site/printTemplate.html (original) +++ ant/ivy/site/printTemplate.html Fri Sep 26 02:15:48 2008 @@ -32,8 +32,8 @@ table id=header summary=Navigation elements. border=0 cellpadding=0 cellspacing=0 width=100% tr - td id=home width=30%a href=http://incubator.apache.org/; - title=Homeimg src=images/apache-incubator-logo.png alt=Apache Incubator + td id=home width=30%a href=http://ant.apache.org/; + title=Apache Antimg src=images/ant-group-logo.gif alt=Apache Ant border=0 //a/td td class=product width=70% align=right valign=middleimg
svn commit: r699240 - /ant/ivy/core/branches/2.0.0-rc1/doc/release-notes.html
Author: xavier Date: Fri Sep 26 02:16:17 2008 New Revision: 699240 URL: http://svn.apache.org/viewvc?rev=699240view=rev Log: update release notes with announcement Modified: ant/ivy/core/branches/2.0.0-rc1/doc/release-notes.html Modified: ant/ivy/core/branches/2.0.0-rc1/doc/release-notes.html URL: http://svn.apache.org/viewvc/ant/ivy/core/branches/2.0.0-rc1/doc/release-notes.html?rev=699240r1=699239r2=699240view=diff == --- ant/ivy/core/branches/2.0.0-rc1/doc/release-notes.html (original) +++ ant/ivy/core/branches/2.0.0-rc1/doc/release-notes.html Fri Sep 26 02:16:17 2008 @@ -25,7 +25,41 @@ /head body textarea id=xooki-source -h2Release Notes/h2 +h2Announcement/h2 +pre +Sep 26, 2008 - The Apache Ivy project is pleased to announce its +2.0.0 rc 1 version, the first release candidate for 2.0.0 final release. + +Ivy is a tool for managing (recording, tracking, resolving and +reporting) project dependencies, characterized by flexibility, +configurability, and tight integration with Apache Ant. + +This is a release candidate for 2.0.0 final, meaning that no changes +except bug fixes will occur before this release candidate and 2.0.0 final. +Problems found at this phase can be fixed in the final release, so now +is a good time to download and use it. If no outstanding bugs are reported +in the coming weeks, this release candidate will be promoted as 2.0.0 final. + +Key changes in this 2.0.0-rc1 version are +* enhanced Maven2 compatibility, with several bug fixes and more + pom features covered +* better and more homogeneous relative paths handling +* better support for local builds +* 80+ bug fixes as documented in Jira and in the release notes + +Issues should be reported to: +https://issues.apache.org/jira/browse/IVY + +Download the 2.0.0-rc1 release files at: +http://ant.apache.org/ivy/download.cgi + +More information can be found on the Ivy website: +http://ant.apache.org/ivy/ + +Regards, +Xavier Hanin (2.0.0-rc1 release mgr) +/pre +h22.0.0-rc1 Release Notes/h2 CONTENTS 1. What is Apache Ivy? @@ -320,6 +354,7 @@ - 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)
[jira] Updated: (IVY-906) Ability to grab non standardly placed artifacts from a local filesystem resolver without downloading to cache.
[ https://issues.apache.org/jira/browse/IVY-906?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xavier Hanin updated IVY-906: - Fix Version/s: (was: unspecified) Ability to grab non standardly placed artifacts from a local filesystem resolver without downloading to cache. -- Key: IVY-906 URL: https://issues.apache.org/jira/browse/IVY-906 Project: Ivy Issue Type: Improvement Components: Core Affects Versions: 2.0.0-beta-2 Reporter: Alexander Foreman Ok, I see, this is not supported yet, so please file an improvement in JIRA. Xavier Thanks for the help. Alex Foreman Morgan Stanley | Technology 20 Cabot Square | Canary Wharf | Floor 06 London, E14 4QW Phone: +44 20 7677-5732 [EMAIL PROTECTED] -Original Message- From: Xavier Hanin [mailto:[EMAIL PROTECTED] Sent: 16 September 2008 17:36 To: [EMAIL PROTECTED] Subject: Re: URL= Behaviour On Tue, Sep 16, 2008 at 6:06 PM, Foreman, Alex (IT) [EMAIL PROTECTED] wrote: I have a feature request I asked about before but may have ben lost. If you have a url and its not in its place in its repository then Ivy will download it and ignore local='true' as it did not find it in the reolver correctly but elsewhere. This obiously can be anywhere as it's a URL and we want to consider it remote. Is there or can there be a way to force the resover to always be local. Eg even if it's a url use that location when using a cache path rarther than the local cache position. Maybe cache useOrigin=always / in ivy-settings. I have been considering doing this via a trigger but might be nice if Ivy supported it directly. The problem is that after resolve, Ivy requires all your artifacts to be accessible as java.io.File objects, so a URL is not possible, unless it's a file URL. Could you detail your use case? Xavier Many thanks, Alex Foreman Morgan Stanley | Technology 20 Cabot Square | Canary Wharf | Floor 06 London, E14 4QW Phone: +44 20 7677-5732 [EMAIL PROTECTED] -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
svn commit: r699247 - in /ant/ivy/site/target: ./ history/ history/2.0.0-alpha2/ history/2.0.0-alpha2/configuration/ history/2.0.0-alpha2/configuration/macrodef/ history/2.0.0-alpha2/configuration/nam
Author: xavier Date: Fri Sep 26 02:36:22 2008 New Revision: 699247 URL: http://svn.apache.org/viewvc?rev=699247view=rev Log: generate site [This commit notification would consist of 642 parts, which exceeds the limit of 50 ones, so it was shortened to the summary.]
svn commit: r699298 - /ant/ivy/core/trunk/version.properties
Author: xavier Date: Fri Sep 26 05:32:09 2008 New Revision: 699298 URL: http://svn.apache.org/viewvc?rev=699298view=rev Log: target trunk version is probably 2.1.something Modified: ant/ivy/core/trunk/version.properties Modified: ant/ivy/core/trunk/version.properties URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/version.properties?rev=699298r1=699297r2=699298view=diff == --- ant/ivy/core/trunk/version.properties (original) +++ ant/ivy/core/trunk/version.properties Fri Sep 26 05:32:09 2008 @@ -16,5 +16,5 @@ # * specific language governing permissions and limitations # * under the License. # *** -target.ivy.version=2.0.0-rc1 -target.ivy.bundle.version=2.0.0.cr1 +target.ivy.version=2.1.x +target.ivy.bundle.version=2.1.x
[jira] Commented: (IVY-907) Environment properties in ivy settings are no longer resolved
[ https://issues.apache.org/jira/browse/IVY-907?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12632544#action_12632544 ] Xavier Hanin commented on IVY-907: -- Maarten: do you mean JIRA lost sg from you? I only added a comment. BTW, I think your fix is not enough. Well, it should work as long as you use Ivy from Ant. But if you use Ivy standalone, you can still have the same problem. Maybe we could do the variable substitution when we set a variable? WDYT? Environment properties in ivy settings are no longer resolved - Key: IVY-907 URL: https://issues.apache.org/jira/browse/IVY-907 Project: Ivy Issue Type: Bug Affects Versions: 2.0-RC1 Reporter: Erik-Berndt Scheper Assignee: Maarten Coene Fix For: 2.0.x Attachments: IVY-907.zip, ivysettings.zip I have an ivy.settings.xml file published on an intranet http server, which includes a property file from the same http server. (see attached files). This property file includes the property: {code}ivy.cache.dir = ${env.IVY_CACHE_DIR}{code} This environment based property is no longer resolved when I use the proposed ivy-2.0.0-rc1.jar. This leads to the following error during resolve: {noformat} ivy.check: ivy.init: [mkdir] Created dir: D:\ws\eclipse-3.4\AAD\AAD-domain-model\target\reports\ivy ivy.resolve: [ivy:resolve] :: Ivy 2.0.0-rc1 - 20080916082609 :: http://ant.apache.org/ivy/ :: :: loading settings :: url = http://172.30.247.68/ivy-settings/ivy.settings.xml BUILD FAILED D:\ws\eclipse-3.4\AAD\build\build-ivy\build.ivy.xml:75: java.lang.IllegalArgumentException: ivy.cache.dir must be absolute: ${env.IVY_CACHE_DIR} Total time: 2 seconds {noformat} The same ivy settings files worked perfectly well with a previous ivy which I built from trunk: org.apache.ivy_2.0.0.rc1_20080813101604.jar -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (IVY-907) Environment properties in ivy settings are no longer resolved
[ https://issues.apache.org/jira/browse/IVY-907?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12632571#action_12632571 ] Xavier Hanin commented on IVY-907: -- bq. Don't we already do a variable subsitution when we set a variable? You're absolutely right! So the problem was *only* when used from Ant, and your fix should be enough. Good job, sorry for the noise. Environment properties in ivy settings are no longer resolved - Key: IVY-907 URL: https://issues.apache.org/jira/browse/IVY-907 Project: Ivy Issue Type: Bug Affects Versions: 2.0-RC1 Reporter: Erik-Berndt Scheper Assignee: Maarten Coene Fix For: 2.0.x Attachments: IVY-907.zip, ivysettings.zip I have an ivy.settings.xml file published on an intranet http server, which includes a property file from the same http server. (see attached files). This property file includes the property: {code}ivy.cache.dir = ${env.IVY_CACHE_DIR}{code} This environment based property is no longer resolved when I use the proposed ivy-2.0.0-rc1.jar. This leads to the following error during resolve: {noformat} ivy.check: ivy.init: [mkdir] Created dir: D:\ws\eclipse-3.4\AAD\AAD-domain-model\target\reports\ivy ivy.resolve: [ivy:resolve] :: Ivy 2.0.0-rc1 - 20080916082609 :: http://ant.apache.org/ivy/ :: :: loading settings :: url = http://172.30.247.68/ivy-settings/ivy.settings.xml BUILD FAILED D:\ws\eclipse-3.4\AAD\build\build-ivy\build.ivy.xml:75: java.lang.IllegalArgumentException: ivy.cache.dir must be absolute: ${env.IVY_CACHE_DIR} Total time: 2 seconds {noformat} The same ivy settings files worked perfectly well with a previous ivy which I built from trunk: org.apache.ivy_2.0.0.rc1_20080813101604.jar -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (IVY-907) Environment properties in ivy settings are no longer resolved
[ https://issues.apache.org/jira/browse/IVY-907?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12632573#action_12632573 ] Xavier Hanin commented on IVY-907: -- Erik: if this doesn't go in rc1, it will go in 2.0 final only if another blocking issue is found in rc1. Otherwise we will promote rc1 as 2.0 final. Bug hunting is open! That being said, it doesn't preclude releasing a 2.0.1 pretty quickly after 2.0.0, with this fix and others. But if we delay 2.0.0 with non blocking issues it may last for too long. Environment properties in ivy settings are no longer resolved - Key: IVY-907 URL: https://issues.apache.org/jira/browse/IVY-907 Project: Ivy Issue Type: Bug Affects Versions: 2.0-RC1 Reporter: Erik-Berndt Scheper Assignee: Maarten Coene Fix For: 2.0.x Attachments: IVY-907.zip, ivysettings.zip I have an ivy.settings.xml file published on an intranet http server, which includes a property file from the same http server. (see attached files). This property file includes the property: {code}ivy.cache.dir = ${env.IVY_CACHE_DIR}{code} This environment based property is no longer resolved when I use the proposed ivy-2.0.0-rc1.jar. This leads to the following error during resolve: {noformat} ivy.check: ivy.init: [mkdir] Created dir: D:\ws\eclipse-3.4\AAD\AAD-domain-model\target\reports\ivy ivy.resolve: [ivy:resolve] :: Ivy 2.0.0-rc1 - 20080916082609 :: http://ant.apache.org/ivy/ :: :: loading settings :: url = http://172.30.247.68/ivy-settings/ivy.settings.xml BUILD FAILED D:\ws\eclipse-3.4\AAD\build\build-ivy\build.ivy.xml:75: java.lang.IllegalArgumentException: ivy.cache.dir must be absolute: ${env.IVY_CACHE_DIR} Total time: 2 seconds {noformat} The same ivy settings files worked perfectly well with a previous ivy which I built from trunk: org.apache.ivy_2.0.0.rc1_20080813101604.jar -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (IVY-907) Environment properties in ivy settings are no longer resolved
[ https://issues.apache.org/jira/browse/IVY-907?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12632394#action_12632394 ] Xavier Hanin commented on IVY-907: -- Ok, I think I've found the problem: the default cache location is initialized by default using the value of the ivy.cache.dir variable. The problem is that during this initialization, variable substitution is not done. In your case you set this variable to ${env.IVY_CACHE_DIR}, which is not expanded by Ivy and thus lead to a non absolute path. With the old version it works because you actually never use the default cache location, since you explicitly set the repository cache dir and the resolution cache dir. But if you run with the old version in verbose mode, you will see in the dumped settings that ${env.IVY_CACHE_DIR} is not expanded either. So the fix is too expand variables values when using the ivy.cache.dir variable to set the default cache dir value. The workaround is to use another variable as basis for your cache, since you don't actually want to set the default cache with that. Or you can also explicitly set the defaultCacheDir=${ivy.cache.dir} in your caches settings, since this one will expand the variables values. To conclude, since there is a workaround, and the bug case is not too frequent (you need to set ivy.cache.dir to a value with a variable) I don't think this is a blocking issue for 2.0-rc1 or 2.0-final either. Environment properties in ivy settings are no longer resolved - Key: IVY-907 URL: https://issues.apache.org/jira/browse/IVY-907 Project: Ivy Issue Type: Bug Affects Versions: 2.0-RC1 Reporter: Erik-Berndt Scheper Assignee: Maarten Coene Fix For: 2.0.x Attachments: IVY-907.zip, ivysettings.zip I have an ivy.settings.xml file published on an intranet http server, which includes a property file from the same http server. (see attached files). This property file includes the property: {code}ivy.cache.dir = ${env.IVY_CACHE_DIR}{code} This environment based property is no longer resolved when I use the proposed ivy-2.0.0-rc1.jar. This leads to the following error during resolve: {noformat} ivy.check: ivy.init: [mkdir] Created dir: D:\ws\eclipse-3.4\AAD\AAD-domain-model\target\reports\ivy ivy.resolve: [ivy:resolve] :: Ivy 2.0.0-rc1 - 20080916082609 :: http://ant.apache.org/ivy/ :: :: loading settings :: url = http://172.30.247.68/ivy-settings/ivy.settings.xml BUILD FAILED D:\ws\eclipse-3.4\AAD\build\build-ivy\build.ivy.xml:75: java.lang.IllegalArgumentException: ivy.cache.dir must be absolute: ${env.IVY_CACHE_DIR} Total time: 2 seconds {noformat} The same ivy settings files worked perfectly well with a previous ivy which I built from trunk: org.apache.ivy_2.0.0.rc1_20080813101604.jar -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
svn commit: r696178 - in /ant/ivy/core/branches/2.0.x: ./ src/java/org/apache/ivy/util/FileResolver.java test/java/org/apache/ivy/util/ConfiguratorTest.java
Author: xavier Date: Wed Sep 17 00:07:47 2008 New Revision: 696178 URL: http://svn.apache.org/viewvc?rev=696178view=rev Log: merge IVY-905 fix from trunk (696013:696031) Modified: ant/ivy/core/branches/2.0.x/ (props changed) ant/ivy/core/branches/2.0.x/src/java/org/apache/ivy/util/FileResolver.java ant/ivy/core/branches/2.0.x/test/java/org/apache/ivy/util/ConfiguratorTest.java Propchange: ant/ivy/core/branches/2.0.x/ -- --- svn:mergeinfo (original) +++ svn:mergeinfo Wed Sep 17 00:07:47 2008 @@ -1 +1 @@ -/ant/ivy/core/trunk:695737 +/ant/ivy/core/trunk:695737,696014-696031 Modified: ant/ivy/core/branches/2.0.x/src/java/org/apache/ivy/util/FileResolver.java URL: http://svn.apache.org/viewvc/ant/ivy/core/branches/2.0.x/src/java/org/apache/ivy/util/FileResolver.java?rev=696178r1=696177r2=696178view=diff == --- ant/ivy/core/branches/2.0.x/src/java/org/apache/ivy/util/FileResolver.java (original) +++ ant/ivy/core/branches/2.0.x/src/java/org/apache/ivy/util/FileResolver.java Wed Sep 17 00:07:47 2008 @@ -22,7 +22,7 @@ public interface FileResolver { public static final FileResolver DEFAULT = new FileResolver() { public File resolveFile(String path, String filename) { -return new File(filename); +return new File(path); } }; Modified: ant/ivy/core/branches/2.0.x/test/java/org/apache/ivy/util/ConfiguratorTest.java URL: http://svn.apache.org/viewvc/ant/ivy/core/branches/2.0.x/test/java/org/apache/ivy/util/ConfiguratorTest.java?rev=696178r1=696177r2=696178view=diff == --- ant/ivy/core/branches/2.0.x/test/java/org/apache/ivy/util/ConfiguratorTest.java (original) +++ ant/ivy/core/branches/2.0.x/test/java/org/apache/ivy/util/ConfiguratorTest.java Wed Sep 17 00:07:47 2008 @@ -17,6 +17,7 @@ */ package org.apache.ivy.util; +import java.io.File; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -27,6 +28,19 @@ * */ public class ConfiguratorTest extends TestCase { + +public static class FileTester { +private File file; + +public void setFile(File file) { +this.file = file; +} + +public File getFile() { +return file; +} +} + public static class City { private List _housings = new ArrayList(); @@ -357,4 +371,15 @@ assertEquals(20, ((Room) ((Housing) city.getHousings().get(1)).getRooms().get(2)) .getSurface()); } + +public void testFileAttribute() { +FileTester root = new FileTester(); +_conf.setRoot(root); +_conf.setAttribute(file, path/to/file.txt); + +String filePath = root.getFile().getPath(); +filePath = filePath.replace('\\', '/'); + +assertEquals(path/to/file.txt, filePath); +} }
[jira] Commented: (IVY-907) Environment properties in ivy settings are no longer resolved
[ https://issues.apache.org/jira/browse/IVY-907?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12631837#action_12631837 ] Xavier Hanin commented on IVY-907: -- Are you sure it worked with the previous version? I mean, did it really expand the variable? Is the variable set? I've made a test on my windows box with the first attempt for 2.0 rc1, and it works without any problem: {code:title=ivysettings.xml} ivysettings properties environment=env / properties file=${ivy.settings.dir}/ivysettings.properties / settings defaultResolver=chain/ caches defaultCacheDir=${ivy.cache.dir} / resolvers chain name=chain returnFirst=true filesystem name=local checkconsistency=false ivy pattern=${ivy.settings.dir}/local/[module]/ivy.xml / artifact pattern=${ivy.settings.dir}/local/[module]/[artifact].[ext] / /filesystem filesystem name=shared ivy pattern=${ivy.settings.dir}/shared/[module]/[revision]/ivy.xml / artifact pattern=${ivy.settings.dir}/shared/[module]/[revision]/[artifact].[ext] / /filesystem /chain /resolvers /ivysettings {code} {code:title=ivysettings.properties} ivy.cache.dir = ${env.IVY_CACHE_DIR} {code} {code:title=console} E:\temp\ivy\test-simpleecho %IVY_CACHE_DIR% e:\temp\ivy\test-simple\ivy-cache E:\temp\ivy\test-simpleant Buildfile: build.xml resolve: [delete] Deleting directory E:\temp\ivy\test-simple\ivy-retrieve [delete] Deleting directory E:\temp\ivy\test-simple\ivy-cache No ivy:settings found for the default reference 'ivy.instance'. A default instance will be used [ivy:retrieve] :: Ivy 2.0.0-rc1 - 20080916082609 :: http://ant.apache.org/ivy/ :: :: loading settings :: file = E:\temp\ivy\test-simple\ivysettings.xml [ivy:retrieve] :: resolving dependencies :: test#test-local;[EMAIL PROTECTED] [ivy:retrieve] confs: [default] [ivy:retrieve] found test#B;1.0 in shared [ivy:retrieve] found test#C;1.0 in shared [ivy:retrieve] downloading E:\temp\ivy\test-simple\shared\B\1.0\B.txt ... [ivy:retrieve] .. (0kB) [ivy:retrieve] [SUCCESSFUL ] test#B;1.0!B.txt (0ms) [ivy:retrieve] downloading E:\temp\ivy\test-simple\shared\C\1.0\C.txt ... [ivy:retrieve] .. (0kB) [ivy:retrieve] [SUCCESSFUL ] test#C;1.0!C.txt (0ms) [ivy:retrieve] :: resolution report :: resolve 156ms :: artifacts dl 16ms - | |modules|| artifacts | | conf | number| search|dwnlded|evicted|| number|dwnlded| - | default | 2 | 2 | 2 | 0 || 2 | 2 | - [ivy:retrieve] :: retrieving :: test#test-local [ivy:retrieve] confs: [default] [ivy:retrieve] 2 artifacts copied, 0 already retrieved (0kB/16ms) BUILD SUCCESSFUL Total time: 0 seconds {code} Environment properties in ivy settings are no longer resolved - Key: IVY-907 URL: https://issues.apache.org/jira/browse/IVY-907 Project: Ivy Issue Type: Bug Affects Versions: 2.0-RC1 Reporter: Erik-Berndt Scheper Fix For: 2.0-RC1 Attachments: ivysettings.zip I have an ivy.settings.xml file published on an intranet http server, which includes a property file from the same http server. (see attached files). This property file includes the property: {code}ivy.cache.dir = ${env.IVY_CACHE_DIR}{code} This environment based property is no longer resolved when I use the proposed ivy-2.0.0-rc1.jar. This leads to the following error during resolve: {noformat} ivy.check: ivy.init: [mkdir] Created dir: D:\ws\eclipse-3.4\AAD\AAD-domain-model\target\reports\ivy ivy.resolve: [ivy:resolve] :: Ivy 2.0.0-rc1 - 20080916082609 :: http://ant.apache.org/ivy/ :: :: loading settings :: url = http://172.30.247.68/ivy-settings/ivy.settings.xml BUILD FAILED D:\ws\eclipse-3.4\AAD\build\build-ivy\build.ivy.xml:75: java.lang.IllegalArgumentException: ivy.cache.dir must be absolute: ${env.IVY_CACHE_DIR} Total time: 2 seconds {noformat} The same ivy settings files worked perfectly well with a previous ivy which I built from trunk: org.apache.ivy_2.0.0.rc1_20080813101604.jar -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (IVY-904) support ant properties propagation to ant build with ant-build trigger
[ https://issues.apache.org/jira/browse/IVY-904?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xavier Hanin updated IVY-904: - Fix Version/s: (was: 2.0-RC1) support ant properties propagation to ant build with ant-build trigger -- Key: IVY-904 URL: https://issues.apache.org/jira/browse/IVY-904 Project: Ivy Issue Type: Improvement Components: Ant Affects Versions: 2.0-RC1 Reporter: Steve Benigan An ant-build trigger calls a target in an ant build file but does not propogate properties to the ant build. ant-call does propogate them - well I'm not sure it's doing anything special but b/c it's calling a target within the current ant build they are propogated by the nature of ant. If possible, some ivy properties should be propogated such as the ivy.cache.dir.${settingsRef} properties as well as all of the other properties set in the current build due to settings, resolve, etc. Otherwise, the ant-build trigger is limited in what it can do based on the context in which it was called. The workaround is to use ant-call and then within the called target use ant task to call the desired target in an external ant file. This is not ideal since it means this target needs to be in every build file or at least in an imported build file. PS This may be a Change Request rather than an actual bug. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Resolved: (IVY-891) Change 'alwaysUseExactRevision' default value to false
[ https://issues.apache.org/jira/browse/IVY-891?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xavier Hanin resolved IVY-891. -- Resolution: Fixed I've already implemented this, just forgot to mark it as resolved Change 'alwaysUseExactRevision' default value to false -- Key: IVY-891 URL: https://issues.apache.org/jira/browse/IVY-891 Project: Ivy Issue Type: Improvement Reporter: Xavier Hanin Assignee: Xavier Hanin Fix For: 2.0-RC1 As discussed on the mailing list, the default value for alwaysUseExactRevision should be false rather than true -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
svn commit: r695390 - in /ant/ivy/core/trunk/src/java/org/apache/ivy: core/cache/ plugins/parser/m2/ plugins/repository/sftp/ plugins/repository/url/ plugins/resolver/ util/ util/url/
Author: xavier Date: Mon Sep 15 02:17:13 2008 New Revision: 695390 URL: http://svn.apache.org/viewvc?rev=695390view=rev Log: fix style Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/core/cache/DefaultRepositoryCacheManager.java ant/ivy/core/trunk/src/java/org/apache/ivy/core/cache/ModuleDescriptorMemoryCache.java ant/ivy/core/trunk/src/java/org/apache/ivy/core/cache/ParserSettingsMonitor.java ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParser.java ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/repository/sftp/SFTPRepository.java ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/repository/url/URLRepository.java ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/RepositoryResolver.java ant/ivy/core/trunk/src/java/org/apache/ivy/util/ConfigurationUtils.java ant/ivy/core/trunk/src/java/org/apache/ivy/util/url/AbstractURLHandler.java ant/ivy/core/trunk/src/java/org/apache/ivy/util/url/BasicURLHandler.java ant/ivy/core/trunk/src/java/org/apache/ivy/util/url/HttpClientHandler.java Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/core/cache/DefaultRepositoryCacheManager.java URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/core/cache/DefaultRepositoryCacheManager.java?rev=695390r1=695389r2=695390view=diff == --- ant/ivy/core/trunk/src/java/org/apache/ivy/core/cache/DefaultRepositoryCacheManager.java (original) +++ ant/ivy/core/trunk/src/java/org/apache/ivy/core/cache/DefaultRepositoryCacheManager.java Mon Sep 15 02:17:13 2008 @@ -19,7 +19,6 @@ import java.io.File; import java.io.IOException; -import java.net.MalformedURLException; import java.text.ParseException; import java.util.Date; import java.util.Map; @@ -238,7 +237,7 @@ } public ModuleDescriptorMemoryCache getMemoryCache() { -if (memoryModuleDescrCache==null) { +if (memoryModuleDescrCache == null) { memoryModuleDescrCache = new ModuleDescriptorMemoryCache(DEFAULT_MEMORY_CACHE_SIZE); } return memoryModuleDescrCache; @@ -637,7 +636,7 @@ private ModuleDescriptor getMdFromCache(XmlModuleDescriptorParser mdParser, CacheMetadataOptions options, File ivyFile) -throws ParseException, IOException, MalformedURLException { +throws ParseException, IOException { ModuleDescriptorMemoryCache cache = getMemoryCache(); ModuleDescriptorProvider mdProvider = new MyModuleDescriptorProvider(mdParser); return cache.get(ivyFile, settings, options.isValidate(), mdProvider); @@ -645,7 +644,7 @@ private ModuleDescriptor getStaledMd(ModuleDescriptorParser mdParser, CacheMetadataOptions options, File ivyFile) -throws ParseException, IOException, MalformedURLException { +throws ParseException, IOException { ModuleDescriptorMemoryCache cache = getMemoryCache(); ModuleDescriptorProvider mdProvider = new MyModuleDescriptorProvider(mdParser); return cache.getStale(ivyFile, settings, options.isValidate(), mdProvider); Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/core/cache/ModuleDescriptorMemoryCache.java URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/core/cache/ModuleDescriptorMemoryCache.java?rev=695390r1=695389r2=695390view=diff == --- ant/ivy/core/trunk/src/java/org/apache/ivy/core/cache/ModuleDescriptorMemoryCache.java (original) +++ ant/ivy/core/trunk/src/java/org/apache/ivy/core/cache/ModuleDescriptorMemoryCache.java Mon Sep 15 02:17:13 2008 @@ -53,7 +53,7 @@ ModuleDescriptorProvider mdProvider) throws ParseException, IOException { ModuleDescriptor descriptor = getFromCache(ivyFile, ivySettings, validated); -if (descriptor==null) { +if (descriptor == null) { descriptor = getStale(ivyFile, ivySettings, validated, mdProvider); } return descriptor; @@ -72,15 +72,15 @@ } ModuleDescriptor getFromCache(File ivyFile, ParserSettings ivySettings, boolean validated) { -if (maxSize=0) { +if (maxSize = 0) { //cache is disbaled return null; } CacheEntry entry = (CacheEntry) valueMap.get(ivyFile); -if (entry!=null) { +if (entry != null) { if (entry.isStale(validated, ivySettings)) { -Message.debug(Entry is found in the ModuleDescriptorCache but entry should be + -reevaluated : + ivyFile); +Message.debug(Entry is found in the ModuleDescriptorCache but entry should be ++ reevaluated : + ivyFile); valueMap.remove(ivyFile); return null
[jira] Commented: (IVY-900) Parsing of m2 pom does not handle properties correctly.
[ https://issues.apache.org/jira/browse/IVY-900?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12629728#action_12629728 ] Xavier Hanin commented on IVY-900: -- Thanks for your contribution Kevin, but could you be more precise when you say they aren't fixed? And what exactly your attached file fixes? Something like a junit test failing without the patch and passing with the patch would be helpful. Indeed properties are actually loaded in current code, including default properties (but not the exact same ones as you do, some are missing in your code, some may be missing in current code). The main difference I see is the time at which properties are loaded. In current code, loading and setting properties is done after pom coordinates are loaded, so I suspect some cases will fail, for instance when a project.groupId is used to define the artifactId. But we need to be careful also with inherited parent properties, and which one takes precendence. I guess the properties defined in the child should take precedence, but it does not seem to be the case in current Ivy code. In your code, changing getPomProperties() implementation has a side effect which may have bad consequence on this too. So I think properties loading needs to be reviewed, but your patch is not enough, we need to review how properties are loaded and set more globally. Parsing of m2 pom does not handle properties correctly. --- Key: IVY-900 URL: https://issues.apache.org/jira/browse/IVY-900 Project: Ivy Issue Type: Bug Components: Core Affects Versions: 2.0.0-beta-2 Reporter: Kevin Brockhoff Attachments: PomReader.java There are a bunch of issues (IVY-512, IVY-550, IVY-620, IVY-637) that are marked fixed that are not fixed. The attached file will actually fix these issues. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (IVY-896) Add GDF as a report output format
[ https://issues.apache.org/jira/browse/IVY-896?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12628846#action_12628846 ] Xavier Hanin commented on IVY-896: -- Hi Nascif, Thanks for sharing this with Ivy community! I like the power this tool gives to dependency analysis. I also like the original graph image, I may do a t-shirt with it :-) Add GDF as a report output format - Key: IVY-896 URL: https://issues.apache.org/jira/browse/IVY-896 Project: Ivy Issue Type: New Feature Components: Core Affects Versions: 2.0.0-beta-1 Reporter: Nascif Abousalh-Neto Priority: Minor Fix For: unspecified Attachments: gdf.xsl, j1.jpg, sp.jpg We have been dealing with some very large graphs here (thousands of nodes, tens of thousands of edges) and the information density is so high that the graph visualization tools supported by Ivy, GraphViz and yED, were not up to the task. Then we found out about GUESS (http://graphexploration.cond.org/), which takes a novel approach which combines visualization support (using JUNG, an excellent library in itself) with a DSL for graph manipulation based on Jython. This way a user can issue commands and run scripts that manipulate the graph contents with immediate visual feedback. We have been using it and has proven to be a great match for our use cases. GUESS claims to suport graphml but it was not able to parse the graphml report generated by Ivy. So I coded an XSL that creates GDF from the Ivy resolution report XML. Besides working :-) this method keeps the relevant (but non-visual) attributes from the original report in the GDF as well. These can be later used in GUESS to group nodes, create convex hulls, calculate metrics, and so on. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (IVY-897) Add VPF as a report output format
[ https://issues.apache.org/jira/browse/IVY-897?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12628847#action_12628847 ] Xavier Hanin commented on IVY-897: -- Nice trick, thanks for sharing! I'm not sure how to include it though, maybe it would better be kept as a resource for those who want to achieve the same thing. Therefore maybe a short article on the wiki would be better for the benefit of the community? Add VPF as a report output format - Key: IVY-897 URL: https://issues.apache.org/jira/browse/IVY-897 Project: Ivy Issue Type: New Feature Components: Core Affects Versions: 2.0.0-beta-1 Reporter: Nascif Abousalh-Neto Priority: Minor Fix For: unspecified Attachments: vpf.xsl One of the best practices in the use of Ivy for large organizations is to replace all the revision values in the ivy.xml files with properties. dependency name=my.module revision=${my.module.revision} ... / This approach allows an administrator to control all revisions values used by all modules in one single place - a Version Property File (or VPF for short). This way versions can be controlled in a uniform way, with minimum maintenance and reduced chance of error. For example, you can upgrade all your modules dependencies from Log4J 3.5 to 4.0 with one single line change - and be sure that you didn't forget any of them behind. Creating and maintaining VPFs is not trival though. One way to automate the process is to harvest the module names and their latest versions from the repository, using the repreport task to create a resolution report for the entire repo and then converting it to a property file format using a XSL spreadsheet (attached). -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
svn commit: r691538 - in /ant/ivy/core/trunk: src/java/org/apache/ivy/plugins/parser/xml/ test/java/org/apache/ivy/plugins/parser/xml/
Author: xavier Date: Wed Sep 3 01:19:46 2008 New Revision: 691538 URL: http://svn.apache.org/viewvc?rev=691538view=rev Log: IMPROVEMENT: write home page, description and license info in XmlModuleDescriptorWriter. This is useful to be sure we don't lose information parsed in poms, license information being especially useful (related to IVY-892) Added: ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/xml/test-info.xml (with props) ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/xml/test-write-info.xml (with props) Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorWriter.java ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorWriterTest.java ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/xml/test-write-full.xml Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorWriter.java URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorWriter.java?rev=691538r1=691537r2=691538view=diff == --- ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorWriter.java (original) +++ ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorWriter.java Wed Sep 3 01:19:46 2008 @@ -37,6 +37,7 @@ import org.apache.ivy.core.module.descriptor.DependencyDescriptorMediator; import org.apache.ivy.core.module.descriptor.ExcludeRule; import org.apache.ivy.core.module.descriptor.IncludeRule; +import org.apache.ivy.core.module.descriptor.License; import org.apache.ivy.core.module.descriptor.ModuleDescriptor; import org.apache.ivy.core.module.descriptor.OverrideDependencyDescriptorMediator; import org.apache.ivy.plugins.matcher.MapMatcher; @@ -439,8 +440,33 @@ printExtraAttributes(md, out, \t\t); out.println(); } -if (md.getExtraInfo().size() 0) { +if (requireInnerInfoElement(md)) { out.println(\t); +License[] licenses = md.getLicenses(); +for (int i = 0; i licenses.length; i++) { +License license = licenses[i]; +out.print(\t\tlicense ); +if (license.getName() != null) { +out.print(name=\ + license.getName() + \ ); +} +if (license.getUrl() != null) { +out.print(url=\ + license.getUrl() + \ ); +} +out.println(/); +} +if (md.getHomePage() != null || md.getDescription() != null) { +out.print(\t\tdescription); +if (md.getHomePage() != null) { +out.print( homepage=\ + md.getHomePage() + \); +} +if (md.getDescription() != null md.getDescription().trim().length() 0) { +out.println(); +out.println(\t\t + md.getDescription()); +out.println(\t\t/description); +} else { +out.println( /); +} +} for (Iterator it = md.getExtraInfo().entrySet().iterator(); it.hasNext();) { Map.Entry extraDescr = (Map.Entry) it.next(); if (extraDescr.getValue() == null @@ -462,6 +488,13 @@ } +private static boolean requireInnerInfoElement(ModuleDescriptor md) { +return md.getExtraInfo().size() 0 +|| md.getHomePage() != null +|| (md.getDescription() != null md.getDescription().trim().length() 0) +|| md.getLicenses().length 0; +} + private static String getConfs(ModuleDescriptor md, Artifact artifact) { StringBuffer ret = new StringBuffer(); Modified: ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorWriterTest.java URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorWriterTest.java?rev=691538r1=691537r2=691538view=diff == --- ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorWriterTest.java (original) +++ ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorWriterTest.java Wed Sep 3 01:19:46 2008 @@ -62,6 +62,23 @@ assertEquals(expected, wrote); } +public void testInfo() throws Exception { +DefaultModuleDescriptor md = (DefaultModuleDescriptor) XmlModuleDescriptorParser +.getInstance().parseDescriptor(new IvySettings(), + XmlModuleDescriptorWriterTest.class.getResource(test-info.xml), true); +md.setResolvedPublicationDate(new GregorianCalendar(2005, 4, 1, 11, 0, 0).getTime
[jira] Resolved: (IVY-874) can't use gotoNode with a node which has not been visited yet
[ https://issues.apache.org/jira/browse/IVY-874?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xavier Hanin resolved IVY-874. -- Resolution: Fixed Well, actually this is not a bug, at least from what I reproduce on my own. The point is that Ivy does dependency resolution per configuration. Each configuration is isolated from the others. So in the runtime conf, you only have hibernate 3.2.6.ga, and thus end up with commons-collections 2.1.1. In default conf, with both hibernate and commons-collections 3.2.1, commons-collections 2.1.1 is evicted and not part of the conf. If you really want to always evict commons-collections 2.1.1, I suggest to put your commons-collections 3.2.1 dependency in your runtime conf. And if I've misinterpreted the bug, do not hesitate to reopen once again. can't use gotoNode with a node which has not been visited yet - Key: IVY-874 URL: https://issues.apache.org/jira/browse/IVY-874 Project: Ivy Issue Type: Bug Components: Core Affects Versions: 2.0-RC1 Environment: 2.0.0-rc1-local-20080805174033 (built from trunk); checked using Eclipse 3.3 under Windows XP; Ant 1.7.0; jdk1.5.0_05 Reporter: rednix Assignee: Xavier Hanin Fix For: 2.0-RC1 Attachments: hibernate-3.2.6.ga.and.commons-collections-3.2.1_trunk-2008-09-03.log, ivy-bug-log-2008-08-06.txt, Test-test-default.png While using the latest version of Ivy built from the trunk (2.0.0-rc1-local-20080805174033) I can't resolve hibernate 3.2.6 GA and commons-collection 3.2.1 together. Hibernate 3.2.6ga has a dependency on commons-collection 2.1.1 - but I want to include the latest revision 3.2.1 in my project. Using the fairly old ivy-2.0.0-alpha2-incubating.jar there is not such a problem. The configuration and error logs are as follows: ivy.xml: ivy-module version=1.0 info organisation=Test module=test/ configurations conf name=default visibility=public description=runtime dependencies and master artifact can be used with this conf extends=runtime,master/ conf name=master visibility=public description=contains only the artifact published by this module itself, with no transitive dependencies/ conf name=compile visibility=public description=this is the default scope, used if none is specified. Compile dependencies are available in all classpaths./ conf name=provided visibility=public description=this is much like compile, but indicates you expect the JDK or a container to provide it. It is only available on the compilation classpath, and is not transitive./ conf name=runtime visibility=public description=this scope indicates that the dependency is not required for compilation, but is for execution. It is in the runtime and test classpaths, but not the compile classpath. extends=compile/ conf name=test visibility=private description=this scope indicates that the dependency is not required for normal use of the application, and is only available for the test compilation and execution phases./ conf name=system visibility=public description=this scope is similar to provided except that you have to provide the JAR which contains it explicitly. The artifact is always available and is not looked up in a repository./ conf name=optional visibility=public description=contains all optional dependencies / /configurations dependencies dependency org=commons-collections name=commons-collections rev=3.2.1 conf=default / dependency org=org.hibernate name=hibernate rev=3.2.6.ga conf=runtime-runtime,master / /dependencies /ivy-module ivysettings.xml: ivysettings settings defaultResolver=shared / property name=ivy.shared.default.root value=https://[removed]; override=false/ property name=ivy.shared.default.ivy.pattern value=[organisation]/[module]/[revision]/[module]-ivy.xml override=false/ property name=ivy.shared.default.artifact.pattern value=[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext] override=false/ resolvers url name=shared ivy pattern=${ivy.shared.default.root}/${ivy.shared.default.ivy.pattern} / artifact pattern=${ivy.shared.default.root}/${ivy.shared.default.artifact.pattern} / /url /resolvers /ivysettings Error-Log: ... [ivy:retrieve] == resolving dependencies org.hibernate#hibernate;3.2.6.ga-commons-collections#commons-collections;2.1.1 [compile-compile(*)] [ivy:retrieve] ERROR: You can't use gotoNode with a node which has not been visited yet. [ivy:retrieve] Given node id=commons-collections#commons-collections;3.2.1 [ivy:retrieve
[jira] Commented: (IVY-874) can't use gotoNode with a node which has not been visited yet
[ https://issues.apache.org/jira/browse/IVY-874?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12628119#action_12628119 ] Xavier Hanin commented on IVY-874: -- Well, I don't know exactly why it was different in alpha2... maybe it was a bug, because configuration isolation is in Ivy design since day 1. But anyway, if you manage to get it working as you want it's fine. can't use gotoNode with a node which has not been visited yet - Key: IVY-874 URL: https://issues.apache.org/jira/browse/IVY-874 Project: Ivy Issue Type: Bug Components: Core Affects Versions: 2.0-RC1 Environment: 2.0.0-rc1-local-20080805174033 (built from trunk); checked using Eclipse 3.3 under Windows XP; Ant 1.7.0; jdk1.5.0_05 Reporter: rednix Assignee: Xavier Hanin Fix For: 2.0-RC1 Attachments: hibernate-3.2.6.ga.and.commons-collections-3.2.1_trunk-2008-09-03.log, ivy-bug-log-2008-08-06.txt, Test-test-default.png While using the latest version of Ivy built from the trunk (2.0.0-rc1-local-20080805174033) I can't resolve hibernate 3.2.6 GA and commons-collection 3.2.1 together. Hibernate 3.2.6ga has a dependency on commons-collection 2.1.1 - but I want to include the latest revision 3.2.1 in my project. Using the fairly old ivy-2.0.0-alpha2-incubating.jar there is not such a problem. The configuration and error logs are as follows: ivy.xml: ivy-module version=1.0 info organisation=Test module=test/ configurations conf name=default visibility=public description=runtime dependencies and master artifact can be used with this conf extends=runtime,master/ conf name=master visibility=public description=contains only the artifact published by this module itself, with no transitive dependencies/ conf name=compile visibility=public description=this is the default scope, used if none is specified. Compile dependencies are available in all classpaths./ conf name=provided visibility=public description=this is much like compile, but indicates you expect the JDK or a container to provide it. It is only available on the compilation classpath, and is not transitive./ conf name=runtime visibility=public description=this scope indicates that the dependency is not required for compilation, but is for execution. It is in the runtime and test classpaths, but not the compile classpath. extends=compile/ conf name=test visibility=private description=this scope indicates that the dependency is not required for normal use of the application, and is only available for the test compilation and execution phases./ conf name=system visibility=public description=this scope is similar to provided except that you have to provide the JAR which contains it explicitly. The artifact is always available and is not looked up in a repository./ conf name=optional visibility=public description=contains all optional dependencies / /configurations dependencies dependency org=commons-collections name=commons-collections rev=3.2.1 conf=default / dependency org=org.hibernate name=hibernate rev=3.2.6.ga conf=runtime-runtime,master / /dependencies /ivy-module ivysettings.xml: ivysettings settings defaultResolver=shared / property name=ivy.shared.default.root value=https://[removed]; override=false/ property name=ivy.shared.default.ivy.pattern value=[organisation]/[module]/[revision]/[module]-ivy.xml override=false/ property name=ivy.shared.default.artifact.pattern value=[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext] override=false/ resolvers url name=shared ivy pattern=${ivy.shared.default.root}/${ivy.shared.default.ivy.pattern} / artifact pattern=${ivy.shared.default.root}/${ivy.shared.default.artifact.pattern} / /url /resolvers /ivysettings Error-Log: ... [ivy:retrieve] == resolving dependencies org.hibernate#hibernate;3.2.6.ga-commons-collections#commons-collections;2.1.1 [compile-compile(*)] [ivy:retrieve] ERROR: You can't use gotoNode with a node which has not been visited yet. [ivy:retrieve] Given node id=commons-collections#commons-collections;3.2.1 [ivy:retrieve] :: problems summary :: [ivy:retrieve] WARNINGS [ivy:retrieve] Error while parsing configuration resolve report C:\Documents and Settings\[removed]\.ivy2\cache\Test-test-default.xml [ivy:retrieve] ERRORS [ivy:retrieve] You can't use gotoNode with a node which has not been visited yet. [ivy:retrieve] Given node id=commons-collections#commons-collections;3.2.1 [ivy:retrieve] [ivy:retrieve
[jira] Updated: (IVY-387) Better and more homogeneous relative paths handling
[ https://issues.apache.org/jira/browse/IVY-387?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xavier Hanin updated IVY-387: - Issue Type: Improvement (was: Bug) Summary: Better and more homogeneous relative paths handling (was: Absolute and relative path) Better and more homogeneous relative paths handling --- Key: IVY-387 URL: https://issues.apache.org/jira/browse/IVY-387 Project: Ivy Issue Type: Improvement Affects Versions: 1.4.1 Reporter: Gilles Scokart Assignee: Xavier Hanin Fix For: 2.0-RC1 There are a few of issues in Jira concerning absolute and relative path. Currently all the path are resolved relatively to the execution. The different issues are : - includes in the ivyconf files (IVY-372) - properties in the ivyconf files (IVY-89) - include configurations in the ivy files (IVY-347) In all case, the path should be resolved relatively to the including file, and not relatively to the current execution task. There is also at least an other issue concerning the path resulutiion in ant task parameter (IVY-232). I think all those problems should be fixed together in order to keep ivy more consistent. However, there is a backward compatibility issue: some projects (for which it is required to launch the build from the base directory) rely on the fact that ivy use path relative to the current execution directory. And if they reference files that are not in the base directory, the change will break their build. The first project in that case is ivy itself! Try 'ant -f ivy/build.xml test' and you will see plenty of test failing. Comment from Xavier on the mailing list : What could be done is have a single setting somewhere saying if relative paths resolution should be done in backward compatible mode, or new mode. The default could even be new mode, if it's clearly documented. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
svn commit: r691210 [2/2] - in /ant/ivy/core/trunk: ./ doc/ src/java/org/apache/ivy/core/cache/ src/java/org/apache/ivy/core/deliver/ src/java/org/apache/ivy/core/settings/ src/java/org/apache/ivy/plu
Modified: ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/resolver/ChainResolverTest.java URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/resolver/ChainResolverTest.java?rev=691210r1=691209r2=691210view=diff == --- ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/resolver/ChainResolverTest.java (original) +++ ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/resolver/ChainResolverTest.java Tue Sep 2 05:07:20 2008 @@ -317,8 +317,8 @@ resolver.setName(1); resolver.setSettings(settings); -resolver - .addArtifactPattern(test/repositories/1/[organisation]/[module]/[type]s/[artifact]-[revision].[type]); +resolver.addArtifactPattern( +settings.getBaseDir() + /test/repositories/1/[organisation]/[module]/[type]s/[artifact]-[revision].[type]); chain.add(resolver); // second resolver has an ivy pattern and will thus find the real module, which should be @@ -328,9 +328,9 @@ resolver.setSettings(settings); resolver - .addIvyPattern(test/repositories/1/[organisation]/[module]/ivys/ivy-[revision].xml); +.addIvyPattern(settings.getBaseDir() + /test/repositories/1/[organisation]/[module]/ivys/ivy-[revision].xml); resolver - .addArtifactPattern(test/repositories/1/[organisation]/[module]/[type]s/[artifact]-[revision].[type]); +.addArtifactPattern(settings.getBaseDir() + /test/repositories/1/[organisation]/[module]/[type]s/[artifact]-[revision].[type]); chain.add(resolver); settings.addResolver(chain); @@ -453,9 +453,9 @@ resolver.setSettings(settings); resolver.addIvyPattern( - test/repositories/1/[organisation]/[module]/ivys/ivy-[revision].xml); +settings.getBaseDir() + /test/repositories/1/[organisation]/[module]/ivys/ivy-[revision].xml); resolver.addArtifactPattern( - test/repositories/1/[organisation]/[module]/[type]s/[artifact]-[revision].[type]); +settings.getBaseDir() + /test/repositories/1/[organisation]/[module]/[type]s/[artifact]-[revision].[type]); chain.add(resolver); settings.addResolver(chain); @@ -473,7 +473,7 @@ resolver.setSettings(settings); resolver.addArtifactPattern( - test/repositories/1/[organisation]/[module]/[type]s/[artifact]-[revision].[type]); +settings.getBaseDir() + /test/repositories/1/[organisation]/[module]/[type]s/[artifact]-[revision].[type]); chain.add(resolver); settings.addResolver(chain); @@ -513,7 +513,7 @@ resolver.setName(1); resolver.setSettings(settings); resolver.addArtifactPattern( - test/repositories/nowhere/[organisation]/[module]/[type]s/[artifact]-[revision].[type]); +settings.getBaseDir() + /test/repositories/nowhere/[organisation]/[module]/[type]s/[artifact]-[revision].[type]); chain.add(resolver); @@ -522,9 +522,9 @@ resolver.setSettings(settings); resolver.addIvyPattern( - test/repositories/1/[organisation]/[module]/ivys/ivy-[revision].xml); +settings.getBaseDir() + /test/repositories/1/[organisation]/[module]/ivys/ivy-[revision].xml); resolver.addArtifactPattern( - test/repositories/1/[organisation]/[module]/[type]s/[artifact]-[revision].[type]); +settings.getBaseDir() + /test/repositories/1/[organisation]/[module]/[type]s/[artifact]-[revision].[type]); chain.add(resolver); settings.addResolver(chain); Modified: ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/resolver/FileSystemResolverTest.java URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/resolver/FileSystemResolverTest.java?rev=691210r1=691209r2=691210view=diff == --- ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/resolver/FileSystemResolverTest.java (original) +++ ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/resolver/FileSystemResolverTest.java Tue Sep 2 05:07:20 2008 @@ -57,8 +57,9 @@ private static final String FS = System.getProperty(file.separator); -private static final String IVY_PATTERN = test + FS + repositories + FS + 1 + FS -+ [organisation] + FS + [module] + FS + ivys + FS + ivy-[revision].xml; +private static final String REL_IVY_PATTERN = test + FS + repositories + FS + 1 + FS ++ [organisation] + FS + [module] + FS + ivys + FS + ivy-[revision].xml; +private static final String IVY_PATTERN = new File(.).getAbsolutePath() + FS + REL_IVY_PATTERN; private IvySettings settings; @@ -110,7 +111,7 @@ resolver.addIvyPattern(IVY_PATTERN); resolver
[jira] Resolved: (IVY-387) Better and more homogeneous relative paths handling
[ https://issues.apache.org/jira/browse/IVY-387?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xavier Hanin resolved IVY-387. -- Resolution: Fixed I've implemented what Gilles suggested: now relative paths in settings files are allowed for properties and settings inclusion only. I had to update a lot of unit tests, which were using relative paths. Now it should work well, and behave more consistently. I've also documented relative paths handling on the main concept page. Better and more homogeneous relative paths handling --- Key: IVY-387 URL: https://issues.apache.org/jira/browse/IVY-387 Project: Ivy Issue Type: Improvement Affects Versions: 1.4.1 Reporter: Gilles Scokart Assignee: Xavier Hanin Fix For: 2.0-RC1 There are a few of issues in Jira concerning absolute and relative path. Currently all the path are resolved relatively to the execution. The different issues are : - includes in the ivyconf files (IVY-372) - properties in the ivyconf files (IVY-89) - include configurations in the ivy files (IVY-347) In all case, the path should be resolved relatively to the including file, and not relatively to the current execution task. There is also at least an other issue concerning the path resulutiion in ant task parameter (IVY-232). I think all those problems should be fixed together in order to keep ivy more consistent. However, there is a backward compatibility issue: some projects (for which it is required to launch the build from the base directory) rely on the fact that ivy use path relative to the current execution directory. And if they reference files that are not in the base directory, the change will break their build. The first project in that case is ivy itself! Try 'ant -f ivy/build.xml test' and you will see plenty of test failing. Comment from Xavier on the mailing list : What could be done is have a single setting somewhere saying if relative paths resolution should be done in backward compatible mode, or new mode. The default could even be new mode, if it's clearly documented. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Resolved: (IVY-349) Endless recursion in Report
[ https://issues.apache.org/jira/browse/IVY-349?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xavier Hanin resolved IVY-349. -- Resolution: Cannot Reproduce Fix Version/s: (was: 2.0-RC1) No news on this issue, so I mark it as Cannot Reproduce. Please reopen with more details if you reproduce the problem. Endless recursion in Report --- Key: IVY-349 URL: https://issues.apache.org/jira/browse/IVY-349 Project: Ivy Issue Type: Bug Affects Versions: 1.4.1 Environment: W2kpro, jdk1.5.0_06 Reporter: Jan Koops Priority: Minor Attachments: tkeasy-app-zahnersatz-binaries.xml Endless recursion while generating report via XSLT -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (IVY-855) Overuse of XML attributes where subelements would be more appropriate
[ https://issues.apache.org/jira/browse/IVY-855?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xavier Hanin updated IVY-855: - Issue Type: Improvement (was: Bug) Overuse of XML attributes where subelements would be more appropriate - Key: IVY-855 URL: https://issues.apache.org/jira/browse/IVY-855 Project: Ivy Issue Type: Improvement Components: Core Affects Versions: 2.0.0-beta-2 Reporter: Sakari Maaranen Priority: Minor Ivy uses XML attributes all too often. Many information elements, especially potential multiline text items should be possible to specify as XML elements instead of attributes. Probably the best examples are various description-items, e.g. module configuration descriptions. Currently one must specify: {{conf name=example description=WENDY /}} It would be better to do it like so: {{conf name=example}} {{ description}} {{WELCOME TO MIAMI BEACH.}} {{HAVE A NICE DAY!}} {{ /description}} {{/conf}} At least potentially long data elements like descriptions should be made sub-elements instead of attributes. Of course both could be allowed like Ant often does. This should also be promoted as a design principle, and not just an individual bug. Always supports XML element notation when some information element is potentially long, multiline, or structural. Both the attribute and the element notation should be supported when an item can be either small or large (multiple lines / structured). -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Resolved: (IVY-875) post-download-artifact trigger file.property points to cache location
[ https://issues.apache.org/jira/browse/IVY-875?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xavier Hanin resolved IVY-875. -- Resolution: Invalid This is actually the expected behaviour. Indeed files are downloaded to Ivy cache before being copied at retrieve time. This is explained in how it works page of the documentation, and since retrieve is not mandatory, I don't see how post-download-artifact file attribute could point to sg different. Now you may want to open an issue to ask for a new event triggered after an artifact is retrieved. In this case the file location would obviously be the retrieved location. post-download-artifact trigger file.property points to cache location - Key: IVY-875 URL: https://issues.apache.org/jira/browse/IVY-875 Project: Ivy Issue Type: Bug Components: Core Affects Versions: 2.0.0-beta-2, 2.0 Reporter: Ross Camara The file property provided by the post-download-artifact trigger points to a file within the cache and not to the actually file in specified retrieve location. The description of the the trigger does not indicate if the file should already be in place however I believe this is a reasonable expectation. This would allow users of this trigger perform actions on the downloaded artifact. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Resolved: (IVY-874) can't use gotoNode with a node which has not been visited yet
[ https://issues.apache.org/jira/browse/IVY-874?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xavier Hanin resolved IVY-874. -- Resolution: Fixed I've reproduced the bug in a unit test, and fixed the problem. Thanks for reporting! can't use gotoNode with a node which has not been visited yet - Key: IVY-874 URL: https://issues.apache.org/jira/browse/IVY-874 Project: Ivy Issue Type: Bug Components: Core Affects Versions: 2.0-RC1 Environment: 2.0.0-rc1-local-20080805174033 (built from trunk); checked using Eclipse 3.3 under Windows XP; Ant 1.7.0; jdk1.5.0_05 Reporter: rednix Assignee: Xavier Hanin Fix For: 2.0-RC1 Attachments: ivy-bug-log-2008-08-06.txt While using the latest version of Ivy built from the trunk (2.0.0-rc1-local-20080805174033) I can't resolve hibernate 3.2.6 GA and commons-collection 3.2.1 together. Hibernate 3.2.6ga has a dependency on commons-collection 2.1.1 - but I want to include the latest revision 3.2.1 in my project. Using the fairly old ivy-2.0.0-alpha2-incubating.jar there is not such a problem. The configuration and error logs are as follows: ivy.xml: ivy-module version=1.0 info organisation=Test module=test/ configurations conf name=default visibility=public description=runtime dependencies and master artifact can be used with this conf extends=runtime,master/ conf name=master visibility=public description=contains only the artifact published by this module itself, with no transitive dependencies/ conf name=compile visibility=public description=this is the default scope, used if none is specified. Compile dependencies are available in all classpaths./ conf name=provided visibility=public description=this is much like compile, but indicates you expect the JDK or a container to provide it. It is only available on the compilation classpath, and is not transitive./ conf name=runtime visibility=public description=this scope indicates that the dependency is not required for compilation, but is for execution. It is in the runtime and test classpaths, but not the compile classpath. extends=compile/ conf name=test visibility=private description=this scope indicates that the dependency is not required for normal use of the application, and is only available for the test compilation and execution phases./ conf name=system visibility=public description=this scope is similar to provided except that you have to provide the JAR which contains it explicitly. The artifact is always available and is not looked up in a repository./ conf name=optional visibility=public description=contains all optional dependencies / /configurations dependencies dependency org=commons-collections name=commons-collections rev=3.2.1 conf=default / dependency org=org.hibernate name=hibernate rev=3.2.6.ga conf=runtime-runtime,master / /dependencies /ivy-module ivysettings.xml: ivysettings settings defaultResolver=shared / property name=ivy.shared.default.root value=https://[removed]; override=false/ property name=ivy.shared.default.ivy.pattern value=[organisation]/[module]/[revision]/[module]-ivy.xml override=false/ property name=ivy.shared.default.artifact.pattern value=[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext] override=false/ resolvers url name=shared ivy pattern=${ivy.shared.default.root}/${ivy.shared.default.ivy.pattern} / artifact pattern=${ivy.shared.default.root}/${ivy.shared.default.artifact.pattern} / /url /resolvers /ivysettings Error-Log: ... [ivy:retrieve] == resolving dependencies org.hibernate#hibernate;3.2.6.ga-commons-collections#commons-collections;2.1.1 [compile-compile(*)] [ivy:retrieve] ERROR: You can't use gotoNode with a node which has not been visited yet. [ivy:retrieve] Given node id=commons-collections#commons-collections;3.2.1 [ivy:retrieve] :: problems summary :: [ivy:retrieve] WARNINGS [ivy:retrieve] Error while parsing configuration resolve report C:\Documents and Settings\[removed]\.ivy2\cache\Test-test-default.xml [ivy:retrieve] ERRORS [ivy:retrieve] You can't use gotoNode with a node which has not been visited yet. [ivy:retrieve] Given node id=commons-collections#commons-collections;3.2.1 [ivy:retrieve] [ivy:retrieve] :: USE VERBOSE OR DEBUG MESSAGE LEVEL FOR MORE DETAILS BUILD FAILED C:\workspaces\eclipseEuropa\Test\build.xml:433: impossible to resolve dependencies: java.lang.IllegalArgumentException: You can't use gotoNode with a node which has
[jira] Commented: (IVY-387) Absolute and relative path
[ https://issues.apache.org/jira/browse/IVY-387?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12627415#action_12627415 ] Xavier Hanin commented on IVY-387: -- Your proposition makes sense. We can allow relative paths in settings only for properties and file inclusion. All other paths (in resolvers, cache, or wherever) must be absolute, we fail settings loading if they aren't. If a plugin really wants to accept relative path, it will have to use a String attribute instead of a File attribute, and convert it to a File itself. What do other think of this solution? Absolute and relative path -- Key: IVY-387 URL: https://issues.apache.org/jira/browse/IVY-387 Project: Ivy Issue Type: Bug Affects Versions: 1.4.1 Reporter: Gilles Scokart Assignee: Gilles Scokart Fix For: 2.0-RC1 There are a few of issues in Jira concerning absolute and relative path. Currently all the path are resolved relatively to the execution. The different issues are : - includes in the ivyconf files (IVY-372) - properties in the ivyconf files (IVY-89) - include configurations in the ivy files (IVY-347) In all case, the path should be resolved relatively to the including file, and not relatively to the current execution task. There is also at least an other issue concerning the path resulutiion in ant task parameter (IVY-232). I think all those problems should be fixed together in order to keep ivy more consistent. However, there is a backward compatibility issue: some projects (for which it is required to launch the build from the base directory) rely on the fact that ivy use path relative to the current execution directory. And if they reference files that are not in the base directory, the change will break their build. The first project in that case is ivy itself! Try 'ant -f ivy/build.xml test' and you will see plenty of test failing. Comment from Xavier on the mailing list : What could be done is have a single setting somewhere saying if relative paths resolution should be done in backward compatible mode, or new mode. The default could even be new mode, if it's clearly documented. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
svn commit: r690952 - /ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParser.java
Author: xavier Date: Mon Sep 1 05:10:09 2008 New Revision: 690952 URL: http://svn.apache.org/viewvc?rev=690952view=rev Log: FIX: NPE for modules with 'pom' packaging (no main artifact) Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParser.java Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParser.java URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParser.java?rev=690952r1=690951r2=690952view=diff == --- ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParser.java (original) +++ ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParser.java Mon Sep 1 05:10:09 2008 @@ -255,6 +255,10 @@ private void addSourcesAndJavadocArtifactsIfPresent( PomModuleDescriptorBuilder mdBuilder, ParserSettings ivySettings) { +if (mdBuilder.getMainArtifact() == null) { +// no main artifact in pom, we don't need to search for meta artifacts +return; +} ModuleDescriptor md = mdBuilder.getModuleDescriptor(); ModuleRevisionId mrid = md.getModuleRevisionId(); DependencyResolver resolver = ivySettings.getResolver(
[jira] Assigned: (IVY-887) HelloWorld chainedresolvers tutorial broken on trunk
[ https://issues.apache.org/jira/browse/IVY-887?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xavier Hanin reassigned IVY-887: Assignee: Xavier Hanin HelloWorld chainedresolvers tutorial broken on trunk Key: IVY-887 URL: https://issues.apache.org/jira/browse/IVY-887 Project: Ivy Issue Type: Bug Affects Versions: 2.0 Reporter: Don Ferguson Assignee: Xavier Hanin One of the resolvers downloads the wrong jar file (such as the source, or the javadoc) which is deposited in the lib directory. The javac then fails. For example: Run ant src/example/chained-resolvers/chainedresolvers-project/build.xml doc/tutorial/log/chained-resolvers.txt Buildfile: src/example/chained-resolvers/chainedresolvers-project/build.xml resolve: [ivy:retrieve] :: Ivy 2.0.0-rc1-local-20080829125259 - 20080829125259 :: http://ant.apache.org/ivy/ :: :: loading settings :: file = /apps/src/ivy/trunk/src/example/chained-resolvers/settings/ivysettings.xml [ivy:retrieve] :: resolving dependencies :: org.apache#chained-resolvers;[EMAIL PROTECTED] [ivy:retrieve] confs: [default] [ivy:retrieve] found commons-lang#commons-lang;2.0 in ibiblio [ivy:retrieve] found org.apache#test;1.0 in libraries [ivy:retrieve] downloading http://repo1.maven.org/maven2/commons-lang/commons-lang/2.0/commons-lang-2.0-sources.jar ... [ivy:retrieve] [ivy:retrieve] ... (245kB) [ivy:retrieve] .. (0kB) [ivy:retrieve] [SUCCESSFUL ] commons-lang#commons-lang;2.0!commons-lang.jar(source) (2250ms) [ivy:retrieve] downloading http://repo1.maven.org/maven2/commons-lang/commons-lang/2.0/commons-lang-2.0-javadoc.jar ... [ivy:retrieve] .. [ivy:retrieve] .. (467kB) [ivy:retrieve] .. (0kB) [ivy:retrieve] [SUCCESSFUL ] commons-lang#commons-lang;2.0!commons-lang.jar(javadoc) (3598ms) [ivy:retrieve] downloading http://repo1.maven.org/maven2/commons-lang/commons-lang/2.0/commons-lang-2.0.jar ... [ivy:retrieve] ... (165kB) [ivy:retrieve] .. (0kB) [ivy:retrieve] [SUCCESSFUL ] commons-lang#commons-lang;2.0!commons-lang.jar (1698ms) [ivy:retrieve] downloading /apps/src/ivy/trunk/src/example/chained-resolvers/settings/repository/test-1.0.jar ... [ivy:retrieve] .. (1kB) [ivy:retrieve] [SUCCESSFUL ] org.apache#test;1.0!test.jar (2ms) [ivy:retrieve] :: resolution report :: resolve 1719ms :: artifacts dl 7555ms - | |modules|| artifacts | | conf | number| search|dwnlded|evicted|| number|dwnlded| - | default | 2 | 2 | 1 | 0 || 4 | 4 | - [ivy:retrieve] :: retrieving :: org.apache#chained-resolvers [ivy:retrieve] confs: [default] [ivy:retrieve] conflict on /apps/src/ivy/trunk/src/example/chained-resolvers/chainedresolvers-project/lib/commons-lang-2.0.jar in [default]: 2.0 won [ivy:retrieve] 2 artifacts copied, 0 already retrieved (246kB/12ms) run: [mkdir] Created dir: /apps/src/ivy/trunk/src/example/chained-resolvers/chainedresolvers-project/build [javac] Compiling 1 source file to /apps/src/ivy/trunk/src/example/chained-resolvers/chainedresolvers-project/build [javac] /apps/src/ivy/trunk/src/example/chained-resolvers/chainedresolvers-project/src/example/Hello.java:20: package org.apache.commons.lang does not exist [javac] import org.apache.commons.lang.WordUtils; [javac]^ [javac] /apps/src/ivy/trunk/src/example/chained-resolvers/chainedresolvers-project/src/example/Hello.java:29: cannot find symbol [javac] symbol : class WordUtils [javac] location: class example.Hello [javac] System.out.println(capitalized by + WordUtils.class.getName() [javac]^ [javac] /apps/src/ivy/trunk/src/example/chained-resolvers/chainedresolvers-project/src/example/Hello.java:30: cannot find symbol [javac
svn commit: r690477 - /ant/ivy/core/trunk/src/example/chained-resolvers/chainedresolvers-project/ivy.xml
Author: xavier Date: Fri Aug 29 23:49:03 2008 New Revision: 690477 URL: http://svn.apache.org/viewvc?rev=690477view=rev Log: FIX: HelloWorld chainedresolvers tutorial broken on trunk (IVY-887) Modified: ant/ivy/core/trunk/src/example/chained-resolvers/chainedresolvers-project/ivy.xml Modified: ant/ivy/core/trunk/src/example/chained-resolvers/chainedresolvers-project/ivy.xml URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/example/chained-resolvers/chainedresolvers-project/ivy.xml?rev=690477r1=690476r2=690477view=diff == --- ant/ivy/core/trunk/src/example/chained-resolvers/chainedresolvers-project/ivy.xml (original) +++ ant/ivy/core/trunk/src/example/chained-resolvers/chainedresolvers-project/ivy.xml Fri Aug 29 23:49:03 2008 @@ -19,7 +19,7 @@ ivy-module version=1.0 info organisation=org.apache module=chained-resolvers/ dependencies -dependency org=commons-lang name=commons-lang rev=2.0/ +dependency org=commons-lang name=commons-lang rev=2.0 conf=default/ dependency name=test rev=1.0/ /dependencies /ivy-module
[jira] Resolved: (IVY-887) HelloWorld chainedresolvers tutorial broken on trunk
[ https://issues.apache.org/jira/browse/IVY-887?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xavier Hanin resolved IVY-887. -- Resolution: Fixed Fix Version/s: 2.0-RC1 I've fixed the problem, thanks for reporting! HelloWorld chainedresolvers tutorial broken on trunk Key: IVY-887 URL: https://issues.apache.org/jira/browse/IVY-887 Project: Ivy Issue Type: Bug Affects Versions: 2.0 Reporter: Don Ferguson Assignee: Xavier Hanin Fix For: 2.0-RC1 One of the resolvers downloads the wrong jar file (such as the source, or the javadoc) which is deposited in the lib directory. The javac then fails. For example: Run ant src/example/chained-resolvers/chainedresolvers-project/build.xml doc/tutorial/log/chained-resolvers.txt Buildfile: src/example/chained-resolvers/chainedresolvers-project/build.xml resolve: [ivy:retrieve] :: Ivy 2.0.0-rc1-local-20080829125259 - 20080829125259 :: http://ant.apache.org/ivy/ :: :: loading settings :: file = /apps/src/ivy/trunk/src/example/chained-resolvers/settings/ivysettings.xml [ivy:retrieve] :: resolving dependencies :: org.apache#chained-resolvers;[EMAIL PROTECTED] [ivy:retrieve] confs: [default] [ivy:retrieve] found commons-lang#commons-lang;2.0 in ibiblio [ivy:retrieve] found org.apache#test;1.0 in libraries [ivy:retrieve] downloading http://repo1.maven.org/maven2/commons-lang/commons-lang/2.0/commons-lang-2.0-sources.jar ... [ivy:retrieve] [ivy:retrieve] ... (245kB) [ivy:retrieve] .. (0kB) [ivy:retrieve] [SUCCESSFUL ] commons-lang#commons-lang;2.0!commons-lang.jar(source) (2250ms) [ivy:retrieve] downloading http://repo1.maven.org/maven2/commons-lang/commons-lang/2.0/commons-lang-2.0-javadoc.jar ... [ivy:retrieve] .. [ivy:retrieve] .. (467kB) [ivy:retrieve] .. (0kB) [ivy:retrieve] [SUCCESSFUL ] commons-lang#commons-lang;2.0!commons-lang.jar(javadoc) (3598ms) [ivy:retrieve] downloading http://repo1.maven.org/maven2/commons-lang/commons-lang/2.0/commons-lang-2.0.jar ... [ivy:retrieve] ... (165kB) [ivy:retrieve] .. (0kB) [ivy:retrieve] [SUCCESSFUL ] commons-lang#commons-lang;2.0!commons-lang.jar (1698ms) [ivy:retrieve] downloading /apps/src/ivy/trunk/src/example/chained-resolvers/settings/repository/test-1.0.jar ... [ivy:retrieve] .. (1kB) [ivy:retrieve] [SUCCESSFUL ] org.apache#test;1.0!test.jar (2ms) [ivy:retrieve] :: resolution report :: resolve 1719ms :: artifacts dl 7555ms - | |modules|| artifacts | | conf | number| search|dwnlded|evicted|| number|dwnlded| - | default | 2 | 2 | 1 | 0 || 4 | 4 | - [ivy:retrieve] :: retrieving :: org.apache#chained-resolvers [ivy:retrieve] confs: [default] [ivy:retrieve] conflict on /apps/src/ivy/trunk/src/example/chained-resolvers/chainedresolvers-project/lib/commons-lang-2.0.jar in [default]: 2.0 won [ivy:retrieve] 2 artifacts copied, 0 already retrieved (246kB/12ms) run: [mkdir] Created dir: /apps/src/ivy/trunk/src/example/chained-resolvers/chainedresolvers-project/build [javac] Compiling 1 source file to /apps/src/ivy/trunk/src/example/chained-resolvers/chainedresolvers-project/build [javac] /apps/src/ivy/trunk/src/example/chained-resolvers/chainedresolvers-project/src/example/Hello.java:20: package org.apache.commons.lang does not exist [javac] import org.apache.commons.lang.WordUtils; [javac]^ [javac] /apps/src/ivy/trunk/src/example/chained-resolvers/chainedresolvers-project/src/example/Hello.java:29: cannot find symbol [javac] symbol : class WordUtils [javac] location: class example.Hello [javac] System.out.println(capitalized by + WordUtils.class.getName() [javac]^ [javac] /apps/src/ivy/trunk/src/example/chained