2011-07-18 1 views
3

カスタムタスクをデフォルトのビルドリリースサイクルに結びつけたいと思います。プロジェクトがコンパイル、パッケージ化、タグ付け、デプロイされた後、バージョン番号をインクリメントしてコミットする前に、このコードを実行したいと思います。Buildrのリリースプロセスを改善する

どのように私はリリースサイクルのこの部分に繋がりますか?

答えて

2

残念ながら、releaseタスクは、自分自身のタスクに潜んで潜在的に潜む可能性のあるサブタスクで構成されていません。

は、

あなたは、Buildrフォークに別々のプロセスを見ると、本質的に実行することができたよう

# 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 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