2011-07-18 25 views
3

我想將自定義任務綁定到默認的buildr發佈週期。我希望在項目編譯,打包,標記和部署之後但在增加版本號並提交之前運行此代碼。增強Buildr發佈過程

我該如何配合發佈週期的這一部分?

回答

2

不幸的是,release任務不是由您可能使用自己的任務掛鉤並擴展的子任務組成的。

引述當前實現,

# Make a release. 
def make 
    @this_version = extract_version 
    check 
    with_release_candidate_version do |release_candidate_buildfile| 
    args = '-S', 'buildr', "_#{Buildr::VERSION}_", '--buildfile', release_candidate_buildfile 
    args << '--environment' << Buildr.environment unless Buildr.environment.to_s.empty? 
    args << 'clean' << 'upload' << 'DEBUG=no' 
    ruby *args 
    end 
    tag_release resolve_tag 
    update_version_to_next if this_version != resolve_next_version(this_version) 
end 

正如你所看到的,Buildr叉一個單獨的進程,基本上運行buildr clean upload一種可能性將是enhanceupload任務,並添加您的任務依賴關係,例如,

task :my_custom_task do 
    # do stuff 
end 

task :upload => [ :my_custom_task ] 

如果這不符合您的需求,我建議您打開https://issues.apache.org/jira/browse/BUILDR的增強請求。

+0

當我擴展:上傳任務時,出現分段錯誤。 :\任何線索? – Drew

+0

發現我使用的是Ruby的不兼容版本。忽略以前的評論。 – Drew