3

私のプロジェクトでは、PDE/Build を使用して、ハドソンのリモート サーバーで RCP アプリケーションをビルドしています。現在のバージョンは Eclipse Galileo ベースのパッケージであり、ビルダー アプリケーションとしてもターゲット プラットフォームとしても正常に動作します。

Indigo にアップグレードしたいのですが、ここで助けが必要です。

まず、複数の zip を展開してターゲット プラットフォームを形成する古い方法は機能しません。(私はプラットフォーム ランタイム バイナリ、デルタ パック、PDE ランタイム バイナリ、および JDT ランタイム バイナリを使用しました。これは、ビルダーとしてもターゲット プラットフォームとしても使用できるセットです)。

OK、そのための新しいターゲット定義があります。 Galileo のセットアップに対応するように構成するにはどうすればよいですか? (そしてもちろん、それがよりシンプル/クリーンであれば気にしません)。

私は次のことを試しました:

  1. download.eclipse.org/eclipse/updates/3.7 から Eclipse RCP、Eclipse RCP プラグイン開発者リソース (ソース用)、PDE/API ツール環境を追加
  2. download.eclipse.org/releases/indigo から Eclipse Java Development を追加
  3. download.eclipse.org/eclipse/downloads/drops/R-3.7-201106131736/download.php?dropFile=eclipse-3.7-delta-pack.zip から手動でデルタ パックをダウンロードし、解凍して結果のディレクトリを (ディレクトリとして) 追加しました。ターゲット定義へ。ところで、インディゴデルタパックのアップデートサイトはありますか?
  4. Eclipse Orbit p2 サイトからいくつかのサードパーティ プラグインを追加しました: download.eclipse.org/tools/orbit/downloads/drops/R20110523182458/repository

次に、定義の 'Set as Target Platform' を使用しました - 私のプロジェクトは私のワークスペースで問題なくビルドされました - それは素晴らしいことです! 次に、プラットフォームを にエクスポートしました。ここで、次のようにビルドを実行しようとすると:

java -jar <target-platform>\plugins\org.eclipse.equinox.launcher_1.2.0.v20110502.jar -application org.eclipse.ant.core.antRunner -buildfile <target-platform>/plugins/org.eclipse.pde.build_3.7.0.v20110512-1320/scripts/productBuild/productBuild.xml -Dbuilder=<pdebuild-folder>

あるいは

java -jar <target-platform>\plugins\org.eclipse.equinox.launcher_1.2.0.v20110502.jar

次のエラーが表示されます。

エラーが発生しました。ログ ファイル \configuration\1316517334675.log を参照してください。

ログには次の内容が含まれます。

!SESSION 2011-09-20 15:15:34.269 eclipse.buildId=unknown java.version=1.7.0 java.vendor=Oracle Corporation BootLoader 定数: OS=win32、ARCH=x86、WS=win32、NL=en_US

!ENTRY org.eclipse.osgi 4 0 2011-09-20 15:15:35.175 !MESSAGE アプリケーション エラー !STACK 1 java.lang.IllegalStateException: アプリケーション サービスを取得できません。org.eclipse.core.runtime バンドルが解決され、開始されていることを確認します (config.ini を参照)。org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:74) で org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344) で org.eclipse.core .runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ) org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:

4

1 に答える 1

1

最終的に、「RCP および RAP 開発者向けの Eclipse」とデルタ パック、および SWTBot に対する Maven ベースのビルドになりました。どちらも Maven リポジトリにデプロイされ、ビルド中に展開されます (必要な場合)。したがって、ターゲット プラットフォームのサイズは気にしなくなりました。

<build>

    <plugins>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <version>2.4</version>
            <executions>
                <!-- Deploy target platform if required -->
                <execution>
                    <id>unpack-target-platform</id>
                    <phase>initialize</phase>
                    <goals>
                        <goal>unpack</goal>
                    </goals>

                    <configuration>
                        <markersDirectory>${target.platform.dir}</markersDirectory>
                        <artifactItems>
                            <artifactItem>
                                <groupId>org.eclipse</groupId>
                                <artifactId>rcp-target-platform</artifactId>
                                <version>3.7.2-win32-x86_64</version>
                                <type>zip</type>
                                <outputDirectory>${target.platform.dir.sdk}</outputDirectory>
                            </artifactItem>

                            <artifactItem>
                                <groupId>org.eclipse</groupId>
                                <artifactId>rcp-target-platform-delta-pack</artifactId>
                                <version>3.7.2</version>
                                <type>zip</type>
                                <outputDirectory>${target.platform.dir.deltapack}</outputDirectory>
                            </artifactItem>

                            <artifactItem>
                                <groupId>org.eclipse</groupId>
                                <artifactId>swtbot.eclipse</artifactId>
                                <version>2.0.5.20111003_1754-3676ac8-dev-e36</version>
                                <type>zip</type>
                                <outputDirectory>${target.platform.dir.swtbot}</outputDirectory>
                            </artifactItem>
                        </artifactItems>
                    </configuration>
                </execution>

            </executions>

        </plugin>
    </plugins>
</build>



<properties>
    <!-- Build system properties -->
    <target.platform.dir>/rcp-target-platform-3.7.2</target.platform.dir>

    <target.platform.dir.swtbot>${target.platform.dir}/swtbot</target.platform.dir.swtbot>
    <target.platform.dir.swtbot.plugins>${target.platform.dir.swtbot}/eclipse/plugins</target.platform.dir.swtbot.plugins>

    <target.platform.dir.sdk>${target.platform.dir}/sdk</target.platform.dir.sdk>
    <target.platform.dir.sdk.plugins>${target.platform.dir.sdk}/eclipse/plugins</target.platform.dir.sdk.plugins>

    <target.platform.dir.deltapack>${target.platform.dir}/deltapack</target.platform.dir.deltapack>
    <target.platform.dir.deltapack.plugins>${target.platform.dir.deltapack}/eclipse/plugins</target.platform.dir.deltapack.plugins>

    <pdebuild.launcherVersion>1.2.0.v20110502</pdebuild.launcherVersion>
    <pdebuild.plugin.version>3.7.0.v20111116-2009</pdebuild.plugin.version>

    <pdebuild.antDelegateBuildfile>${pdebuild.configDirectory}/pdebuild-ant-from-mvn.xml</pdebuild.antDelegateBuildfile>
    <pdebuild.configDirectory>${basedir}/pdebuild</pdebuild.configDirectory>

    <pdebuild.buildDirectory>${project.build.directory}/${pdebuild.directory}</pdebuild.buildDirectory>
    <pdebuild.directory>pde-build</pdebuild.directory>
</properties>

次に、次のように Maven から ant ビルドを呼び出します。

        <!-- Delegate execution to PDE/Build via ant -->
        <plugin>
            <artifactId>maven-antrun-plugin</artifactId>
            <version>1.7</version>
            <executions>
                <execution>
                    <phase>compile</phase>
                    <configuration>
                        <target>
                            <ant antfile="${pdebuild.antDelegateBuildfile}">
                                <property name="equinoxLauncherPluginVersion" value="${pdebuild.launcherVersion}" />
                                <property name="pdeBuildPluginVersion" value="${pdebuild.plugin.version}" />
                                <property name="projectsDirectory" value="${basedir}" />
                                <property name="baseLocation" value="${target.platform.dir}" />
                                <property name="buildDirectory" value="${pdebuild.buildDirectory}" />
                                <property name="builder" value="${pdebuild.configDirectory}" />
                                <property name="product" value="${gui.product}"/>
                                <property name="runPackager" value="${pdebuild.runPackager}"/>
                            </ant>
                        </target>
                    </configuration>
                    <goals>
                        <goal>run</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

今はセットアップに満足しています。

于 2012-09-12T18:45:14.940 に答える