ant-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jacob Aleksynas (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (IVY-1176) Problem with resolve (ivy.deps.changed) and timestamp of ivy.xml of dependencies
Date Tue, 14 Aug 2012 20:51:38 GMT

    [ 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/%3C10985.145.53.56.90.1204817182.squirrel@webmail.xs4all.nl%3E
> http://mail-archives.apache.org/mod_mbox/ant-ivy-user/200803.mbox/%3C47D11E2A.1050704@cumquat.nl%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

        

Mime
View raw message