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:[EMAIL 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: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, July 11, 2007 9:21 PM
To: user@ant.apache.org
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to