Я в настоящее время пытаюсь получить свою бездисплейную работу pde-сборки, но я застреваю на точке, где я не знаю, как продолжить. Проблема состоит в том, как определить связанную целевую платформу для компиляции плагинов против. У меня есть build.bat со следующим вызовом (все в одной строке!):
java -jar D:\target\eclipse\plugins\org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar
-application org.eclipse.ant.core.antRunner
-f D:\target\eclipse\plugins\org.eclipse.pde.build_3.5.2.R35x_20100114\scripts\productBuild\productBuild.xml
-Dbuilder=c:\pde-build\scripts %*
Я пытался создать целевую платформу затмения из различных частей: затмение SDK, RCP SDK, Пакет Delta, PDE-SDK во всех комбинациях, но ни один из них не работал хорошо.
Я получил следующую ошибку:
BUILD FAILED
D:\target\eclipse\plugins\org.eclipse.pde.build_3.5.2.R35x_20100114\scripts\productBuild\productBuild.xml:18: Cannot fin
d ${eclipse.pdebuild.scripts}/build.xml imported from D:\target\eclipse\plugins\org.eclipse.pde.build_3.5.2.R35x_2010011
4\scripts\productBuild\productBuild.xml
то, где переменный $ {eclipse.pdebuild.scripts} не делает, было разрешено. Я также пытался дать этот параметр через командную строку, но затем я получил другую ошибку относительно пропавших без вести svn задача, которая абсолютно сбивает с толку, поскольку это работает с моей локальной установкой затмения, на которую ссылаются.
Когда я заменяю путь от d:/target/eclipse до моей локальной установки затмения работы сборки pde как ожидалось! Это приводит мой до такой степени, что конфигурация целевого затмения не корректна, но в момент я понятия не имею, как настроить это!
Моей целью является автоматизирование сборки pde сначала на моем локальном сайте, не ссылаясь на мое локальное затмение, и позже интегрируйте этот встраивающий процесс в наше выполнение cruisecontrol экземпляр.
Поскольку я уже видел другой вопрос об определении целевого затмения, я буду счастлив, если кто-либо может внести подсказки или факты относительно проблемы.
С уважением, Andreas
При выполнении сборки без головы цель может быть отделена от затмения, которое фактически запускает саму сборку. Проблема, с которой вы столкнулись, заключается в том, что в затмении, которое вы использовали для запуска сборки, не было правильно установлено PDE / Build.
Вот почему $ {eclipse.pdebuild.scripts}
не был установлен, поскольку PDE / Build не был установлен в этот экземпляр eclipse, пакет org.eclipse.pde.build не был разрешен и код, устанавливающий это свойство, так и не был вызван. Точно так же необходимые записи пути к классам ant для задач PDE / Build также не были бы настроены должным образом.
Для запуска сборки вам понадобится Eclipse с установленным PDE, но цель сборки может быть отдельной от нее.
В файле build.properties
, находящемся в папке -Dbuilder = c: \ pde-build \ scripts
, вы можете установить несколько свойств :
baseLocation
Это путь к затмению, которое является вашей целью. buildDirectory
Здесь фактически будет происходить сборка, исходный код извлекается в подкаталоги plugins / и features /, но если здесь уже есть двоичные плагины, они также становятся частью цели. pluginPath
Это список путей (разделенных ';' в Windows или ':' в Linux), содержащих другие местоположения, которые следует рассматривать как часть вашей цели. Этими локациями может быть несколько вещей:
p2.gathering = true
), вы также можете предоставить репозитории p2 в $ {repoBaseLocation}
, который будет преобразован и помещен в ] $ {transformedRepoLocation}
и станет частью вашей цели, а метаданные p2 будут повторно использованы во время сборки. После еще одного исследования я выяснил, что я делал неправильно. Как я уже упоминал выше, определить целевую платформу не так просто, как скопировать SDK и плагины в одно место (как это было в ранние времена eclipse dev).
На данный момент рабочее решение заключается в следующем: Копируем eclipse SDK в целевое место и запускаем эту версию. Установите внутри нее необходимые PDE-Tools для разработки плагинов. После этого закройте IDE и скопируйте дельта-пакет + соответствующий svn-плагин (я использовал org.eclipse.pde.build.svn-1.0.1RC2 из sourceforge) в целевую платформу, и все готово. Теперь моя автоматизированная сборка PDE работает, как и ожидалось.
Единственная небольшая проблема сейчас заключается в следующем: Результирующий продукт содержит специфичные для eclipse пункты меню, которых нет, когда я запускал его из dev-eclipse.
Есть какие-нибудь подсказки по этому поводу?
Я только что опубликовал ответ на свой вопрос в подобной теме, возможно, это поможет вам: