Итак, вы хотите задачу Ant, которая выполняется в Eclipse.И, как вы говорите, ясно, что эти задачи используют Eclipse API.На данный момент я не очень понимаю, как они это делают.Я посмотрел на источник нескольких из них, и у меня все еще есть вопросы.
Чтобы найти расположение всех задач Ant, предоставленных Eclipse, выполните поиск плагинов для org.eclipse.ant.core.antTasks
.Когда я это делаю, я вижу около двадцати расширений, многие из которых определяют несколько задач.
Если вы получаете исходный комплект для плагина, который вносит вклад в одну из этих задач, вы можете посмотреть на источник для него.RefreshLocalTask находится в org.eclipse.core.resources;к сожалению, когда я импортирую этот пакет в мое рабочее пространство как исходный проект, исходный текст для задач Ant не будет правильно связан.Для них есть отдельный jar (внутри пакета), и, хотя источник находится в комплекте, неясно, как Jar компилируется.В результате в моей рабочей области нет источника компиляции Ant.
Вы также можете использовать Google для источника задачи Ant;вот источник 3.6.0 для RefreshLocalTask
.
В любом случае, в источнике вы можете увидеть вызовы org.eclipse.core.resources.ResourcePlugin
, которые иллюстрируют то, что вам, вероятно, нужно.
Ах, я вижу в описании точки расширения - щелкните правой кнопкой мыши по одному из этих результатов поиска и выберите «Показать описание» или перейдите туда из редактора манифеста - что есть флаг, который вы можете установить, «eclipseRuntime»;текст подразумевает, что, если он задан, Eclipse запустит задачу на той же виртуальной машине.