tycho을 사용하여 Eclipse RCP 응용 프로그램을 빌드하고 있습니다. 지금까지는 Eclipse의 빌드 시스템을 사용했지만 야간 스냅 샷을 빌드하려면 tycho를 사용하고 싶습니다. 지금까지 우리 회사에서이 RCP 응용 프로그램을 update-sites로 릴리스했습니다.이 응용 프로그램은 Eclipse의 site.xml 파일보기에서 '모두 빌드'를 사용하여 업데이트합니다.에 이어 타이코로이 동작을 재현하려고했습니다.업데이트 사이트의 위치 정보 업데이트에서
내 문제는 기존 업데이트 사이트 내에 pom.xml을 넣었음에도 불구하고 tycho는 (mvn clean verify 또는 mvn install을 사용하여) 빌드 할 때 새로운 업데이트 사이트를 생성하고 기존 업데이트 사이트 내에서 디렉토리 목표/. 두 번 연속 빌드하면 새로 생성 된 첫 번째 업데이트 사이트가 바뀌고 이 업데이트되고으로 업데이트됩니다. 생성 된 JAR은 동일한 타임 스탬프를 가지고 있지 않기 때문에 나에게 맞는 것 같다.
따라서 내 질문은 : 내 클라이언트가 가장자리 및 이전 버전을 볼 수 있도록 site.xml, artifacts.jar 및 contents.jar 파일을 업데이트하는 Eclipse의 '모두 빌드'동작을 어떻게 모방합니까? 업데이트 사이트)? 보너스로, 나는 target /에서 새로운 것을 생성하는 기존의 업데이트 사이트를 업데이트하는 것을 선호 할 것입니다! 기존 갱신 사이트의
pom.xml 파일은 꽤 표준입니다 :
<project>
<modelVersion>4.0.0</modelVersion>
<parent>
<relativePath>../../daily-build-repo/blah/pom.xml</relativePath>
<groupId>com.mycompany</groupId>
<artifactId>product_name</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<artifactId>com.mycompany.updateSites.nightly</artifactId>
<packaging>eclipse-repository</packaging>
</project>
[편집] 나 진전을 oberlies'answer 하지만 아직 작동하지 않습니다. 그의 대답을 좀더 정확하게하기 위해, 내가 만들고 싶은 저장소가 아닌, paven.xml에 pom.xml에 그의 코드를 추가했다고 덧붙이 자. (따라서, 게시 할 마스터 사이트의 참조가 없다.). 이 빌드로 끝나는대로 작동하는 것 같다 :
[INFO] Mirroring to path/to/existing/update/site
그러나 나는 큰 경고를 얻을 :
[WARNING] Mirror tool: Problems resolving provisioning plan.: [Unable to satisfy dependency from com.mycompany.blah to org.eclipse.ltk.ui.refactoring 0.0.0; Unable to satisfy dependency from com.mycompany.blah to org.eclipse.ltk.ui.refactoring 0.0.0; ...]
누락 된 모든 의존성 (구축) 나의 회사의 라이브러리 외부 라이브러리됩니다. 모든 라이브러리를 해결할 수 없기 때문에 나는 잘못된 것을하고 있다고 생각합니다. 이상하게도, 동일한 라이브러리의 두 가지 종속성은 com.mycompany.blah의 plugin.xml 파일에서 오는 버전 (3.7.0)과 0.0.0 버전에서 모두 사라진다.
빌드가 성공 했음에도 불구하고 내 업데이트 사이트는 그대로 유지됩니다.