2011-09-20 3 views
3

내 프로젝트에서는 PDE/Build를 사용하여 허드슨의 원격 서버에서 내 RCP 응용 프로그램을 빌드합니다. 현재 버전은 Eclipse Galileo를 기반으로 한 패키지이며 빌더 애플리케이션과 대상 플랫폼 모두에서 잘 작동합니다.Indigo로 Eclipse PDE/Build를 설정하는 방법은 무엇입니까?

이제 인디고로 업그레이드하고 싶습니다. 여기에 도움이 필요합니다.

먼저, 대상 플랫폼을 구성하기 위해 zip 번호를 풀기위한 이전 방법이 작동하지 않습니다. (플랫폼 런타임 이진, 델타 팩, PDE 런타임 이진 및 JDT 런타임 이진 - 빌더 및 대상 플랫폼으로 모두 사용할 수있는 세트를 사용했습니다).

좋아, 거기에 대한 새로운 목표 정의입니다. 내 갈릴레오 설정에 해당하도록 구성하려면 어떻게해야합니까? (물론 더 간단하고 깨끗한 지 신경 쓰지 않아도됩니다.) download.eclipse.org/eclipse/updates/3.7 에서

  1. 추가 이클립스 RCP, 이클립스 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. 추가 이클립스 궤도 (P2) 사이트에서 타사 플러그인 몇 : 다음 정의의이 '로 설정을 사용 download.eclipse.org/tools/orbit/downloads/drops/R20110523182458/repository

대상 플랫폼 '- 내 작업 공간에 내 프로젝트가 잘 구현되었습니다. 그런 다음 플랫폼을 내보냈습니다. 지금, 나는이처럼 내 빌드를 실행하려고하면 :

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 

:

An error has occurred. See the log file \configuration\1316517334675.log

로그는 다음을 포함 :

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

!ENTRY org.eclipse.osgi 4 0 2011-09-20 15:15:35.175 !MESSAGE Application error !STACK 1 java.lang.IllegalStateException: Unable to acquire application service. Ensure that the org.eclipse.core.runtime bundle is resolved and started (see config.ini). at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:74) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344) at 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) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577) at org.eclipse.equinox.launcher.Main.run(Main.java:1410) at org.eclipse.equinox.launcher.Main.main(Main.java:1386)

+0

다소 관련이 있습니다. https://bugs.eclipse.org/bugs/show_bug.cgi?id=266311 – vitaly

답변

1

"Eclipse for RCP and RAP Developers"및 델타 팩 + 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> 

나는 다음과 같이 메이븐에서 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> 

내가 지금 설정과 함께 기쁘게 생각합니다.

+0

코드를 https://gist.github.com/4529654에 복사했습니다. – vitaly

관련 문제