Traducción(es): English - Español
Contents
Introducción
Además de las herramientas habituales de empaquetado debhelper hay otras más específicas para tratar con paquetes Java.
javahelper para paquetes sin un sistema razonable de construcción o en combinación con sistemas de construcción para modificarlos y debianizarlos.
maven-repo-helper para añadir artefactos Maven a un paquete no mavenizado,
maven-debian-helper como herramienta de apoyo primaria para cualquier Maven y
gradle-debian-helper para proyectos basados en Gradle.
Esta página informa acerca de flujos de empaquetado Java comunes en Debian y te indicará ejemplos reales que puedes usar como punto de partida para tus propios paquetes.
Contribuir a empaquetar paquetes Java
Cualquier ayuda empaquetando aplicaciones o bibliotecas nuevas o manteniendo actualizadas las existentes y sus dependientes es bienvenida. Actualmente la forma más fácil de enviar contribuciones es un pull request en https://salsa.debian.org/java-team. Tan solo
- realiza tus cambios,
- documenta todo en debian/changelog,
- ponlo como UNRELEASED,
- verifica que sus dependientes siguen funcionando y a continuación
haz un pull request.
Alternativamente puedes seguir las instrucciones de mentors.debian.net.
https://mentors.debian.net/intro-maintainers
Esto es útil si también quieres aprender el proceso general de empaquetado para Debian. La única diferencia es que en vez de solicitar esponsorización en la lista de correo de mentores general debes hacerlo en la específica para Java: debian-java@lists.debian.org.
Política de empaquetado para Java
En Debian, los paquetes Java se atienen como los demás a la Política Debian. Hay elementos de la política específicos para Java documentados en la Política Debian para Java.
Javahelper
Javahelper es la herramienta Debian para realizar tareas de empaquetado Java como
- instalar archivos jar en el directorio canónico /usr/share/java,
- construir paquetes desde su código fuente sin un sistema de construcción razonable,
- manipular archivos MANIFEST o
- establecer el CLASSPATH.
También puede ayudar a evitar parches creando automáticamente enlaces simbólicos a las bibliotecas del sistema.
Javahelper está documentado en la página del paquete javahelper en /usr/share/doc/javahelper/tutorial.txt.gz y en esta réplica.
Además del tutorial, sebdió una charla en DebConf10 abarcando el uso de javahelper. La charla está disponible como:
La idea que subyace a javahelper es que la mayoría de los paquetes Java debieran ser triviales. La integración con debhelper y el secuenciador dh implica que no deberías necesitar nada en debian/rules, sólo unos pocos archivos en el directorio debian.
Usando javahelper y DH7 tus archivos de reglas idealmente se parecerán a esto:
export JAVA_HOME=/usr/lib/jvm/default-java %: dh $@ --with javahelper
Todo el trabajo lo hace javahelper trabajando con los archivos del directorio debian/.
Compilación Java
Esta sección explica los términos básicos y métodos para compilar a bytecode código fuente Java y para la creación de archivos jar.
Sin sistema de construcción
Hay algunos proyectos orígen (upstream) que no proporcionan un provide sistema de construcción en condiciones. En algunos casos resulta útil descargar los paquetes de código fuente desde Maven Central, que vendrán sin sistema de construcción, solamente código fuente. Por todo ello Javahelper es la herramienta perfecta para compilar el código y crear un paquete Debian como mándan los cánones. ejemplos sin sistema de construcción.
Sistemas de construcción
Hay unos pocos sistemas de construcción en uso por los programas de Java.
Ant
Si tu paquete usa Ant entonces debhelper y el secuenciador dh deberían detectar automáticamente el build.xml y llamar a las cosas apropiadamente. Ejemplos con Ant.
Maven
Usa maven-debian-helper para proyectos Maven normales, usa maven-repo-helper combinándolo con otros sistemas de construcción para proporcionar artefactos Maven y maven-ant-helper para revertir la construcción hacia Ant - útil sobre todo para construir una biblioteca que sea parte de las dependencias de construcción Build-Depends del propio Maven. Ejemplos con Maven
Gradle
Usa gradle-debian-helper. A menudo los proyectos Gradle necesitan parchear los scripts de construcción de todos modos porque la lógica de construcción varía de proyecto a proyecto. Este ayudante está actualmente en fase temprana y principalmente ayuda con la sustitución de coordenadas Maven, así que Gradle empleará el /usr/share/maven-repo local de Debian en lugar de descargar dependencias desde internet. Ver también ejemplos con Gradle.
autopkgtest
Se necesita AYUDA e información para autopkgtest ...
Preguntas frecuentes y soluciones
Las Preguntas frecuentes respecto a empaquetado Java proporcionan respuestas y explican algunos mensajes de fallo habituales proporcionando soluciones.