从Maven存储库更新更新站点

问题描述 投票:0回答:1

我有一个普通的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>

这将从目标/存储库获取存储库,并将其与项目基本目录中的存储库合并。因此,目标/存储库中的每个插件都将添加到更新站点。

这适用于目标平台文件,但当然不适用于Maven GAV或JAR。我尝试将插件添加为依赖项并使用dependency:copy-dependencies,但这不会创建P2存储库。

有插件tycho-p2-repository:assemble-repository,但我不确定它可以帮助我创建一个用于tycho-p2-extras-plugin消费的P2存储库。或者甚至是独立的。

我找到了reficio's p2-maven-plugin,它可以从JAR生成P2存储库,但它根本不支持Tycho。

我觉得我离解决方案只有一步之遥。那么如何从Maven GAV(或JAR文件)构建P2存储库?

tycho
1个回答
0
投票

第一次这是不可能的。所以我使用命令行:

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 

但是我无法创建类别,因此默认情况下存储库似乎为空。

© www.soinside.com 2019 - 2024. All rights reserved.