Esta es una traducción del original disponible en: http://the2ndeinstein.blogspot.com.br/2013/04/adopt-openjdk-hack-into-it.html, me pareció un post interesante para todo aquel interesado en iniciarse en la programación de OpenJDK.
Hola a todos, esta entrada tiene el objetivo de promocionar uno de los mejores proyectos creados por la comunidad Java. Todos sabemos que Java es open-source, incluso JDK (Java Development Kit) es tambien open-source. La versión open-source del JDK se denomina OpenJDK y el website puede consultarse acá. En el website cualquier persona puede colaborar y trabajar junto a la comunidad, para hacer un mejor Java. O como dice el slogan de la comunidad «Haz el futuro de java».
Una de las mejores formas para mejorar OpenJDK es el programa Adopt-OpenJDK, las metas detrás de el son:
- Incentivar a los miembros de los JUGs a involucrarse en OpenJDK
- Mejorar el lenguaje y la maquina virtual que usamos diariamente!
- Promover OpenJDK a toda la gran comunidad Java
- Ampliar la base de colaboradores a OpenJDK
De esta forma, estoy bastante interesado a incentivar a mi JUG (GuateJUG) a adoptar este programa también. Con este articulo pretendo demostrar que tan fácil es adoptar este programa como individuo.
Requisitos
- Un conocimiento avanzado en Java. Si eres un principiante, este programa podría no ser para ti. Aprende un poco de Java hasta alcanzar un nivel alto y vuelve pronto 🙂
- Una computadora o laptop. De preferencia con un sistema operativo Linux o incluso una maquina virtual.
- Una cuenta en Bitbucket.org
TODO
Antes de comenzar, por favor lee los siguientes enlaces. De lo contrario puede que te quedes a la mitad del proceso. Las metas de Adopt-OpenJDK son mejorar OpenJDK como tal. Asi que lo que debes hacer es:
- Mejorar el código fuente (Coinification, StringBuffer to StringBuilder son solo ejemplos de lo que se puede mejorar) ve otros ejemplos.
- Haz pruebas del código fuente (jtreg y JUnit son excelentes frameworks para iniciar!)
- Enviá tus parches cuando estén listos (Recuerda las reglas)
- Si tienes experiencia con OpenJDK, promocionalo como yo!
Bueno es hora de empezar los hacks!
Paso-a-paso (idea general)
- Preparar una maquina virtual (Usa ubuntu como una recomendación de Martijn Verburg)
- Descarga el código fuente
- Intenta construir y compilar el código fuente original
- Mejora y prueba el código
- Crea parches y envialos
Más practico
- ¿Como descargar el código fuente?
- Haz fork de algunos proyectos en https://bitbucket.org/adoptopenjdk. Debes realizar fork de: jdk8, jdk8-jdk, jdk8-jaxws, jdk8-jaxp, jdk8-nashorn, jdk8-langtools, jdk8-hotspot, jdk8-corba. En general OpenJDK esta conformado por varios componentes, y estos deben ser configurados y compilados para que puedan ser utilizados en nuestro sistema.
- Instala los programas recomendados en tu maquina virtual (en ubuntu simplemente ejecuta:
sudo apt-get install <programa>
)- mercurial
- openjdk-7-jdk
- build-essential
- libX11-dev
- libxext-dev
- libxrender-dev
- libxtst-dev
- libcups2-dev
- libfreetype6-dev
- libasound2-dev
- ccache
- g++-4.7-multilib
- Clona cada uno de los proyectos de los cuales hiciste fork desde bitbucket. Para eso usa:
hg clone <tu repositorio en bitbucket>
. Actualmente este repositorio debe ser clonado via https y no ssh. Organiza todo en una carpeta para que sea fácil de usar, con una estructura similar a la siguiente:- <carpeta superior>
- hack-jdk
- jdk8
- jdk8-jdk
- jdk8-jaxws
- jdk8-jaxp
- etc…
- hack-jdk
- <carpeta superior>
- En la carpeta jdk8, ejecuta
bash ./get_source.sh
. Ejecutalo como root y este script descargara todo el código fuente de inmediato. Al finalizar el proceso encontraras algunas carpetas extra dentro de jdk8 (jdk, langtools, hotspot, etc.) - En algunos casos puede suceder que el código no esta completo entonces puede copias los proyectos que fueron clonados dentro de la carpeta jdk8. Ejemplo: copia todo lo que esta dentro de la carpeta jdk8-jdk hacia jdk y has lo mismo con jdk8-nashorn, jdk8-langtools, jdk8-hotspot, jdk8-jaxws y otros componentes.
- Tu código fuente esta completo!
- ¿Como compilar el código fuente?
- Ejecuta bash
./configure
dentro de la carpeta «jdk8» - Luego compila con
sudo make all
- Si todo sale bien, has compilado el código de manera adecuada
- Ejecuta bash
- ¿Como modificar el código fuente?
- Todos los componentes tienen una carpeta «src». Modifica y mejora el código fuente!
- ¿Como ejecutar pruebas usando jtreg?
- Ingresa en el directorio «jdk8/<components>/test». Encontraras varias carpeta dentro, asi que solamente utiliza
make "<package name>" &> test.log
- Ingresa en el directorio «jdk8/<components>/test». Encontraras varias carpeta dentro, asi que solamente utiliza
- ¿Como ejecutar pruebas usando TestNG?
- Descarga e instala TestNG (version recomendada: 6.8). Después de descargar los archivos .zip, copia testing.x.y.z.jar hacia la carpeta «lib»
- Ve hacia la carpeta test y ejecuta:
ant test
- ¿Como crear parches (y como enviarlos)?
- Para crear los parches utilizamos mercurial. Después de modificar el código utiliza el siguiente comando
hg diff <path/change/something.java> > <nameClass.java>
- Ejemplo:
hg diff src/share/classes/com/oracle/net/Scp.java > Sdp.path
- Envialo para el grupo Adopt-OpenJDK en Google groups. Muchos desarrolladores experimentados son activos en el grupo y revisaran el código que has enviado a OpenJDK.
- Para crear los parches utilizamos mercurial. Después de modificar el código utiliza el siguiente comando
- ¿Alguna otra pregunta?
- Pueden escribir al autor original en yosi.pramajaya [at] gmail [dot] com o seguirlo en su twitter
- Escriban sus dudas a Adopt OpenJDK en Google groups.
The Incutio XML-RPC PHP Library -- WordPress/3.5.1
[…] ← Anterior […]