So maybe it should be an attribute on the ivy:retrieve task?
I think the files in the cache should have the same timestamp as on the server.
This way, you still have the choice what you want to do with the timestamp when 
the artifacts are already resolved.

Maarten


----- Original Message ----
From: Gilles Scokart <[EMAIL PROTECTED]>
To: Ant Developers List <dev@ant.apache.org>
Sent: Thursday, May 29, 2008 9:51:58 AM
Subject: Re: [Ivy] How to add a new option to ivy settings

Maybe because later an other user will have the oposite requirements :
I want the retreive to use the current timestamp, so that I know when
I made the retrieve, I know which files have been updated by my last
retrieve, I can use some kind of up-to-date task, and I can also
better integrate my retrieved libraries into my source control
repository.

I think both requirements are valid, so it should be configurable.

Gilles

2008/5/29 Xavier Hanin <[EMAIL PROTECTED]>:
> On Thu, May 29, 2008 at 9:35 AM, Maarten Coene <[EMAIL PROTECTED]>
> wrote:
>
>> Why not always use the server timestamp for the artifacts as we already do
>> for the Ivy files?
>
> Why not, indeed, I see no specific reason.
>
> Xavier
>
>
>>
>>
>> Maarten
>>
>> ----- Original Message ----
>> From: Xavier Hanin <[EMAIL PROTECTED]>
>> To: Ant Developers List <dev@ant.apache.org>
>> Sent: Thursday, May 29, 2008 8:51:36 AM
>> Subject: Re: [Ivy] How to add a new option to ivy settings
>>
>> As Gilles suggested, I'd better put that in settings, which is also much
>> easier to add (you only need a setter on the resolver to recognize an
>> attribute for the resolver in the settings file, pretty much like how Ant
>> tasks work). Still to do what you want in the ivy file you have to modify
>> XmlModuleDescriptorParser, the ModuleDescriptor interface and its default
>> implementation.
>>
>> HTH,
>>
>> Xavier
>>
>> On Thu, May 29, 2008 at 6:13 AM, Claudio Miranda <[EMAIL PROTECTED]>
>> wrote:
>>
>> >
>> >
>> >    I modified the code displayed below.
>> >    At BasicURLHandler, how is it possible to retrieve de value of
>> > "timestamp" attribute  (from ivy.xml)
>> >
>> > Index: src/java/org/apache/ivy/util/url/BasicURLHandler.java
>> > ===================================================================
>> > --- src/java/org/apache/ivy/util/url/BasicURLHandler.java       (revision
>> > 661197)
>> > +++ src/java/org/apache/ivy/util/url/BasicURLHandler.java       (working
>> > copy)
>> > @@ -131,6 +131,10 @@
>> >                         "Downloaded file size doesn't match expected
>> > Content Length for " + src
>> >                                 + ". Please retry.");
>> >             }
>> > +            boolean remoteTimestamp = false;
>> > +            if (remoteTimestamp) {
>> > +                dest.setLastModified(srcConn.getLastModified());
>> > +            }
>> >         } finally {
>> >             disconnect(srcConn);
>> >
>> >
>> > Index: src/java/org/apache/ivy/plugins/parser/xml/ivy.xsd
>> > ===================================================================
>> > --- src/java/org/apache/ivy/plugins/parser/xml/ivy.xsd  (revision 661197)
>> > +++ src/java/org/apache/ivy/plugins/parser/xml/ivy.xsd  (working copy)
>> > @@ -229,10 +229,19 @@
>> >                                                </xs:complexType>
>> >                                                </xs:element>
>> >                                        </xs:sequence>
>> > -                                               <xs:attribute
>> > name="defaultconf" type="xs:string"/>
>> > -                                               <xs:attribute
>> > name="defaultconfmapping" type="xs:string"/>
>> > +                        <xs:attribute name="defaultconf"
>> > type="xs:string"/>
>> > +                        <xs:attribute name="defaultconfmapping"
>> > type="xs:string"/>
>> >                         <xs:attribute name="confmappingoverride"
>> > type="xs:boolean" />
>> > -                             </xs:complexType>
>> > +                        <xs:attribute name="timestamp" default="current"
>> > use="optional">
>> > +                             <xs:simpleType>
>> > +                                <xs:restriction base="xs:string">
>> > +                                    <xs:enumeration value="current"/>
>> > +                                    <xs:enumeration value="remote"/>
>> > +                                </xs:restriction>
>> > +                            </xs:simpleType>
>> > +                        </xs:attribute>
>> > +
>> >
>> >
>> >
>> > Index:
>> > src/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorParser.java
>> > ===================================================================
>> > ---
>> > src/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorParser.java
>> > (revision 661197)
>> > +++
>> > src/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorParser.java
>> > (working copy)
>> > @@ -520,6 +520,10 @@
>> >             if (confMappingOverride != null) {
>> >
>> >
>> md.setMappingOverride(Boolean.valueOf(confMappingOverride).booleanValue());
>> >             }
>> > +            String timestamp =
>> > ivy.substitute(attributes.getValue("timestamp"));
>> > +            if (timestamp != null) {
>> > +                md.setTimestamp(timestamp);
>> > +            }
>> >             checkConfigurations();
>> >
>> >
>> > Claudio Miranda wrote:
>> > >
>> > >
>> > >     I am doing some testing with Ivy and have implemented a small
>> > > modification, to allow the downloaded resource to have the same date
>> > > timestamp as the file in remote repo. It is a requirement from the
>> > > customer.
>> > >
>> > >     At org.apache.ivy.util.url.BasicURLHandler.download(URL src, File
>> > > dest, CopyProgressListener l)
>> > >     I added
>> > >
>> > > dest.setLastModified(srcConn.getLastModified());
>> > >
>> > >     How is it possible to add an attribute "timestamp" to the
>> > > "dependencies" xml tag ? See below, a sample:
>> > >
>> > > <ivy-module version="2.0">
>> > >     <info organisation="br.com.smartnet" module="hello-ivy"/>
>> > >     <dependencies timestamp="remote">
>> > >       <dependency org="commons-lang" name="commons-lang" rev="2.0"/>
>> > >       <dependency org="commons-cli" name="commons-cli" rev="1.0"/>
>> > >       <dependency org="skaringa" name="skaringa" rev="r1p8"/>
>> > >     </dependencies>
>> > > </ivy-module>
>> > >
>> > >     It can have 2 values "remote" or "current", whereas "remote" set
>> the
>> > > last modified attribute, as the remote file is. The "current" means the
>> > > current Ivy behavior.
>> > >
>> > >     How can I read the timestamp value, at BasicURLHandler class ?
>> > >
>> > >     This is the thread, with more explanation about this requested
>> > > behavior
>> > >
>> >
>> http://www.nabble.com/How-to-download-files-from-ivyrepo-with-the-same-last-modified-date---td17515745.html
>> > >
>> > >     I plan to submit it as an enhancement to the Ivy issue tracking.
>> > >
>> > > Thanks
>> > >
>> > > Claudio Miranda
>> > >
>> >
>> >
>> > -----
>> > Claudio Miranda
>> > http://weblogs.java.net/blog/claudio
>> > http://www.claudius.com.br/blog
>> > --
>> > View this message in context:
>> >
>> http://www.nabble.com/-Ivy--How-to-add-a-new-option-to-ivy-settings-tp17526130p17527290.html
>> > Sent from the Ant - Dev mailing list archive at Nabble.com.
>> >
>> >
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: [EMAIL PROTECTED]
>> > For additional commands, e-mail: [EMAIL PROTECTED]
>> >
>> >
>>
>>
>> --
>> Xavier Hanin - Independent Java Consultant
>> http://xhab.blogspot.com/
>> http://ant.apache.org/ivy/
>> http://www.xoocode.org/
>>
>>
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>
>
> --
> Xavier Hanin - Independent Java Consultant
> http://xhab.blogspot.com/
> http://ant.apache.org/ivy/
> http://www.xoocode.org/
>



-- 
Gilles Scokart

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


      

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to