J'ai une version multi-projet (version 2.1 !!) composée de projets non-java.Déploiement de Nexus et de FlatDir sans plugin java, ear ou war
Je voudrais déployer les artefacts générés (fichiers .tar.gz) vers un Nexus et également vers un répertoire.
Actuellement je définis les dépôts dans la racine build.gradle
dans le bloc repositories
et également à nouveau pour chaque sous-projet dans un bloc repositories
à l'intérieur du subprojects
dans le fichier racine build.gradle
.
J'applique le plugin base
au projet racine et le plugin maven-publish
à tous les sous-projets qui ont des artefacts à déployer.
J'ai essayé de suivre les instructions ici:
- https://docs.gradle.org/2.1/userguide/publishing_maven.html
- https://docs.gradle.org/2.1/dsl/org.gradle.api.publish.maven.MavenPublication.html
- https://discuss.gradle.org/t/how-to-have-multiple-uploadarchives/19381/3
- How can I make uploadArchives dependent on another task?
- et quelques autres ...
mais pas chose a fonctionné. :-(
Voici ce que je fais.
...
# apply the maven-publish plugin only to sub-projects that produce artifacts that should be uploaded.
apply plugin: 'maven-publish'
publishing {
publications {
tarFiles (MavenPublication) {
artifact compressTar
}
}
repositories {
add rootProject.repositories.fsShare
add rootProject.repositories.nexusDeploy
}
}
...
Le compressTar
est mon habitude tâche Tar
qui crée les objets que je veux télécharger
Quand j'exécute ./gradlew publishTarFilesPublicationToNexusDeployRepository
je reçois l'erreur suivante:
Execution failed for task ':mySubProject:publishTarFilesPublicationToNexusDeployRepository'.
> Failed to publish publication 'tarFiles' to repository 'nexusDeploy'
> Failed to retrieve remote metadata myRootProject:mySubProject:0.0.0.0-SNAPSHOT/maven-metadata.xml: Could not transfer metadata myRootProject:mySubProject:0.0.0.0-SNAPSHOT/maven-metadata.xml from/to remote (https://myProject.nexus.url:443/nexus3/repository/builds/): Could not get resource 'myRootProject/mySubProject/0.0.0.0-SNAPSHOT/maven-metadata.xml'
Lorsque j'exécute uploadArchives
, la tâche réussit, mais rien téléchargé en tout lieu et de la sortie, elle ressemble à la tâche uploadArchives
est seulement exécutée pour les sous-projets qui n'ont pas eu l'application maven-plugin.
Quelle est la bonne façon de procéder? Quels plugins devrais-je appliquer quand/où?
Qu'est-ce qui n'a pas fonctionné? Quelles sont les erreurs/est la sortie de gradle en cours d'exécution? – Opal