2010-10-15 10 views
23

Aunque Github proporciona un buen hogar para los proyectos de código abierto de Java, hay algunas cosas que aún faltan en comparación con los sitios de alojamiento de código abierto más maduros. Hasta ahora he descubierto que Sonatype ofrece acceso al repositorio Maven para proyectos de código abierto, lo que resuelve un problema; y hay muchas soluciones para listas de correo de usuario/dev.Haciendo JavaDocs disponible con GitHub, Sonatype Maven repo

Pero una cosa que ahora estoy tratando de resolver es la publicación de javadocs generados automáticamente para la navegación en línea. Aunque publicar jars fuente a través de Maven ayuda un poco con los IDE, todavía me gusta la capacidad de navegar javadocs en línea sin descargar o importar un proyecto. ¿Alguien sabe de una buena manera de lograr esto, para proyectos alojados en Github? (No tiene que ser algo Github ofrece, pero lo ideal es algo que puede ser automatizado a suceder cuando se corta la liberación)

Respuesta

26

GitHub sirve archivos HTML estáticas que se encuentran en la rama gh-pages de tu repositorio en http://your_username.github.com/your_repo/. En teoría, Maven podría hacer lo siguiente:

  1. Confirmar el lanzamiento pom.xml.
  2. Genere los JavaDocs en un directorio .gitignore 'd (para que se conserve en todos los cambios de ramas).
  3. Verifique la rama gh-pages.
  4. reemplazar todos los archivos en el directorio de trabajo con el del directorio de los JavaDocs se copiaron en
  5. Commit
  6. Pedido la rama originales.
  7. continuar con la liberación ...

estoy sólo dos días en que el uso de Maven para algunos de mis proyectos así que esto es mucho más allá de mis capacidades. Me gustaría ver esto implementado con complementos existentes o un plugin personalizado.

+0

Gracias, eso es una buena idea y podría funcionar bastante bien. – StaxMan

+0

FWIW, esto ha funcionado bastante bien, incluso sin más automatización. Acabo de hacer 'mvn install', renombrar 'target/apidocs' como 'javadoc/[VERSION]', 'git add' commit y eso es todo. – StaxMan

+5

FYI, ahora estoy usando http://khuxtable.github.com/wagon-gitsite/ que COMPLETAMENTE automatiza las implementaciones del sitio en la rama 'gh-pages'. –

1

Puede usar un script de shell para hacer el checkout de git/add/commit/checkout/push como lo sugirió Jake Wharton, y configurar Ant o Gradle para ejecutar el script de shell luego de generar el javadoc. No estoy seguro de que esto funcione con Maven. Aquí hay un example shell script.

Cuestiones relacionadas