2014-06-08 3 views
0

내 buildr 빌드 파일에서 최상위 zip을 만들려고하지만 jar 파일이 결과 zip으로 끝나는 것처럼 보이지 않습니다. 그것은 또한 유일한 패키지 어쨌든, 그리고하지만, 하위 프로젝트 병을 내 zip으로 가져 오는 방법은 무엇입니까?

 path.include project(proj).package(:jar) 

명시 적으로 만 단지를 선택 :

나는 또한 시도

desc 'Main project' 
define 'hex' do 
    #... omitting top-level config ... 

    desc 'Hex Utilities' 
    define 'util' do 
    package :jar 
    end 

    #... omitting other sub-projects, they're all the same ... 

    binaries_id = "#{id}-components-#{version}" 
    package(:zip, :file => _("target/#{binaries_id}.zip")).path(binaries_id).tap do |path| 
    path.include 'COPYING', 'COPYING.LESSER', 'CHANGELOG', 'README.markdown' 

    %w{anno binary interpreter util viewer}.each do |proj| 
     path.include project(proj).packages 
    end 
    end 
end 

:

프로젝트 구조는 하위 프로젝트가 있습니다

 path.include project(proj).packages.map{|p| "#{p}"} 

문자열로 매핑합니다. 다른 모든 path.include 줄이 strin을 차지한다는 것을 알고 있기 때문입니다. gs를 사용하고 패키지 객체의 배열과 함께 작동하지 않을 수도 있다고 추측했지만 이는 작동하지 않습니다. 그리고 내 마지막 생각은 내가 포함의 나머지 뭐하는 거지 같은 문자열의 단지 잼에 있었다 :

 path.include "#{proj}/target/hex-#{proj}-#{version}.jar" 

그러나 심지어이 작동하지 않는, 그래서 나는 진행 방법 아무 생각이 없습니다.

답변

0

동작을 재현 할 수 없습니다. buildr의 최신 릴리스 그때

define 'foo' do 
    project.version = '1.0' 

    define 'bar' do 
    package :jar 
    end 

    package(:zip, :file => _("somepath.zip")).path('somepath').tap do |path| 
    path.include project('bar').packages 
    end 
end 

실행 "buildr 깨끗한 패키지"와 "압축 해제 -t somepath.zip"생산처럼 보이는 빌드 파일을 생성;

Archive: somepath.zip 
    testing: somepath/    OK 
    testing: somepath/foo-bar-1.0.jar OK 
No errors detected in compressed data of somepath.zip. 

내가 예상하는 것입니다.