Traducción(es): English - Español

Introducción

Además de las herramientas habituales de empaquetado debhelper hay otras más específicas para tratar con paquetes Java.

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

  1. realiza tus cambios,
  2. documenta todo en debian/changelog,
  3. ponlo como UNRELEASED,
  4. verifica que sus dependientes siguen funcionando y a continuación
  5. 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

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.


CategoryJava