2017-10-04 5 views
0

Eclipse RCP 응용 프로그램에 대해 자체 업데이트 메커니즘을 구성하고 있습니다. 모두 한 점을 제외하고 매력처럼 작동하고, 여기에 구현 흐름입니다 :Eclipse를 만드는 방법 한정자 만 변경하면 RCP가 업데이트를 감지하지 않습니다.

  1. 메이븐/티코이 REPO가 복사되는 제품 및 P2 저장소
  2. 을 생성/A -public- 복합 저장소
  3. 로 선언
  4. 업데이트가 감지되어 사용자 (물론 이전 빌드에서 설치된 제품)

Fine! 하지만 ... 빌드로

내가 확실히 방지 할

:-(것를 업데이트 할 모든 것을에게 새로운 규정으로 저장소에 게시 변경 및 표시하지 않았다 기능을 다시 작성합니다.

내가 p2.composite.repository의 유효성 검사 속성을 사용하여 솔루션을 발견하는 생각이 Wiki Page 읽기하지만 일을하지 않습니다 여기 내 개미 작업이다.

<target name="add"> 
    <p2.composite.repository validate="org.eclipse.equinox.p2.repository.tools.jar.comparator"> 
    <!-- 
      also tried with the other comparatorid 
    <p2.composite.repository validate="org.eclipse.equinox.artifact.md5.comparator"> 
    --> 
     <repository location="file:/local/www/productname/releases" 
        name="Product Repository" compressed="false" append="true"/> 
     <add> 
     <repository location="http://localhost/productname/releases/1.0.0"/> 
     <repository location="http://localhost/productname/releases/1.0.1"/> 
     </add> 
    </p2.composite.repository> 
    </target> 

1.0.1의 모든 기능은 변경된 항목이 2 개뿐이고 major.minor.service가 증가한 경우에도 업데이트되도록 설정됩니다.

미리 감사드립니다.

답변

1

이 위키 페이지 읽기 나는 p2.composite.repository의 validate 속성을 사용하여 해결책을 찾았지만 그 일을하지는 않는다고 생각합니다.

이 문제는 복합 저장소 수준에서 해결되어야한다고 생각하지 않습니다. 대신 기능이 변경되지 않으면 리프 저장소에 변경된 한정자가 없어야합니다.

이것은 정확히 Tycho의 Reproducible Version Qualifiers에 대한 것입니다. 코드가 Git 저장소에 있으면, 한정자를 최신 커밋의 타임 스탬프와 동기화합니다.

+0

이것은 정확히 내가 찾고있는 것입니다! 내가 전에 이것을 보지 못했던 것을 알아낼 수 없다 ... Andreas에게 감사드립니다. –

관련 문제