ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rebhan, Gilbert" <Gilbert.Reb...@huk-coburg.de>
Subject RE: How can I capture a file's date to a property?
Date Thu, 12 Jul 2007 10:48:51 GMT
 
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@huk-coburg.de] 
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@onebox.com [mailto:cknell@onebox.com] 
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: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org


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


Mime
View raw message