Java Mailing List Archive

http://www.ant-tasks.com/

Apache Ant Archive

» Ant Users List
» Ant Developers List
How can I capture a file 's date to a property?

How can I capture a file 's date to a property?

2007-07-23       - By cknell@(protected)
Reply:     1     2     3     4     5     6     7     8     9     10  

There are a number of problems with the example task:

<fileutil file="foobar.txt" property="moddate">
  <lastmodified format="...">
</fileutils>

- The opening and closing tag names do not match ("fileutil" vs. "fileutils").
- The <lastmodified> tag is not closed.

Even after correcting for these, I get an error message from ant when I run the
target:
-------------------------------------------------------------------------------
-----------
<taskdef resource="ise/antelope/tasks/antelope.taskdefs"/>

<target name="test">
 <fileutil file="build.xml" property="date.last.modified">
   <lastmodified format="yyyy-mm-dd" />
 </fileutil>
 <echo>${date.last.modified}</echo>
</target>

ts.xml:6: No public execute() in class ise.antelope.tasks.typedefs.file
.FileLength
-------------------------------------------------------------------------------
-----------

I have dowloaded and installed AntelopeTasks_3.4.2.jar in the lib directory of
my
%ANT__HOME% directory.

Can anyone offer a useful analysis of the error message and suggest a fix?

Thanks.
--
Charles Knell
cknell@(protected) - email



-----Original Message-----
From:     Dale Anson <danson@(protected)>
Sent:     Sun, 22 Jul 2007 22:38:32 -0600
To:       Ant Users List <user@(protected)>
Subject:  Re: How can I capture a file's date to a property?

Hi Gilbert,

Your example looks just right.  That should work with no problems.

Dale


Rebhan, Gilbert wrote:
>  
> Hi,
>
> if you want/need to go a more ' Antlike ' way  >
> i forgot there's another possibility with the <stringutils>
> task from Antelope
>
> "...
> lastmodified Get the "last modified" date/timestamp of a file.
> ..."
>
> so it gets something like (untested)
>
> <fileutil file="foobar.txt" property="moddate">
>   <lastmodified format="...">
> </fileutils>
>
> when ${moddate} contains your File.lastModified
>
> i never tried that task, but the Antelope task suite is great,
> recommended.
>
> get it here  > http://antelope.tigris.org/files/documents/1409/11489
/AntelopeTasks_3.4.
> 2.zip
>
> Regards, Gilbert
>
>
> -----Original Message-----
> From: Rebhan, Gilbert [mailto:Gilbert.Rebhan@(protected)]
> Sent: Thursday, July 12, 2007 11:02 AM
> To: Ant Users List
> Subject: RE: How can I capture a file's date to a property?
>
>
> Hi,
>
> -----Original Message-----
> From: cknell@(protected) [mailto:cknell@(protected)]
> Sent: Wednesday, July 11, 2007 9:21 PM
> To: user@(protected)
> Subject: How can I capture a file's date to a property?
>
> /*
> I've have found several tasks for copying and renaming files and
> directories, but no way to get the file's date-stamp.
> */
>
> i would go via <script> i.e.
>
> with jruby  >
> <project name="bla" default="main" basedir=".">
>   <target name="depends">
>   <scriptdef name="filemod" language="ruby">
>    <attribute name="fname"/>
>    <attribute name="prop"/>
>    <![CDATA[
>     attr = $bsf.lookupBean("attributes")
>     fname = attr.get("fname")
>     prop = attr.get("prop")
>     t=File.atime(fname)
>     $project.setNewProperty "filename", fname
>      $project.setNewProperty prop, t.strftime("%m.%d.%Y")
>    ]]>
>    </scriptdef>
>
>  <filemod fname="y:/test.txt"
>           prop="fmod"/>
>    
>   </target>
>
>   <target name="main" depends="depends">
>     <echo>
>       ${filename} last modified => ${fmod}
>     </echo>
>   </target>
> </project>
>
> see other time formatting possibilities  >  http://www.ruby.ch
/ProgrammingRuby/htmlC/ref_c_time.html#strftime
>
> or with javascript  >
> <scriptdef name="filemod" language="javascript">
>  <attribute name="fname"/>
> <attribute name="prop"/>
> <![CDATA[
>   fname = attributes.get("fname");
>   prop = attributes.get("prop");
>   f = new java.io.File(fname);
>   date = new Date(f.lastModified());
>   project.setNewProperty("filename", f);
>   project.setNewProperty(prop, date);
> ]]>
> </scriptdef>
>
> have a look at java.util.Date apidocs if
> you need other time formatting
>
>
> Regards, Gilbert
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@(protected)
> For additional commands, e-mail: user-help@(protected)
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@(protected)
> For additional commands, e-mail: user-help@(protected)
>
>  

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@(protected)
For additional commands, e-mail: user-help@(protected)




---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@(protected)
For additional commands, e-mail: user-help@(protected)


©2008 ant-tasks.com - Jax Systems, LLC, U.S.A.