полная сборка plugin-а для Eclipse из Ant
От: nen777w  
Дата: 14.11.12 15:46
Оценка:
У кого есть опыт поделитесь пожалуйста, как осуществить полуную сборку 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
В результате получим непонятно какой скрипт
<?xml version="1.0" encoding="UTF-8"?>
<project default="plugin_export" name="build">
    <target name="plugin_export">
        <pde.exportPlugins destination="C:\_teliuk_\plugin_export" exportSource="false" exportType="directory" plugins="hp.lr.continuousdelivery.eclipseaddin" useJARFormat="true"/>
    </target>
</project>


При запуске которого из консоли Ant будет ругаться на

build_jar.xml:4: Problem: failed to create task or type pde.exportPlugins


Как решение в лоб можно было бы руками cобрать jar включив туда помимо bin ещё и кучу других файлов которые необходимы плагину (манифесты plugin.xml, icons и прочие "запчасти"), но в том то и дело что эти файлы которые получаеются в результате ручного экспорта из Eclipse отличаются от файлов которые лежат тут же в папке проекта плагина.

Есть ещё варианты?
Re: полная сборка plugin-а для Eclipse из Ant
От: mekanik  
Дата: 14.11.12 16:52
Оценка:
Здравствуйте, 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 потащит
Re: полная сборка plugin-а для Eclipse из Ant
От: 6lackbird Россия  
Дата: 15.11.12 06:14
Оценка:
Здравствуйте, 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><?xml version="1.0" encoding="UTF-8"?>
N><project default="plugin_export" name="build">
N>    <target name="plugin_export">
N>        <pde.exportPlugins destination="C:\_teliuk_\plugin_export" exportSource="false" exportType="directory" plugins="hp.lr.continuousdelivery.eclipseaddin" useJARFormat="true"/>
N>    </target>
N></project>
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) Б. Ельцин
Re[2]: полная сборка plugin-а для Eclipse из Ant
От: nen777w  
Дата: 15.11.12 13:53
Оценка:
Здравствуйте, 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-у с ее недоделанными тулами.
Re[2]: полная сборка plugin-а для Eclipse из Ant
От: nen777w  
Дата: 15.11.12 13:55
Оценка:
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 что уже не подходит?
Re[3]: полная сборка plugin-а для Eclipse из Ant
От: avpavlov  
Дата: 15.11.12 14:49
Оценка:
N>Ничего не дает, запускает Eclispe и все, пробовал eclipsec.exe та же хрень... читаю эту туву хучу документаци... уже начинаю тихо ненавидеть jav-у с ее недоделанными тулами.

Бро, лучше ненавидь политику твоей компании, по которой тебе нельзя поставить Ант на сервер.
Re[4]: полная сборка plugin-а для Eclipse из Ant
От: avpavlov  
Дата: 15.11.12 14:51
Оценка:
Здравствуйте, avpavlov, Вы писали:


N>>Ничего не дает, запускает Eclispe и все, пробовал eclipsec.exe та же хрень... читаю эту туву хучу документаци... уже начинаю тихо ненавидеть jav-у с ее недоделанными тулами.


A>Бро, лучше ненавидь политику твоей компании, по которой тебе нельзя поставить Ант на сервер.


А, я упустил, тебе Ант уже можно Думал, это старая тема. Сейчас перечитаю тогда
Re: полная сборка plugin-а для Eclipse из Ant
От: avpavlov  
Дата: 15.11.12 15:26
Оценка:
Здравствуйте, nen777w, Вы писали:

N>У кого есть опыт поделитесь пожалуйста, как осуществить полуную сборку plugin-а т.е. до JAR из Ant?


Тебе надо читать про PDE build

http://help.eclipse.org/helios/index.jsp?nav=%2F4_2_0
http://help.eclipse.org/helios/index.jsp?nav=%2F4_2_1
Re[2]: полная сборка plugin-а для Eclipse из Ant
От: avpavlov  
Дата: 15.11.12 15:31
Оценка:
Забавно, но я до сих пор думал, что ПДЕ билд — это Антовские скрипты для вызова Эклипсовской фнкциональности, а оказывается нихрена подобного

http://help.eclipse.org/helios/topic/org.eclipse.pde.doc.user/tasks/pde_product_build.htm

Век живи — век учись

Кстати, не смущайся от "<eclipseInstall>/plugins/org.eclipse.equinox.launcher_<version>.jar" — на самом деле достаточно target-rcp-platform скачать, которая обычный zip файл и развернуть на сервере. Ну и дельтапаки под целевые ОС
Re: полная сборка plugin-а для Eclipse из Ant
От: nen777w  
Дата: 15.11.12 15:47
Оценка:
Короче как всегда отчитваюсь....
Убил на эту казалось бы фигню весь день. Я в Java недавно совсем так что может быть это и не совсем правильно, но оно сработало.
Просьба оценить, попинать и все такое...
Итак...
1) Открываем проект плагина в Eclipse.
2) Идем в File->Export->General->Ant Buildfiles и получаем build.xml в каталоге плагина
Этот скрипт способен скомпилировать преокт под Ant, без Eclips.
3) Пишем xml Ant скрипт который собирает конечный плагин в jar и кладем его тоже в каталоге плагина:
  "assemply_plugin.xml"
<?xml version="1.0" encoding="UTF-8"?>
<project default="plugin_export" name="build">
    <target name="plugin_export">
        
        <!-- Define build directories -->
        <property name="build.root" location="../$build/" />
        <property name="build.temp" location="${build.root}/temp" />
        <property name="build.out" location="${build.root}/product" />
        
        <!-- Create build directories -->
        <delete dir="${build.root}" />
        <mkdir dir="${build.temp}" />
        <mkdir dir="${build.out}" />
        
        <!-- Read the MANIFEST.MF -->
        <copy file="META-INF/MANIFEST.MF" todir="${build.temp}" />
        <replace file="${build.temp}/MANIFEST.MF">
        <replacefilter token=":=" value="=" />
        <replacefilter token=":" value="=" />
        <replacetoken>;</replacetoken>
        <replacevalue>
        </replacevalue>
        </replace>
        <property file="${build.temp}/MANIFEST.MF"/>
        
        <!-- Plugin locations -->
        <property name="plugin.jarname" value="hp.lr.continuousdelivery.eclipseaddin_${Bundle-Version}" />
        <property name="plugin.jar" location="${build.out}/${plugin.jarname}.jar" />
        
        <!-- Assemble plug-in JAR -->
        <mkdir dir="${build.temp}/jars/plugins" />
        <zip destfile="${plugin.jar}">
        <zipfileset dir="bin" />
        <zipfileset dir="." includes="META-INF/MANIFEST.MF" />
        <zipfileset dir="." includes="plugin.xml" />
        <zipfileset dir="." includes="icons/*.gif" />
        <zipfileset dir="." includes="fake_script_tpl/**/*" />
        </zip>

    </target>
</project>

4) Пишем bat файл которым будем ссбирать все это, кладем его прямо в каталог проекта плагина (по путям к файлам будет понятно куда):
  "bat-файл"

set ANT_HOME=C:\APP_TMP\TEST_BUILD\apache-ant-1.8.4
set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_21

call %ANT_HOME%\bin\ant -buildfile build.xml
call %ANT_HOME%\bin\ant -buildfile assemply_plugin.xml


5) Запускаем батник и в $build\product\hp.lr.continuousdelivery.eclipseaddin_1.0.0.qualifier.jar получаем наш плагин.
6) Копируем плагин в папку Eclipse/plugins, запускаем Eclipse и убеждаемся что он работает.

Я конечно где то понимаю что помоему через Ж, но по другому просто не получалось. Может Вы что то подскажете?
Re[3]: полная сборка plugin-а для Eclipse из Ant
От: mekanik  
Дата: 15.11.12 16:15
Оценка:
Здравствуйте, 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 или без него.
Re[2]: полная сборка plugin-а для Eclipse из Ant
От: avpavlov  
Дата: 16.11.12 10:18
Оценка:
N>6) Копируем плагин в папку Eclipse/plugins, запускаем Eclipse и убеждаемся что он работает.

Если работает, то на этом можно заканчивать. Ну или потратить ещё время на PDE build.

N>Убил на эту казалось бы фигню весь день. Я в Java недавно совсем так что может быть это и не совсем правильно, но оно сработало.


Вся эта твоя эпопея к Яве не имеет никакого отношения. Если убрать библиотеки, серверные разработки, веб-приложения, апплеты и ГУИ приложения на Swing (вроде ничего не забыл), то оставшиеся приложения под RCP платформу — это сильно меньше 1% от разработок на Яве (на мой взгляд).

Эклипс и вся эта RCP инфраструктура очень недружественна Maven'у, который сейчас является стандартом де-факто для описания зависимостей и сборки приложений. Плагин Tycho, который тут уже упоминали, слабый помощник.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.