Info.plist 在错误的位置通过 tycho 构建 Eclipse RCP MacOS 包
Info.plist at wrong position building an Eclipse RCP MacOS bundle via tycho
我们有一个 Eclipse RCP 产品,我刚刚将其迁移到使用 Eclipse Tycho/Maven 来构建发行版。正如我们所读到的那样,Tycho 自 0.24 以来就能够将整个产品分发包包含在一个标准的 MacOS 应用程序包中,我们也想使用它。
然而,事实证明 Info.plist 在创建的 MacOS 包中处于错误的位置。创建的结构是:
- OurApp.app
- 内容
- 蚀
- 整个eclipse分布
- Eclipse.app
- 内容
- Info.plist
- 苹果操作系统
- 原生启动器
根据discussions around that feature我的理解应该是:
- OurApp.app
- 内容
- Info.plist
- 蚀
- 整个eclipse分布
- 苹果操作系统
- 本地laucher
所以 Info.plist 以某种方式被放入了一个伪造的 "Eclipse.app/Contents" 文件夹结构中,我们不知道为什么。
我们 pom.xml 中的第谷配置:
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-p2-director-plugin</artifactId>
<version>${tycho.version}</version>
<executions>
<execution>
<id>materialize-products</id>
<goals>
<goal>materialize-products</goal>
</goals>
</execution>
<execution>
<id>archive-products</id>
<goals>
<goal>archive-products</goal>
</goals>
</execution>
<execution>
<id>create-product-distributions</id>
<goals>
<goal>materialize-products</goal>
<goal>archive-products</goal>
</goals>
</execution>
</executions>
<configuration>
<includeAllDependencies>true</includeAllDependencies>
<profileProperties>
<macosx-bundled>true</macosx-bundled>
</profileProperties>
<formats>
<win32>zip</win32>
<linux>tar.gz</linux>
<macosx>tar.gz</macosx>
</formats>
<products>
<product>
<id>OurApp</id>
<archiveFileName>our-app-${unqualifiedVersion}-${buildQualifier}</archiveFileName>
<rootFolders>
<macosx>OurApp.app</macosx>
</rootFolders>
</product>
</products>
</configuration>
</plugin>
有人知道是什么让第谷做到这一点吗?谢谢!
好的,我想我明白了。
我的 MyApp.product 文件有错误的分发图标文件路径。这些会在构建过程中的某处引发异常,但仍会继续提供分发文件。
一旦我更正了这些路径,分布布局突然就如预期的那样。
我假设错误的路径已经终止了在过程中某处组装分发的任务,所以这个未完成的状态然后被打包。
我们有一个 Eclipse RCP 产品,我刚刚将其迁移到使用 Eclipse Tycho/Maven 来构建发行版。正如我们所读到的那样,Tycho 自 0.24 以来就能够将整个产品分发包包含在一个标准的 MacOS 应用程序包中,我们也想使用它。
然而,事实证明 Info.plist 在创建的 MacOS 包中处于错误的位置。创建的结构是:
- OurApp.app
- 内容
- 蚀
- 整个eclipse分布
- Eclipse.app
- 内容
- Info.plist
- 内容
- 苹果操作系统
- 原生启动器
- 蚀
- 内容
根据discussions around that feature我的理解应该是:
- OurApp.app
- 内容
- Info.plist
- 蚀
- 整个eclipse分布
- 苹果操作系统
- 本地laucher
- 内容
所以 Info.plist 以某种方式被放入了一个伪造的 "Eclipse.app/Contents" 文件夹结构中,我们不知道为什么。
我们 pom.xml 中的第谷配置:
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-p2-director-plugin</artifactId>
<version>${tycho.version}</version>
<executions>
<execution>
<id>materialize-products</id>
<goals>
<goal>materialize-products</goal>
</goals>
</execution>
<execution>
<id>archive-products</id>
<goals>
<goal>archive-products</goal>
</goals>
</execution>
<execution>
<id>create-product-distributions</id>
<goals>
<goal>materialize-products</goal>
<goal>archive-products</goal>
</goals>
</execution>
</executions>
<configuration>
<includeAllDependencies>true</includeAllDependencies>
<profileProperties>
<macosx-bundled>true</macosx-bundled>
</profileProperties>
<formats>
<win32>zip</win32>
<linux>tar.gz</linux>
<macosx>tar.gz</macosx>
</formats>
<products>
<product>
<id>OurApp</id>
<archiveFileName>our-app-${unqualifiedVersion}-${buildQualifier}</archiveFileName>
<rootFolders>
<macosx>OurApp.app</macosx>
</rootFolders>
</product>
</products>
</configuration>
</plugin>
有人知道是什么让第谷做到这一点吗?谢谢!
好的,我想我明白了。
我的 MyApp.product 文件有错误的分发图标文件路径。这些会在构建过程中的某处引发异常,但仍会继续提供分发文件。
一旦我更正了这些路径,分布布局突然就如预期的那样。
我假设错误的路径已经终止了在过程中某处组装分发的任务,所以这个未完成的状态然后被打包。