2015-01-14 9 views
6

ho creato un progetto Gradle e tutto costruisce bene, ma quando provo a caricare al mio repository Maven, ho il seguente errore Gradle:compito Gradle uploadArchives in grado di leggere chiave segreta

FAILURE: Build failed with an exception. 

* What went wrong: 
Could not evaluate onlyIf predicate for task ':library:signArchives'. 
> Unable to read secret key from file: C:\Users\ideal\pubring.gpg (it may not be a PGP secret key ring) 

Ho seguito la istruzioni at Sonatype per generare la chiave, quindi copiarla dalla posizione generata nella posizione sopra elencata. Ho anche pubblicato la chiave pubblica sul repository delle chiavi del MIT. Il file gradle.properties nella mia directory utente contiene le seguenti voci relative al portachiavi:

signing.keyId=MY_KEY_ID 
signing.password=MY_KEY_PASSWORD 
signing.secretKeyRingFile=C:\\Users\\ideal\\pubring.gpg 

questo è su una piattaforma Windows. Ho provato a cercare il messaggio di errore, ma l'unica cosa che viene fuori è i file di origine per i plugin correlati.

risposta

10

Il problema è che si sta utilizzando la chiave pubblica, passare alla chiave segreta, normalmente denominata "secring.gpg". Quindi nel tuo caso va posto in

C:\Users\ideal\secring.gpg

+0

Sì, lo ha fatto, grazie. – Jared

18

Il file è stato secring.gpgremoved in GPG 2.1.

Tuttavia, GPG ancora in grado di creare questo tipo di file: gpg --export-secret-keys -o secring.gpg

Pro Suggerimento: Se Gradle di signing plugin lamenta che la vostra chiave nel signing.keyId=MY_KEY_ID è troppo lungo, si sta sicuramente utilizzando l'impronta digitale 40 caratteri, ma viene richiesta l'8 caratteri. Hai due opzioni: poi

  1. Puoi configure GPG per mostrare l'ID 8 char invece che l'impronta digitale impostando l'opzione keyid-format.

    • esplicitamente definire questa opzione CLI: (! Grazie tjheslin1) gpg --list-keys --keyid-format short
    • rendere questa opzione implicitamente attiva attraverso il options file (default "~/.gnupg/gpg.conf").
  2. Provate le ultime 8 cifre dell'impronta digitale di 40 caratteri. Questo è per lo sviluppatore pigro ;-)

+3

Grazie per questo! Ha faticato a lungo ma alla fine ha fatto progressi con il tuo aiuto. Il mio problema era la lunghezza della chiave. Eseguire 'gpg2 --list-keys --keyid-format short 'era quello di cui avevo bisogno. – tjheslin1

+0

Grazie @ tjheslin1! Ho appena aggiunto il tuo contributo :-) –

+0

Grazie a @PeterWippermann! Mi ha davvero aiutato! – gaurav414u

Problemi correlati