Как создать локальный репозиторий p2, который поддерживает несколько целевых платформ

Я создал плагин eclipse, его функции и сайт обновлений... все находится в рамках основного проекта. Структура

Test master
--test-plugin
--test-feature
--test-update site

Я преобразовал все проекты в maven с помощью Tycho, а также у меня есть некоторые проблемы с зависимостями, поэтому мне нужен репозиторий p2, поэтому я создал локальный репозиторий p2, как упоминал Ник Уилсон Ошибка зависимости проекта при использовании моего локального репозитория p2 с необходимыми jar-файлами здесь ... но он поддерживает только мою платформу Windows 32 бит. Он показывает ошибку в сборке maven в главном файле pom для сред здесь...

<environment>
          <os>linux</os>
          <ws>gtk</ws>
          <arch>x86</arch>
        </environment>
        <environment>
          <os>linux</os>
          <ws>gtk</ws>
          <arch>x86_64</arch>
        </environment>

Итак, я узнал, что нам нужно создать репозиторий p2, который поддерживает все платформы. Как я могу его создать? Потому что после тестирования моего плагина в моей локальной системе я должен поместить его на сервер CI (jenkins), он находится в Linux. Там сборка не работает, поэтому мне это очень нужно. Я гуглил много сайтов, все что-то говорят с файлом продукта. но я не создаю файл определения продукта. Думаю, мне не потребуется файл определения продукта, потому что без него проект будет генерировать плагин eclipse во время сборки maven.


person Obuli Sundar    schedule 07.11.2014    source источник
comment
Используя созданный вами репозиторий p2 (см. связанный вопрос), у вас возникнут проблемы, которых не будет ни у кого другого.   -  person oberlies    schedule 13.11.2014
comment
Учитывая, что нужно прочитать длинный связанный вопрос, чтобы угадать причину проблем, которые у вас возникают, это не очень хороший вопрос.   -  person oberlies    schedule 13.11.2014
comment
@oberlies: Спасибо за ваш ответ. Но я создал репозиторий p2, который содержит только одну версию swt. Мне нужно знать, как создать репозиторий p2, который будет содержать все версии swt, поддерживающие все целевые платформы.   -  person Obuli Sundar    schedule 14.11.2014
comment
Если вы можете предоставить краткое, но полное описание того, как вы создали репозиторий p2 для одной платформы (и это не сомнительный подход из связанного вопроса), мы можем (и захотим) помочь.   -  person oberlies    schedule 14.11.2014
comment
я создал репозиторий p2, как указано в ссылке. но он поддерживает только мою платформу (32-разрядная версия Windows). Я создал репозиторий, используя следующую команду в рабочем каталоге eclipse /myfolder/eclipse.exe -consolelog -nosplash -application org.eclipse.equinox.p2.publisher.FeaturesAndBundlesPublisher - файл metadataRepository:/myfolder/p2-repo/ -artifactRepository file:/myfolder/p2-repo/ -source /myfolder/eclipse -publishArtifacts, и он успешно создал репозиторий.   -  person Obuli Sundar    schedule 14.11.2014
comment
но ошибка в том, что p2 не поддерживает среду Linux и показывает ошибку в моем файле pom. [ОШИБКА] Внутренняя ошибка: java.lang.RuntimeException: не удалось определить пакет фрагментов реализации SWT для среды {osgi.ws=gtk, osgi.os=linux, osgi.arch=x86, org.eclipse.update.install.features= true} -> [Справка 1] org.apache.maven.InternalErrorException: Внутренняя ошибка: java.lang.RuntimeException: Не удалось определить пакет фрагментов реализации SWT для среды {osgi.ws=gtk, osgi.os=linux, osgi.arch =x86, org.eclipse.update.install.features=true}   -  person Obuli Sundar    schedule 14.11.2014
comment
Самостоятельная публикация артефактов очень сомнительна и может вызвать всевозможные проблемы. И, по крайней мере, я не собираюсь помогать тебе с твоими собственными проблемами.   -  person oberlies    schedule 14.11.2014