I'm currently in the process of replacing my homebrewn build script by an Ant build script.
Now I need to replace various tokens by the size of a specific file. I know how to get the size in bytes via the <length>
task and store in in a property, but I need the size in kilobytes and megabytes too.
How can I access the file size in other representations (KB, MB) or compute these values from within the Ant target and store them in a property?
Edit: After I discovered the <script>
task, it was fairly easy to calculate the other values using some JavaScript and add a new property to the project using project.setNewProperty("foo", "bar");
.
There is a math task at http://ant-contrib.sourceforge.net/ that may be useful
I found a solution that does not require any third-party library or custom tasks using the
<script>
task that allows for using JavaScript (or any other Apache BSF or JSR 223 supported language) from within an Ant target.