Revision 16944 branches/v10/install/pluginInstallationTemplate/HOWTO-Extension.txt

View differences:

HOWTO-Extension.txt
1 1
{{{
2 2
#!rst
3
COMO SE GENERA UNA DISTRIBUCIÓN DE BINARIOS PARA UNA EXTENSIÓN
3
COMO SE GENERA UN INSTALABLE PARA UN PLUGIN DE GVSIG
4 4

  
5 5
Vamos a describir los pasos que se siguen actualmente para generar una distribución de binarios de una extensíon para gvSIG.
6 6
Antes de empezar, hay que asegurarse de que en nuestro Workspace disponemos de la carpeta **"install"** y **"binaries"**, ya que estas dos carpetas son imprescindible para generar los binarios, y sin estas no se podria hacer.
......
10 10
Primero tenemos que modificar el fichero build.properties. Este fichero contiene el nombre de algunas variables y de la extensión. Tal y como esta comentado en el propio fichero, hay que indicar el directorio de nuestra extensión en **MAIN_INSTALL_PLUGIN**, verificar que los números de versión sean los correctos, indicar el nombre del plugin(extensión) en **APPNAME**, e finalmente indicarle el directorio donde se dejaran caer los binarios en **OUTPUT_DIR**.
11 11

  
12 12
El siguiente fichero a modificar será el install.xml. Este ficheró sirve de guía para el IzPAck a la hora de generar el instalable. Al principio del fichero se debe de indicar el nombre del plugin en **"<appname> </appname>"**.
13
Luego habrá que situarse en el final del fichero, en la zona de **<pack>**. En esta parte se definen que ficheros tendran que añadirse sobre la instalación de gvSIG ya existente.En **"name"** se indica el nombre del paquete tal y como se mostrará a la hora de la selección de paquetes durante la instalación, y en **"descripcion"** se indica la descripción que aparecerá al seleccionar dicha extensión. Posteriormente se definen los ficheros a añadir: Para ello disponemos de dos *tasks*:
13
Luego habrá que situarse en el final del fichero, en la zona de **<pack>**. En esta parte se definen que ficheros tendran que añadirse sobre la instalación de gvSIG ya existente. En **"name"** se indica el nombre del paquete tal y como se mostrará a la hora de la selección de paquetes durante la instalación, y en **"descripcion"** se indica la descripción que aparecerá al seleccionar dicha extensión. Posteriormente se definen los ficheros a añadir. Para ello disponemos de dos *tasks*:
14 14

  
15 15
**<file>**, con tres campos a especificar:
16

  
16 17
- targetdir: Para especificar el destino de los ficheros que se copiaran.
17 18
- src: Para especificar el fichero/directorio que se copiará.
18 19
- override: Para especificar si se sobreescriben los ficheros a copiar en caso de que existan. Generalmente será **true**.
20

  
19 21
**<fileset>**, con los siguientes campos:
22

  
20 23
- targetdir: Para especificar el destino, de igual manera que <file>.
21 24
- dir: El directorio de donde se copiaran los ficheros.
22 25
- includes: Los ficheros a incluir en la copia. Lo interesante de este campo es que se pueden introducir patrones (como * o ?).
23 26
- excludes: Semejante a includes, sólo que aqui se especifican los ficheros que **no** se desean copiar.
24 27
- override: igual que en <file>.
25 28

  
26
*Para más información acerca de los *tasks*, hay un html de ayuda en la carpeta install del workspace: install/install/IzPack/doc/izpack/html/index.html
29
*Para más información acerca de los tasks, hay un html de ayuda en la carpeta install del workspace: install/install/IzPack/doc/izpack/html/index.html*
27 30

  
28 31
Lo más normal será llevarse todo el directorio de nuestra extensión, y además, según que extensiones, se llevaran otros ficheros (ver ejemplos en el propio install.xml).
29 32

  
30
Con esto ya tenemos todos los parámetros necesarios para generar los binarios, y simplemente habra que lanzar el buildExt.xml, que en cuanto finalice, encontraremos los binarios de nuestra extensión en la ruta que indicamos en **OUTPUT_DIR** del fichero build.properties.
33
Con esto ya tenemos todos los parámetros necesarios para generar los binarios, y simplemente habrá que lanzar el buildExt.xml, que en cuanto finalice, encontraremos los binarios de nuestro plugin en la ruta que indicamos en **OUTPUT_DIR** del fichero build.properties.
31 34

  
32 35
Normalmente los plugins añaden un panel (al que se accede en gvSIG por "ayuda->acerda de") con su correspondiente build.number para su seguimiento.
33 36
Para poder añadir dicho panel se seguirán los siguientes pasos:
......
35 38
+ En la carpeta config del plugin, se tiene que crear un fichero **"about.htm"**. Se puede ver un ejemplo de este fichero en el plugin **"extExpressionField"**. Lo más importante en este fichero es tener la siguiente linea, que indica el build number: <p><br><br><b> Build Number: #build.number#</b></p>
36 39
 
37 40
+ Dentro de nuestro plugin, hay que crear dentro del build.xml un target **<buildNumber>**, que se encargará de aumentarlo: ::
41

  
38 42
	<target name="buildNumber">  
39 43
		<propertyfile	file="build.number"
40 44
				comment="Build Number for ANT. Do not edit!">
......
43 47
		<property file="build.number" />
44 48
	</target>
45 49

  
46
+ El fichero **"about.htm"** se tiene que copiar en una carpeta temporal y hacer el remplazo del #build.number# (el about.htm que se copiara al gvsig sera el que está en dicha carpeta temporal). Aqui un ejemplo (extraído del *extExpressionField/build.xml*): ::
50
+ El fichero **"about.htm"** se tiene que copiar en una carpeta temporal y hacer el remplazo del #build.number# (el about.htm que se copiara al gvsig sera el que está en dicha carpeta temporal). Aquí un ejemplo (extraído del *extExpressionField/build.xml*): ::
47 51
    
48 52
    <target name="copy-data-files">
49 53
		<copy file="config/config.xml" todir="${without_src}"/>
50 54
		<copy file="build.number" todir="${without_src}"/>
51
		<copy file="config/about.htm" todir="${without_src}"/>   <!-- AQUI SE HACE LA COPIA DEL about.htm A LA CARPETA TEMPORAL -->
55
		<copy file="config/about.htm" todir="${without_src}"/>   <!-- AQUÍ SE HACE LA COPIA DEL about.htm A LA CARPETA TEMPORAL -->
52 56
		<loadproperties srcFile="build.number"/>
53 57
		<replace casesensitive="true"
54 58
  		file="${without_src}/about.htm"
55 59
  	  	token="#build.number#"
56
  		value="${build.number}"/>				<!-- AQUI SE HACE EL REMPLAZO DE #build.number# --> 
60
  		value="${build.number}"/>				<!-- AQUÍ SE HACE EL REMPLAZO DE #build.number# --> 
57 61
		<copy todir="${without_src}">
58 62
			<fileset dir="config" includes="text*.properties"/>
59 63
		</copy>

Also available in: Unified diff