ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gilles Scokart" <gscok...@gmail.com>
Subject Re: [Ivy] How to add a new option to ivy settings
Date Thu, 29 May 2008 08:55:51 GMT
2008/5/29 Maarten Coene <maarten_coene@yahoo.com>:
> So maybe it should be an attribute on the ivy:retrieve task?

Yes : task attribute and/or settings attribute are both valid.

> 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.

Very good point.

>
> Maarten
>
>
> ----- Original Message ----
> From: Gilles Scokart <gscokart@gmail.com>
> 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 <xavier.hanin@gmail.com>:
>> 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/
>>
>
>
>
> --
> Gilles Scokart
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
> For additional commands, e-mail: dev-help@ant.apache.org
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
> For additional commands, e-mail: dev-help@ant.apache.org
>
>



-- 
Gilles Scokart

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org


Mime
View raw message