You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by "Nicolas Lalevée (JIRA)" <ji...@apache.org> on 2008/01/16 10:43:34 UTC
[jira] Created: (IVY-702) Ivy2 fail to resolve a latest.development
dependency
Ivy2 fail to resolve a latest.development dependency
----------------------------------------------------
Key: IVY-702
URL: https://issues.apache.org/jira/browse/IVY-702
Project: Ivy
Issue Type: Bug
Affects Versions: 2.0.0-beta-2
Reporter: Nicolas Lalevée
Using the Ivy trunk within IvyDE, it doesn't find a dependency.
Here is the ivy.xml from which I try to do the resolve :
{code:xml}
<ivy-module version="1.0">
<info organisation="com.company" module="app"/>
<configurations>
<conf name="default"/>
<conf name="runtime" extends="default"/>
<conf name="test" extends="compile,runtime"/>
<conf name="compile" extends="default"/>
<conf name="webapp"/>
<conf name="debian"/>
<conf name="mock"/>
<conf name="mock-war" extends="runtime"/>
<conf name="eclipse"/>
</configurations>
<publications>
<artifact name="app-core" type="jar" ext="jar" conf="default"/>
<artifact name="app-core" type="source" ext="jar" conf="default"/>
<artifact name="app-core" type="war" ext="war" conf="webapp"/>
<artifact name="app-core" type="deb" ext="deb" conf="debian"/>
</publications>
<dependencies>
<dependency org="com.company" name="app-lib1" rev="latest.development" conf="default->runtime" changing="true"/>
<dependency org="com.company" name="app-lib2" rev="1.4.5" conf="default" changing="true"/>
<dependency org="com.company" name="app-lib3" conf="default" rev="latest.development"/>
<dependency org="javax.servlet" name="servlet-api" rev="2.4" conf="compile->default"/>
<dependency org="org.apache" name="fam" rev="0.1.0-r510454" conf="default" />
<dependency org="velocity" name="velocity" rev="1.4" conf="default"/>
<dependency org="velocity-tools" name="velocity-tools" rev="1.2" conf="default"/>
<dependency org="junit" name="junit" rev="3.8.2" conf="test->default" changing="true"/>
</dependencies>
</ivy-module>
{code}
Here is my ivy-conf:
{code:xml}
<ivyconf>
<properties file="ivyconf.properties"/>
<conf defaultResolver="default-chain" defaultConflictManager="conflict-latest-revision" defaultLatestStrategy="strategy-latest-revision" checkUpToDate="true" defaultCache="ivy2-cache"/>
<latest-strategies>
<latest-revision name="strategy-latest-revision">
<specialMeaning name="patched" value="3"/>
</latest-revision>
</latest-strategies>
<conflict-managers>
<latest-cm name="conflict-latest-revision" latest="strategy-latest-revision" />
</conflict-managers>
<!--
3 statuses defined, they will all have a different versioning information
See build.xml for more information
release : [major].[minor].[patch]
integration : [major].[minor].[patch]-[svn.revision]-dev
development : [major].[minor].[patch]-[svn.revision]-dev-[timestamp]
-->
<statuses default="development">
<status name="release" integration="false"/>
<status name="integration" integration="true"/>
<status name="development" integration="true"/>
</statuses>
<resolvers checkUpToDate="true">
<filesystem name="external" m2compatible="true" checkconsistency="true" checkmodified="true" allownomd="false">
<artifact pattern="external-libs/[organisation]/[module]/[revision]/[type]s/[artifact]-[revision].[ext]" />
<ivy pattern="external-libs/[organisation]/[module]/[revision]/ivy.xml"/>
</filesystem>
<filesystem name="internal" m2compatible="true" checkconsistency="true" checkmodified="true" allownomd="false">
<artifact pattern="internal-libs/[organisation]/[module]/[revision]/[type]s/[artifact]-[revision].[ext]" />
<ivy pattern="internal-libs/[organisation]/[module]/[revision]/ivy.xml"/>
</filesystem>
<filesystem name="local" m2compatible="true" checkconsistency="true" checkmodified="true" allownomd="false">
<artifact pattern="local-libs/[organisation]/[module]/[revision]/[type]s/[artifact]-[revision].[ext]" />
<ivy pattern="local-libs/[organisation]/[module]/[revision]/ivy.xml"/>
</filesystem>
<chain name="company-chain" returnFirst="true">
<resolver ref="local"/>
<resolver ref="internal"/>
</chain>
<chain name="default-chain" returnFirst="true">
<resolver ref="external"/>
</chain>
</resolvers>
<modules>
<module organisation="com.company.*" name=".*" matcher="regexp" resolver="company-chain"/>
</modules>
</ivyconf>
{code}
The external repository is where we push the libraries external to my company, like Apache libs. The internal repo contains the released versions of our libraries. The local one is the developer one, this is where the locally builds are pushed.
app-lib1 and app-lib2 are resolved correctly, but not app-lib3. The only difference between app-lib1 and app-lib3 is that app-lib3 was never released, so the only existing version is in local-libs, and the version is 0.1.0-117639-dev-20080115164755.
Here is the app-lib3 resolve part:
{noformat}
== resolving dependencies com.company#app;working@almeda->com.company#app-lib3;latest.development [default->default]
found conflicting revisions for com.company#app-lib3;latest.development in com.company#app;working@almeda: [com.company#app-lib3;latest.development]
selected revisions for com.company#app-lib3;latest.development in com.company#app;working@almeda: [com.company#app-lib3;latest.development]
loadData of com.company#app-lib3;latest.development of rootConf=default
using company-chain to resolve com.company#app-lib3;latest.development
company-chain: Checking cache for: dependency: com.company#app-lib3;latest.development {default=[default]}
don't use cache for com.company#app-lib3;latest.development: checkModified=true
don't use cache for com.company#app-lib3;latest.development: checkModified=true
trying local-libs/com/company/app-lib3/latest.development/ivy.xml
tried local-libs/com/company/app-lib3/latest.development/ivy.xml
tried local-libs/com/company/app-lib3/[revision]/ivy.xml
listing all in local-libs/com/company/app-lib3/[revision]/ivy.xml
using local to list all in local-libs/com/company/app-lib3/
found 1 resources
found revs: [0.1.0-117639-dev-20080115164755]
local: found md file for com.company#app-lib3;latest.development
=> local-libs/com/company/app-lib3/0.1.0-117639-dev-20080115164755/ivy.xml (0.1.0-117639-dev-20080115164755)
parser = ivy parser
no ivy file in cache for com.company#app-lib3;0.1.0-117639-dev-20080115164755: tried ivy2-cache/com.company/app-lib3/ivy-0.1.0-117639-dev-20080115164755.xml
downloading local-libs/com/company/app-lib3/0.1.0-117639-dev-20080115164755/ivy.xml ...
local: downloading local-libs/com/company/app-lib3/0.1.0-117639-dev-20080115164755/ivy.xml
to ivy2-cache/com.company/app-lib3/ivys/ivy.original-0.1.0-117639-dev-20080115164755.xml.part
[SUCCESSFUL ] com.company#app-lib3;0.1.0-117639-dev-20080115164755!ivy.original.xml(ivy) (31ms)
pre 1.3 ivy file: using exactOrRegexp as default matcher
local: impossible to get module descriptor resource: local-libs/com/company/app-lib3/0.1.0-117639-dev-20080115164755/ivy.xml (0.1.0-117639-dev-20080115164755)
tried [0.1.0-117639-dev-20080115164755 (no or bad MD)]
local: no resource found for com/#app-lib3;latest.development: pattern=local-libs/[organisation]/[module]/[revision]/ivy.xml
local: no ivy file found for com.company#app-lib3;latest.development
don't use cache for com.company#app-lib3;latest.development: checkModified=true
trying internal-libs/com/company/app-lib3/latest.development/ivy.xml
tried internal-libs/com/company/app-lib3/latest.development/ivy.xml
tried internal-libs/com/company/app-lib3/[revision]/ivy.xml
listing all in internal-libs/com/company/app-lib3/[revision]/ivy.xml
using internal to list all in internal-libs/com/company/app-lib3/
no resources found
internal: unable to list resources for com/#app-lib3;latest.development: pattern=internal-libs/[organisation]/[module]/[revision]/ivy.xml
internal: no ivy file found for com.company#app-lib3;latest.development
WARN: module not found: com.company#app-lib3;latest.development
WARN: ==== local: tried
WARN: local-libs/com/company/app-lib3/latest.development/ivy.xml
WARN: local-libs/com/company/app-lib3/[revision]/ivy.xml
WARN: [0.1.0-117639-dev-20080115164755 (no or bad MD)]
WARN: ==== internal: tried
WARN: internal-libs/com/company/app-lib3/latest.development/ivy.xml
WARN: internal-libs/com/company/app-lib3/[revision]/ivy.xml
com.company#app-lib3;latest.development => dependencies resolved in default (68ms)
{noformat}
Here is the app-lib1 resolve part:
{noformat}
== resolving dependencies com.company#app;working@almeda->com.company#app-lib1;latest.development [default->runtime]
found conflicting revisions for com.company#app-lib1;latest.development in com.company#app;working@almeda: [com.company#app-lib1;latest.development]
selected revisions for com.company#app-lib1;latest.development in com.company#app;working@almeda: [com.company#app-lib1;latest.development]
loadData of com.company#app-lib1;latest.development of rootConf=default
using company-chain to resolve com.company#app-lib1;latest.development
company-chain: Checking cache for: dependency: com.company#app-lib1;latest.development {default=[runtime]}
don't use cache for com.company#app-lib1;latest.development: checkModified=true
don't use cache for com.company#app-lib1;latest.development: checkModified=true
trying local-libs/com/company/app-lib1/latest.development/ivy.xml
local-libs/com/company/app-lib1/latest.development/ivy.xml
tried local-libs/com/company/app-lib1/[revision]/ivy.xml
listing all in local-libs/com/company/app-lib1/[revision]/ivy.xml
using local to list all in local-libs/com/company/app-lib1/
found 1 resources
found revs: [3.3.1-117388-dev-20080115104256]
local: found md file for com.company#app-lib1;latest.development
=> local-libs/com/company/app-lib1/3.3.1-117388-dev-20080115104256/ivy.xml (3.3.1-117388-dev-20080115104256)
parser = ivy parser
no ivy file in cache for com.company#app-lib1;3.3.1-117388-dev-20080115104256: tried local-libs/com/company/app-lib1/ivy-3.3.1-117388-dev-20080115104256.xml
downloading local-libs/com/company/app-lib1/3.3.1-117388-dev-20080115104256/ivy.xml ...
local: downloading local-libs/com/company/app-lib1/3.3.1-117388-dev-20080115104256/ivy.xml
to ivy2-cache/com.company/app-lib1/ivys/ivy.original-3.3.1-117388-dev-20080115104256.xml.part
[SUCCESSFUL ] com.company#app-lib1;3.3.1-117388-dev-20080115104256!ivy.original.xml(ivy) (11ms)
pre 1.3 ivy file: using exactOrRegexp as default matcher
default-cache: parsed downloaded md file for com.company#app-lib1;3.3.1-117388-dev-20080115104256; parsed=com.company#app-lib1;3.3.1-117388-dev-20080115104256
com.company#app-lib1;3.3.1-117388-dev-20080115104256 is changing, but has not changed: will trust cached artifacts if any
[3.3.1-117388-dev-20080115104256] com.company#app-lib1
found com.company#app-lib1;3.3.1-117388-dev-20080115104256 in local
[3.3.1-117388-dev-20080115104256] com.company#app-lib1;latest.development
conflict resolution already done for com.company#app-lib1;3.3.1-117388-dev-20080115104256 in com.company#app;working@almeda
{noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (IVY-702) Ivy swallows ParseException when using a
latest strategy requiring module descriptors
Posted by "Nicolas Lalevée (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/IVY-702?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Nicolas Lalevée updated IVY-702:
--------------------------------
Attachment: IVY-702-r612476.patch
here it is
> Ivy swallows ParseException when using a latest strategy requiring module descriptors
> -------------------------------------------------------------------------------------
>
> Key: IVY-702
> URL: https://issues.apache.org/jira/browse/IVY-702
> Project: Ivy
> Issue Type: Bug
> Affects Versions: 2.0.0-beta-2
> Reporter: Nicolas Lalevée
> Attachments: IVY-702-r612476.patch
>
>
> Using the Ivy trunk within IvyDE, it doesn't find a dependency.
> Here is the ivy.xml from which I try to do the resolve :
> {code:xml}
> <ivy-module version="1.0">
> <info organisation="com.company" module="app"/>
> <configurations>
> <conf name="default"/>
> <conf name="runtime" extends="default"/>
> <conf name="test" extends="compile,runtime"/>
> <conf name="compile" extends="default"/>
> <conf name="webapp"/>
> <conf name="debian"/>
> <conf name="mock"/>
> <conf name="mock-war" extends="runtime"/>
> <conf name="eclipse"/>
> </configurations>
> <publications>
> <artifact name="app-core" type="jar" ext="jar" conf="default"/>
> <artifact name="app-core" type="source" ext="jar" conf="default"/>
> <artifact name="app-core" type="war" ext="war" conf="webapp"/>
> <artifact name="app-core" type="deb" ext="deb" conf="debian"/>
> </publications>
> <dependencies>
> <dependency org="com.company" name="app-lib1" rev="latest.development" conf="default->runtime" changing="true"/>
> <dependency org="com.company" name="app-lib2" rev="1.4.5" conf="default" changing="true"/>
> <dependency org="com.company" name="app-lib3" conf="default" rev="latest.development"/>
> <dependency org="javax.servlet" name="servlet-api" rev="2.4" conf="compile->default"/>
> <dependency org="org.apache" name="fam" rev="0.1.0-r510454" conf="default" />
> <dependency org="velocity" name="velocity" rev="1.4" conf="default"/>
> <dependency org="velocity-tools" name="velocity-tools" rev="1.2" conf="default"/>
> <dependency org="junit" name="junit" rev="3.8.2" conf="test->default" changing="true"/>
> </dependencies>
> </ivy-module>
> {code}
> Here is my ivy-conf:
> {code:xml}
> <ivyconf>
> <properties file="ivyconf.properties"/>
> <conf defaultResolver="default-chain" defaultConflictManager="conflict-latest-revision" defaultLatestStrategy="strategy-latest-revision" checkUpToDate="true" defaultCache="ivy2-cache"/>
> <latest-strategies>
> <latest-revision name="strategy-latest-revision">
> <specialMeaning name="patched" value="3"/>
> </latest-revision>
> </latest-strategies>
>
> <conflict-managers>
> <latest-cm name="conflict-latest-revision" latest="strategy-latest-revision" />
> </conflict-managers>
> <!--
> 3 statuses defined, they will all have a different versioning information
> See build.xml for more information
>
> release : [major].[minor].[patch]
> integration : [major].[minor].[patch]-[svn.revision]-dev
> development : [major].[minor].[patch]-[svn.revision]-dev-[timestamp]
> -->
> <statuses default="development">
> <status name="release" integration="false"/>
> <status name="integration" integration="true"/>
> <status name="development" integration="true"/>
> </statuses>
>
> <resolvers checkUpToDate="true">
>
> <filesystem name="external" m2compatible="true" checkconsistency="true" checkmodified="true" allownomd="false">
> <artifact pattern="external-libs/[organisation]/[module]/[revision]/[type]s/[artifact]-[revision].[ext]" />
> <ivy pattern="external-libs/[organisation]/[module]/[revision]/ivy.xml"/>
> </filesystem>
> <filesystem name="internal" m2compatible="true" checkconsistency="true" checkmodified="true" allownomd="false">
> <artifact pattern="internal-libs/[organisation]/[module]/[revision]/[type]s/[artifact]-[revision].[ext]" />
> <ivy pattern="internal-libs/[organisation]/[module]/[revision]/ivy.xml"/>
> </filesystem>
> <filesystem name="local" m2compatible="true" checkconsistency="true" checkmodified="true" allownomd="false">
> <artifact pattern="local-libs/[organisation]/[module]/[revision]/[type]s/[artifact]-[revision].[ext]" />
> <ivy pattern="local-libs/[organisation]/[module]/[revision]/ivy.xml"/>
> </filesystem>
>
> <chain name="company-chain" returnFirst="true">
> <resolver ref="local"/>
> <resolver ref="internal"/>
> </chain>
> <chain name="default-chain" returnFirst="true">
> <resolver ref="external"/>
> </chain>
> </resolvers>
> <modules>
> <module organisation="com.company.*" name=".*" matcher="regexp" resolver="company-chain"/>
> </modules>
> </ivyconf>
> {code}
> The external repository is where we push the libraries external to my company, like Apache libs. The internal repo contains the released versions of our libraries. The local one is the developer one, this is where the locally builds are pushed.
> app-lib1 and app-lib2 are resolved correctly, but not app-lib3. The only difference between app-lib1 and app-lib3 is that app-lib3 was never released, so the only existing version is in local-libs, and the version is 0.1.0-117639-dev-20080115164755.
> Here is the app-lib3 resolve part:
> {noformat}
> == resolving dependencies com.company#app;working@almeda->com.company#app-lib3;latest.development [default->default]
> found conflicting revisions for com.company#app-lib3;latest.development in com.company#app;working@almeda: [com.company#app-lib3;latest.development]
> selected revisions for com.company#app-lib3;latest.development in com.company#app;working@almeda: [com.company#app-lib3;latest.development]
> loadData of com.company#app-lib3;latest.development of rootConf=default
> using company-chain to resolve com.company#app-lib3;latest.development
> company-chain: Checking cache for: dependency: com.company#app-lib3;latest.development {default=[default]}
> don't use cache for com.company#app-lib3;latest.development: checkModified=true
> don't use cache for com.company#app-lib3;latest.development: checkModified=true
> trying local-libs/com/company/app-lib3/latest.development/ivy.xml
> tried local-libs/com/company/app-lib3/latest.development/ivy.xml
> tried local-libs/com/company/app-lib3/[revision]/ivy.xml
> listing all in local-libs/com/company/app-lib3/[revision]/ivy.xml
> using local to list all in local-libs/com/company/app-lib3/
> found 1 resources
> found revs: [0.1.0-117639-dev-20080115164755]
> local: found md file for com.company#app-lib3;latest.development
> => local-libs/com/company/app-lib3/0.1.0-117639-dev-20080115164755/ivy.xml (0.1.0-117639-dev-20080115164755)
> parser = ivy parser
> no ivy file in cache for com.company#app-lib3;0.1.0-117639-dev-20080115164755: tried ivy2-cache/com.company/app-lib3/ivy-0.1.0-117639-dev-20080115164755.xml
> downloading local-libs/com/company/app-lib3/0.1.0-117639-dev-20080115164755/ivy.xml ...
> local: downloading local-libs/com/company/app-lib3/0.1.0-117639-dev-20080115164755/ivy.xml
> to ivy2-cache/com.company/app-lib3/ivys/ivy.original-0.1.0-117639-dev-20080115164755.xml.part
> [SUCCESSFUL ] com.company#app-lib3;0.1.0-117639-dev-20080115164755!ivy.original.xml(ivy) (31ms)
> pre 1.3 ivy file: using exactOrRegexp as default matcher
> local: impossible to get module descriptor resource: local-libs/com/company/app-lib3/0.1.0-117639-dev-20080115164755/ivy.xml (0.1.0-117639-dev-20080115164755)
> tried [0.1.0-117639-dev-20080115164755 (no or bad MD)]
> local: no resource found for com/#app-lib3;latest.development: pattern=local-libs/[organisation]/[module]/[revision]/ivy.xml
> local: no ivy file found for com.company#app-lib3;latest.development
> don't use cache for com.company#app-lib3;latest.development: checkModified=true
> trying internal-libs/com/company/app-lib3/latest.development/ivy.xml
> tried internal-libs/com/company/app-lib3/latest.development/ivy.xml
> tried internal-libs/com/company/app-lib3/[revision]/ivy.xml
> listing all in internal-libs/com/company/app-lib3/[revision]/ivy.xml
> using internal to list all in internal-libs/com/company/app-lib3/
> no resources found
> internal: unable to list resources for com/#app-lib3;latest.development: pattern=internal-libs/[organisation]/[module]/[revision]/ivy.xml
> internal: no ivy file found for com.company#app-lib3;latest.development
> WARN: module not found: com.company#app-lib3;latest.development
> WARN: ==== local: tried
> WARN: local-libs/com/company/app-lib3/latest.development/ivy.xml
> WARN: local-libs/com/company/app-lib3/[revision]/ivy.xml
> WARN: [0.1.0-117639-dev-20080115164755 (no or bad MD)]
> WARN: ==== internal: tried
> WARN: internal-libs/com/company/app-lib3/latest.development/ivy.xml
> WARN: internal-libs/com/company/app-lib3/[revision]/ivy.xml
> com.company#app-lib3;latest.development => dependencies resolved in default (68ms)
> {noformat}
> Here is the app-lib1 resolve part:
> {noformat}
> == resolving dependencies com.company#app;working@almeda->com.company#app-lib1;latest.development [default->runtime]
> found conflicting revisions for com.company#app-lib1;latest.development in com.company#app;working@almeda: [com.company#app-lib1;latest.development]
> selected revisions for com.company#app-lib1;latest.development in com.company#app;working@almeda: [com.company#app-lib1;latest.development]
> loadData of com.company#app-lib1;latest.development of rootConf=default
> using company-chain to resolve com.company#app-lib1;latest.development
> company-chain: Checking cache for: dependency: com.company#app-lib1;latest.development {default=[runtime]}
> don't use cache for com.company#app-lib1;latest.development: checkModified=true
> don't use cache for com.company#app-lib1;latest.development: checkModified=true
> trying local-libs/com/company/app-lib1/latest.development/ivy.xml
> local-libs/com/company/app-lib1/latest.development/ivy.xml
> tried local-libs/com/company/app-lib1/[revision]/ivy.xml
> listing all in local-libs/com/company/app-lib1/[revision]/ivy.xml
> using local to list all in local-libs/com/company/app-lib1/
> found 1 resources
> found revs: [3.3.1-117388-dev-20080115104256]
> local: found md file for com.company#app-lib1;latest.development
> => local-libs/com/company/app-lib1/3.3.1-117388-dev-20080115104256/ivy.xml (3.3.1-117388-dev-20080115104256)
> parser = ivy parser
> no ivy file in cache for com.company#app-lib1;3.3.1-117388-dev-20080115104256: tried local-libs/com/company/app-lib1/ivy-3.3.1-117388-dev-20080115104256.xml
> downloading local-libs/com/company/app-lib1/3.3.1-117388-dev-20080115104256/ivy.xml ...
> local: downloading local-libs/com/company/app-lib1/3.3.1-117388-dev-20080115104256/ivy.xml
> to ivy2-cache/com.company/app-lib1/ivys/ivy.original-3.3.1-117388-dev-20080115104256.xml.part
> [SUCCESSFUL ] com.company#app-lib1;3.3.1-117388-dev-20080115104256!ivy.original.xml(ivy) (11ms)
> pre 1.3 ivy file: using exactOrRegexp as default matcher
> default-cache: parsed downloaded md file for com.company#app-lib1;3.3.1-117388-dev-20080115104256; parsed=com.company#app-lib1;3.3.1-117388-dev-20080115104256
> com.company#app-lib1;3.3.1-117388-dev-20080115104256 is changing, but has not changed: will trust cached artifacts if any
> [3.3.1-117388-dev-20080115104256] com.company#app-lib1
> found com.company#app-lib1;3.3.1-117388-dev-20080115104256 in local
> [3.3.1-117388-dev-20080115104256] com.company#app-lib1;latest.development
> conflict resolution already done for com.company#app-lib1;3.3.1-117388-dev-20080115104256 in com.company#app;working@almeda
> {noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (IVY-702) Ivy2 fail to resolve a
latest.development dependency
Posted by "Xavier Hanin (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/IVY-702?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12559512#action_12559512 ]
Xavier Hanin commented on IVY-702:
----------------------------------
OK, so I guess the issue could be renamed to "Ivy swallows ParseException when using a latest strategy requiring module descriptors". The fix would simply consist in adding a Message.warn instruction in the catch block.
Can you do this and submit a patch?
> Ivy2 fail to resolve a latest.development dependency
> ----------------------------------------------------
>
> Key: IVY-702
> URL: https://issues.apache.org/jira/browse/IVY-702
> Project: Ivy
> Issue Type: Bug
> Affects Versions: 2.0.0-beta-2
> Reporter: Nicolas Lalevée
>
> Using the Ivy trunk within IvyDE, it doesn't find a dependency.
> Here is the ivy.xml from which I try to do the resolve :
> {code:xml}
> <ivy-module version="1.0">
> <info organisation="com.company" module="app"/>
> <configurations>
> <conf name="default"/>
> <conf name="runtime" extends="default"/>
> <conf name="test" extends="compile,runtime"/>
> <conf name="compile" extends="default"/>
> <conf name="webapp"/>
> <conf name="debian"/>
> <conf name="mock"/>
> <conf name="mock-war" extends="runtime"/>
> <conf name="eclipse"/>
> </configurations>
> <publications>
> <artifact name="app-core" type="jar" ext="jar" conf="default"/>
> <artifact name="app-core" type="source" ext="jar" conf="default"/>
> <artifact name="app-core" type="war" ext="war" conf="webapp"/>
> <artifact name="app-core" type="deb" ext="deb" conf="debian"/>
> </publications>
> <dependencies>
> <dependency org="com.company" name="app-lib1" rev="latest.development" conf="default->runtime" changing="true"/>
> <dependency org="com.company" name="app-lib2" rev="1.4.5" conf="default" changing="true"/>
> <dependency org="com.company" name="app-lib3" conf="default" rev="latest.development"/>
> <dependency org="javax.servlet" name="servlet-api" rev="2.4" conf="compile->default"/>
> <dependency org="org.apache" name="fam" rev="0.1.0-r510454" conf="default" />
> <dependency org="velocity" name="velocity" rev="1.4" conf="default"/>
> <dependency org="velocity-tools" name="velocity-tools" rev="1.2" conf="default"/>
> <dependency org="junit" name="junit" rev="3.8.2" conf="test->default" changing="true"/>
> </dependencies>
> </ivy-module>
> {code}
> Here is my ivy-conf:
> {code:xml}
> <ivyconf>
> <properties file="ivyconf.properties"/>
> <conf defaultResolver="default-chain" defaultConflictManager="conflict-latest-revision" defaultLatestStrategy="strategy-latest-revision" checkUpToDate="true" defaultCache="ivy2-cache"/>
> <latest-strategies>
> <latest-revision name="strategy-latest-revision">
> <specialMeaning name="patched" value="3"/>
> </latest-revision>
> </latest-strategies>
>
> <conflict-managers>
> <latest-cm name="conflict-latest-revision" latest="strategy-latest-revision" />
> </conflict-managers>
> <!--
> 3 statuses defined, they will all have a different versioning information
> See build.xml for more information
>
> release : [major].[minor].[patch]
> integration : [major].[minor].[patch]-[svn.revision]-dev
> development : [major].[minor].[patch]-[svn.revision]-dev-[timestamp]
> -->
> <statuses default="development">
> <status name="release" integration="false"/>
> <status name="integration" integration="true"/>
> <status name="development" integration="true"/>
> </statuses>
>
> <resolvers checkUpToDate="true">
>
> <filesystem name="external" m2compatible="true" checkconsistency="true" checkmodified="true" allownomd="false">
> <artifact pattern="external-libs/[organisation]/[module]/[revision]/[type]s/[artifact]-[revision].[ext]" />
> <ivy pattern="external-libs/[organisation]/[module]/[revision]/ivy.xml"/>
> </filesystem>
> <filesystem name="internal" m2compatible="true" checkconsistency="true" checkmodified="true" allownomd="false">
> <artifact pattern="internal-libs/[organisation]/[module]/[revision]/[type]s/[artifact]-[revision].[ext]" />
> <ivy pattern="internal-libs/[organisation]/[module]/[revision]/ivy.xml"/>
> </filesystem>
> <filesystem name="local" m2compatible="true" checkconsistency="true" checkmodified="true" allownomd="false">
> <artifact pattern="local-libs/[organisation]/[module]/[revision]/[type]s/[artifact]-[revision].[ext]" />
> <ivy pattern="local-libs/[organisation]/[module]/[revision]/ivy.xml"/>
> </filesystem>
>
> <chain name="company-chain" returnFirst="true">
> <resolver ref="local"/>
> <resolver ref="internal"/>
> </chain>
> <chain name="default-chain" returnFirst="true">
> <resolver ref="external"/>
> </chain>
> </resolvers>
> <modules>
> <module organisation="com.company.*" name=".*" matcher="regexp" resolver="company-chain"/>
> </modules>
> </ivyconf>
> {code}
> The external repository is where we push the libraries external to my company, like Apache libs. The internal repo contains the released versions of our libraries. The local one is the developer one, this is where the locally builds are pushed.
> app-lib1 and app-lib2 are resolved correctly, but not app-lib3. The only difference between app-lib1 and app-lib3 is that app-lib3 was never released, so the only existing version is in local-libs, and the version is 0.1.0-117639-dev-20080115164755.
> Here is the app-lib3 resolve part:
> {noformat}
> == resolving dependencies com.company#app;working@almeda->com.company#app-lib3;latest.development [default->default]
> found conflicting revisions for com.company#app-lib3;latest.development in com.company#app;working@almeda: [com.company#app-lib3;latest.development]
> selected revisions for com.company#app-lib3;latest.development in com.company#app;working@almeda: [com.company#app-lib3;latest.development]
> loadData of com.company#app-lib3;latest.development of rootConf=default
> using company-chain to resolve com.company#app-lib3;latest.development
> company-chain: Checking cache for: dependency: com.company#app-lib3;latest.development {default=[default]}
> don't use cache for com.company#app-lib3;latest.development: checkModified=true
> don't use cache for com.company#app-lib3;latest.development: checkModified=true
> trying local-libs/com/company/app-lib3/latest.development/ivy.xml
> tried local-libs/com/company/app-lib3/latest.development/ivy.xml
> tried local-libs/com/company/app-lib3/[revision]/ivy.xml
> listing all in local-libs/com/company/app-lib3/[revision]/ivy.xml
> using local to list all in local-libs/com/company/app-lib3/
> found 1 resources
> found revs: [0.1.0-117639-dev-20080115164755]
> local: found md file for com.company#app-lib3;latest.development
> => local-libs/com/company/app-lib3/0.1.0-117639-dev-20080115164755/ivy.xml (0.1.0-117639-dev-20080115164755)
> parser = ivy parser
> no ivy file in cache for com.company#app-lib3;0.1.0-117639-dev-20080115164755: tried ivy2-cache/com.company/app-lib3/ivy-0.1.0-117639-dev-20080115164755.xml
> downloading local-libs/com/company/app-lib3/0.1.0-117639-dev-20080115164755/ivy.xml ...
> local: downloading local-libs/com/company/app-lib3/0.1.0-117639-dev-20080115164755/ivy.xml
> to ivy2-cache/com.company/app-lib3/ivys/ivy.original-0.1.0-117639-dev-20080115164755.xml.part
> [SUCCESSFUL ] com.company#app-lib3;0.1.0-117639-dev-20080115164755!ivy.original.xml(ivy) (31ms)
> pre 1.3 ivy file: using exactOrRegexp as default matcher
> local: impossible to get module descriptor resource: local-libs/com/company/app-lib3/0.1.0-117639-dev-20080115164755/ivy.xml (0.1.0-117639-dev-20080115164755)
> tried [0.1.0-117639-dev-20080115164755 (no or bad MD)]
> local: no resource found for com/#app-lib3;latest.development: pattern=local-libs/[organisation]/[module]/[revision]/ivy.xml
> local: no ivy file found for com.company#app-lib3;latest.development
> don't use cache for com.company#app-lib3;latest.development: checkModified=true
> trying internal-libs/com/company/app-lib3/latest.development/ivy.xml
> tried internal-libs/com/company/app-lib3/latest.development/ivy.xml
> tried internal-libs/com/company/app-lib3/[revision]/ivy.xml
> listing all in internal-libs/com/company/app-lib3/[revision]/ivy.xml
> using internal to list all in internal-libs/com/company/app-lib3/
> no resources found
> internal: unable to list resources for com/#app-lib3;latest.development: pattern=internal-libs/[organisation]/[module]/[revision]/ivy.xml
> internal: no ivy file found for com.company#app-lib3;latest.development
> WARN: module not found: com.company#app-lib3;latest.development
> WARN: ==== local: tried
> WARN: local-libs/com/company/app-lib3/latest.development/ivy.xml
> WARN: local-libs/com/company/app-lib3/[revision]/ivy.xml
> WARN: [0.1.0-117639-dev-20080115164755 (no or bad MD)]
> WARN: ==== internal: tried
> WARN: internal-libs/com/company/app-lib3/latest.development/ivy.xml
> WARN: internal-libs/com/company/app-lib3/[revision]/ivy.xml
> com.company#app-lib3;latest.development => dependencies resolved in default (68ms)
> {noformat}
> Here is the app-lib1 resolve part:
> {noformat}
> == resolving dependencies com.company#app;working@almeda->com.company#app-lib1;latest.development [default->runtime]
> found conflicting revisions for com.company#app-lib1;latest.development in com.company#app;working@almeda: [com.company#app-lib1;latest.development]
> selected revisions for com.company#app-lib1;latest.development in com.company#app;working@almeda: [com.company#app-lib1;latest.development]
> loadData of com.company#app-lib1;latest.development of rootConf=default
> using company-chain to resolve com.company#app-lib1;latest.development
> company-chain: Checking cache for: dependency: com.company#app-lib1;latest.development {default=[runtime]}
> don't use cache for com.company#app-lib1;latest.development: checkModified=true
> don't use cache for com.company#app-lib1;latest.development: checkModified=true
> trying local-libs/com/company/app-lib1/latest.development/ivy.xml
> local-libs/com/company/app-lib1/latest.development/ivy.xml
> tried local-libs/com/company/app-lib1/[revision]/ivy.xml
> listing all in local-libs/com/company/app-lib1/[revision]/ivy.xml
> using local to list all in local-libs/com/company/app-lib1/
> found 1 resources
> found revs: [3.3.1-117388-dev-20080115104256]
> local: found md file for com.company#app-lib1;latest.development
> => local-libs/com/company/app-lib1/3.3.1-117388-dev-20080115104256/ivy.xml (3.3.1-117388-dev-20080115104256)
> parser = ivy parser
> no ivy file in cache for com.company#app-lib1;3.3.1-117388-dev-20080115104256: tried local-libs/com/company/app-lib1/ivy-3.3.1-117388-dev-20080115104256.xml
> downloading local-libs/com/company/app-lib1/3.3.1-117388-dev-20080115104256/ivy.xml ...
> local: downloading local-libs/com/company/app-lib1/3.3.1-117388-dev-20080115104256/ivy.xml
> to ivy2-cache/com.company/app-lib1/ivys/ivy.original-3.3.1-117388-dev-20080115104256.xml.part
> [SUCCESSFUL ] com.company#app-lib1;3.3.1-117388-dev-20080115104256!ivy.original.xml(ivy) (11ms)
> pre 1.3 ivy file: using exactOrRegexp as default matcher
> default-cache: parsed downloaded md file for com.company#app-lib1;3.3.1-117388-dev-20080115104256; parsed=com.company#app-lib1;3.3.1-117388-dev-20080115104256
> com.company#app-lib1;3.3.1-117388-dev-20080115104256 is changing, but has not changed: will trust cached artifacts if any
> [3.3.1-117388-dev-20080115104256] com.company#app-lib1
> found com.company#app-lib1;3.3.1-117388-dev-20080115104256 in local
> [3.3.1-117388-dev-20080115104256] com.company#app-lib1;latest.development
> conflict resolution already done for com.company#app-lib1;3.3.1-117388-dev-20080115104256 in com.company#app;working@almeda
> {noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (IVY-702) Ivy swallows ParseException when using a
latest strategy requiring module descriptors
Posted by "Nicolas Lalevée (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/IVY-702?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Nicolas Lalevée updated IVY-702:
--------------------------------
Priority: Minor (was: Major)
> Ivy swallows ParseException when using a latest strategy requiring module descriptors
> -------------------------------------------------------------------------------------
>
> Key: IVY-702
> URL: https://issues.apache.org/jira/browse/IVY-702
> Project: Ivy
> Issue Type: Bug
> Affects Versions: 2.0.0-beta-2
> Reporter: Nicolas Lalevée
> Priority: Minor
> Attachments: IVY-702-r612476.patch
>
>
> Using the Ivy trunk within IvyDE, it doesn't find a dependency.
> Here is the ivy.xml from which I try to do the resolve :
> {code:xml}
> <ivy-module version="1.0">
> <info organisation="com.company" module="app"/>
> <configurations>
> <conf name="default"/>
> <conf name="runtime" extends="default"/>
> <conf name="test" extends="compile,runtime"/>
> <conf name="compile" extends="default"/>
> <conf name="webapp"/>
> <conf name="debian"/>
> <conf name="mock"/>
> <conf name="mock-war" extends="runtime"/>
> <conf name="eclipse"/>
> </configurations>
> <publications>
> <artifact name="app-core" type="jar" ext="jar" conf="default"/>
> <artifact name="app-core" type="source" ext="jar" conf="default"/>
> <artifact name="app-core" type="war" ext="war" conf="webapp"/>
> <artifact name="app-core" type="deb" ext="deb" conf="debian"/>
> </publications>
> <dependencies>
> <dependency org="com.company" name="app-lib1" rev="latest.development" conf="default->runtime" changing="true"/>
> <dependency org="com.company" name="app-lib2" rev="1.4.5" conf="default" changing="true"/>
> <dependency org="com.company" name="app-lib3" conf="default" rev="latest.development"/>
> <dependency org="javax.servlet" name="servlet-api" rev="2.4" conf="compile->default"/>
> <dependency org="org.apache" name="fam" rev="0.1.0-r510454" conf="default" />
> <dependency org="velocity" name="velocity" rev="1.4" conf="default"/>
> <dependency org="velocity-tools" name="velocity-tools" rev="1.2" conf="default"/>
> <dependency org="junit" name="junit" rev="3.8.2" conf="test->default" changing="true"/>
> </dependencies>
> </ivy-module>
> {code}
> Here is my ivy-conf:
> {code:xml}
> <ivyconf>
> <properties file="ivyconf.properties"/>
> <conf defaultResolver="default-chain" defaultConflictManager="conflict-latest-revision" defaultLatestStrategy="strategy-latest-revision" checkUpToDate="true" defaultCache="ivy2-cache"/>
> <latest-strategies>
> <latest-revision name="strategy-latest-revision">
> <specialMeaning name="patched" value="3"/>
> </latest-revision>
> </latest-strategies>
>
> <conflict-managers>
> <latest-cm name="conflict-latest-revision" latest="strategy-latest-revision" />
> </conflict-managers>
> <!--
> 3 statuses defined, they will all have a different versioning information
> See build.xml for more information
>
> release : [major].[minor].[patch]
> integration : [major].[minor].[patch]-[svn.revision]-dev
> development : [major].[minor].[patch]-[svn.revision]-dev-[timestamp]
> -->
> <statuses default="development">
> <status name="release" integration="false"/>
> <status name="integration" integration="true"/>
> <status name="development" integration="true"/>
> </statuses>
>
> <resolvers checkUpToDate="true">
>
> <filesystem name="external" m2compatible="true" checkconsistency="true" checkmodified="true" allownomd="false">
> <artifact pattern="external-libs/[organisation]/[module]/[revision]/[type]s/[artifact]-[revision].[ext]" />
> <ivy pattern="external-libs/[organisation]/[module]/[revision]/ivy.xml"/>
> </filesystem>
> <filesystem name="internal" m2compatible="true" checkconsistency="true" checkmodified="true" allownomd="false">
> <artifact pattern="internal-libs/[organisation]/[module]/[revision]/[type]s/[artifact]-[revision].[ext]" />
> <ivy pattern="internal-libs/[organisation]/[module]/[revision]/ivy.xml"/>
> </filesystem>
> <filesystem name="local" m2compatible="true" checkconsistency="true" checkmodified="true" allownomd="false">
> <artifact pattern="local-libs/[organisation]/[module]/[revision]/[type]s/[artifact]-[revision].[ext]" />
> <ivy pattern="local-libs/[organisation]/[module]/[revision]/ivy.xml"/>
> </filesystem>
>
> <chain name="company-chain" returnFirst="true">
> <resolver ref="local"/>
> <resolver ref="internal"/>
> </chain>
> <chain name="default-chain" returnFirst="true">
> <resolver ref="external"/>
> </chain>
> </resolvers>
> <modules>
> <module organisation="com.company.*" name=".*" matcher="regexp" resolver="company-chain"/>
> </modules>
> </ivyconf>
> {code}
> The external repository is where we push the libraries external to my company, like Apache libs. The internal repo contains the released versions of our libraries. The local one is the developer one, this is where the locally builds are pushed.
> app-lib1 and app-lib2 are resolved correctly, but not app-lib3. The only difference between app-lib1 and app-lib3 is that app-lib3 was never released, so the only existing version is in local-libs, and the version is 0.1.0-117639-dev-20080115164755.
> Here is the app-lib3 resolve part:
> {noformat}
> == resolving dependencies com.company#app;working@almeda->com.company#app-lib3;latest.development [default->default]
> found conflicting revisions for com.company#app-lib3;latest.development in com.company#app;working@almeda: [com.company#app-lib3;latest.development]
> selected revisions for com.company#app-lib3;latest.development in com.company#app;working@almeda: [com.company#app-lib3;latest.development]
> loadData of com.company#app-lib3;latest.development of rootConf=default
> using company-chain to resolve com.company#app-lib3;latest.development
> company-chain: Checking cache for: dependency: com.company#app-lib3;latest.development {default=[default]}
> don't use cache for com.company#app-lib3;latest.development: checkModified=true
> don't use cache for com.company#app-lib3;latest.development: checkModified=true
> trying local-libs/com/company/app-lib3/latest.development/ivy.xml
> tried local-libs/com/company/app-lib3/latest.development/ivy.xml
> tried local-libs/com/company/app-lib3/[revision]/ivy.xml
> listing all in local-libs/com/company/app-lib3/[revision]/ivy.xml
> using local to list all in local-libs/com/company/app-lib3/
> found 1 resources
> found revs: [0.1.0-117639-dev-20080115164755]
> local: found md file for com.company#app-lib3;latest.development
> => local-libs/com/company/app-lib3/0.1.0-117639-dev-20080115164755/ivy.xml (0.1.0-117639-dev-20080115164755)
> parser = ivy parser
> no ivy file in cache for com.company#app-lib3;0.1.0-117639-dev-20080115164755: tried ivy2-cache/com.company/app-lib3/ivy-0.1.0-117639-dev-20080115164755.xml
> downloading local-libs/com/company/app-lib3/0.1.0-117639-dev-20080115164755/ivy.xml ...
> local: downloading local-libs/com/company/app-lib3/0.1.0-117639-dev-20080115164755/ivy.xml
> to ivy2-cache/com.company/app-lib3/ivys/ivy.original-0.1.0-117639-dev-20080115164755.xml.part
> [SUCCESSFUL ] com.company#app-lib3;0.1.0-117639-dev-20080115164755!ivy.original.xml(ivy) (31ms)
> pre 1.3 ivy file: using exactOrRegexp as default matcher
> local: impossible to get module descriptor resource: local-libs/com/company/app-lib3/0.1.0-117639-dev-20080115164755/ivy.xml (0.1.0-117639-dev-20080115164755)
> tried [0.1.0-117639-dev-20080115164755 (no or bad MD)]
> local: no resource found for com/#app-lib3;latest.development: pattern=local-libs/[organisation]/[module]/[revision]/ivy.xml
> local: no ivy file found for com.company#app-lib3;latest.development
> don't use cache for com.company#app-lib3;latest.development: checkModified=true
> trying internal-libs/com/company/app-lib3/latest.development/ivy.xml
> tried internal-libs/com/company/app-lib3/latest.development/ivy.xml
> tried internal-libs/com/company/app-lib3/[revision]/ivy.xml
> listing all in internal-libs/com/company/app-lib3/[revision]/ivy.xml
> using internal to list all in internal-libs/com/company/app-lib3/
> no resources found
> internal: unable to list resources for com/#app-lib3;latest.development: pattern=internal-libs/[organisation]/[module]/[revision]/ivy.xml
> internal: no ivy file found for com.company#app-lib3;latest.development
> WARN: module not found: com.company#app-lib3;latest.development
> WARN: ==== local: tried
> WARN: local-libs/com/company/app-lib3/latest.development/ivy.xml
> WARN: local-libs/com/company/app-lib3/[revision]/ivy.xml
> WARN: [0.1.0-117639-dev-20080115164755 (no or bad MD)]
> WARN: ==== internal: tried
> WARN: internal-libs/com/company/app-lib3/latest.development/ivy.xml
> WARN: internal-libs/com/company/app-lib3/[revision]/ivy.xml
> com.company#app-lib3;latest.development => dependencies resolved in default (68ms)
> {noformat}
> Here is the app-lib1 resolve part:
> {noformat}
> == resolving dependencies com.company#app;working@almeda->com.company#app-lib1;latest.development [default->runtime]
> found conflicting revisions for com.company#app-lib1;latest.development in com.company#app;working@almeda: [com.company#app-lib1;latest.development]
> selected revisions for com.company#app-lib1;latest.development in com.company#app;working@almeda: [com.company#app-lib1;latest.development]
> loadData of com.company#app-lib1;latest.development of rootConf=default
> using company-chain to resolve com.company#app-lib1;latest.development
> company-chain: Checking cache for: dependency: com.company#app-lib1;latest.development {default=[runtime]}
> don't use cache for com.company#app-lib1;latest.development: checkModified=true
> don't use cache for com.company#app-lib1;latest.development: checkModified=true
> trying local-libs/com/company/app-lib1/latest.development/ivy.xml
> local-libs/com/company/app-lib1/latest.development/ivy.xml
> tried local-libs/com/company/app-lib1/[revision]/ivy.xml
> listing all in local-libs/com/company/app-lib1/[revision]/ivy.xml
> using local to list all in local-libs/com/company/app-lib1/
> found 1 resources
> found revs: [3.3.1-117388-dev-20080115104256]
> local: found md file for com.company#app-lib1;latest.development
> => local-libs/com/company/app-lib1/3.3.1-117388-dev-20080115104256/ivy.xml (3.3.1-117388-dev-20080115104256)
> parser = ivy parser
> no ivy file in cache for com.company#app-lib1;3.3.1-117388-dev-20080115104256: tried local-libs/com/company/app-lib1/ivy-3.3.1-117388-dev-20080115104256.xml
> downloading local-libs/com/company/app-lib1/3.3.1-117388-dev-20080115104256/ivy.xml ...
> local: downloading local-libs/com/company/app-lib1/3.3.1-117388-dev-20080115104256/ivy.xml
> to ivy2-cache/com.company/app-lib1/ivys/ivy.original-3.3.1-117388-dev-20080115104256.xml.part
> [SUCCESSFUL ] com.company#app-lib1;3.3.1-117388-dev-20080115104256!ivy.original.xml(ivy) (11ms)
> pre 1.3 ivy file: using exactOrRegexp as default matcher
> default-cache: parsed downloaded md file for com.company#app-lib1;3.3.1-117388-dev-20080115104256; parsed=com.company#app-lib1;3.3.1-117388-dev-20080115104256
> com.company#app-lib1;3.3.1-117388-dev-20080115104256 is changing, but has not changed: will trust cached artifacts if any
> [3.3.1-117388-dev-20080115104256] com.company#app-lib1
> found com.company#app-lib1;3.3.1-117388-dev-20080115104256 in local
> [3.3.1-117388-dev-20080115104256] com.company#app-lib1;latest.development
> conflict resolution already done for com.company#app-lib1;3.3.1-117388-dev-20080115104256 in com.company#app;working@almeda
> {noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (IVY-702) Ivy2 fail to resolve a
latest.development dependency
Posted by "Nicolas Lalevée (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/IVY-702?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12559495#action_12559495 ]
Nicolas Lalevée commented on IVY-702:
-------------------------------------
yep, I really want it to work :)
So I debug it with eclipse itself and you are right, there is a ParseException. So I found the source of the issue, which is mine (well in fact one of my damned colleague ! :p). A configuration was used in the dependencies without being declared.
So here at least Ivy should generate an error in the log while the ParseException is catched.
And I also retested it with an Ivy1.4 cache : it works with the fixed ivy.xml
> Ivy2 fail to resolve a latest.development dependency
> ----------------------------------------------------
>
> Key: IVY-702
> URL: https://issues.apache.org/jira/browse/IVY-702
> Project: Ivy
> Issue Type: Bug
> Affects Versions: 2.0.0-beta-2
> Reporter: Nicolas Lalevée
>
> Using the Ivy trunk within IvyDE, it doesn't find a dependency.
> Here is the ivy.xml from which I try to do the resolve :
> {code:xml}
> <ivy-module version="1.0">
> <info organisation="com.company" module="app"/>
> <configurations>
> <conf name="default"/>
> <conf name="runtime" extends="default"/>
> <conf name="test" extends="compile,runtime"/>
> <conf name="compile" extends="default"/>
> <conf name="webapp"/>
> <conf name="debian"/>
> <conf name="mock"/>
> <conf name="mock-war" extends="runtime"/>
> <conf name="eclipse"/>
> </configurations>
> <publications>
> <artifact name="app-core" type="jar" ext="jar" conf="default"/>
> <artifact name="app-core" type="source" ext="jar" conf="default"/>
> <artifact name="app-core" type="war" ext="war" conf="webapp"/>
> <artifact name="app-core" type="deb" ext="deb" conf="debian"/>
> </publications>
> <dependencies>
> <dependency org="com.company" name="app-lib1" rev="latest.development" conf="default->runtime" changing="true"/>
> <dependency org="com.company" name="app-lib2" rev="1.4.5" conf="default" changing="true"/>
> <dependency org="com.company" name="app-lib3" conf="default" rev="latest.development"/>
> <dependency org="javax.servlet" name="servlet-api" rev="2.4" conf="compile->default"/>
> <dependency org="org.apache" name="fam" rev="0.1.0-r510454" conf="default" />
> <dependency org="velocity" name="velocity" rev="1.4" conf="default"/>
> <dependency org="velocity-tools" name="velocity-tools" rev="1.2" conf="default"/>
> <dependency org="junit" name="junit" rev="3.8.2" conf="test->default" changing="true"/>
> </dependencies>
> </ivy-module>
> {code}
> Here is my ivy-conf:
> {code:xml}
> <ivyconf>
> <properties file="ivyconf.properties"/>
> <conf defaultResolver="default-chain" defaultConflictManager="conflict-latest-revision" defaultLatestStrategy="strategy-latest-revision" checkUpToDate="true" defaultCache="ivy2-cache"/>
> <latest-strategies>
> <latest-revision name="strategy-latest-revision">
> <specialMeaning name="patched" value="3"/>
> </latest-revision>
> </latest-strategies>
>
> <conflict-managers>
> <latest-cm name="conflict-latest-revision" latest="strategy-latest-revision" />
> </conflict-managers>
> <!--
> 3 statuses defined, they will all have a different versioning information
> See build.xml for more information
>
> release : [major].[minor].[patch]
> integration : [major].[minor].[patch]-[svn.revision]-dev
> development : [major].[minor].[patch]-[svn.revision]-dev-[timestamp]
> -->
> <statuses default="development">
> <status name="release" integration="false"/>
> <status name="integration" integration="true"/>
> <status name="development" integration="true"/>
> </statuses>
>
> <resolvers checkUpToDate="true">
>
> <filesystem name="external" m2compatible="true" checkconsistency="true" checkmodified="true" allownomd="false">
> <artifact pattern="external-libs/[organisation]/[module]/[revision]/[type]s/[artifact]-[revision].[ext]" />
> <ivy pattern="external-libs/[organisation]/[module]/[revision]/ivy.xml"/>
> </filesystem>
> <filesystem name="internal" m2compatible="true" checkconsistency="true" checkmodified="true" allownomd="false">
> <artifact pattern="internal-libs/[organisation]/[module]/[revision]/[type]s/[artifact]-[revision].[ext]" />
> <ivy pattern="internal-libs/[organisation]/[module]/[revision]/ivy.xml"/>
> </filesystem>
> <filesystem name="local" m2compatible="true" checkconsistency="true" checkmodified="true" allownomd="false">
> <artifact pattern="local-libs/[organisation]/[module]/[revision]/[type]s/[artifact]-[revision].[ext]" />
> <ivy pattern="local-libs/[organisation]/[module]/[revision]/ivy.xml"/>
> </filesystem>
>
> <chain name="company-chain" returnFirst="true">
> <resolver ref="local"/>
> <resolver ref="internal"/>
> </chain>
> <chain name="default-chain" returnFirst="true">
> <resolver ref="external"/>
> </chain>
> </resolvers>
> <modules>
> <module organisation="com.company.*" name=".*" matcher="regexp" resolver="company-chain"/>
> </modules>
> </ivyconf>
> {code}
> The external repository is where we push the libraries external to my company, like Apache libs. The internal repo contains the released versions of our libraries. The local one is the developer one, this is where the locally builds are pushed.
> app-lib1 and app-lib2 are resolved correctly, but not app-lib3. The only difference between app-lib1 and app-lib3 is that app-lib3 was never released, so the only existing version is in local-libs, and the version is 0.1.0-117639-dev-20080115164755.
> Here is the app-lib3 resolve part:
> {noformat}
> == resolving dependencies com.company#app;working@almeda->com.company#app-lib3;latest.development [default->default]
> found conflicting revisions for com.company#app-lib3;latest.development in com.company#app;working@almeda: [com.company#app-lib3;latest.development]
> selected revisions for com.company#app-lib3;latest.development in com.company#app;working@almeda: [com.company#app-lib3;latest.development]
> loadData of com.company#app-lib3;latest.development of rootConf=default
> using company-chain to resolve com.company#app-lib3;latest.development
> company-chain: Checking cache for: dependency: com.company#app-lib3;latest.development {default=[default]}
> don't use cache for com.company#app-lib3;latest.development: checkModified=true
> don't use cache for com.company#app-lib3;latest.development: checkModified=true
> trying local-libs/com/company/app-lib3/latest.development/ivy.xml
> tried local-libs/com/company/app-lib3/latest.development/ivy.xml
> tried local-libs/com/company/app-lib3/[revision]/ivy.xml
> listing all in local-libs/com/company/app-lib3/[revision]/ivy.xml
> using local to list all in local-libs/com/company/app-lib3/
> found 1 resources
> found revs: [0.1.0-117639-dev-20080115164755]
> local: found md file for com.company#app-lib3;latest.development
> => local-libs/com/company/app-lib3/0.1.0-117639-dev-20080115164755/ivy.xml (0.1.0-117639-dev-20080115164755)
> parser = ivy parser
> no ivy file in cache for com.company#app-lib3;0.1.0-117639-dev-20080115164755: tried ivy2-cache/com.company/app-lib3/ivy-0.1.0-117639-dev-20080115164755.xml
> downloading local-libs/com/company/app-lib3/0.1.0-117639-dev-20080115164755/ivy.xml ...
> local: downloading local-libs/com/company/app-lib3/0.1.0-117639-dev-20080115164755/ivy.xml
> to ivy2-cache/com.company/app-lib3/ivys/ivy.original-0.1.0-117639-dev-20080115164755.xml.part
> [SUCCESSFUL ] com.company#app-lib3;0.1.0-117639-dev-20080115164755!ivy.original.xml(ivy) (31ms)
> pre 1.3 ivy file: using exactOrRegexp as default matcher
> local: impossible to get module descriptor resource: local-libs/com/company/app-lib3/0.1.0-117639-dev-20080115164755/ivy.xml (0.1.0-117639-dev-20080115164755)
> tried [0.1.0-117639-dev-20080115164755 (no or bad MD)]
> local: no resource found for com/#app-lib3;latest.development: pattern=local-libs/[organisation]/[module]/[revision]/ivy.xml
> local: no ivy file found for com.company#app-lib3;latest.development
> don't use cache for com.company#app-lib3;latest.development: checkModified=true
> trying internal-libs/com/company/app-lib3/latest.development/ivy.xml
> tried internal-libs/com/company/app-lib3/latest.development/ivy.xml
> tried internal-libs/com/company/app-lib3/[revision]/ivy.xml
> listing all in internal-libs/com/company/app-lib3/[revision]/ivy.xml
> using internal to list all in internal-libs/com/company/app-lib3/
> no resources found
> internal: unable to list resources for com/#app-lib3;latest.development: pattern=internal-libs/[organisation]/[module]/[revision]/ivy.xml
> internal: no ivy file found for com.company#app-lib3;latest.development
> WARN: module not found: com.company#app-lib3;latest.development
> WARN: ==== local: tried
> WARN: local-libs/com/company/app-lib3/latest.development/ivy.xml
> WARN: local-libs/com/company/app-lib3/[revision]/ivy.xml
> WARN: [0.1.0-117639-dev-20080115164755 (no or bad MD)]
> WARN: ==== internal: tried
> WARN: internal-libs/com/company/app-lib3/latest.development/ivy.xml
> WARN: internal-libs/com/company/app-lib3/[revision]/ivy.xml
> com.company#app-lib3;latest.development => dependencies resolved in default (68ms)
> {noformat}
> Here is the app-lib1 resolve part:
> {noformat}
> == resolving dependencies com.company#app;working@almeda->com.company#app-lib1;latest.development [default->runtime]
> found conflicting revisions for com.company#app-lib1;latest.development in com.company#app;working@almeda: [com.company#app-lib1;latest.development]
> selected revisions for com.company#app-lib1;latest.development in com.company#app;working@almeda: [com.company#app-lib1;latest.development]
> loadData of com.company#app-lib1;latest.development of rootConf=default
> using company-chain to resolve com.company#app-lib1;latest.development
> company-chain: Checking cache for: dependency: com.company#app-lib1;latest.development {default=[runtime]}
> don't use cache for com.company#app-lib1;latest.development: checkModified=true
> don't use cache for com.company#app-lib1;latest.development: checkModified=true
> trying local-libs/com/company/app-lib1/latest.development/ivy.xml
> local-libs/com/company/app-lib1/latest.development/ivy.xml
> tried local-libs/com/company/app-lib1/[revision]/ivy.xml
> listing all in local-libs/com/company/app-lib1/[revision]/ivy.xml
> using local to list all in local-libs/com/company/app-lib1/
> found 1 resources
> found revs: [3.3.1-117388-dev-20080115104256]
> local: found md file for com.company#app-lib1;latest.development
> => local-libs/com/company/app-lib1/3.3.1-117388-dev-20080115104256/ivy.xml (3.3.1-117388-dev-20080115104256)
> parser = ivy parser
> no ivy file in cache for com.company#app-lib1;3.3.1-117388-dev-20080115104256: tried local-libs/com/company/app-lib1/ivy-3.3.1-117388-dev-20080115104256.xml
> downloading local-libs/com/company/app-lib1/3.3.1-117388-dev-20080115104256/ivy.xml ...
> local: downloading local-libs/com/company/app-lib1/3.3.1-117388-dev-20080115104256/ivy.xml
> to ivy2-cache/com.company/app-lib1/ivys/ivy.original-3.3.1-117388-dev-20080115104256.xml.part
> [SUCCESSFUL ] com.company#app-lib1;3.3.1-117388-dev-20080115104256!ivy.original.xml(ivy) (11ms)
> pre 1.3 ivy file: using exactOrRegexp as default matcher
> default-cache: parsed downloaded md file for com.company#app-lib1;3.3.1-117388-dev-20080115104256; parsed=com.company#app-lib1;3.3.1-117388-dev-20080115104256
> com.company#app-lib1;3.3.1-117388-dev-20080115104256 is changing, but has not changed: will trust cached artifacts if any
> [3.3.1-117388-dev-20080115104256] com.company#app-lib1
> found com.company#app-lib1;3.3.1-117388-dev-20080115104256 in local
> [3.3.1-117388-dev-20080115104256] com.company#app-lib1;latest.development
> conflict resolution already done for com.company#app-lib1;3.3.1-117388-dev-20080115104256 in com.company#app;working@almeda
> {noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (IVY-702) Ivy swallows ParseException when using a
latest strategy requiring module descriptors
Posted by "Nicolas Lalevée (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/IVY-702?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Nicolas Lalevée updated IVY-702:
--------------------------------
Summary: Ivy swallows ParseException when using a latest strategy requiring module descriptors (was: Ivy2 fail to resolve a latest.development dependency)
> Ivy swallows ParseException when using a latest strategy requiring module descriptors
> -------------------------------------------------------------------------------------
>
> Key: IVY-702
> URL: https://issues.apache.org/jira/browse/IVY-702
> Project: Ivy
> Issue Type: Bug
> Affects Versions: 2.0.0-beta-2
> Reporter: Nicolas Lalevée
> Attachments: IVY-702-r612476.patch
>
>
> Using the Ivy trunk within IvyDE, it doesn't find a dependency.
> Here is the ivy.xml from which I try to do the resolve :
> {code:xml}
> <ivy-module version="1.0">
> <info organisation="com.company" module="app"/>
> <configurations>
> <conf name="default"/>
> <conf name="runtime" extends="default"/>
> <conf name="test" extends="compile,runtime"/>
> <conf name="compile" extends="default"/>
> <conf name="webapp"/>
> <conf name="debian"/>
> <conf name="mock"/>
> <conf name="mock-war" extends="runtime"/>
> <conf name="eclipse"/>
> </configurations>
> <publications>
> <artifact name="app-core" type="jar" ext="jar" conf="default"/>
> <artifact name="app-core" type="source" ext="jar" conf="default"/>
> <artifact name="app-core" type="war" ext="war" conf="webapp"/>
> <artifact name="app-core" type="deb" ext="deb" conf="debian"/>
> </publications>
> <dependencies>
> <dependency org="com.company" name="app-lib1" rev="latest.development" conf="default->runtime" changing="true"/>
> <dependency org="com.company" name="app-lib2" rev="1.4.5" conf="default" changing="true"/>
> <dependency org="com.company" name="app-lib3" conf="default" rev="latest.development"/>
> <dependency org="javax.servlet" name="servlet-api" rev="2.4" conf="compile->default"/>
> <dependency org="org.apache" name="fam" rev="0.1.0-r510454" conf="default" />
> <dependency org="velocity" name="velocity" rev="1.4" conf="default"/>
> <dependency org="velocity-tools" name="velocity-tools" rev="1.2" conf="default"/>
> <dependency org="junit" name="junit" rev="3.8.2" conf="test->default" changing="true"/>
> </dependencies>
> </ivy-module>
> {code}
> Here is my ivy-conf:
> {code:xml}
> <ivyconf>
> <properties file="ivyconf.properties"/>
> <conf defaultResolver="default-chain" defaultConflictManager="conflict-latest-revision" defaultLatestStrategy="strategy-latest-revision" checkUpToDate="true" defaultCache="ivy2-cache"/>
> <latest-strategies>
> <latest-revision name="strategy-latest-revision">
> <specialMeaning name="patched" value="3"/>
> </latest-revision>
> </latest-strategies>
>
> <conflict-managers>
> <latest-cm name="conflict-latest-revision" latest="strategy-latest-revision" />
> </conflict-managers>
> <!--
> 3 statuses defined, they will all have a different versioning information
> See build.xml for more information
>
> release : [major].[minor].[patch]
> integration : [major].[minor].[patch]-[svn.revision]-dev
> development : [major].[minor].[patch]-[svn.revision]-dev-[timestamp]
> -->
> <statuses default="development">
> <status name="release" integration="false"/>
> <status name="integration" integration="true"/>
> <status name="development" integration="true"/>
> </statuses>
>
> <resolvers checkUpToDate="true">
>
> <filesystem name="external" m2compatible="true" checkconsistency="true" checkmodified="true" allownomd="false">
> <artifact pattern="external-libs/[organisation]/[module]/[revision]/[type]s/[artifact]-[revision].[ext]" />
> <ivy pattern="external-libs/[organisation]/[module]/[revision]/ivy.xml"/>
> </filesystem>
> <filesystem name="internal" m2compatible="true" checkconsistency="true" checkmodified="true" allownomd="false">
> <artifact pattern="internal-libs/[organisation]/[module]/[revision]/[type]s/[artifact]-[revision].[ext]" />
> <ivy pattern="internal-libs/[organisation]/[module]/[revision]/ivy.xml"/>
> </filesystem>
> <filesystem name="local" m2compatible="true" checkconsistency="true" checkmodified="true" allownomd="false">
> <artifact pattern="local-libs/[organisation]/[module]/[revision]/[type]s/[artifact]-[revision].[ext]" />
> <ivy pattern="local-libs/[organisation]/[module]/[revision]/ivy.xml"/>
> </filesystem>
>
> <chain name="company-chain" returnFirst="true">
> <resolver ref="local"/>
> <resolver ref="internal"/>
> </chain>
> <chain name="default-chain" returnFirst="true">
> <resolver ref="external"/>
> </chain>
> </resolvers>
> <modules>
> <module organisation="com.company.*" name=".*" matcher="regexp" resolver="company-chain"/>
> </modules>
> </ivyconf>
> {code}
> The external repository is where we push the libraries external to my company, like Apache libs. The internal repo contains the released versions of our libraries. The local one is the developer one, this is where the locally builds are pushed.
> app-lib1 and app-lib2 are resolved correctly, but not app-lib3. The only difference between app-lib1 and app-lib3 is that app-lib3 was never released, so the only existing version is in local-libs, and the version is 0.1.0-117639-dev-20080115164755.
> Here is the app-lib3 resolve part:
> {noformat}
> == resolving dependencies com.company#app;working@almeda->com.company#app-lib3;latest.development [default->default]
> found conflicting revisions for com.company#app-lib3;latest.development in com.company#app;working@almeda: [com.company#app-lib3;latest.development]
> selected revisions for com.company#app-lib3;latest.development in com.company#app;working@almeda: [com.company#app-lib3;latest.development]
> loadData of com.company#app-lib3;latest.development of rootConf=default
> using company-chain to resolve com.company#app-lib3;latest.development
> company-chain: Checking cache for: dependency: com.company#app-lib3;latest.development {default=[default]}
> don't use cache for com.company#app-lib3;latest.development: checkModified=true
> don't use cache for com.company#app-lib3;latest.development: checkModified=true
> trying local-libs/com/company/app-lib3/latest.development/ivy.xml
> tried local-libs/com/company/app-lib3/latest.development/ivy.xml
> tried local-libs/com/company/app-lib3/[revision]/ivy.xml
> listing all in local-libs/com/company/app-lib3/[revision]/ivy.xml
> using local to list all in local-libs/com/company/app-lib3/
> found 1 resources
> found revs: [0.1.0-117639-dev-20080115164755]
> local: found md file for com.company#app-lib3;latest.development
> => local-libs/com/company/app-lib3/0.1.0-117639-dev-20080115164755/ivy.xml (0.1.0-117639-dev-20080115164755)
> parser = ivy parser
> no ivy file in cache for com.company#app-lib3;0.1.0-117639-dev-20080115164755: tried ivy2-cache/com.company/app-lib3/ivy-0.1.0-117639-dev-20080115164755.xml
> downloading local-libs/com/company/app-lib3/0.1.0-117639-dev-20080115164755/ivy.xml ...
> local: downloading local-libs/com/company/app-lib3/0.1.0-117639-dev-20080115164755/ivy.xml
> to ivy2-cache/com.company/app-lib3/ivys/ivy.original-0.1.0-117639-dev-20080115164755.xml.part
> [SUCCESSFUL ] com.company#app-lib3;0.1.0-117639-dev-20080115164755!ivy.original.xml(ivy) (31ms)
> pre 1.3 ivy file: using exactOrRegexp as default matcher
> local: impossible to get module descriptor resource: local-libs/com/company/app-lib3/0.1.0-117639-dev-20080115164755/ivy.xml (0.1.0-117639-dev-20080115164755)
> tried [0.1.0-117639-dev-20080115164755 (no or bad MD)]
> local: no resource found for com/#app-lib3;latest.development: pattern=local-libs/[organisation]/[module]/[revision]/ivy.xml
> local: no ivy file found for com.company#app-lib3;latest.development
> don't use cache for com.company#app-lib3;latest.development: checkModified=true
> trying internal-libs/com/company/app-lib3/latest.development/ivy.xml
> tried internal-libs/com/company/app-lib3/latest.development/ivy.xml
> tried internal-libs/com/company/app-lib3/[revision]/ivy.xml
> listing all in internal-libs/com/company/app-lib3/[revision]/ivy.xml
> using internal to list all in internal-libs/com/company/app-lib3/
> no resources found
> internal: unable to list resources for com/#app-lib3;latest.development: pattern=internal-libs/[organisation]/[module]/[revision]/ivy.xml
> internal: no ivy file found for com.company#app-lib3;latest.development
> WARN: module not found: com.company#app-lib3;latest.development
> WARN: ==== local: tried
> WARN: local-libs/com/company/app-lib3/latest.development/ivy.xml
> WARN: local-libs/com/company/app-lib3/[revision]/ivy.xml
> WARN: [0.1.0-117639-dev-20080115164755 (no or bad MD)]
> WARN: ==== internal: tried
> WARN: internal-libs/com/company/app-lib3/latest.development/ivy.xml
> WARN: internal-libs/com/company/app-lib3/[revision]/ivy.xml
> com.company#app-lib3;latest.development => dependencies resolved in default (68ms)
> {noformat}
> Here is the app-lib1 resolve part:
> {noformat}
> == resolving dependencies com.company#app;working@almeda->com.company#app-lib1;latest.development [default->runtime]
> found conflicting revisions for com.company#app-lib1;latest.development in com.company#app;working@almeda: [com.company#app-lib1;latest.development]
> selected revisions for com.company#app-lib1;latest.development in com.company#app;working@almeda: [com.company#app-lib1;latest.development]
> loadData of com.company#app-lib1;latest.development of rootConf=default
> using company-chain to resolve com.company#app-lib1;latest.development
> company-chain: Checking cache for: dependency: com.company#app-lib1;latest.development {default=[runtime]}
> don't use cache for com.company#app-lib1;latest.development: checkModified=true
> don't use cache for com.company#app-lib1;latest.development: checkModified=true
> trying local-libs/com/company/app-lib1/latest.development/ivy.xml
> local-libs/com/company/app-lib1/latest.development/ivy.xml
> tried local-libs/com/company/app-lib1/[revision]/ivy.xml
> listing all in local-libs/com/company/app-lib1/[revision]/ivy.xml
> using local to list all in local-libs/com/company/app-lib1/
> found 1 resources
> found revs: [3.3.1-117388-dev-20080115104256]
> local: found md file for com.company#app-lib1;latest.development
> => local-libs/com/company/app-lib1/3.3.1-117388-dev-20080115104256/ivy.xml (3.3.1-117388-dev-20080115104256)
> parser = ivy parser
> no ivy file in cache for com.company#app-lib1;3.3.1-117388-dev-20080115104256: tried local-libs/com/company/app-lib1/ivy-3.3.1-117388-dev-20080115104256.xml
> downloading local-libs/com/company/app-lib1/3.3.1-117388-dev-20080115104256/ivy.xml ...
> local: downloading local-libs/com/company/app-lib1/3.3.1-117388-dev-20080115104256/ivy.xml
> to ivy2-cache/com.company/app-lib1/ivys/ivy.original-3.3.1-117388-dev-20080115104256.xml.part
> [SUCCESSFUL ] com.company#app-lib1;3.3.1-117388-dev-20080115104256!ivy.original.xml(ivy) (11ms)
> pre 1.3 ivy file: using exactOrRegexp as default matcher
> default-cache: parsed downloaded md file for com.company#app-lib1;3.3.1-117388-dev-20080115104256; parsed=com.company#app-lib1;3.3.1-117388-dev-20080115104256
> com.company#app-lib1;3.3.1-117388-dev-20080115104256 is changing, but has not changed: will trust cached artifacts if any
> [3.3.1-117388-dev-20080115104256] com.company#app-lib1
> found com.company#app-lib1;3.3.1-117388-dev-20080115104256 in local
> [3.3.1-117388-dev-20080115104256] com.company#app-lib1;latest.development
> conflict resolution already done for com.company#app-lib1;3.3.1-117388-dev-20080115104256 in com.company#app;working@almeda
> {noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Assigned: (IVY-702) Ivy swallows ParseException when using a
latest strategy requiring module descriptors
Posted by "Xavier Hanin (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/IVY-702?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Xavier Hanin reassigned IVY-702:
--------------------------------
Assignee: Xavier Hanin
> Ivy swallows ParseException when using a latest strategy requiring module descriptors
> -------------------------------------------------------------------------------------
>
> Key: IVY-702
> URL: https://issues.apache.org/jira/browse/IVY-702
> Project: Ivy
> Issue Type: Bug
> Affects Versions: 2.0.0-beta-2
> Reporter: Nicolas Lalevée
> Assignee: Xavier Hanin
> Priority: Minor
> Fix For: 2.0.0-beta-2
>
> Attachments: IVY-702-r612476.patch
>
>
> Using the Ivy trunk within IvyDE, it doesn't find a dependency.
> Here is the ivy.xml from which I try to do the resolve :
> {code:xml}
> <ivy-module version="1.0">
> <info organisation="com.company" module="app"/>
> <configurations>
> <conf name="default"/>
> <conf name="runtime" extends="default"/>
> <conf name="test" extends="compile,runtime"/>
> <conf name="compile" extends="default"/>
> <conf name="webapp"/>
> <conf name="debian"/>
> <conf name="mock"/>
> <conf name="mock-war" extends="runtime"/>
> <conf name="eclipse"/>
> </configurations>
> <publications>
> <artifact name="app-core" type="jar" ext="jar" conf="default"/>
> <artifact name="app-core" type="source" ext="jar" conf="default"/>
> <artifact name="app-core" type="war" ext="war" conf="webapp"/>
> <artifact name="app-core" type="deb" ext="deb" conf="debian"/>
> </publications>
> <dependencies>
> <dependency org="com.company" name="app-lib1" rev="latest.development" conf="default->runtime" changing="true"/>
> <dependency org="com.company" name="app-lib2" rev="1.4.5" conf="default" changing="true"/>
> <dependency org="com.company" name="app-lib3" conf="default" rev="latest.development"/>
> <dependency org="javax.servlet" name="servlet-api" rev="2.4" conf="compile->default"/>
> <dependency org="org.apache" name="fam" rev="0.1.0-r510454" conf="default" />
> <dependency org="velocity" name="velocity" rev="1.4" conf="default"/>
> <dependency org="velocity-tools" name="velocity-tools" rev="1.2" conf="default"/>
> <dependency org="junit" name="junit" rev="3.8.2" conf="test->default" changing="true"/>
> </dependencies>
> </ivy-module>
> {code}
> Here is my ivy-conf:
> {code:xml}
> <ivyconf>
> <properties file="ivyconf.properties"/>
> <conf defaultResolver="default-chain" defaultConflictManager="conflict-latest-revision" defaultLatestStrategy="strategy-latest-revision" checkUpToDate="true" defaultCache="ivy2-cache"/>
> <latest-strategies>
> <latest-revision name="strategy-latest-revision">
> <specialMeaning name="patched" value="3"/>
> </latest-revision>
> </latest-strategies>
>
> <conflict-managers>
> <latest-cm name="conflict-latest-revision" latest="strategy-latest-revision" />
> </conflict-managers>
> <!--
> 3 statuses defined, they will all have a different versioning information
> See build.xml for more information
>
> release : [major].[minor].[patch]
> integration : [major].[minor].[patch]-[svn.revision]-dev
> development : [major].[minor].[patch]-[svn.revision]-dev-[timestamp]
> -->
> <statuses default="development">
> <status name="release" integration="false"/>
> <status name="integration" integration="true"/>
> <status name="development" integration="true"/>
> </statuses>
>
> <resolvers checkUpToDate="true">
>
> <filesystem name="external" m2compatible="true" checkconsistency="true" checkmodified="true" allownomd="false">
> <artifact pattern="external-libs/[organisation]/[module]/[revision]/[type]s/[artifact]-[revision].[ext]" />
> <ivy pattern="external-libs/[organisation]/[module]/[revision]/ivy.xml"/>
> </filesystem>
> <filesystem name="internal" m2compatible="true" checkconsistency="true" checkmodified="true" allownomd="false">
> <artifact pattern="internal-libs/[organisation]/[module]/[revision]/[type]s/[artifact]-[revision].[ext]" />
> <ivy pattern="internal-libs/[organisation]/[module]/[revision]/ivy.xml"/>
> </filesystem>
> <filesystem name="local" m2compatible="true" checkconsistency="true" checkmodified="true" allownomd="false">
> <artifact pattern="local-libs/[organisation]/[module]/[revision]/[type]s/[artifact]-[revision].[ext]" />
> <ivy pattern="local-libs/[organisation]/[module]/[revision]/ivy.xml"/>
> </filesystem>
>
> <chain name="company-chain" returnFirst="true">
> <resolver ref="local"/>
> <resolver ref="internal"/>
> </chain>
> <chain name="default-chain" returnFirst="true">
> <resolver ref="external"/>
> </chain>
> </resolvers>
> <modules>
> <module organisation="com.company.*" name=".*" matcher="regexp" resolver="company-chain"/>
> </modules>
> </ivyconf>
> {code}
> The external repository is where we push the libraries external to my company, like Apache libs. The internal repo contains the released versions of our libraries. The local one is the developer one, this is where the locally builds are pushed.
> app-lib1 and app-lib2 are resolved correctly, but not app-lib3. The only difference between app-lib1 and app-lib3 is that app-lib3 was never released, so the only existing version is in local-libs, and the version is 0.1.0-117639-dev-20080115164755.
> Here is the app-lib3 resolve part:
> {noformat}
> == resolving dependencies com.company#app;working@almeda->com.company#app-lib3;latest.development [default->default]
> found conflicting revisions for com.company#app-lib3;latest.development in com.company#app;working@almeda: [com.company#app-lib3;latest.development]
> selected revisions for com.company#app-lib3;latest.development in com.company#app;working@almeda: [com.company#app-lib3;latest.development]
> loadData of com.company#app-lib3;latest.development of rootConf=default
> using company-chain to resolve com.company#app-lib3;latest.development
> company-chain: Checking cache for: dependency: com.company#app-lib3;latest.development {default=[default]}
> don't use cache for com.company#app-lib3;latest.development: checkModified=true
> don't use cache for com.company#app-lib3;latest.development: checkModified=true
> trying local-libs/com/company/app-lib3/latest.development/ivy.xml
> tried local-libs/com/company/app-lib3/latest.development/ivy.xml
> tried local-libs/com/company/app-lib3/[revision]/ivy.xml
> listing all in local-libs/com/company/app-lib3/[revision]/ivy.xml
> using local to list all in local-libs/com/company/app-lib3/
> found 1 resources
> found revs: [0.1.0-117639-dev-20080115164755]
> local: found md file for com.company#app-lib3;latest.development
> => local-libs/com/company/app-lib3/0.1.0-117639-dev-20080115164755/ivy.xml (0.1.0-117639-dev-20080115164755)
> parser = ivy parser
> no ivy file in cache for com.company#app-lib3;0.1.0-117639-dev-20080115164755: tried ivy2-cache/com.company/app-lib3/ivy-0.1.0-117639-dev-20080115164755.xml
> downloading local-libs/com/company/app-lib3/0.1.0-117639-dev-20080115164755/ivy.xml ...
> local: downloading local-libs/com/company/app-lib3/0.1.0-117639-dev-20080115164755/ivy.xml
> to ivy2-cache/com.company/app-lib3/ivys/ivy.original-0.1.0-117639-dev-20080115164755.xml.part
> [SUCCESSFUL ] com.company#app-lib3;0.1.0-117639-dev-20080115164755!ivy.original.xml(ivy) (31ms)
> pre 1.3 ivy file: using exactOrRegexp as default matcher
> local: impossible to get module descriptor resource: local-libs/com/company/app-lib3/0.1.0-117639-dev-20080115164755/ivy.xml (0.1.0-117639-dev-20080115164755)
> tried [0.1.0-117639-dev-20080115164755 (no or bad MD)]
> local: no resource found for com/#app-lib3;latest.development: pattern=local-libs/[organisation]/[module]/[revision]/ivy.xml
> local: no ivy file found for com.company#app-lib3;latest.development
> don't use cache for com.company#app-lib3;latest.development: checkModified=true
> trying internal-libs/com/company/app-lib3/latest.development/ivy.xml
> tried internal-libs/com/company/app-lib3/latest.development/ivy.xml
> tried internal-libs/com/company/app-lib3/[revision]/ivy.xml
> listing all in internal-libs/com/company/app-lib3/[revision]/ivy.xml
> using internal to list all in internal-libs/com/company/app-lib3/
> no resources found
> internal: unable to list resources for com/#app-lib3;latest.development: pattern=internal-libs/[organisation]/[module]/[revision]/ivy.xml
> internal: no ivy file found for com.company#app-lib3;latest.development
> WARN: module not found: com.company#app-lib3;latest.development
> WARN: ==== local: tried
> WARN: local-libs/com/company/app-lib3/latest.development/ivy.xml
> WARN: local-libs/com/company/app-lib3/[revision]/ivy.xml
> WARN: [0.1.0-117639-dev-20080115164755 (no or bad MD)]
> WARN: ==== internal: tried
> WARN: internal-libs/com/company/app-lib3/latest.development/ivy.xml
> WARN: internal-libs/com/company/app-lib3/[revision]/ivy.xml
> com.company#app-lib3;latest.development => dependencies resolved in default (68ms)
> {noformat}
> Here is the app-lib1 resolve part:
> {noformat}
> == resolving dependencies com.company#app;working@almeda->com.company#app-lib1;latest.development [default->runtime]
> found conflicting revisions for com.company#app-lib1;latest.development in com.company#app;working@almeda: [com.company#app-lib1;latest.development]
> selected revisions for com.company#app-lib1;latest.development in com.company#app;working@almeda: [com.company#app-lib1;latest.development]
> loadData of com.company#app-lib1;latest.development of rootConf=default
> using company-chain to resolve com.company#app-lib1;latest.development
> company-chain: Checking cache for: dependency: com.company#app-lib1;latest.development {default=[runtime]}
> don't use cache for com.company#app-lib1;latest.development: checkModified=true
> don't use cache for com.company#app-lib1;latest.development: checkModified=true
> trying local-libs/com/company/app-lib1/latest.development/ivy.xml
> local-libs/com/company/app-lib1/latest.development/ivy.xml
> tried local-libs/com/company/app-lib1/[revision]/ivy.xml
> listing all in local-libs/com/company/app-lib1/[revision]/ivy.xml
> using local to list all in local-libs/com/company/app-lib1/
> found 1 resources
> found revs: [3.3.1-117388-dev-20080115104256]
> local: found md file for com.company#app-lib1;latest.development
> => local-libs/com/company/app-lib1/3.3.1-117388-dev-20080115104256/ivy.xml (3.3.1-117388-dev-20080115104256)
> parser = ivy parser
> no ivy file in cache for com.company#app-lib1;3.3.1-117388-dev-20080115104256: tried local-libs/com/company/app-lib1/ivy-3.3.1-117388-dev-20080115104256.xml
> downloading local-libs/com/company/app-lib1/3.3.1-117388-dev-20080115104256/ivy.xml ...
> local: downloading local-libs/com/company/app-lib1/3.3.1-117388-dev-20080115104256/ivy.xml
> to ivy2-cache/com.company/app-lib1/ivys/ivy.original-3.3.1-117388-dev-20080115104256.xml.part
> [SUCCESSFUL ] com.company#app-lib1;3.3.1-117388-dev-20080115104256!ivy.original.xml(ivy) (11ms)
> pre 1.3 ivy file: using exactOrRegexp as default matcher
> default-cache: parsed downloaded md file for com.company#app-lib1;3.3.1-117388-dev-20080115104256; parsed=com.company#app-lib1;3.3.1-117388-dev-20080115104256
> com.company#app-lib1;3.3.1-117388-dev-20080115104256 is changing, but has not changed: will trust cached artifacts if any
> [3.3.1-117388-dev-20080115104256] com.company#app-lib1
> found com.company#app-lib1;3.3.1-117388-dev-20080115104256 in local
> [3.3.1-117388-dev-20080115104256] com.company#app-lib1;latest.development
> conflict resolution already done for com.company#app-lib1;3.3.1-117388-dev-20080115104256 in com.company#app;working@almeda
> {noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (IVY-702) Ivy swallows ParseException when using a
latest strategy requiring module descriptors
Posted by "Xavier Hanin (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/IVY-702?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Xavier Hanin resolved IVY-702.
------------------------------
Resolution: Fixed
Fix Version/s: 2.0.0-beta-2
I've applied your patch, thanks for your contribution!
> Ivy swallows ParseException when using a latest strategy requiring module descriptors
> -------------------------------------------------------------------------------------
>
> Key: IVY-702
> URL: https://issues.apache.org/jira/browse/IVY-702
> Project: Ivy
> Issue Type: Bug
> Affects Versions: 2.0.0-beta-2
> Reporter: Nicolas Lalevée
> Assignee: Xavier Hanin
> Priority: Minor
> Fix For: 2.0.0-beta-2
>
> Attachments: IVY-702-r612476.patch
>
>
> Using the Ivy trunk within IvyDE, it doesn't find a dependency.
> Here is the ivy.xml from which I try to do the resolve :
> {code:xml}
> <ivy-module version="1.0">
> <info organisation="com.company" module="app"/>
> <configurations>
> <conf name="default"/>
> <conf name="runtime" extends="default"/>
> <conf name="test" extends="compile,runtime"/>
> <conf name="compile" extends="default"/>
> <conf name="webapp"/>
> <conf name="debian"/>
> <conf name="mock"/>
> <conf name="mock-war" extends="runtime"/>
> <conf name="eclipse"/>
> </configurations>
> <publications>
> <artifact name="app-core" type="jar" ext="jar" conf="default"/>
> <artifact name="app-core" type="source" ext="jar" conf="default"/>
> <artifact name="app-core" type="war" ext="war" conf="webapp"/>
> <artifact name="app-core" type="deb" ext="deb" conf="debian"/>
> </publications>
> <dependencies>
> <dependency org="com.company" name="app-lib1" rev="latest.development" conf="default->runtime" changing="true"/>
> <dependency org="com.company" name="app-lib2" rev="1.4.5" conf="default" changing="true"/>
> <dependency org="com.company" name="app-lib3" conf="default" rev="latest.development"/>
> <dependency org="javax.servlet" name="servlet-api" rev="2.4" conf="compile->default"/>
> <dependency org="org.apache" name="fam" rev="0.1.0-r510454" conf="default" />
> <dependency org="velocity" name="velocity" rev="1.4" conf="default"/>
> <dependency org="velocity-tools" name="velocity-tools" rev="1.2" conf="default"/>
> <dependency org="junit" name="junit" rev="3.8.2" conf="test->default" changing="true"/>
> </dependencies>
> </ivy-module>
> {code}
> Here is my ivy-conf:
> {code:xml}
> <ivyconf>
> <properties file="ivyconf.properties"/>
> <conf defaultResolver="default-chain" defaultConflictManager="conflict-latest-revision" defaultLatestStrategy="strategy-latest-revision" checkUpToDate="true" defaultCache="ivy2-cache"/>
> <latest-strategies>
> <latest-revision name="strategy-latest-revision">
> <specialMeaning name="patched" value="3"/>
> </latest-revision>
> </latest-strategies>
>
> <conflict-managers>
> <latest-cm name="conflict-latest-revision" latest="strategy-latest-revision" />
> </conflict-managers>
> <!--
> 3 statuses defined, they will all have a different versioning information
> See build.xml for more information
>
> release : [major].[minor].[patch]
> integration : [major].[minor].[patch]-[svn.revision]-dev
> development : [major].[minor].[patch]-[svn.revision]-dev-[timestamp]
> -->
> <statuses default="development">
> <status name="release" integration="false"/>
> <status name="integration" integration="true"/>
> <status name="development" integration="true"/>
> </statuses>
>
> <resolvers checkUpToDate="true">
>
> <filesystem name="external" m2compatible="true" checkconsistency="true" checkmodified="true" allownomd="false">
> <artifact pattern="external-libs/[organisation]/[module]/[revision]/[type]s/[artifact]-[revision].[ext]" />
> <ivy pattern="external-libs/[organisation]/[module]/[revision]/ivy.xml"/>
> </filesystem>
> <filesystem name="internal" m2compatible="true" checkconsistency="true" checkmodified="true" allownomd="false">
> <artifact pattern="internal-libs/[organisation]/[module]/[revision]/[type]s/[artifact]-[revision].[ext]" />
> <ivy pattern="internal-libs/[organisation]/[module]/[revision]/ivy.xml"/>
> </filesystem>
> <filesystem name="local" m2compatible="true" checkconsistency="true" checkmodified="true" allownomd="false">
> <artifact pattern="local-libs/[organisation]/[module]/[revision]/[type]s/[artifact]-[revision].[ext]" />
> <ivy pattern="local-libs/[organisation]/[module]/[revision]/ivy.xml"/>
> </filesystem>
>
> <chain name="company-chain" returnFirst="true">
> <resolver ref="local"/>
> <resolver ref="internal"/>
> </chain>
> <chain name="default-chain" returnFirst="true">
> <resolver ref="external"/>
> </chain>
> </resolvers>
> <modules>
> <module organisation="com.company.*" name=".*" matcher="regexp" resolver="company-chain"/>
> </modules>
> </ivyconf>
> {code}
> The external repository is where we push the libraries external to my company, like Apache libs. The internal repo contains the released versions of our libraries. The local one is the developer one, this is where the locally builds are pushed.
> app-lib1 and app-lib2 are resolved correctly, but not app-lib3. The only difference between app-lib1 and app-lib3 is that app-lib3 was never released, so the only existing version is in local-libs, and the version is 0.1.0-117639-dev-20080115164755.
> Here is the app-lib3 resolve part:
> {noformat}
> == resolving dependencies com.company#app;working@almeda->com.company#app-lib3;latest.development [default->default]
> found conflicting revisions for com.company#app-lib3;latest.development in com.company#app;working@almeda: [com.company#app-lib3;latest.development]
> selected revisions for com.company#app-lib3;latest.development in com.company#app;working@almeda: [com.company#app-lib3;latest.development]
> loadData of com.company#app-lib3;latest.development of rootConf=default
> using company-chain to resolve com.company#app-lib3;latest.development
> company-chain: Checking cache for: dependency: com.company#app-lib3;latest.development {default=[default]}
> don't use cache for com.company#app-lib3;latest.development: checkModified=true
> don't use cache for com.company#app-lib3;latest.development: checkModified=true
> trying local-libs/com/company/app-lib3/latest.development/ivy.xml
> tried local-libs/com/company/app-lib3/latest.development/ivy.xml
> tried local-libs/com/company/app-lib3/[revision]/ivy.xml
> listing all in local-libs/com/company/app-lib3/[revision]/ivy.xml
> using local to list all in local-libs/com/company/app-lib3/
> found 1 resources
> found revs: [0.1.0-117639-dev-20080115164755]
> local: found md file for com.company#app-lib3;latest.development
> => local-libs/com/company/app-lib3/0.1.0-117639-dev-20080115164755/ivy.xml (0.1.0-117639-dev-20080115164755)
> parser = ivy parser
> no ivy file in cache for com.company#app-lib3;0.1.0-117639-dev-20080115164755: tried ivy2-cache/com.company/app-lib3/ivy-0.1.0-117639-dev-20080115164755.xml
> downloading local-libs/com/company/app-lib3/0.1.0-117639-dev-20080115164755/ivy.xml ...
> local: downloading local-libs/com/company/app-lib3/0.1.0-117639-dev-20080115164755/ivy.xml
> to ivy2-cache/com.company/app-lib3/ivys/ivy.original-0.1.0-117639-dev-20080115164755.xml.part
> [SUCCESSFUL ] com.company#app-lib3;0.1.0-117639-dev-20080115164755!ivy.original.xml(ivy) (31ms)
> pre 1.3 ivy file: using exactOrRegexp as default matcher
> local: impossible to get module descriptor resource: local-libs/com/company/app-lib3/0.1.0-117639-dev-20080115164755/ivy.xml (0.1.0-117639-dev-20080115164755)
> tried [0.1.0-117639-dev-20080115164755 (no or bad MD)]
> local: no resource found for com/#app-lib3;latest.development: pattern=local-libs/[organisation]/[module]/[revision]/ivy.xml
> local: no ivy file found for com.company#app-lib3;latest.development
> don't use cache for com.company#app-lib3;latest.development: checkModified=true
> trying internal-libs/com/company/app-lib3/latest.development/ivy.xml
> tried internal-libs/com/company/app-lib3/latest.development/ivy.xml
> tried internal-libs/com/company/app-lib3/[revision]/ivy.xml
> listing all in internal-libs/com/company/app-lib3/[revision]/ivy.xml
> using internal to list all in internal-libs/com/company/app-lib3/
> no resources found
> internal: unable to list resources for com/#app-lib3;latest.development: pattern=internal-libs/[organisation]/[module]/[revision]/ivy.xml
> internal: no ivy file found for com.company#app-lib3;latest.development
> WARN: module not found: com.company#app-lib3;latest.development
> WARN: ==== local: tried
> WARN: local-libs/com/company/app-lib3/latest.development/ivy.xml
> WARN: local-libs/com/company/app-lib3/[revision]/ivy.xml
> WARN: [0.1.0-117639-dev-20080115164755 (no or bad MD)]
> WARN: ==== internal: tried
> WARN: internal-libs/com/company/app-lib3/latest.development/ivy.xml
> WARN: internal-libs/com/company/app-lib3/[revision]/ivy.xml
> com.company#app-lib3;latest.development => dependencies resolved in default (68ms)
> {noformat}
> Here is the app-lib1 resolve part:
> {noformat}
> == resolving dependencies com.company#app;working@almeda->com.company#app-lib1;latest.development [default->runtime]
> found conflicting revisions for com.company#app-lib1;latest.development in com.company#app;working@almeda: [com.company#app-lib1;latest.development]
> selected revisions for com.company#app-lib1;latest.development in com.company#app;working@almeda: [com.company#app-lib1;latest.development]
> loadData of com.company#app-lib1;latest.development of rootConf=default
> using company-chain to resolve com.company#app-lib1;latest.development
> company-chain: Checking cache for: dependency: com.company#app-lib1;latest.development {default=[runtime]}
> don't use cache for com.company#app-lib1;latest.development: checkModified=true
> don't use cache for com.company#app-lib1;latest.development: checkModified=true
> trying local-libs/com/company/app-lib1/latest.development/ivy.xml
> local-libs/com/company/app-lib1/latest.development/ivy.xml
> tried local-libs/com/company/app-lib1/[revision]/ivy.xml
> listing all in local-libs/com/company/app-lib1/[revision]/ivy.xml
> using local to list all in local-libs/com/company/app-lib1/
> found 1 resources
> found revs: [3.3.1-117388-dev-20080115104256]
> local: found md file for com.company#app-lib1;latest.development
> => local-libs/com/company/app-lib1/3.3.1-117388-dev-20080115104256/ivy.xml (3.3.1-117388-dev-20080115104256)
> parser = ivy parser
> no ivy file in cache for com.company#app-lib1;3.3.1-117388-dev-20080115104256: tried local-libs/com/company/app-lib1/ivy-3.3.1-117388-dev-20080115104256.xml
> downloading local-libs/com/company/app-lib1/3.3.1-117388-dev-20080115104256/ivy.xml ...
> local: downloading local-libs/com/company/app-lib1/3.3.1-117388-dev-20080115104256/ivy.xml
> to ivy2-cache/com.company/app-lib1/ivys/ivy.original-3.3.1-117388-dev-20080115104256.xml.part
> [SUCCESSFUL ] com.company#app-lib1;3.3.1-117388-dev-20080115104256!ivy.original.xml(ivy) (11ms)
> pre 1.3 ivy file: using exactOrRegexp as default matcher
> default-cache: parsed downloaded md file for com.company#app-lib1;3.3.1-117388-dev-20080115104256; parsed=com.company#app-lib1;3.3.1-117388-dev-20080115104256
> com.company#app-lib1;3.3.1-117388-dev-20080115104256 is changing, but has not changed: will trust cached artifacts if any
> [3.3.1-117388-dev-20080115104256] com.company#app-lib1
> found com.company#app-lib1;3.3.1-117388-dev-20080115104256 in local
> [3.3.1-117388-dev-20080115104256] com.company#app-lib1;latest.development
> conflict resolution already done for com.company#app-lib1;3.3.1-117388-dev-20080115104256 in com.company#app;working@almeda
> {noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (IVY-702) Ivy2 fail to resolve a
latest.development dependency
Posted by "Xavier Hanin (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/IVY-702?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12559456#action_12559456 ]
Xavier Hanin commented on IVY-702:
----------------------------------
It seems Ivy is not giving enough information on what's happening between the SUCCESSFUL and impossible lines here:
{noformat}
local: downloading local-libs/com/company/app-lib3/0.1.0-117639-dev-20080115164755/ivy.xml
to ivy2-cache/com.company/app-lib3/ivys/ivy.original-0.1.0-117639-dev-20080115164755.xml.part
[SUCCESSFUL ] com.company#app-lib3;0.1.0-117639-dev-20080115164755!ivy.original.xml(ivy) (31ms)
pre 1.3 ivy file: using exactOrRegexp as default matcher
local: impossible to get module descriptor resource: local-libs/com/company/app-lib3/0.1.0-117639-dev-20080115164755/ivy.xml (0.1.0-117639-dev-20080115164755)
tried [0.1.0-117639-dev-20080115164755 (no or bad MD)]
{noformat}
This sounds somewhat related to IVY-318.
What I can do is add debug information in Ivy to narrow down the problem, then ask you to try out the version with more details. Or you can try it yourself, my guess is that you need to add logs in BasicResolver#getRMDParser(final DependencyDescriptor dd, final ResolveData data), before each return null statement (I guess the catch(ParseException) is where you get the problem). This will help understand what's wrong.
Is it something you can do?
> Ivy2 fail to resolve a latest.development dependency
> ----------------------------------------------------
>
> Key: IVY-702
> URL: https://issues.apache.org/jira/browse/IVY-702
> Project: Ivy
> Issue Type: Bug
> Affects Versions: 2.0.0-beta-2
> Reporter: Nicolas Lalevée
>
> Using the Ivy trunk within IvyDE, it doesn't find a dependency.
> Here is the ivy.xml from which I try to do the resolve :
> {code:xml}
> <ivy-module version="1.0">
> <info organisation="com.company" module="app"/>
> <configurations>
> <conf name="default"/>
> <conf name="runtime" extends="default"/>
> <conf name="test" extends="compile,runtime"/>
> <conf name="compile" extends="default"/>
> <conf name="webapp"/>
> <conf name="debian"/>
> <conf name="mock"/>
> <conf name="mock-war" extends="runtime"/>
> <conf name="eclipse"/>
> </configurations>
> <publications>
> <artifact name="app-core" type="jar" ext="jar" conf="default"/>
> <artifact name="app-core" type="source" ext="jar" conf="default"/>
> <artifact name="app-core" type="war" ext="war" conf="webapp"/>
> <artifact name="app-core" type="deb" ext="deb" conf="debian"/>
> </publications>
> <dependencies>
> <dependency org="com.company" name="app-lib1" rev="latest.development" conf="default->runtime" changing="true"/>
> <dependency org="com.company" name="app-lib2" rev="1.4.5" conf="default" changing="true"/>
> <dependency org="com.company" name="app-lib3" conf="default" rev="latest.development"/>
> <dependency org="javax.servlet" name="servlet-api" rev="2.4" conf="compile->default"/>
> <dependency org="org.apache" name="fam" rev="0.1.0-r510454" conf="default" />
> <dependency org="velocity" name="velocity" rev="1.4" conf="default"/>
> <dependency org="velocity-tools" name="velocity-tools" rev="1.2" conf="default"/>
> <dependency org="junit" name="junit" rev="3.8.2" conf="test->default" changing="true"/>
> </dependencies>
> </ivy-module>
> {code}
> Here is my ivy-conf:
> {code:xml}
> <ivyconf>
> <properties file="ivyconf.properties"/>
> <conf defaultResolver="default-chain" defaultConflictManager="conflict-latest-revision" defaultLatestStrategy="strategy-latest-revision" checkUpToDate="true" defaultCache="ivy2-cache"/>
> <latest-strategies>
> <latest-revision name="strategy-latest-revision">
> <specialMeaning name="patched" value="3"/>
> </latest-revision>
> </latest-strategies>
>
> <conflict-managers>
> <latest-cm name="conflict-latest-revision" latest="strategy-latest-revision" />
> </conflict-managers>
> <!--
> 3 statuses defined, they will all have a different versioning information
> See build.xml for more information
>
> release : [major].[minor].[patch]
> integration : [major].[minor].[patch]-[svn.revision]-dev
> development : [major].[minor].[patch]-[svn.revision]-dev-[timestamp]
> -->
> <statuses default="development">
> <status name="release" integration="false"/>
> <status name="integration" integration="true"/>
> <status name="development" integration="true"/>
> </statuses>
>
> <resolvers checkUpToDate="true">
>
> <filesystem name="external" m2compatible="true" checkconsistency="true" checkmodified="true" allownomd="false">
> <artifact pattern="external-libs/[organisation]/[module]/[revision]/[type]s/[artifact]-[revision].[ext]" />
> <ivy pattern="external-libs/[organisation]/[module]/[revision]/ivy.xml"/>
> </filesystem>
> <filesystem name="internal" m2compatible="true" checkconsistency="true" checkmodified="true" allownomd="false">
> <artifact pattern="internal-libs/[organisation]/[module]/[revision]/[type]s/[artifact]-[revision].[ext]" />
> <ivy pattern="internal-libs/[organisation]/[module]/[revision]/ivy.xml"/>
> </filesystem>
> <filesystem name="local" m2compatible="true" checkconsistency="true" checkmodified="true" allownomd="false">
> <artifact pattern="local-libs/[organisation]/[module]/[revision]/[type]s/[artifact]-[revision].[ext]" />
> <ivy pattern="local-libs/[organisation]/[module]/[revision]/ivy.xml"/>
> </filesystem>
>
> <chain name="company-chain" returnFirst="true">
> <resolver ref="local"/>
> <resolver ref="internal"/>
> </chain>
> <chain name="default-chain" returnFirst="true">
> <resolver ref="external"/>
> </chain>
> </resolvers>
> <modules>
> <module organisation="com.company.*" name=".*" matcher="regexp" resolver="company-chain"/>
> </modules>
> </ivyconf>
> {code}
> The external repository is where we push the libraries external to my company, like Apache libs. The internal repo contains the released versions of our libraries. The local one is the developer one, this is where the locally builds are pushed.
> app-lib1 and app-lib2 are resolved correctly, but not app-lib3. The only difference between app-lib1 and app-lib3 is that app-lib3 was never released, so the only existing version is in local-libs, and the version is 0.1.0-117639-dev-20080115164755.
> Here is the app-lib3 resolve part:
> {noformat}
> == resolving dependencies com.company#app;working@almeda->com.company#app-lib3;latest.development [default->default]
> found conflicting revisions for com.company#app-lib3;latest.development in com.company#app;working@almeda: [com.company#app-lib3;latest.development]
> selected revisions for com.company#app-lib3;latest.development in com.company#app;working@almeda: [com.company#app-lib3;latest.development]
> loadData of com.company#app-lib3;latest.development of rootConf=default
> using company-chain to resolve com.company#app-lib3;latest.development
> company-chain: Checking cache for: dependency: com.company#app-lib3;latest.development {default=[default]}
> don't use cache for com.company#app-lib3;latest.development: checkModified=true
> don't use cache for com.company#app-lib3;latest.development: checkModified=true
> trying local-libs/com/company/app-lib3/latest.development/ivy.xml
> tried local-libs/com/company/app-lib3/latest.development/ivy.xml
> tried local-libs/com/company/app-lib3/[revision]/ivy.xml
> listing all in local-libs/com/company/app-lib3/[revision]/ivy.xml
> using local to list all in local-libs/com/company/app-lib3/
> found 1 resources
> found revs: [0.1.0-117639-dev-20080115164755]
> local: found md file for com.company#app-lib3;latest.development
> => local-libs/com/company/app-lib3/0.1.0-117639-dev-20080115164755/ivy.xml (0.1.0-117639-dev-20080115164755)
> parser = ivy parser
> no ivy file in cache for com.company#app-lib3;0.1.0-117639-dev-20080115164755: tried ivy2-cache/com.company/app-lib3/ivy-0.1.0-117639-dev-20080115164755.xml
> downloading local-libs/com/company/app-lib3/0.1.0-117639-dev-20080115164755/ivy.xml ...
> local: downloading local-libs/com/company/app-lib3/0.1.0-117639-dev-20080115164755/ivy.xml
> to ivy2-cache/com.company/app-lib3/ivys/ivy.original-0.1.0-117639-dev-20080115164755.xml.part
> [SUCCESSFUL ] com.company#app-lib3;0.1.0-117639-dev-20080115164755!ivy.original.xml(ivy) (31ms)
> pre 1.3 ivy file: using exactOrRegexp as default matcher
> local: impossible to get module descriptor resource: local-libs/com/company/app-lib3/0.1.0-117639-dev-20080115164755/ivy.xml (0.1.0-117639-dev-20080115164755)
> tried [0.1.0-117639-dev-20080115164755 (no or bad MD)]
> local: no resource found for com/#app-lib3;latest.development: pattern=local-libs/[organisation]/[module]/[revision]/ivy.xml
> local: no ivy file found for com.company#app-lib3;latest.development
> don't use cache for com.company#app-lib3;latest.development: checkModified=true
> trying internal-libs/com/company/app-lib3/latest.development/ivy.xml
> tried internal-libs/com/company/app-lib3/latest.development/ivy.xml
> tried internal-libs/com/company/app-lib3/[revision]/ivy.xml
> listing all in internal-libs/com/company/app-lib3/[revision]/ivy.xml
> using internal to list all in internal-libs/com/company/app-lib3/
> no resources found
> internal: unable to list resources for com/#app-lib3;latest.development: pattern=internal-libs/[organisation]/[module]/[revision]/ivy.xml
> internal: no ivy file found for com.company#app-lib3;latest.development
> WARN: module not found: com.company#app-lib3;latest.development
> WARN: ==== local: tried
> WARN: local-libs/com/company/app-lib3/latest.development/ivy.xml
> WARN: local-libs/com/company/app-lib3/[revision]/ivy.xml
> WARN: [0.1.0-117639-dev-20080115164755 (no or bad MD)]
> WARN: ==== internal: tried
> WARN: internal-libs/com/company/app-lib3/latest.development/ivy.xml
> WARN: internal-libs/com/company/app-lib3/[revision]/ivy.xml
> com.company#app-lib3;latest.development => dependencies resolved in default (68ms)
> {noformat}
> Here is the app-lib1 resolve part:
> {noformat}
> == resolving dependencies com.company#app;working@almeda->com.company#app-lib1;latest.development [default->runtime]
> found conflicting revisions for com.company#app-lib1;latest.development in com.company#app;working@almeda: [com.company#app-lib1;latest.development]
> selected revisions for com.company#app-lib1;latest.development in com.company#app;working@almeda: [com.company#app-lib1;latest.development]
> loadData of com.company#app-lib1;latest.development of rootConf=default
> using company-chain to resolve com.company#app-lib1;latest.development
> company-chain: Checking cache for: dependency: com.company#app-lib1;latest.development {default=[runtime]}
> don't use cache for com.company#app-lib1;latest.development: checkModified=true
> don't use cache for com.company#app-lib1;latest.development: checkModified=true
> trying local-libs/com/company/app-lib1/latest.development/ivy.xml
> local-libs/com/company/app-lib1/latest.development/ivy.xml
> tried local-libs/com/company/app-lib1/[revision]/ivy.xml
> listing all in local-libs/com/company/app-lib1/[revision]/ivy.xml
> using local to list all in local-libs/com/company/app-lib1/
> found 1 resources
> found revs: [3.3.1-117388-dev-20080115104256]
> local: found md file for com.company#app-lib1;latest.development
> => local-libs/com/company/app-lib1/3.3.1-117388-dev-20080115104256/ivy.xml (3.3.1-117388-dev-20080115104256)
> parser = ivy parser
> no ivy file in cache for com.company#app-lib1;3.3.1-117388-dev-20080115104256: tried local-libs/com/company/app-lib1/ivy-3.3.1-117388-dev-20080115104256.xml
> downloading local-libs/com/company/app-lib1/3.3.1-117388-dev-20080115104256/ivy.xml ...
> local: downloading local-libs/com/company/app-lib1/3.3.1-117388-dev-20080115104256/ivy.xml
> to ivy2-cache/com.company/app-lib1/ivys/ivy.original-3.3.1-117388-dev-20080115104256.xml.part
> [SUCCESSFUL ] com.company#app-lib1;3.3.1-117388-dev-20080115104256!ivy.original.xml(ivy) (11ms)
> pre 1.3 ivy file: using exactOrRegexp as default matcher
> default-cache: parsed downloaded md file for com.company#app-lib1;3.3.1-117388-dev-20080115104256; parsed=com.company#app-lib1;3.3.1-117388-dev-20080115104256
> com.company#app-lib1;3.3.1-117388-dev-20080115104256 is changing, but has not changed: will trust cached artifacts if any
> [3.3.1-117388-dev-20080115104256] com.company#app-lib1
> found com.company#app-lib1;3.3.1-117388-dev-20080115104256 in local
> [3.3.1-117388-dev-20080115104256] com.company#app-lib1;latest.development
> conflict resolution already done for com.company#app-lib1;3.3.1-117388-dev-20080115104256 in com.company#app;working@almeda
> {noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.