使用 Ant 打印 Java 的包层次结构
Print Java's Package Hierarchy with Ant
我想用 ant 的 "echo" 列出我所有的 java 包。我的意思是,例如,我有这个包层次结构:
- 文件夹1
- 包裹 1
- 套餐 2
- 文件夹2
- 包裹 1
- 套餐 2
ant 文件必须显示与 echo 任务类似的内容:
Folder1.Package1
Folder1.Package2
Folder2.Package1
Folder2.Package2
有什么想法吗?
这是一个示例目标,展示了这是如何实现的。请注意,您可能需要根据文件的位置更改 cutdirsmapper
的 dirs
值。
<target name="default">
<delete dir="Folder1" />
<delete dir="Folder2" />
<mkdir dir="Folder1" />
<touch file="Folder1/Package1" />
<touch file="Folder1/Package2" />
<mkdir dir="Folder2" />
<touch file="Folder2/Package1" />
<touch file="Folder2/Package2" />
<pathconvert property="packages" pathsep="${line.separator}" dirsep=".">
<fileset dir="." includes="Folder1/**/*,Folder2/**/*" id="packages" />
<cutdirsmapper dirs="4" />
</pathconvert>
<echo message="${packages}" />
</target>
我想用 ant 的 "echo" 列出我所有的 java 包。我的意思是,例如,我有这个包层次结构:
- 文件夹1
- 包裹 1
- 套餐 2
- 文件夹2
- 包裹 1
- 套餐 2
ant 文件必须显示与 echo 任务类似的内容:
Folder1.Package1
Folder1.Package2
Folder2.Package1
Folder2.Package2
有什么想法吗?
这是一个示例目标,展示了这是如何实现的。请注意,您可能需要根据文件的位置更改 cutdirsmapper
的 dirs
值。
<target name="default">
<delete dir="Folder1" />
<delete dir="Folder2" />
<mkdir dir="Folder1" />
<touch file="Folder1/Package1" />
<touch file="Folder1/Package2" />
<mkdir dir="Folder2" />
<touch file="Folder2/Package1" />
<touch file="Folder2/Package2" />
<pathconvert property="packages" pathsep="${line.separator}" dirsep=".">
<fileset dir="." includes="Folder1/**/*,Folder2/**/*" id="packages" />
<cutdirsmapper dirs="4" />
</pathconvert>
<echo message="${packages}" />
</target>