If you have been using Apache Ant quite a bit, you will soon realize that it can be pretty annoying at times. You couldn't open up and read a file, you couldn't create Arrays, etc... Therefore there's actually a way to work around it. You can actually use Javascript + Java inside the Ant script environment. And on top of that you can actually manipulate simple basic Ant variables in the Javascript + Java environment.
<macrodef name="getIndexHtmlContents">
<sequential>
<script language="javascript">
<![CDATA[
//Import the necessary Java classes
importClass(java.io.File);
importClass(java.io.FileReader);
importClass(java.io.BufferedReader);
//We will be reading the value from the Ant Project Property 'filenameProp'
var filenameProp = GWR.getProperty("filenameProp");
//Then we will be using BufferedReader and FileReader to read the contents of the file
var reader = new BufferedReader(new FileReader(new File(filenameProp)));
//Next we will loop through all the contents of the file and store it in a temporary variable
var sCurrentLine;
var strEverything = "";
while ((sCurrentLine = reader.readLine()) != null) {
strEverything += sCurrentLine;
}
//We will printout the contents of the file/temporary variable on the ant console output
println(strEverything);
//Writing the value of the temporary variable and saing it in the Ant Project Property 'fileContents'
GWR.setProperty("fileContents", strEverything);
]]>
</script>
</sequential>
</macrodef>
Though you have specified that you will be writing some script in 'Javascript' syntax, it actually allows Java codes to be written inside that <script> block too.
* Click
here to find out more about 'Apache Ant'.