Supongamos que tienes un bonito proyecto SuperWaba
con un útil conjunto de clases y quieres compartir algunas de estas clases
en diferentes proyectos. Este es el propósito de crear una librería
global. Warp tiene una opción para esto, que corresponde a la opción
"/lg" cuando se llama a Warp desde la línea de comandos. He aquí un ejemplo
de cómo hacer esto, suponiendo que tenemos nuestras clases en el archivo
myLibrary.jar:
>java Warp c /lg myLibrary myLibrary.jar
Este comando crearía myLibrary.pdb. Muy bien,
es así de simple. Pero digamos que somos muy vagos como para usar la línea
de comandos o incluso nos asusta, o bien preferimos hacer esto sin salir
de Eclipse. El plugin SuperWaba de Eclipse
nos permite llamar automáticamente a Warp y Exegen con un sencillo wizard,
usando a la opción Build SuperWaba Application del menú contextual
del proyecto. Desgraciadamente en la versión actual del plugin no existe
la opción de crear una Global Extension Library, así que tendremos que
usar algunos trucos para realizar esto desde Eclipse.
Nota: se asume que tienes instalado el plugin
de SuperWaba para Eclipse. Si no es así, copia este archivo build_superwaba.xml
en el directorio del proyecto, edita el archivo y cambia el atributo
"project name" en la primera línea por el nombre de tu proyecto. Luego
sigue las intrucciones a partir del Paso 2.
Paso 1
Trabajaremos con un proyecto de ejemplo, llamado wabagps,
a partir del cuál pretendemos generar una Global Extension Library.
He aquí una vista del proyecto en Eclipse, con las fuentes organizadas
en la carpeta src:

Cuando se llama por primera vez a Build SuperWaba Application,
se genera el fichero build_superwaba.xml. En este archivo se especifican
opciones y parámetros para llamar a Warp y Exegen. Así que si no lo has
hecho antes, llama a Build SuperWaba Application y se creará
el archivo build_superwaba.xml.
Nota: Si no has instalado el plugin
de SuperWaba para Eclipse, copia este archivo build_superwaba.xml
en el directorio del proyecto, edita el archivo y cambia el atributo
"project name" en la primera línea por el nombre de tu proyecto.
Paso 2
Podríamos pensar en modificar este archivo, pero
la cosa no es tan sencilla ya que el archivo se borra y crea de nuevo
cada vez que llamamos a Build SuperWaba Application. Si editamos
build_superwaba.xml (doble-click sobre el archivo) podemos ver
las opciones de Warp, que deberían ser algo así:
"warp" depends="jar">
build" classname="Warp" fork="true" classpathref="utils">
"c"/>
"${ant.project.name}"/>
"${ant.project.name}.jar"/>
Esto es equivalente a una llamada a Warp en la línea
de comandos como la siguiente:
>java Warp c myLibrary myLibrary.jar
Para usar el parámetro "/lg", debemos insertar
una línea con arg value "/lg", como se muestra más
abajo:
"warp" depends="jar">
build" classname="Warp" fork="true" classpathref="utils">
"c"/>
"/lg"/>
"${ant.project.name}"/>
"${ant.project.name}.jar"/>
Paso 3
Ahora tendrás la tentación de llamar a Build
SuperWaba Application. Recuerda que si lo haces, el archivo build_superwaba.xml
es borrado y creado de nuevo, y la línea añadida en el paso anterior
sería eliminada. Aquí es donde viene el truco, debemos decirle
a Eclipse que utilice este build_superwaba.xml sin intentar crearlo
cada vez de nuevo.
Abre el menú contextual del proyecto y selecciona
Properties:

Paso 4
Selecciona la pestaña Builders:

Paso 5
Pulsa el botón Import y selecciona el archivo
build_superwaba.xml de tu proyecto. Pulsa OK:

Paso 6
Pulsa OK et le voila!, ¡hemos terminado!:

Paso 7
Ahora, cada vez que compiles y construyas las fuentes
(con Build), se usará este build_superwaba.xml. Recuerda
no utilizar la opción Build SuperWaba Application o se borrará
tu fichero build_superwaba.xml. Debes construir tu proyecto como
un proyecto java normal, con la opción Build Project del
menú Project. Si quieres construir manualmente, esto es,
indicarle a Eclipse cuándo construir, deselecciona Build Automatically
del mismo menú.
Paso 8
Para comprobar que todo funciona como hemos previsto,
mira en la pestaña Console. Cuando construyes el proyecto deberán
aparecer las siguientes líneas:
warp:
[java] (Super)Waba Application Resource Packager for Java Version 4.0
[java] Copyright (C) Rob Nielsen 1999-2001. All rights reserved
[java] Enhanced by Guilherme Campos Hazan for SuperWaba 2.x - 4.x
[java] PDB file: wabagps.pdb
[java] PDB name: wabagps
[java] PDB creator: SWAB
[java] PDB version: 1
[java] PDB copy protected: false
[java] SuperWaba Global Extension Library
Deberías encontrar el mensaje SuperWaba Global
Extension Library que indica que esa opción ha sido seleccionada.