Author Login
Post Reply
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/