2013-01-23 4 views
0

몇 가지 플러그인이 포함 된 Eclipse 기능이 있습니다. 플러그인 중 하나는 import package 문을 사용하여 다른 플러그인에 대한 종속성을 선언합니다.eclipse p2 저장소를 사용하여 올바른 플랫폼에 배치하기 위해 플랫폼 특정 코드로 플러그인을 얻으려면 어떻게해야합니까?

다른 플러그인에는 플랫폼 관련 코드가 있으며 내가 만들고있는 다른 기능이 있습니다. 이 기능에는 플랫폼 특정 코드가있는 두 개의 플러그인이 있습니다. os = win32 arch = x86 및 os = win32 arch = x86_64

두 기능은 모두 내장되어 있고 Tycho를 사용하고 있으며 둘 다 성공적으로 사용할 수있는 p2 저장소가 있습니다.

그래서 두 저장소를 모두 가리키는 합성 저장소를 만든 다음 RCP 응용 프로그램에서 "Install New Software ..."명령을 사용하고 복합 저장소를 가리켜 언급 한 첫 번째 기능을 설치합니다 .

설치가 완료되면 플랫폼 관련 코드가있는 플러그인을 제대로 설치하지 못했습니다. 특히 x86 시스템 용 플러그인이 제 64 비트 시스템에 나타납니다.

답변

2

feature.xml에서 플랫폼 특정 코드가있는 플러그인을 선택하고 플랫폼 필터를 추가하십시오. 필터는 오른쪽에서 사용할 수 있습니다 (플러그인을 선택하면).

  1. OS
  2. WS
  3. 언어
  4. 아키텍처

당신의 기능이 게시되면, P2가 생성 적절한 필터 : 당신은 같은 필터를 선택할 수 있습니다.

0

답변을 찾았습니다.

내가 언급 한 첫 번째 기능에서 내 feature.xml 파일 옆에 p2.inf 파일이 있어야합니다.

그리고 p2.inf 파일에, 나는이 텍스트를 필요

...

requires.1.namespace=org.eclipse.equinox.p2.iu 
requires.1.name=com.myplatform.specfic.bundle.win32.x86 
requires.1.filter=(&(osgi.os=win32) (osgi.arch=x86)) 

requires.1.namespace=org.eclipse.equinox.p2.iu 
requires.1.name=com.myplatform.specfic.bundle.win32.x86_64 
requires.1.filter=(&(osgi.os=win32) (osgi.arch=x86_64)) 

나는 확실히 그것을 배포 기능

에 포함을 만들뿐만 아니라 build.properties에이 파일을 추가

그런 다음 p2 저장소를 배치하고 내 RCP 응용 프로그램에 설치를 수행 할 때 올바른 플러그인이 제 64 비트 시스템에 배치되었습니다.

업데이트 : 나는 틀렸어. 이것은 정답이 아닙니다. 잘못된 플러그인은 여전히 ​​일부 컴퓨터에 설치됩니다.

+0

위의 해결 방법이 효과가 있다고 생각했지만 그렇지 않았습니다. – twindham