Обновление сайта обновления из репозитория Maven - PullRequest
0 голосов
/ 04 марта 2019

У меня нормальная сборка плагина Eclipse с Tycho, и я хочу создать сайт обновлений с тем же Tycho.Моя проблема состоит в том, чтобы выяснить, как получить артефакт из его Maven GAV (или, возможно, JAR) на сайт обновления.

Что я пробовал:

        <plugin>
            <groupId>org.eclipse.tycho.extras</groupId>
            <artifactId>tycho-p2-extras-plugin</artifactId>
            <version>${tycho.version}</version>
            <executions>
                <execution>
                    <id>add-to-update-site</id>
                    <phase>install</phase>
                    <goals>
                        <goal>mirror</goal>
                    </goals>
                    <configuration>
                        <source>
                            <repository>
                                <url>${project.baseUri}/target/repository</url>
                            </repository>
                        </source>
                        <destination>${project.basedir}</destination>
                        <append>true</append>
                    </configuration>
                </execution>
            </executions>
        </plugin>

Это берет хранилище из target / repository и объединяет его с базой данных в каталоге проекта.Таким образом, каждый плагин в target / repository будет добавлен на сайт обновлений.

Это работает с файлом целевой платформы, но, конечно, не с Maven GAV или JAR.Я попытался добавить плагин в качестве зависимости и использовать dependency:copy-dependencies, но это не создаст репозиторий P2.

Существует плагин tycho-p2-repository: assembly-repository , но я не уверен, что это может помочь мне создать хранилище P2 для использования tycho-p2-extras-plugin.Или даже в качестве отдельного.

Я нашел p2-maven-plugin reficio , который может генерировать P2-репозитории из JAR-файлов, но он совсем не поддерживает Tycho.

Я чувствую, что я только в одном шаге от решения.Итак, как мне создать репозиторий P2 из Maven GAV (или JAR-файлов)?

1 Ответ

0 голосов
/ 06 марта 2019

Это невозможно с Тихо.Поэтому я использовал командную строку:

SET ECLIPSE_HOME=S:/Development/Eclipse 2018-12
SET EQUINOX_VERSION=1.5.200.v20180922-1751
SET CURRENT_PATH=%~dp0
SET SOURCE_REPOSITORY=%CURRENT_PATH%\dropin
SET TARGET_REPOSITORY=%CURRENT_PATH%\


java -jar "%ECLIPSE_HOME%/plugins/org.eclipse.equinox.launcher_%EQUINOX_VERSION%.jar" 
    -application org.eclipse.equinox.p2.publisher.FeaturesAndBundlesPublisher 
    -metadataRepository "file:/%TARGET_REPOSITORY%" -artifactRepository "file:/%TARGET_REPOSITORY%" 
    -source "%SOURCE_REPOSITORY%" -publishArtifacts -append 

Однако я не смог создать категории, поэтому хранилище по умолчанию выглядит пустым.

...