2010-10-15 11 views
23

Obwohl Github ein nettes Zuhause für Java-Open-Source-Projekte bietet, gibt es einige Dinge, die im Vergleich zu reiferen Open-Source-Hosting-Sites noch fehlen. Ich habe bisher herausgefunden, dass Sonatype Maven-Repository-Zugriff für Open-Source-Projekte bietet, die ein Problem lösen; und es gibt viele Lösungen für Mailinglisten für Benutzer/Entwickler.JavaDocs mit GitHub verfügbar machen, Sonatype Maven Repo

Eine Sache, die ich jetzt zu lösen versuche, ist die Veröffentlichung von automatisch generierten Javadocs für das Online-Browsing. Obwohl das Veröffentlichen von Source-Jars über Maven ein wenig mit IDEs hilft, mag ich es immer noch, javadocs online zu durchsuchen, ohne ein Projekt herunterzuladen oder zu importieren. Weiß jemand einen guten Weg, dies zu erreichen, für Projekte, die bei Github veranstaltet werden? (Muss nicht etwas sein, das Github anbietet, aber idealerweise kann es passieren, dass die Freigabe automatisch unterbrochen wird.)

Antwort

26

GitHub liefert statische HTML-Dateien, die sich im Zweig gh-pages Ihres Repos unter http://your_username.github.com/your_repo/ befinden. In der Theorie könnte Maven gemacht werden, um Folgendes zu tun:

  1. Commit die Freigabe pom.xml.
  2. Generieren Sie die JavaDocs zu einem Verzeichnis .gitignore '(so würde es über Zweigänderungen beibehalten werden).
  3. Auschecken der gh-pages Zweig.
  4. alle Dateien im Arbeitsverzeichnis ersetzen das Verzeichnis mit der die JavaDocs zu
  5. Kasse die ursprüngliche Niederlassung Commit kopiert wurden.
  6. mit Release Weiter ...

Ich bin nur zwei Tage, um mit Maven für ein paar meiner Projekte so auf diese Weise über meine Fähigkeiten ist. Ich würde gerne sehen, dass dies entweder mit vorhandenen Plugins oder einem benutzerdefinierten Plugin implementiert wird.

+0

Danke, das ist eine gute Idee und könnte gut genug arbeiten. – StaxMan

+0

FWIW, das hat ziemlich gut geklappt, auch ohne mehr Automatisierung. Ich mache einfach 'mvn install', benenne 'target/apidocs' als 'javadoc/[VERSION]', 'git add' commit und das war's. – StaxMan

+5

FYI, ich benutze jetzt http://khuxtable.github.com/wagon-gitsite/, was die Site-Bereitstellung für den Zweig 'gh-pages' vollständig automatisiert. –

1

Sie können ein Shellskript verwenden, um das git checkout/add/commit/checkout/push auszuführen, wie von Jake Wharton vorgeschlagen, und Ant oder Gradle konfigurieren, um das Shellskript auszuführen, nachdem es das Javadoc generiert hat. Ich bin nicht sicher, dass das mit Maven funktionieren würde. Hier ist ein example shell script.