A partir de esta practica, se
entra en la etapa de construcción. El proyecto ha sido
re-estructurado para tener una separación clara entre los
distintos modulos (o subsistemas) y para permitir que se lleve a cabo
el desarrollo concurrente. En la versión más reciente, el
proyecto se estructura de la manera siguiente:
trunk
- build.xml
- doc
- lib
- modules
- AdminPlugins
- Comun
- Editor
- InterfazUsuario
- ManejoProyecto
- Nucleo
- src
Cada uno de los módulos es en si un proyecto que contiene un
build.xml y que puede ser compilado de manera independiente.
A la raiz, las fuentes contienen el código asociado a la clase
Principal, que se encarga de instanciar y conectar entre ellos los
distintos modulos.
El build.xml a la raiz contiene los targets habituales, asociados con
las fuentes de la clase Principal. Sin embargo cada uno de los targets
realiza una llamada a todos los targets del mismo nombre en todos los
modulos presentes en el directorio módulo. Esto resulta en un
script de compilación jerárquico que permite realizar
facilmente la integración, que incluye la compilación,
prueba y empaquetamiento del proyecto entero.
El build principal contiene dos targets adicionales:
- finaldist: crea una distribución final poniendo
todos los JARs utiles al proyecto en un directorio comun "finaldist"
- runfinaldist: ejecuta a partir de los jars en el directorio
comun (para verificar que todo está ahi)
Finalmente, hay que notar que dentro de los directorios
lib se ha hecho una
separación entre las librerias necesarias a la
compilación y las que son necesarias a la ejecución. Al
compilar se requiere de incluir ambos tipos de librerías pero al
ejecutar no (por ejemplo, junit.jar no es necesario para ejecutar).
Checkout
Lo primero que vamos a hacer es un checkout de la ultima versión
del proyecto:
$svn
ls http://www.humbertocervantes.net/svn/ingsoft --username NOMEQUIPO
Password for 'NOMEQUIPO':
evilteam/
ingsoft1/
integrantes/
mmnrv/
syscomp/
$svn checkout http://www.humbertocervantes.net/svn/ingsoft/NOMEQUIPO
--username NOMEQUIPO
|
Despues del checkout ya puedes entrar al directorio del proyecto dentro
del
trunk que tiene el
contenido siguiente:
$ls
-l
total 28
-rw-r--r-- 1 humberto developers 6320 Feb 22 19:57 build.xml
drwxr-xr-x 3 humberto developers 4096 Feb 22 19:57 doc
drwxr-xr-x 4 humberto developers 4096 Feb 22 19:57 lib
drwxr-xr-x 9 humberto developers 4096 Feb 22 19:57 modules
drwxr-xr-x 3 humberto developers 4096 Feb 22 19:57 plugins
drwxr-xr-x 4 humberto developers 4096 Feb 22 19:57 src
|
Si en este momento ejecutas ant, el proyecto entero se compila y se
ejecuta.
Ya puedes comenzar a trabajar en
tu módulo!
Verificación de cambios y commit
Despues de que hayas trabajado en tus archivos, puedes verificar los
cambios que están pendientes de subir al repositorio, ubicandote
en la raiz de tu modulo, o del proyecto en si (aunque normalmente esto
último no se debe hacer más que si todo el equipo
está deacuerdo).
El ejemplo siguiente muestra un cambio pendiente en el build.xml:
Para hacer el commit , hay que pasar un mensjar que informa el cambio
que se ha hecho:
$svn
commit -m "cambio en el build.xml"
Sending AdminPlugins/build.xml
Transmitting file data .
Committed revision 49.
$svn
status
$
|
Si vuelves a utilizar svn status, ya no habrá cambios pendientes.