Статьи

Безголовая сборка для начинающих — часть I

Самый простой способ создания файлов плагинов — это мастер экспорта . Предполагая, что мы уже знаем это, давайте попробуем поиграть без сборки.

Безголовый строй

Здесь верстак (IDE или UI) называется «головой». Сборка без заголовка означает запуск сборок из командной строки в режиме без пользовательского интерфейса. Это может быть достигнуто различными способами, однако мы начнем с командной строки java и jar org.eclipse.equinox.launcher.

Java-jar

Это стандартная часть Java. Исполняемый файл Java имеет много параметров командной строки, и -jar является одним из них. Любопытные души могут узнать больше об упаковке  и  изготовлении  банок. 

org.eclipse.equinox.launcher

Eclipse имеет собственную реализацию OSGi, известную как Equinox . org.eclipse.equinox.launcher ‘ — это подключаемый модуль, а также исполняемый файл, запускающий среду выполнения OSGi. Он находится в папке плагинов как org.eclipse.equinox.launcher_ <версия> <qualifier.jar> (например, org.eclipse.equinox.launcher_1.1.0.v20100507.jar).

-заявление

Эта опция ‘-application’ сообщает ‘org.eclipse.equinox.launcher’, какое приложение должно быть запущено. Приложение идентифицируется по его идентификатору. Приложение обнаруживается с помощью службы Application Admin. Модель приложения времени выполнения объясняет, как она работает.

org.eclipse.ant.core.antRunner

Это идентификатор приложения для приложения AntRunner . Он предоставлен   подключаемым модулем org.eclipse.ant.core и предназначен для запуска файлов сборки Ant.

build.xml

Это скрипт Ant для создания плагина. Хорошая новость заключается в том, что нам не нужно быть экспертом в области Ant (однако полезно знать об этом). PDE Build может сгенерировать эту помощь для нас. Нажмите правой кнопкой мыши на build.properties и выберите Инструменты PDE — & gt; Создать Ant Build File. Это создаст файлы build.xml и javaCompiler … args. Там может быть больше, и особенно имя последнего может отличаться в зависимости от вывода. запись в файле build.properties.

Собираем кусочки

Предполагая, что именем проекта плагинов является «com.example.helloworld», команда для его создания будет без заголовка

java -jar <eclipse-installation-path>\plugins\org.eclipse.equinox.launcher_<version><qualifier>.jar -application org.eclipse.ant.core.antRunner -buildfile <eclipse-workspace-path>\<project-name>\<build-xml-path>

Example: 

java -jar C:\eclipse\plugins\org.eclipse.equinox.launcher_1.1.0.v20100507.jar
-application org.eclipse.ant.core.antRunner -buildfile C:\workspace\com.example.helloworld\build.xml

Result

This will build the plug-in project according to build.xml script. Since it was generated for us from build.propertied, it is essentially this file that governs the build. Note that build.xml is not generated automatically not kept in sync with build.properties. For any modifications to be reflected, the build.xml file has to be regenerated.

Assuming our plug-in does not have the Bundle-Classpath entry in the Manifest.MF file and source.. and output.. are the only source and output entries in our build.properties. The resultant build of such a plug-in will be in a folder ‘@Dot’ in the project along with the log-file @dot.log .

This is not quite we expected. We were hoping to see a com.example.helloworld_1.0.0.v201006141121.jar kind of file. This happened because the default target (task) will just compile the classes. To make it generate the jar, edit build.xml and make the default target ‘build.update.jar’ (mentioned in the very first line).

<project name="com.example.helloworld" default="build.update.jar" basedir=".">

 This shall generate the com.example.helloworld_<version><qualifier>.jar in the project folder. The build.xml can be modified to have it created in a desired location instead. Also note that the timestamp that replaces ‘qualifier’ is not the build time but the time when the build.xml was generated.

From http://blog.ankursharma.org/2010/06/headless-build-for-beginners-part-i.html