Info.plist在错误的位置通过tycho构建Eclipse RCP MacOS包

时间:2016-04-19 10:34:52

标签: eclipse eclipse-rcp tycho

我们有一个Eclipse RCP产品,我刚刚迁移到Eclipse Tycho / Maven来构建发行版。正如我们已经读到的,Tycho自0.24以来能够在标准MacOS应用程序包中包含整个产品分发,我们也想使用它。

然而,事实证明,Info.plist在创建的MacOS包中位于错误的位置。创建的结构是:

  • OurApp.app
    • 目录
      • 的Eclipse
        • 整个日食发行
      • Eclipse.app
        • 目录
          • 的Info.plist
      • 的MacOS
        • 原生发射器

据我所知,discussions around that feature应该是:

  • OurApp.app
    • 目录
      • 的Info.plist
      • 的Eclipse
        • 整个日食发行
      • 的MacOS
        • 本土的laucher

所以Info.plist以某种方式被置于一个虚假的“Eclipse.app/Contents”文件夹结构中,我们不知道为什么。

我们的pom.xml中的tycho配置:

<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>

任何人都知道什么可以让tycho这样做?谢谢!

1 个答案:

答案 0 :(得分:1)

好的,我想我已经明白了。

我的MyApp.product文件包含分发图标文件的错误路径。这些会在构建过程中的某处引发异常,但仍会继续提供分发文件。

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

我认为错误的路径已经杀死了在流程中间某处组装分发的任务,因此这个未完成的状态随后被打包。