2010-06-21 5 views
2

최근에 새 집으로 이동 한 Eclipse 기반 프로젝트 (Eclipse 용 Scala IDE)가 있습니다. 다양한 피쳐 ID, Bundle-SymbolicNames 등을 이동 (예 : 모든 스키마가 org.scala-ide 접두어가되도록)을 반영하도록 변경하고 버전 번호 매기기를 다시 시작합니다 (이전에는 해당 스칼라 컴파일러 릴리스에 연결됨). 나는 이것들을 분리시키고 자한다.)Equinox에서 하나의 기능/번들이 다른 것을 폐기 할 수 있습니까?

하지만 p2가이를 인식하도록합니다. org.scala-ide.sdt.feature v. 1.0.0은 ch.epfl.lamp.sdt v 2.7.7의 업그레이드입니다. RPM을 사용하면 obsoletes directive을 사용하여이 작업을 수행 할 수 있습니다 ... p2와 동일한 기능이 있습니까?

답변

2

나는 이것이 가능하다고 믿지만 현재는 도구 또는 문서가 없습니다.

IU에는 어떤 IU 업데이트인지 나타내는 업데이트 설명자 (javadoc)가 있습니다. 기존 툴링은 항상 이것을 동일한 번들의 이전 버전으로 설정합니다. 은 content.xml 그것은 다음과 같습니다

<unit id='org.eclipse.equinox.launcher' version='1.1.0.v20100507'> 
    <update id='org.eclipse.equinox.launcher' range='[0.0.0,1.1.0.v20100507)' severity='0'/> 
    ... 

당신이 bug 282545에 대한 대기가

  1. 을 고정 얻을 수있는이 설정합니다.
  2. content.xml을 수동으로 편집하십시오 (아마도 xslt 변환)
  3. p2 publisher을 확장하여 다른 설명자를 생성하십시오. BundlesAction # createBundleIU 버전을 사용하려면 BundlesAction을 재정의해야합니다.
+0

환상적인 ... 감사합니다. –

+0

불행히도, 적어도 모든 상황에서 작동하지 않는 것 같습니다. 업데이트 요소는 설치/업그레이드 프로세스 중에 적절한 지점에서 테스트되지 않는 것으로 보입니다. 따라서 이전 기능과 새 기능이 모두 프로비저닝 계획의 일부로 유지됩니다 (이전 기능을 제거하도록 선택해야 함).). 결국 새 기능에 선택적으로 포함 된 이전 기능의 더미 구현을 만들었습니다. 이렇게하면 새 기능이 이전 기능을 완전히 나중에 제거 할 수있는 기능으로 업데이트 할 수 있습니다. –

관련 문제