3 votes

Gradle télécharge une archive unique vers plusieurs dépôts

Mon équipe dispose actuellement de deux dépôts Maven, et Gradle est utilisé pour télécharger les artefacts vers l'un ou l'autre (en fonction du projet sur lequel nous travaillons). L'un de ces dépôts est privé au sein de notre entreprise, tandis que l'autre est un dépôt accessible à nous et à une entreprise tierce.

Nous avons maintenant atteint un point où si nous apportons un changement à un projet, nous voulons que l'artefact nouvellement créé soit téléchargé dans les deux dépôts au lieu d'un seul. Cependant, nous avons constaté que l'écriture de quelque chose comme le code ci-dessous ne fonctionne pas comme prévu :

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

Pour une raison quelconque, Gradle ne télécharge l'archive que dans le deuxième dépôt de la liste (c'est-à-dire repo2).
Je réalise que, alors que nous pourrions simplement modifier notre fichier Gradle pour télécharger à partir de plusieurs dépôts, je me demandais juste s'il était possible de télécharger un artefact à plusieurs car nous n'arrivons pas à le faire fonctionner.

12voto

Peter Niederwieser Points 36369

Un Upload ne peut publier qu'à un seul référentiel. Vous pouvez cependant déclarer une autre Upload tâche. Quelque chose comme :

task uploadExternal(type: Upload) {
    configuration = configurations.archives
    uploadDescriptor = true
    repositories { ... }        
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X