我想根据选定的 java 模块动态创建一个 jar 文件这是执行此操作的 ant 脚本的一部分。
<property name="modules.selected" value="A,C,F" />
<for list="${modules.selected}" param="module">
<sequential>
<echo>Module chosen ${basedir}/@{module}/src</echo>
<copy todir="${build.dir.src}" overwrite="true">
<fileset dir="${basedir}/@{module}/src">
<include name="**/*.${src.valid.exts}" />
</fileset>
</copy>
</sequential>
</for>
在上面的脚本中,我选择了一个模块,然后构建一个目录并将目录中存在的所有模块复制到一个位置(build/src)。
但是我真的不喜欢上面提到的逻辑,想更改为在 a 中包含所有必需的模块fileset
并使用填充的fileset
来复制。
这是我正在寻找的逻辑
<fileset id="required-modules" dir="${basedir}/@{module}/src">
<for list="${modules.selected}" param="module">
<sequential>
<echo>Module chosen ${basedir}/@{module}/src</echo>
<include name="**/*.${src.valid.exts}" />
</sequential>
</for>
</fileset>
<copy todir="${build.dir.src}" overwrite="true">
<fileset refid="required-modules" />
</copy>
任何人都可以更新上述脚本以使其工作。