У меня есть структура папок, содержащая несколько файлов javascript, каждый из этих файлов нуждается в стандартном фрагменте текста вверху = // @ include "includes.js"
Каждая папка должна содержать файл с именем include.js, в котором есть запись включения для каждого файла в его каталоге и запись для файла включения в его родительском каталоге.
Я пытаюсь добиться этого с помощью муравья, и это не очень хорошо. Пока у меня есть следующее, которое выполняет вставку заголовка, но не перемещает и не копирует файл. Я слышал, как люди упоминали задачу <replace>
, чтобы сделать это, но я немного озадачен.
<?xml version="1.0" encoding="UTF-8"?>
<project name="JavaContentAssist" default="start" basedir=".">
<taskdef resource="net/sf/antcontrib/antcontrib.properties">
<classpath>
<pathelement location="C:/dr_workspaces/Maven Repository/.m2/repository/ant-contrib/ant-contrib/20020829/ant-contrib-20020829.jar"/>
</classpath>
</taskdef>
<target name="start">
<foreach target="strip" param="file">
<fileset dir="${basedir}">
<include name="**/*.js"/>
<exclude name="**/includes.js"/>
</fileset>
</foreach>
</target>
<target name="strip">
<move file="${file}" tofile="${a_location}" overwrite="true">
<filterchain>
<striplinecomments>
<comment value="//@" />
</striplinecomments>
<concatfilter prepend="${basedir}/header.txt">
</concatfilter>
</filterchain>
</move>
</target>
</project>
Что касается генерации включаемых файлов в директории, я не уверен, с чего начать вообще. Буду признателен, если кто-нибудь укажет мне правильное направление.