муравьиная база и затмение генерация файла .project - PullRequest
6 голосов
/ 16 марта 2010

У меня есть цель ant, которая отображает содержимое файла .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>

но затмению нужно только окончательное имя папки

<name>MyProject</name>

Какие-нибудь идеи относительно цели муравья, которую я должен использовать, чтобы лишить этот путь?

Ответы [ 2 ]

4 голосов
/ 16 марта 2010

Я нашел обходной путь, используя муравья '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 строк,; -)

3 голосов
/ 16 марта 2010

Сначала вы можете определить свойство, основываясь на последнем каталоге пути «basename».
(см. Муравей basename Задача )

<basename property="project.name" file="${basedir}"/>

Это позволяет вам повторно использовать это свойство в оставшейся части вашего скрипта

<projectDescription>
    <name>${project.name}</name>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...