Создание плагинов Eclipse из существующих jar-файлов в автоматизированной сборке - PullRequest
3 голосов
/ 18 июня 2011

Я хочу сделать процесс сборки для моего плагина Eclipse RCP полностью автоматическим.Он имеет некоторые сторонние jar-зависимости (доступные из репозиториев Maven), которые не распространяются в виде OSGi-пакетов, и в настоящее время я использую мастер «Eclipse-плагин из существующих JAR-архивов», чтобы конвертировать их вручную.Может ли PDEBuild или Maven / Tycho (или, возможно, какая-либо другая система сборки) сделать это как шаг сборки?

Ответы [ 3 ]

4 голосов
/ 18 июня 2011

Питер Тиллеманс упомянул команду PAX wrap jar в в этом сообщении

Плагин Maven bundle от Apache Felix, возможно, стоит посмотретьтоже.

Может быть, Bundlor tool от SpringSource также может обрабатывать создание пакетов osgi из jar.

3 голосов
/ 05 сентября 2012

Проверьте плагин p2-maven, разработанный мной.Это плагин с открытым исходным кодом, дружественный сообществу, который обрабатывает:

  • упаковка jar-файлов, которые не являются пакетами OSGi (полностью настраиваемые)
  • создание полнофункционального p2-сайт обновления, который может использоваться в Eclipse PDE
  • генерация соответствующих исходных комплектов (он генерирует исходные комплекты для всех комплектов)

Подробности и документацию можно найти здесь: http://projects.reficio.org/p2-maven-plugin/manual.html

Пример использования:

<plugin>
    <groupId>org.reficio</groupId>
    <artifactId>p2-maven-plugin</artifactId>
    <version>1.0.0-SNAPSHOT</version>
    <executions>
        <execution>
            <id>default-cli</id>
            <configuration>
                <artifacts>
                    <!-- specify your depencies here -->
                    <!-- groupId:artifactId:version -->
                    <artifact><id>commons-io:commons-io:2.1</id></artifact>
                    <artifact><id>commons-lang:commons-lang:2.4</id></artifact>
                    <artifact><id>commons-lang:commons-lang:2.5</id></artifact>
                    <artifact><id>commons-lang:commons-lang:2.6</id></artifact>
                    <artifact><id>org.apache.commons:commons-lang3:3.1</id></artifact>
                </artifacts>
            </configuration>
        </execution>
    </executions>
</plugin>
0 голосов
/ 18 июня 2011

Посмотрите на различия между банкой третьей стороны и ее эквивалентностью в комплекте. Это просто дополнительный файл plugin.xml и несколько дополнительных строк в манифесте.

Напишите свой собственный код для упаковки банок.

...