Author Login
Post Reply
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 <xavier.hanin@(protected)>:
> On Thu, May 29, 2008 at 9:35 AM, Maarten Coene <maarten_coene@(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 <xavier.hanin@(protected)>
>> To: Ant Developers List <dev@(protected)>
>> 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 <claudio@(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)
>> > @@(protected) @@
>> > "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)
>> > @@(protected) @@
>> > </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)
>> > @@(protected) @@
>> > 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: dev-unsubscribe@(protected)
>> > For additional commands, e-mail: dev-help@(protected)
>> >
>> >
>>
>>
>> --
>> Xavier Hanin - Independent Java Consultant
>> http://xhab.blogspot.com/
>> http://ant.apache.org/ivy/
>> http://www.xoocode.org/
>>
>>
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@(protected)
>> For additional commands, e-mail: dev-help@(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: dev-unsubscribe@(protected)
For additional commands, e-mail: dev-help@(protected)