Eclipse: Что минимальная установка Eclipse необходима для бездисплейной сборки PDE?

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

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

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

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

Спасибо Christoph

13
задан Christoph 27 February 2010 в 13:48
поделиться

2 ответа

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

В моем опыте PDE я обнаружил, что очень полезно различать:

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

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

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

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

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

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

3
ответ дан 2 December 2019 в 01:41
поделиться

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

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

I:

  1. Запустил недавнюю среду разработки Eclipse (в моем случае это экземпляр версии 3.5, который я использую в данный момент).
  2. Использовала временную рабочую область, поэтому изменения целевой платформы не испортили мои «настоящие» проекты.
  3. Удостоверился, что целевая платформа была установлена ​​в то место, из которого я хотел извлечь плагины моего конструктора PDE (в моем случае, только мой работающий Eclipse). (Окно | Настройки ... | Разработка плагинов | Целевая платформа)
  4. Создан новый пустой проект.
  5. Создал новую конфигурацию продукта в рамках этого проекта (используя «базовые настройки»).
  6. На странице «Обзор» новой конфигурации продукта не установлен флажок «Продукт включает собственные артефакты средства запуска».
  7. В разделе «Зависимости» указаны следующие плагины как составляющие продукта:
    • org.eclipse.pde.build
    • org.apache.ant
    • org.eclipse.jdt.core
  8. Установлен флажок «Включить необязательные зависимости. . . »
  9. Щелкните« Добавить необходимые плагины ».
  10. Щелкните правой кнопкой мыши определение продукта в проводнике пакетов и выберите «Экспорт… | Продукт Eclipse ».
  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>
5
ответ дан 2 December 2019 в 01:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: