Traducción(es): English - español ~

Introducción

Esta página está sujeta a cambios durante las próximas semanas. Parte de la información presentada aquí ya es obsoleta e inválida. Si tienes preguntas a l respecto del empaquetamiento de software de Java para Debian, por favor pregunta en la lista de correo de debian debian-java@lists.debian.org

Además de las herramientas de empaquetamiento de apoyo al desarrollador habituales, hay algunas herramientas adicionales específicamente para tratar con paquetes Java las cuales se distribuyen en el paquete javahelper. Estas herramientas se integran con ambos CDBS y DH7, pero el secuenciador recomendado, y al cual se referirá en toda esta documentación, es el DH7.

El uso de javahelper no es realmente necesario, sin embargo implementar los elementos de políticas requeridos sin javahelper es un tanto difícil, así pues se asume que lo usarás. La política de Java está documentada aquí, deberías estar familiarizado con lo que dice , incluso si la mayor parte del trabajo esta hecha para ti por javahelper.

Documentación de Javahelper

javahelper está documentado en el paquete javahelper en /usr/share/doc/javahelper/tutorial.txt.gz, también replicado aquí. Si deseas usar javahelper sin utilizar DH7 definitivamente necesitarás leer esos docs, si quieres conocer todo lo que javahelper puede hacer por ti, probablemente también querrás leer el tutorial.

Además del tutorial, se dio una charla en DebConf10 cubriendo el uso de javahelper. Este es probablemente el mejor método para comenzar a comprender y usar javahelper. La charla está dispuesta como:

La idea detrás de javahelper es que la mayoría de los paquetes de Java deberían ser triviales. La integración con DH7 significa que no deberías necesitar nada en debian/rules, justo unos pocos ficheros bajo el directorio de debian. Para demostrar esto hay una selección de paquetes ejemplares de demostración disponibles mostrando un directorio completo debian/ para unos pocos tipos de paquete.

Alternativamente podrías querer mirar a uno de los buenos ejemplos de paquetes actuales.

Usando javahelper y DH7 tus archivos de reglas idealmente se parecerán a esto:

JAVA_HOME=/usr/lib/jvm/default-java

%:
        dh $@ --with javahelper

Todo el trabajo lo hace javahelper trabajando desde otros ficheros bajo debian/.

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 DH7 debería automáticamente detectar el build.xml y llamar a las cosas apropiadamente.

Maven

Usa maven-debian-helper para proyectos normales Maven, usa maven-repo-helper y maven-ant-helper para revertir la construcción hacia Ant - útil mayoritariamente para construir una librería la cual es parte de las dependencias de construcción Build-Depends del propio Maven.

Gradle

Usa gradle-debian-helper. Gradle es un proyecto flexible así pues puedes necesitar parchear los scripts de construcción de cualquier modo. Este ayudante está actualmente en fase temprana así que si no lo quieres usar, puedes seguir el ejemplo mismo de Gradle, o desde la lista de paquetes que usan gradle como se menciona aquí.

jh_build

jh_build es un sistema de construcción muy simple proporcionado por javahelper para paquetes que no vienen con un sistema de construcción genérico o vienen con uno estropeado. Se describe en los ejemplos y en la documentación de javahelper arriba referida.

Otros sistemas de construcción

Si tienes un sistema de construcción diferente, o necesitas hacer algo especial con uno de los sistemas de construcción arriba vistos, entonces necesitarás añadir un objetivo override_dh_auto_build a tus reglas debian/rules el cual hará todo lo que fuere necesario.

Cosas que necesitas hacer

Existen un par de cosas que necesitas hacer en tu paquete que javahelper no puede hacer por ti.

(Esta información sera añadida post-Squeeze)

Nombres de paquetes

Limpieza genérica

Classpath

...

Referencias


CategoryJava