ant basedir 和 eclipse .project 文件生成

2024-05-25

我有一个 ant 目标,它回显 eclipse .project 文件的内容,这里的想法是确保 该项目可以轻松导入到 eclipse 中。项目名称应与所在目录匹配 它结帐。到目前为止我有这个

<target name="eclipse" description="creates an eclipse .project file">
    <echo file=".project">
        <![CDATA[<?xml version="1.0" encoding="UTF-8"?>
        <projectDescription>
            <name>${basedir}</name>
            <comment></comment>
            <projects>
            </projects>
            <buildSpec>
                <buildCommand>
                    <name>org.eclipse.jdt.core.javabuilder</name>
                    <arguments>
                    </arguments>
                </buildCommand>
            </buildSpec>
            <natures>
                <nature>org.eclipse.jdt.core.javanature</nature>
            </natures>
        </projectDescription>
        ]]>
    </echo>    
</target>

问题是 ${basedir} 计算为完整路径

<name>/home/assure/projects/MyProject</name>

但 eclipse 只需要最终的文件夹名称

<name>MyProject</name>

关于我应该用来剥离这条路径的 ant 目标有什么想法吗?


我找到了一种解决方法,使用 ant 'flattenmapper' 来修剪 basedir 值

    <path id="basedir.path">
        <pathelement path="${basedir}" />
    </path>
    <pathconvert property="project.name" refid="basedir.path">
        <chainedmapper>
            <mapper type="flatten"/>
            <flattenmapper/>
        </chainedmapper>
    </pathconvert>
    <echo message="${project.name}" />

但 1 行总是胜过 10 行,;-)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ant basedir 和 eclipse .project 文件生成 的相关文章

随机推荐