2012-01-27 3 views
10

A l'intérieur d'un module Java construit par Gradle, je veux télécharger le (s) JAR résultant (s) de mon projet vers un emplacement distant qui est accessible via SSH/SCP. Tous les exemples que j'ai trouvés n'ont pas fonctionné dans mon environnement. Vous trouverez également un exemple d'utilisation de SCP dans le didacticiel Gradle: http://gradle.org/docs/current/userguide/maven_plugin.html (recherchez "Exemple 38.4 Téléchargement de fichier via SSH"). Je me suis adapté l'exemple un peu et maintenant ce build.gradle:Télécharger via SCP avec Gradle

apply plugin: 'java' 
apply plugin: 'maven' 

description = "User Service Implementation" 

repositories { 
    mavenCentral() 
} 

configurations { 
    deployerJars "org.apache.maven.wagon:wagon-ssh:2.2" 
} 

dependencies { 
    deployerJars "org.apache.maven.wagon:wagon-ssh:2.2" 
} 

uploadArchives { 
    repositories.mavenDeployer { 
     name = 'sshDeployer' // optional 
     configuration = configurations.deployerJars 
     repository(url: "scp://miniappserver") { 
      authentication(userName: "root", password: "test") 
     } 
    } 
} 

Mais quand je tester ce script que je reçois cette erreur:

$ gradle uploadArchives -q 

FAILURE: Build failed with an exception. 

* Where: 
Build file '/home/ifischer/git/userservice/implementation/build.gradle' line: 11 

* What went wrong: 
A problem occurred evaluating project ':implementation'. 
Cause: Could not find method deployerJars() for arguments [org.apache.maven.wagon:wagon-ssh:2.2] on project ':implementation'. 

Qu'est-ce que je fais mal? Quelqu'un peut-il fournir un exemple de travail complet?

[devrait afficher cette question à la liste de diffusion gradle-utilisateur, mais il est actuellement en bas ...]

Répondre

6

Comme gentiment répondu sur la liste de diffusion Gradle (désolé pour le double affichage) je devais retirer la "org.apache.maven.wagon:wagon-ssh:2.2" dans la configuration-tâche:

(...) 
configurations { 
    deployerJars 
} 
(...)