Eclipse: Какая минимальная установка Eclipse необходима для сборки PDE без головы? - PullRequest
13 голосов
/ 27 февраля 2010

В настоящее время я использую сборку PDE в автономном режиме для сборки проекта OSGI Bundle. Задача PDE Antrunner использует установку Eclipse, и я просто указываю на мою локальную установку Eclipse.

К сожалению, моя установка Eclipse имеет размер около 260 МБ, но я предполагаю, что для сборки PDE НЕ требуются все эти плагины в стандартной установке Eclipse.

Кто-нибудь сейчас знает, какой минимальный список плагинов мне нужен для создания автономной PDE? Все мои зависимости, которые у меня фактически есть в папке пользовательской целевой платформы, поэтому я предполагаю, что единственное, что мне нужно от моей установки eclipse, - это зависимости, которые действительно нужны для построения PDE. Но что это? Могу ли я уменьшить свою установку до минимума?

Моя цель также состоит в том, чтобы зарегистрировать эту папку "build-eclipse" в SVN моего проекта, чтобы при ее проверке у вас было все необходимое для запуска полной сборки, не затрагивая какие-либо build.properties. Но я не хочу совершать 266 МБ затмения, если мне может понадобиться только 20 МБ.

Спасибо Кристоф

Ответы [ 2 ]

5 голосов
/ 06 мая 2010

Мне наконец-то нужно было сделать это самому сегодня (чтобы решить проблему, с которой я столкнулся, когда каталоги с пробелами в их именах не были включены в комплект, созданный PDE ). В конце концов я получил что-то, что могло бы собрать мою коллекцию (основанных на Java) плагинов. Я не знаю, является ли он «минимальным», но он ориентирован на сборку Java PDE и намного меньше, чем полная установка Eclipse IDE.

Я делал грубые записи; здесь может быть несколько упущений или лишних шагов, но в основном это должно быть руководство.

I:

  1. Запустил Eclipse IDE (в моем случае это экземпляр 3.5, который я использую в данный момент).
  2. Использовал пустое рабочее пространство, поэтому изменения в целевой платформе не испортили бы мои "настоящие" проекты.
  3. Удостоверился, что целевая платформа была установлена ​​в то место, откуда я хотел нарисовать плагины моего компоновщика PDE (в моем случае, только мой работающий Eclipse). (Окно | Настройки ... | Разработка плагинов | Целевая платформа)
  4. Создан новый пустой проект.
  5. Создана новая Конфигурация продукта в рамках этого проекта (с использованием «основных настроек»).
  6. На странице «Обзор» новой конфигурации продукта снят флажок «Продукт содержит собственные артефакты запуска».
  7. На зависимостях, указанные ниже модули входят в состав продукта:
    • org.eclipse.pde.build
    • org.apache.ant
    • org.eclipse.jdt.core
  8. Установлен флажок «Включить необязательные зависимости. , .»
  9. Нажмите «Добавить необходимые плагины».
  10. Щелкните правой кнопкой мыши определение продукта в Package Explorer и выберите «Export… | Продукт Затмения ».
  11. Сказал, куда я хотел, чтобы мой экземпляр компоновщика PDE шел.
  12. Не отмечен «Синхронизировать перед экспортом».
  13. Не отмечен «Создать хранилище метаданных».
  14. Нажал «Готово».

Теперь я могу (продолжать) запускать сборку PDE из моей обычной сборки Ant, вызывая макрос, подобный следующему (есть ли лучший способ?):

<macrodef name="build-a-product">
    <attribute name="config-dir"/>
    <sequential>
        <property name="product-build-file" value="${pde-builder-path}\plugins\org.eclipse.pde.build_3.5.2.R35x_20100114\scripts\productBuild\productBuild.xml" />
        <java jar="${pde-builder-path}\plugins\org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar" fork="yes" failonerror="yes" >
            <arg value="-application" />
            <arg value="org.eclipse.ant.core.antRunner" />

            <arg value="-buildfile" />
            <arg value="${product-build-file}" />

            <arg value="-Dbuilder=@{config-dir}" />

            <arg value="-Dbasedir=${basedir}" />
        </java>
    </sequential>
</macrodef>
3 голосов
/ 03 марта 2010

Я не могу прямо ответить на ваш вопрос, но могу немного взмахнуть руками, некоторые из которых могут помочь вам найти реальный ответ.

В моем опыте PDE я нашел очень полезным различать:

  • Eclipse IDE, который я использовал для интерактивного редактирования
  • Установка "Eclipse", которую я использовал для сборок безголовых PDE
  • «Целевая платформа» (набор плагинов / функций / и т. Д., От которых я строю, зависит)

Похоже, это ясные, отдельные понятия в вашей голове: вы уже изолировали «целевую платформу» и хотите изолировать ваш интерактивный Eclipse от вашего компоновщика PDE.

Вы можете попробовать создать новое (пустое) рабочее пространство в интерактивном Eclipse (просто чтобы убедиться, что вы смотрите на него, а не на целевую платформу), открыв представление «Плагины», щелкнув правой кнопкой мыши на многообещающем - посмотреть плагин, например org.eclipse.pde.build, и выбрать «Открыть зависимости». «Плоский формат» может быть более полезным способом просмотра результатов, чем иерархический, хотя в моем Eclipse я не могу скопировать и вставить этот список.

В моем случае в JDT ничего не упоминалось, что наводит меня на мысль, что попытка создать плагин на основе Java потерпит неудачу, но, надеюсь, это даст другое преимущество (например, «не могу найти» * 1018) * ", или что-то).

Похоже, что "должен" быть способ использовать механизм обновлений программного обеспечения, Target Platform или Buckminster, чтобы просто назвать один плагин и заставить все остальные встать на свои места. Может быть, вы могли бы использовать Target Platform, выбрать нужный плагин, нажать кнопку, чтобы выбрать нужные, а затем каким-то образом экспортировать «сборку», которая фактически просто собрала бы все эти плагины?

Признаюсь, что мы только что зарегистрировались в интерактивном Eclipse и использовали его в качестве нашего PDE-компоновщика. Мы не используем его в интерактивном режиме, и мы поддерживаем отдельную целевую платформу. Наш PDE-конструктор явно не минимален, но, возможно, также может быть таким, так что я надеюсь, что вы обновите это пространство своими открытиями.

...