Затмение, муравей и пользовательские задачи

Извините, я не очень разбираюсь в Ant.

Мне нравится функция eclipse «Экспорт файла сборки муравья», но мне нужно вставить несколько пользовательских задач (копирование файлов, вычисление контрольных сумм, которые используются во время выполнения, и т. Д.).

Как мне интегрировать пользовательские задачи ant с файлом ant, который экспортирует Eclipse? Кроме того, как только я это сделаю, внутренняя сборка (Run ...) подберет его, или мне всегда придется использовать внешний файл ant для сборки с этого момента?

О, и я не хочу редактировать build.xml, который экспортирован из Eclipse, потому что я хотел бы иметь возможность регенерировать его позже.

Изменить / обновить:

Мне потребовалось время, чтобы понять, что происходит, поэтому я подумал, что сделаю здесь несколько примечаний, чтобы прояснить ситуацию.

Когда вы создаете новый файл ant в своем каталоге и помещаете <?eclipse.ant.import ?> в первую строку своего пользовательского сценария ant (я назвал свой test.xml), в следующий раз, когда вы экспортируете файл сборки из Eclipse в этот каталог, он увидит этот тег и добавить <import file="test.xml"/>

С этим Импортом цели в вашем «Пользовательском» файле (test.xml) становятся допустимыми целями в экспортированном build.xml (или под любым именем, которое вы выбрали при экспорте).

После этого каждый раз, когда вы выбираете «build.xml» в Eclipse, панель целей также будет включать цели из «test.xml».

Кроме того, после этого вы можете зайти в свойства вашего проекта / Строители и добавить новый конструктор типа «Ant Build», а затем выбрать цели, которые будут использоваться для сборки, очистки и т. Д.


person Bill K    schedule 09.01.2009    source источник
comment
Я пробовал это в Eclipse 3.4.1 и выяснил, что мой собственный файл сборки был включен только тогда, когда его имя начиналось с build. Например, build-custom.xml был импортирован правильно, но custom_build.xml был проигнорирован ... Может быть, это кому-то поможет ...   -  person Martin Klinke    schedule 11.02.2009
comment
То же самое со мной, я использую Eclipse 3.5.2 на Ubuntu, и мне пришлось переименовать свой файл в build-custom.xml вместо custom-build.xml.   -  person Marthinus    schedule 06.11.2010
comment
Спасибо, ребята .. теперь и здесь работает.   -  person Bjoern    schedule 20.05.2014


Ответы (4)


Фильтр экспорта муравьев будет включать любой XML-файл в том же каталоге, который имеет специальный

<?eclipse.ant.import?>

элемент как его первый дочерний элемент.

Пример:

<?xml version="1.0" encoding="UTF-8"?>
<?eclipse.ant.import?>
<project name="project" default="default" basedir=".">
    ...
</project>

Eclipse теперь будет включать в build.xml следующую строку:

<import file="custom_build.xml"/>
person JesperE    schedule 09.01.2009
comment
Geocities больше не существует, поэтому найдите пример здесь и сайт здесь - person Derek Thurn; 20.09.2010
comment
@Derek, все примеры пропали, не могли бы вы снова включить их? - person Saba Ahang; 03.11.2014
comment
@JesperE Какие значения следует присвоить имени и по умолчанию? Кроме того, я хочу, чтобы эта цель (скажем, targetA) зависела от другой цели (скажем, targetB), определенной в основном файле build.xml, но eclipse показывает ошибку, говорящую, что targetB не существует в этом проекте. - person bikashg; 21.09.2016

Если вы пишете свой собственный сценарий Ant, вы можете написать свои собственные цели, использующие задачу Ant для делегирования созданному build.xml.

Кроме того, вы можете настроить «построители» проекта (свойства проекта »Строители) для запуска чего-либо другого при сборке проекта вручную или автоматически.

person Peter Hilton    schedule 09.01.2009

PDE has support for custom callbacks from the generated build.xml into your own custom ant script.

Скопируйте файл «templates / plugins / customBuildCallbacks.xml» из org.eclipse.pde.build в вашу установку eclipse и установите «customBuildCallbacks = true» в вашем файле build.properties.

См. Также Страница справки Eclipse

person Andrew Niefer    schedule 30.03.2009

Для этих задач у вас может быть отдельный файл сборки ant. Это все, что тебе нужно.

person Rob Ottaway    schedule 09.01.2009