3

私のチームには現在 2 つの Maven リポジトリがあり、Gradle を使用してアーティファクトを一方または他方にアップロードしています (取り組んでいるプロジェクトによって異なります)。これらのレポの 1 つは社内専用で、もう 1 つは私たちとサードパーティ企業がアクセスできるレポです。

プロジェクトに変更を加えた場合、新しく作成されたアーティファクトを 1 つだけではなく両方のリポジトリにアップロードする必要があるという点に到達しました。ただし、以下のコードのようなものを書くと期待どおりに動作しないことがわかりました。

uploadArchives {
    repositories {
        repository(url: "http://repo1/releases")
        snapshotRepository(url: "http://repo1/snapshot")
        repository(url: "http://repo2/releases")
        snapshotRepository(url: "http://repo2/snapshot")
    }
}

何らかの理由で、Gradle はアーカイブをリストの 2 番目のリポジトリ (repo2) にのみアップロードします。
Gradle ファイルを編集して複数のリポジトリからダウンロードすることはできますが、成果物を複数のリポジトリにアップロードすることが実際に可能かどうか疑問に思っていました。これを機能させることができないようです。

4

1 に答える 1

12

1 つのUploadタスクは 1 つのリポジトリにのみ公開できます。ただし、別のUploadタスクを宣言することはできます。何かのようなもの:

task uploadExternal(type: Upload) {
    configuration = configurations.archives
    uploadDescriptor = true
    repositories { ... }        
}
于 2013-06-21T09:19:34.667 に答える