У кого есть опыт поделитесь пожалуйста, как осуществить полуную сборку plugin-а т.е. до JAR из Ant?
В Eclipse есть такие опции:
Можно сделать: file->export->General->Ant Buildfiles и получить build.xml
Это хорошо, этот xml можно запустить из консоли Ant-ом и получить bin/со всеми скомпилированными class файлами. Но этого мало.
Есть ещё такой вариант: file->export->Plug-in Development->Deployable plugins and fragments->Next->Options->Save as Ant Script
В результате получим непонятно какой скрипт
При запуске которого из консоли Ant будет ругаться на
build_jar.xml:4: Problem: failed to create task or type pde.exportPlugins
Как решение в лоб можно было бы руками cобрать jar включив туда помимо bin ещё и кучу других файлов которые необходимы плагину (манифесты plugin.xml, icons и прочие "запчасти"), но в том то и дело что эти файлы которые получаеются в результате ручного экспорта из Eclipse отличаются от файлов которые лежат тут же в папке проекта плагина.
Здравствуйте, nen777w, Вы писали:
N>Есть ещё варианты?
eclipse.exe -aplication org.eclipse.ant.core.antRunner вместо ant.bat
или вытащить plugins\org.eclipse.pde.core_*.jar!/ant_tasks/pde-ant.jar и скормить его отдельно стоящему анту, хотя он точно за собой еще половину eclipse sdk потащит
Здравствуйте, nen777w, Вы писали:
N>У кого есть опыт поделитесь пожалуйста, как осуществить полуную сборку plugin-а т.е. до JAR из Ant? N>В Eclipse есть такие опции:
N>Можно сделать: file->export->General->Ant Buildfiles и получить build.xml N>Это хорошо, этот xml можно запустить из консоли Ant-ом и получить bin/со всеми скомпилированными class файлами. Но этого мало.
N>Есть ещё такой вариант: file->>export->Plug-in Development->Deployable plugins and fragments->Next->Options->Save as Ant Script N>В результате получим непонятно какой скрипт N>
N>При запуске которого из консоли Ant будет ругаться на N>
N>build_jar.xml:4: Problem: failed to create task or type pde.exportPlugins
N>Как решение в лоб можно было бы руками cобрать jar включив туда помимо bin ещё и кучу других файлов которые необходимы плагину (манифесты plugin.xml, icons и прочие "запчасти"), но в том то и дело что эти файлы которые получаеются в результате ручного экспорта из Eclipse отличаются от файлов которые лежат тут же в папке проекта плагина.
N>Есть ещё варианты?
1. Написать полноценный ant скрипт (без завязки на ant eclipse), который будет собирать plugin
<target>
<javac />
<jar />
</target>
+ bnd для генерации import/export секции в MANIFEST.MF (при необходимости)
2. Использовать maven + felix bundle plugin
тут придется еще нужные бандлы эклипса заинсталить в локальный maven репозиторий, зато потом очень удобно
"Мы будем уничтожать свое ядерное оружие вместе с Америкой" (c) Б. Ельцин
Здравствуйте, mekanik, Вы писали:
M>Здравствуйте, nen777w, Вы писали:
N>>Есть ещё варианты?
M>eclipse.exe -aplication org.eclipse.ant.core.antRunner вместо ant.bat M>или вытащить plugins\org.eclipse.pde.core_*.jar!/ant_tasks/pde-ant.jar и скормить его отдельно стоящему анту, хотя он точно за собой еще половину eclipse sdk потащит
Ничего не дает, запускает Eclispe и все, пробовал eclipsec.exe та же хрень... читаю эту туву хучу документаци... уже начинаю тихо ненавидеть jav-у с ее недоделанными тулами.
N>>Есть ещё варианты?
6>1. Написать полноценный ant скрипт (без завязки на ant eclipse), который будет собирать plugin
Можно не писать я так понимаю то что я делаю через file->export->General->Ant Buildfiles как раз способно сгенерировать Ant скрипт который умеет скомпилировать проект.
6>+ bnd для генерации import/export секции в MANIFEST.MF (при необходимости)
Это как?
6>2. Использовать maven + felix bundle plugin 6> тут придется еще нужные бандлы эклипса заинсталить в локальный maven репозиторий, зато потом очень удобно
А Ant что уже не подходит?
N>Ничего не дает, запускает Eclispe и все, пробовал eclipsec.exe та же хрень... читаю эту туву хучу документаци... уже начинаю тихо ненавидеть jav-у с ее недоделанными тулами.
Бро, лучше ненавидь политику твоей компании, по которой тебе нельзя поставить Ант на сервер.
N>>Ничего не дает, запускает Eclispe и все, пробовал eclipsec.exe та же хрень... читаю эту туву хучу документаци... уже начинаю тихо ненавидеть jav-у с ее недоделанными тулами.
A>Бро, лучше ненавидь политику твоей компании, по которой тебе нельзя поставить Ант на сервер.
А, я упустил, тебе Ант уже можно Думал, это старая тема. Сейчас перечитаю тогда
Кстати, не смущайся от "<eclipseInstall>/plugins/org.eclipse.equinox.launcher_<version>.jar" — на самом деле достаточно target-rcp-platform скачать, которая обычный zip файл и развернуть на сервере. Ну и дельтапаки под целевые ОС
Короче как всегда отчитваюсь....
Убил на эту казалось бы фигню весь день. Я в Java недавно совсем так что может быть это и не совсем правильно, но оно сработало.
Просьба оценить, попинать и все такое...
Итак...
1) Открываем проект плагина в Eclipse.
2) Идем в File->Export->General->Ant Buildfiles и получаем build.xml в каталоге плагина
Этот скрипт способен скомпилировать преокт под Ant, без Eclips.
3) Пишем xml Ant скрипт который собирает конечный плагин в jar и кладем его тоже в каталоге плагина:
5) Запускаем батник и в $build\product\hp.lr.continuousdelivery.eclipseaddin_1.0.0.qualifier.jar получаем наш плагин.
6) Копируем плагин в папку Eclipse/plugins, запускаем Eclipse и убеждаемся что он работает.
Я конечно где то понимаю что помоему через Ж, но по другому просто не получалось. Может Вы что то подскажете?
Здравствуйте, nen777w, Вы писали:
N>>>Есть ещё варианты?
M>>eclipse.exe -aplication org.eclipse.ant.core.antRunner вместо ant.bat M>>или вытащить plugins\org.eclipse.pde.core_*.jar!/ant_tasks/pde-ant.jar и скормить его отдельно стоящему анту, хотя он точно за собой еще половину eclipse sdk потащит
N>Ничего не дает, запускает Eclispe и все, пробовал eclipsec.exe та же хрень... читаю эту туву хучу документаци... уже начинаю тихо ненавидеть jav-у с ее недоделанными тулами.
Там в -application опечатку заметили?
А вообще maven c tycho поприятнее будут чем ant c pde build или без него.
N>6) Копируем плагин в папку Eclipse/plugins, запускаем Eclipse и убеждаемся что он работает.
Если работает, то на этом можно заканчивать. Ну или потратить ещё время на PDE build.
N>Убил на эту казалось бы фигню весь день. Я в Java недавно совсем так что может быть это и не совсем правильно, но оно сработало.
Вся эта твоя эпопея к Яве не имеет никакого отношения. Если убрать библиотеки, серверные разработки, веб-приложения, апплеты и ГУИ приложения на Swing (вроде ничего не забыл), то оставшиеся приложения под RCP платформу — это сильно меньше 1% от разработок на Яве (на мой взгляд).
Эклипс и вся эта RCP инфраструктура очень недружественна Maven'у, который сейчас является стандартом де-факто для описания зависимостей и сборки приложений. Плагин Tycho, который тут уже упоминали, слабый помощник.