gpt4 book ai didi

eclipse - Tycho:带平台过滤器的 P2 Repo 镜像

转载 作者:行者123 更新时间:2023-12-02 01:41:36 26 4
gpt4 key购买 nike

我正在开发一个由多个插件和功能组成的 Eclipse RCP 应用程序。

除其他外,功能还通过根文件提供依赖于平台的 native 库。

我成功地打包了我的应用程序并使用 Tycho 创建了一个 P2 存储库。

现在我正在尝试创建一个应该只包含 win32 x86 平台工件的存储库副本。按照此链接上的说明 https://wiki.eclipse.org/Tycho/Additional_Tools#mirror_goal ,我尝试使用 Tycho 的 mirror 目标。这是我写的 pom 文件:

<?xml version="1.0" encoding="UTF-8"?>
<project>
<modelVersion>4.0.0</modelVersion>

<artifactId>mirror</artifactId>
<groupId>group</groupId>
<version>1.0.0-SNAPSHOT</version>
<name>Win32 Mirror</name>

<packaging>pom</packaging>
<properties>
<tycho-version>0.22.0</tycho-version>
<tycho-extras-version>0.22.0</tycho-extras-version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho.extras</groupId>
<artifactId>tycho-p2-extras-plugin</artifactId>
<version>${tycho-version}</version>
<executions>
<execution>
<phase>prepare-package</phase>
<goals>
<goal>mirror</goal>
</goals>
</execution>
</executions>
<configuration>
<source>
<!-- Full Repository -->
<repository>
<url>${project.baseUri}/full_repository/</url>
<layout>p2</layout>
</repository>
</source>

<filter>
<osgi.os>win32</osgi.os>
<osgi.ws>win32</osgi.ws>
<osgi.arch>x86</osgi.arch>
</filter>
</configuration>
</plugin>
</plugins>
</build>
</project>

但是,当我尝试创建镜像时,出现以下错误:

Failed to execute goal org.eclipse.tycho.extras:tycho-p2-extras-plugin:0.22.0:mirror (default)
on project mirror: Error during mirroring:
Mirroring failed: Problems resolving provisioning plan.
[my.feature_root.gtk.linux.x86_64 1.0.0.201501291243 cannot be installed in
this environment because its filter is not applicable.]

如您所见,Tycho 在原始存储库中遇到非 win32 x86 体系结构的二进制功能根文件时,无法创建镜像。

对于如何创建仅针对所需架构的 P2 存储库镜像,您有什么建议吗?

最佳答案

如果您在构建应用程序期间构建存储库(例如,通过 tycho-p2-director-plugin ,您可以使用 Maven profiles 来构建不同的存储库。一个配置文件可以使用您的标准设置(例如,所有平台),另一个可以只使用特定于 win32.x86 的目标平台,例如在父 POM 的 <build><plugins> 部分的以下代码片段中指定。

<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>target-platform-configuration</artifactId>
<version>${tycho-version}</version>
<configuration>
<resolver>p2</resolver>
<environments>
<environment>
<os>win32</os>
<ws>win32</ws>
<arch>x86</arch>
</environment>
</environments>
</configuration>
</plugin>

关于eclipse - Tycho:带平台过滤器的 P2 Repo 镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28219018/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com