2012-07-30 3 views
0

다음 명령을 사용하여 Windows에서 업데이트 사이트를 미러링하려고합니다.Eclipse p2 mirrorApplication 아티팩트 필터링

eclipsec -nosplash -verbose -application org.eclipse.equinox.p2.artifact.repository.mirrorApplication -writeMode clean -source http://download.eclipse.org/technology/m2e/releases/1.1/1.1.0.20120530-0009 -destination file:/C:/m2ecore 
eclipsec -nosplash -verbose -application org.eclipse.equinox.p2.metadata.repository.mirrorApplication -writeMode clean -source http://download.eclipse.org/technology/m2e/releases/1.1/1.1.0.20120530-0009 -destination file:/C:/m2ecore 

정상적으로 작동하지만 정상적인 형식과 압축 형식으로 모든 아티팩트를 두 번 다운로드합니다. 예를 들어 :

Mirroring: osgi.bundle,org.eclipse.m2e.editor.source,1.1.0.20120530-0009 (Descriptor: packed: osgi.bundle,org.eclipse.m2e.editor.source,1.1.0.20120530-0009) 
Mirroring: osgi.bundle,org.eclipse.m2e.editor.source,1.1.0.20120530-0009 (Descriptor: canonical: osgi.bundle,org.eclipse.m2e.editor.source,1.1.0.20120530-0009) 

내가 단지 표준 양식을 반영하도록 지정할 수있는 방법이 있습니까? -filter (!format=packed)

같은
뭔가 내가 artifacts.xml 필터가있는 것으로 나타났습니다과 P2 응용 프로그램이 필터 스위치를 지원하기 위해 보인다, 그것은 단지 제대로 문서화. LDAP 쿼리와 비슷하지만 명령 줄에서 인식되지 않습니다.

필터링 할 수없는 경우 로컬 repo를 안전하게 변경하여 메타 데이터에서 압축 파일을 제거 할 수 있습니까? 손으로 XML을 편집하는 것은 좋은 생각처럼 보이지 않습니다.


편집 : 수동으로 했습니까? , m2ecore \ artifacts.jar의 압축을 풀고, 다음 삭제 : 열어 질문을 떠나는 경우 누군가가 C로 이동 불필요한 다운로드

을 방지하기 위해 필터링하는 방법을 알고 있습니다.
편집 artifacts.xml에서 속성 섹션

Remove the line <property name='publishPackFilesAsSiblings' value='true'/> 
Adjust the properties size parameter (e.g: from 3 to 2) 

편집 매핑 섹션 artifacts.xml 에서이

Remove the line <rule filter='(&amp; (classifier=osgi.bundle) (format=packed))' output='${repoUrl}/plugins/${id}_${version}.jar.pack.gz'/> 
Remove the line <rule filter='(&amp; (classifier=org.eclipse.update.feature) (format=packed))' output='${repoUrl}/features/${id}_${version}.jar.pack.gz'/> 
Adjust the mappings size parameter (e.g.: from 5 to 3) 

모든 포장 된 유물 메타 데이터를 제거

Use an editor with regex support to clear all matches of: 
<artifact[\s]+[^>]*>(.(?!<[/]?artifact>))+Pack200Unpacker(.(?!<[/]?artifact>))+[\s]*</artifact> 

To clear the blank lines, first regex replace with empty strings the matches of: 
^[\s]*$ 
and then do an extended replace from \r\n\r\n to \r\n 

Modify the total artifacts count by searching for matches of: 
<artifact[\s]+[^>]*> 
,536,913,632 artifacts.zip에 10

우편 artifacts.xml 및 트리에서 모든 _ *. pack.gz_ 파일을 삭제 artifacts.jar
로 이름을 바꿉니다.

답변

0

독립 실행 형 미러 응용 프로그램에는 기능이 제한되어 있으므로 p2 ant task을 사용하여 원하는 것을 얻을 수 있습니다.