カスタムタスクをデフォルトのビルダーリリースサイクルに結び付けたいのですが。プロジェクトがコンパイル、パッケージ化、タグ付け、デプロイされた後、バージョン番号をインクリメントしてコミットする前に、このコードを実行したいと思います。
リリースサイクルのこの部分にどのように結び付けますか?
カスタムタスクをデフォルトのビルダーリリースサイクルに結び付けたいのですが。プロジェクトがコンパイル、パッケージ化、タグ付け、デプロイされた後、バージョン番号をインクリメントしてコミットする前に、このコードを実行したいと思います。
リリースサイクルのこの部分にどのように結び付けますか?
残念ながら、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
。1つの可能性はenhance
、upload
タスクにタスクを追加し、依存関係としてタスクを追加することです。
task :my_custom_task do
# do stuff
end
task :upload => [ :my_custom_task ]
これでニーズが満たされない場合は、https://issues.apache.org/jira/browse/BUILDRで拡張リクエストを開くことをお勧めします。