[
https://issues.apache.org/jira/browse/IVY-1176?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13433747#comment-13433747
]
Jacob Aleksynas edited comment on IVY-1176 at 8/15/12 7:51 AM:
---------------------------------------------------------------
I will consistently get ivy.deps.changed=true despite certainty that the deps
have not changed, I am not sure how this flag relates to the various caches (if
I remove the copy in the forced local repo wihtout clearing the cache, the
resolve output still shows resolving from that repository).
I am not using "SNAPSHOT" version, but I do often overwrite artifacts. I'm
trying to build a more incremental system and this flag is the key to success,
perhaps clarifying the documentation around this flag and what affects it, can
help some of us understand what is going on.
By adding some debugging to the checkChanged method, I find that the parsing of
the previous resolve file from the resolution-cache is compared to the current
dependencies. The parsing of the previous resolve just lists the DIRECT
dependencies of the module; where are the list that is compared is the fully
transitive resolution of the module. below is the results of said logging.
[ivy:resolve] STARTING previous report parsing:
C:\svn\trunk\build\target\ivy\resolution-cache\myorg-mymoduleC-runtime.xml
[ivy:resolve] parser added: apache#commons-logging;1.1.1
[ivy:resolve] parser added: apache#commons-collections;3.2.1
[ivy:resolve] parser added: apache#log4j;1.2.8
[ivy:resolve] parser added: myorg#mymoduleA;0.0.462820
[ivy:resolve] parser added: myorg#mymoduleB;0.0.498568
[ivy:resolve] current added: myorg#mymoduleB;0.0.498568
[ivy:resolve] current added: jdom#jdom;1.1
[ivy:resolve] current added: apache#axis2-runtime;1.4.1.1
[ivy:resolve] current added: sun#activation;1.1
[ivy:resolve] current added: apache#axiom-api;1.2.7
[ivy:resolve] current added: apache#axiom-impl;1.2.7
[ivy:resolve] current added: apache#axis2-adb;1.4.1
[ivy:resolve] current added: apache#axis2-kernel;1.4.1.1
[ivy:resolve] current added: emory#backport-util-concurrent;3.1
[ivy:resolve] current added: apache#commons-codec;1.3
[ivy:resolve] current added: apache#commons-fileupload;1.2
[ivy:resolve] current added: apache#commons-httpclient;3.1
[ivy:resolve] current added: apache#geronimo-stax-api;1.0.1
[ivy:resolve] current added: apache#neethi;2.0.4
[ivy:resolve] current added: apache#woden-api;1.0M8
[ivy:resolve] current added: apache#wstx-asl;3.2.4
[ivy:resolve] current added: apache#xercesImpl;2.8.1
[ivy:resolve] current added: apache#xml-apis;1.3.04
[ivy:resolve] current added: apache#xmlschema;1.4.2
[ivy:resolve] current added: apache#wsdl4j;1.6.2
[ivy:resolve] current added: java#jaxrpc;1.1
[ivy:resolve] current added: springframework#spring;2.5.5
[ivy:resolve] current added: myorg#myutilities;0.0.510650
[ivy:resolve] current added: apache#commons-pool;1.2
[ivy:resolve] current skipped: apache#commons-collections;2.1
[ivy:resolve] current added: apache#commons-collections;3.2.1
[ivy:resolve] current added: myorg#mymoduleA;0.0.462820
[ivy:resolve] current added: apache#axiom-dom;1.2.7
[ivy:resolve] current skipped: apache#axis2-kernel;1.4.1
[ivy:resolve] current added: apache#log4j;1.2.8
[ivy:resolve] current added: apache#commons-logging;1.1.1
[ivy:resolve] previousDepSet: [apache#commons-collections;3.2.1,
myorg#mymoduleA;0.0.462820, apache#commons-logging;1.1.1,
myorg#mymoduleB;0.0.498568, apache#log4j;1.2.8]
[ivy:resolve] currentDepSet: [myorg#mymoduleB;0.0.498568, jdom#jdom;1.1,
apache#axis2-runtime;1.4.1.1, sun#activation;1.1, apache#axiom-api;1.2.7,
apache#axiom-impl;1.2.7, apache#axis2-adb;1.4.1, apache#axis2-kernel;1.4.1.1,
emory#backport-util-concurrent;3.1, apache#commons-codec;1.3,
apache#commons-fileupload;1.2, apache#commons-httpclient;3.1,
apache#geronimo-stax-api;1.0.1, apache#neethi;2.0.4, apache#woden-api;1.0M8,
apache#wstx-asl;3.2.4, apache#xercesImpl;2.8.1, apache#xml-apis;1.3.04,
apache#xmlschema;1.4.2, apache#wsdl4j;1.6.2, java#jaxrpc;1.1,
springframework#spring;2.5.5, myorg#myutilities;0.0.510650,
apache#commons-pool;1.2, apache#commons-collections;3.2.1,
myorg#mymoduleA;0.0.462820, apache#axiom-dom;1.2.7, apache#log4j;1.2.8,
apache#commons-logging;1.1.1]
was (Author: jaleksynas):
I will consistently get ivy.deps.changed=true despite certainty that the
deps have not changed, I am not sure how this flag relates to the various
caches (if I remove the copy in the forced local repo wihtout clearing the
cache, the resolve output still shows resolving from that repository).
I am not using "SNAPSHOT" version, but I do often overwrite artifacts. I'm
trying to build a more incremental system and this flag is the key to success,
perhaps clarifying the documentation around this flag and what affects it, can
help some of us understand what is going on.
I can produce some interesting combinations using various resolver or
ivy:resolve options -- but it never seems to be the expected values. not sure
what else I can tune.
> Problem with resolve (ivy.deps.changed) and timestamp of ivy.xml of
> dependencies
> --------------------------------------------------------------------------------
>
> Key: IVY-1176
> URL: https://issues.apache.org/jira/browse/IVY-1176
> Project: Ivy
> Issue Type: Bug
> Components: Core
> Affects Versions: 2.1.0
> Reporter: subes
> Priority: Blocker
>
> Hi,
> I am having the same Issue as Jan Vissers on the mailing list:
> http://mail-archives.apache.org/mod_mbox/ant-ivy-user/200803.mbox/%[email protected]%3E
> http://mail-archives.apache.org/mod_mbox/ant-ivy-user/200803.mbox/%[email protected]%3E
> The problem is, ivy.deps.changed does not get set to true if the timestamp of
> the dependencies ivy.xml got updated.
> The call to resolve actually tells me that the new files got downloaded
> (because of the updated timestamp), but ivy.deps.changed tells me that the
> artifacts did not change.
> [ivy:resolve]
> ---------------------------------------------------------------------
> [ivy:resolve] | | modules ||
> artifacts |
> [ivy:resolve] | conf | number| search|dwnlded|evicted||
> number|dwnlded|
> [ivy:resolve]
> ---------------------------------------------------------------------
> [ivy:resolve] | default | 26 | 1 | 1 | 0 ||
> 26 | 1 |
> [ivy:resolve] | tests | 3 | 1 | 1 | 0 ||
> 3 | 1 |
> [ivy:resolve] | sources | 10 | 1 | 1 | 0 ||
> 10 | 1 |
> [ivy:resolve]
> ---------------------------------------------------------------------
> --> ivy.deps.changed is "false"
> This behaviour makes ivy.deps.changed mostly useless for me to implement a
> lazy build mechanism in a multi module project.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira