ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Xavier Hanin" <xavier.ha...@gmail.com>
Subject Re: [Ivy] How to add a new option to ivy settings
Date Thu, 29 May 2008 07:38:29 GMT
On Thu, May 29, 2008 at 9:35 AM, Maarten Coene <maarten_coene@yahoo.com>
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@gmail.com>
> 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 <claudio@claudius.com.br>
> 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: dev-unsubscribe@ant.apache.org
> > For additional commands, e-mail: dev-help@ant.apache.org
> >
> >
>
>
> --
> Xavier Hanin - Independent Java Consultant
> http://xhab.blogspot.com/
> http://ant.apache.org/ivy/
> http://www.xoocode.org/
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
> For additional commands, e-mail: dev-help@ant.apache.org
>
>


-- 
Xavier Hanin - Independent Java Consultant
http://xhab.blogspot.com/
http://ant.apache.org/ivy/
http://www.xoocode.org/

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message