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 包中处于错误的位置。创建的结构是:

根据discussions around that feature我的理解应该是:

所以 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 文件有错误的分发图标文件路径。这些会在构建过程中的某处引发异常,但仍会继续提供分发文件。

一旦我更正了这些路径,分布布局突然就如预期的那样。

我假设错误的路径已经终止了在过程中某处组装分发的任务,所以这个未完成的状态然后被打包。