Безголовая сборка PDE прошла успешно, но нет файла

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

Я создал два сценария сборки Ant из Eclipse, выполнив

  1. Щелкните правой кнопкой мыши проект, Экспорт, файлы Antbuild.
  2. В мастере экспорта плагина я выбираю «Сохранить как скрипт ant» в параметрах.

Первый довольно длинный, у него есть цель init, цель build и так далее. Второй просто следующий:

<?xml version="1.0" encoding="UTF-8"?>
<project default="plugin_export" name="build">
    <target name="plugin_export">
        <pde.exportPlugins destination="C:\newPlugin" exportSource="false" exportType="directory" plugins="myplugin" useJARFormat="false"/>
    </target>
</project>

Я попытался запустить их обоих из командной строки:

java -jar c:\eclipse\plugins\org.eclipse.equinox.launcher_*.jar -application org.eclipse.ant.core.antRunner -data C:\newPlugin -buildfile build_plugin.xml

Если я запускаю длинную сборку ant, он создает файлы obj в каталоге bin. Это хорошо, но я хочу файл jar плагина. Я думаю, что второй должен сделать это. Однако, несмотря на то, что сборка прошла успешно, я не вижу файлов jar.

Вот вывод скрипта ant:

Apache Ant(TM) version 1.8.2 compiled on December 20 2010
Buildfile: build_plugin.xml
parsing buildfile C:\newPlugin\build_plugin.xml with URI = file:/C:/newPlugin/build_plugin.xml
Project base dir set to: C:\newPlugin
Build sequence for target(s) `plugin_export' is [plugin_export]
Complete build sequence is [plugin_export, ]

plugin_export:
parsing buildfile jar:file:/C:/eclipse/plugins/org.apache.ant_1.8.2.v20110505-1300/lib/ant.jar!/org/apache/tools/ant/antlib.xml with URI = jar:file:/C:/eclipse/plugins/org.apache.ant_1.8.2.v20110505-1300/lib/ant.jar!/org/apache/tools/ant/antlib.xml from a zip file
BUILD SUCCESSFUL

BUILD SUCCESSFUL
Total time: 2 seconds

person Halil Kaskavalci    schedule 06.12.2011    source источник


Ответы (1)


Ваш пробег выглядит правильным. Когда я прохожу те же шаги:

<project default="plugin_export" name="build">
        <target name="plugin_export">
                <pde.exportPlugins destination="/opt/pwebster/workspaces/deploymentTest" exportSource="false" exportType="directory" plugins="org.eclipse.core.expressions" qualifier="v201112061450" useJARFormat="true"/>
        </target>
</project>

а затем запустите его:

bash$ eclipse/eclipse -noSplash \
-application org.eclipse.ant.core.antRunner 
-data /opt/pwebster/workspaces/build38x/ \
-buildfile build_file.xml

Я попадаю в свой внешний каталог deploymentTest/plugins/org.eclipse.core.expressions_3.4.300.v201112061450.jar

Просто примечание: вашим пунктом назначения должен быть каталог за пределами вашей рабочей области, и вы должны передать свою рабочую область в вызов, используя -data

person Paul Webster    schedule 06.12.2011
comment
Это странно и многообещающе. Несмотря на то, что я создаю фиктивный проект и запускаю командную строку, я все равно ничего не получаю. Я что-то пропустил во время затмения? Я использую Eclipse SDK 4.1.0. Я сделаю новую установку и попробую еще раз. Буду рад услышать, если у вас есть другие идеи. - person Halil Kaskavalci; 07.12.2011
comment
Пол, может быть, это плагин, созданный eclipse, пока вы пытаетесь получить build.xml? Я только что попробовал тот же фиктивный проект на своем домашнем компьютере (загрузил последнюю версию java и eclipse), но не повезло. Я все еще не могу сделать безголовую сборку. Может ли это быть ошибкой? - person Halil Kaskavalci; 07.12.2011
comment
Используете ли вы разные каталоги для своего рабочего пространства с вашим проектом и каталогом развертывания? Вы проходите в рабочей области с проектом в ваших данных? - person Paul Webster; 07.12.2011
comment
О боже, я все время указываю путь к проекту, а не путь к рабочей области. Теперь это работает. Большое спасибо! - person Halil Kaskavalci; 07.12.2011
comment
Для меня нецелесообразно предоставлять рабочее пространство с -data, если я просто хочу, чтобы плагин был собран. Есть ли способ сделать это без указания рабочей области? - person Markus; 25.04.2016
comment
PDE может создавать плагины только в контексте рабочей области (которая уже может компилировать этот плагин). Если вы хотите создать некоторые плагины/функции без использования PDE, загляните на eclipse.org/tycho который работает с мавеном. - person Paul Webster; 30.04.2016