Quería intentar crear mi propio PPA. El proyecto que tengo es un proyecto de Java construido con Maven. Esto es lo que ya he hecho hasta ahora:
- Creó un PPA.
- Configure un nuevo proyecto en Launchpad.
- Se agregó una rama que está importando mi proyecto desde un repositorio SVN.
- Creé una receta para esa rama que publica las compilaciones en mi PPA.
Aquí es donde estoy atrapado.
He leído los tutoriales y busqué mucho en Google; pero no pude descubrir cómo construir mi proyecto.
Puedo comenzar una compilación para la rama; pero, como esperaba, falla. Supongo que tengo que poner información meta como un archivo MAKE en el repositorio. ¿Es posible incluso construir y empaquetar proyectos Maven en Launchpad? También intenté construir un archivo .deb localmente usando bzr dh-make
y debuild
. bzr dh-make
creó muchos archivos en la ./debian
carpeta pero debuild
falló. Supongo que funcionaría si especificara la metainformación correcta en mi proyecto, por lo que es el mismo problema que en Launchpad.
Sé que esta es una pregunta bastante general, pero creo que faltan tutoriales adecuados para empaquetar .deb
archivos, incluso si no tiene un caso "exótico" como yo.
Para resumirlo:
¿Qué archivos / información debo proporcionar en mi proyecto para que pueda compilarse y empaquetarse correctamente?
Cualquier ayuda sería genial :-)
Respuestas:
Mira en mi proyecto bookjar: http://code.google.com/p/bookjar/source/browse/
específicamente el directorio debian (especialmente el archivo debian / package.sh) y el archivo build.xml (ant). En ese archivo hay una nueva 'carga' de destino que carga un artefacto construible en el robot de lanzamiento de la plataforma de lanzamiento.
Estoy usando hiedra y la infraestructura de hormigas netbeans, por lo que es probable que sea un poco diferente para usted. Sin embargo, una cosa es segura: no puede usar hiedra o maven desde el servidor de compilación remoto. Debe cargar todas las bibliotecas que usa, ya sea en forma de código o frascos. ivy: recupera las descargas de los archivos a current_dir / lib para que mi proyecto en netbeans esté configurado para buscar sus bibliotecas allí (nblibraries.properties es parte de la infraestructura de netbeans para eso). Lea el build.xml para obtener más detalles (básicamente, los archivos debian / rules llaman a un objetivo ant especial para construir en el servidor que no intenta vincular los archivos jar, porque ya están copiados allí).
También estoy aprovechando en mi package.sh que mi proyecto está en mercurial para construir un archivo de registro de cambios desde el registro hg, por lo que hay otros problemas que resolver si desea el mismo grado de automatismo y no usa hg (en de hecho, creo que mi registro de cambios está doblando las reglas de los registros de cambios de Debian al hacer que cada cambio sea una versión 'menor').
fuente