Programación
De GestiONGwiki
Contenido |
Documentación
Conoce cómo es la arquitectura de GestiONG.
Puedes hojear la API de GestiONG aquí: http://gestiong.sourceforge.net/doc/reference/gong_api/index.html
Hay Módulos desarrollándose.
Preparación del entorno
Para desarrollar GestiONG se necesitan algunos paquetes extra que no se requieren para la simple compilación:
Aunque no es estrictamente necesario, es recomendable utilizar KDevelop para desarrollar.
Debian
aptitude install subversion build-essential libtool autoconf aptitude install libqt3-mt-dev libboost-dev libxml2-dev libmysqlclient15-dev libdb4.6-dev aptitude install kdevelop
Mandriva 2008
urpmi subversion make gcc-c++ libtool autoconf automake urpmi libqt3-devel libxml2-devel libmysql-devel libdb4.5-devel libboost1-devel
Mandriva 2009
urpmi subversion make gcc-c++ libtool autoconf automake urpmi libqt3-devel libxml2-devel libmysql-devel libdb4.6-devel libboost-devel
Obtención de GestiONG via svn
El repositorio svn de GestiONG se encuentra alojado en sourceforge.net. Tal y como recomienda el capítulo 2 del libro de svn, está dividido en tres ramas: **trunk**, **branches** y **tags**.
La rama //trunk// contiene el desarrollo del programa en uso por las asociaciones y actualmente (versión 0.3.3-beta) está sujeta a muchos cambios debido al carácter de beta de la misma.
La rama //branches// contiene desarrollos futuros y/o experimentales del programa.
La rama //tags// contiene instantáneas de cómo estaba el proyecto cuando se realizaron distribuciones (releases).
- Atención:** //Si no tienes el comando //svn//, instálate el paquete **subversion** //.
Prepárate un directorio para trabajar con GestiONG:
mkdir gestiong-devel (u otro nombre más corto ;) cd gestiong-devel
Si quieres trabajar sobre la versión actual, la instalada en las ONG (solo para corregir errores graves):
svn co https://gestiong.svn.sourceforge.net/svnroot/gestiong/trunk gestiong-0.3.3 cd gestiong-0.3.3
También puedes descargarte todo el repositorio de GestiONG, que incluye las tres ramas, con el comando:
svn co https://gestiong.svn.sourceforge.net/svnroot/gestiong gestiong cd gestiong
Compilación desde la consola
Si no usas KDevelop, puedes ejecutar los siguientes comandos:
make -f Makefile.cvs ./configure --prefix=$PWD --enable-full-debug CPPFLAGS=-D_GONG_DEBUG make gestiong/gestiong
La diferencia con una instalación normal es que hemos incluido opciones para la depuración y que no vamos a instalar el ejecutable ni el resto de ficheros, ya que vamos a estar continuamente modificándolo, de ahí la opción --prefix=$PWD, que utiliza como directorio de instalación el mismo en el que estamos trabajando.
El ejecutable gestiong admite el parámetro --debug que indica el nivel de salida de depuración que deseamos.
Compilación con KDevelop
kdevelop gestiong.kdevelop
Pulsa F8 para compilar el proyecto completo y Mayús+F9 para ejecutarlo.
Desarrollo cotidiano
Cada vez que nos pongamos a trabajar en el desarrollo, si tenemos conexión a Internet, lo primero que tenemos que hacer es actualizar nuestra copia local del programa con la que hay en el repositorio de svn:
svn update
de este modo incluimos en nuestra copia todos los cambios que hayan realizado el resto de programador@s.
Después utilizamos KDevelop o cualquier otra herramienta para añadir cosas, compilar, testear, etc. Cuando hemos acabado nuestro trabajo y estamos segur@s de que todo funciona correctamente (o al menos de que el proyecto completo compila), subimos nuestros cambios al repositorio svn:
svn commit -m "Comentario sobre lo que hemos realizado"
Si no recordamos qué hemos realizado exactamente, podemos hacer:
svn diff
con lo cual obtenemos los cambios entre lo que hemos hecho y la última versión del repositorio.
