2010-10-15 16 views
23

Anche se Github fornisce una bella casa per i progetti open source Java, ci sono alcune cose che sono ancora mancanti rispetto ai luoghi di hosting open source più maturi. Finora ho capito che Sonatype offre accesso al repository Maven per progetti open source, che risolve un problema; e ci sono molte soluzioni per le mailing list utente/dev.Rendere JavaDocs disponibili con GitHub, Sonatype Maven repo

Ma una cosa che sto cercando di risolvere è quella di pubblicare javadoc generati automaticamente per la navigazione online. Anche se pubblicare i file sorgente tramite Maven aiuta un po 'con gli IDE, mi piace ancora la possibilità di navigare su javadoc online senza scaricare o importare un progetto. Qualcuno sa di un buon modo per raggiungere questo obiettivo, per i progetti ospitati presso Github? (non deve essere qualcosa che Github offre, ma idealmente qualcosa che può essere automatizzato quando si taglia)

risposta

26

GitHub serve file HTML statici che si trovano nel repository gh-pages a http://your_username.github.com/your_repo/. In teoria, Maven potrebbe essere fatto per:

  1. Confermare il rilascio pom.xml.
  2. Genera JavaDocs in una directory .gitignore 'd (in modo da essere conservata tra le modifiche delle diramazioni).
  3. Verificare il ramo gh-pages.
  4. sostituire tutti i file nella directory di lavoro con quello della directory dei JavaDocs sono stati copiati
  5. Commit
  6. Acquista il ramo originale.
  7. Continuare con il rilascio ...

Sono solo due giorni in all'utilizzo di Maven per alcuni dei miei progetti, quindi questo è ben oltre le mie capacità. Sarei impaziente di vederlo implementato con plug-in esistenti o plug-in personalizzati.

+0

Grazie, che è una buona idea e potrebbe funzionare abbastanza bene. – StaxMan

+0

FWIW, questo ha funzionato abbastanza bene, anche senza più automazione. Semplicemente faccio 'mvn install', rinomina 'target/apidocs' come 'javadoc/[VERSION]', 'git add' commette e questo è tutto. – StaxMan

+5

Per ora, sto usando http://khuxtable.github.com/wagon-gitsite/ che FULLY automatizza le implementazioni del sito nel ramo 'gh-pages'. –

1

È possibile utilizzare uno script di shell per eseguire il checkout git/add/commit/checkout/push come suggerito da Jake Wharton e configurare Ant o Gradle per eseguire lo script della shell dopo aver generato javadoc. Non sono sicuro che questo funzionerebbe con Maven. Ecco uno example shell script.

Problemi correlati