Do It The jAPS Way
Copyright © 2011 Tzente s.r.l.
Legal Notice
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the Appendix entitled "GNU Free Documentation License".
2011-03-03
| Diario delle Revisioni | ||
|---|---|---|
| Revisione 0.3 | 2011-03-03 | MEM |
Revisione generale per il rilascio della 2.2.0 | ||
| Revisione 0.2 | 2010-03-15 | MEM |
Revisione generale per il rilascio della 2.0.10 | ||
| Revisione 0.1 | 2009-04-22 | WG |
Prima versione | ||
Estratto
In questo documento saranno descritti nella maniera più concisa possibile, i target (per gli amici, e da ora
in poi nell'ambito del documento, task) di Ant messi a punto dal team di sviluppo
di jAPS 2.0 entando per lavorare al meglio e svolgere comodamente una serie di operazioni più o meno
di routine.
Sommario
In questo documento saranno descritti nella maniera più concisa possibile, i target (per gli amici, e da ora
in poi nell'ambito del documento, task) di Ant messi a punto dal team di sviluppo
di jAPS 2.0 entando per lavorare al meglio e svolgere comodamente una serie di operazioni più o meno
di routine.
Per dettagli ed approfondimenti si rimanda alla lettura diretta dei sorgenti nei file build.xml,
buildProperties.xml, e buildTasks.xml.
Questo documento è rivolto a sviluppatori, sistemisti o semplici curiosi che vogliano scoprire le comodità che il
pacchetto dei sorgenti del framework jAPS 2.0 entando, o di un portale istanziato a partire da esso,
mette a disposizione attraverso l'utilizzo di Ant.
Per trarre il maggior profitto possibile dalla lettura di questo documento, è necessario avere esperienza di
base nell'utilizzo di Ant, del framework jAPS 2.0 entando, e dei software ad essi correlati.
Ulteriori informazioni possono essere richieste attraverso la mailing list ufficiale Google Group "japs-platform".
Per mandare un messaggio ai membri della lista, invia una mail a <japs-platform@googlegroups.com>.
È inoltre possibile consultare la documentazione presente in:
Sommario
Vediamo quindi quali sono i task per Ant a nostra disposizione. Per ciascuno viene fornita una
breve descrizione ed un sintetico dettaglio delle operazioni svolte. Per semplicità, si ipotizzerà un progetto
caricato dentro Eclipse (per l'esatta versione, riferirsi ad altri documenti), di nome
miawebapp, e una installazione di Apache Tomcat in /opt/tomcat6.
Sarà inoltre utilizzata la formula dipende da per indicare i task che vengono chiamati in
automatico da Ant prima di eseguire il task in questione, seguendo l'indicazione fornita dall'attributo
depends nel codice di definizione del task in questione.
Task di utilità generica
- all
È il task di default.
Richiama altri task, nell'ordine:
WAR build
Test - init
Test
- clean
Ripulisce le directory di lavoro riportando il progetto allo stato iniziale.
Cancella il contenuto delle directory:
build/classesbuild/miawebappbuild/temp
E i file:
WebContent/WEB-INF/lib/aps.jardist/miawebapp.war
- init
Inizializza l'ambiente di lavoro sotto
build.Dipende da: clean.
Copia il contenuto di
WebContentall'interno dibuild/miawebapp.- compile
Compila e predispone i sorgenti.
Dipende da: clean.
Copia i file aggiuntivi (
.properties,.xml, etc.) dasrcdentrobuild/classese compila i file.javapresenti insrcdentrobuild/classes.- undeploy
Cancella l'intera applicazione da
Apache Tomcat.Di fatto cancella la directory
/opt/tomcat6/webapps/miawebapp.- Generate and include aps jar
Dipende da: compile.
Genera ed include nel posto giusto il jar del motore di
jAPS 2.0 entando:aps.jar.Il file
aps.jarviene creato a partire dalle classi presenti inbuild/classese copiato inWebContent/WEB-INF/lib/.Dal processo sono escluse le classi di test.
Task per la gestione del WAR
WARbuildGenera il
WARDipende da: Generate and include aps jar, init.
All'interno di
build/miawebapppredispone la corretta configurazione dei fileWEB-INF/conf/systemParams.properties,WEB-INF/web.xml,WEB-INF/conf/oscache.properties, e a partire dal contenuto dibuild/miawebappproduce ilmiawebapp.wardentrodist.WARand WEBAPP undeployCancella sia il
WARche l'intera applicazione daTomcat.Dipende da: undeploy.
Cancella
/opt/tomcat6/webapps/miawebapp.war.WARdeployEffettua il deploy del
WAR.Copia il file
dist/miawebapp.warin/opt/tomcat6/webapps/.
Task per la gestione dei database
- PG db backup
Effettua il dump in formato TAR dei due database miawebappPort e miawebappServ.
Richiama la corretta linea di comando utilizzando il client
pg_dumpe salvando i filemiawebappPort.backupemiawebappServ.backupindb/tar/.- PG db export
Effettua il dump in formato SQL dei due database miawebappPort e miawebappServ.
Richiama la corretta linea di comando utilizzando il client
pg_dumpe produce per ciascuno dei due database i due file contenenti rispettivamente lo schema (o struttura del database completa di comandi per la creazione delle tabelle) e i dati.I file sono salvati dentro la directory
db/export.- PG db restore
Effettua un restore dei due database a partire dal backup in formato TAR.
Richiama la corretta linea di comando utilizzando il client
pg_restoree utilizzando come sorgente i file di backupmiawebappPort.backupemiawebappServ.backupche si trovano dentrodb/tar/.- PG db drop
Cancella i due database dal database server.
Richiama la corretta linea di comando utilizzando il client
dropdb.- PG db create
Crea i due database vuoti sul database server.
Richiama la corretta linea di comando utilizzando il client
createdb.- PG db full update
Effettua un aggiornamento completo dei due database sul database server.
Dipende da: PG db drop, PG db create, PG db restore.
L'aggiornamento avviene grazie alle dipendenze e prevede nell'ordine: la cancellazione dei database, la creazione di due nuovi database vuoti, e il restore a partire dai file di backup in formato TAR situati in
db/tar/.
Task per gli Unit Test
- Test - clean
Ripulisce l'ambiente di test.
Cancella le directory:
build/testbuild/classes/test
Cancella inoltre il contenuto della directory
dist/test-results.- Test - init
Inizializza l'ambiente di test.
Dipende da: Test - clean, compile.
Crea le directory:
build/testdist/test-results
Richiama il task PG db full update passandogli il parametro di configurazione
test.markercon valoretestdi modo che non agisca sui database ordinari, bensì su quelli dedicati all'ambiente di testing: miawebappTestPort e miawebappTestServ.I file si trovano in
db/tar/Test/.- Test - PG db export SQL
Effettua un backup dei database di test in formato SQL.
Richiama il task PG db export SQL passandogli il parametro di configurazione
test.markercon valoretestdi modo che non agisca sui database ordinari, bensì su quelli dedicati all'ambiente di testing: miawebappTestPort e miawebappTestServ.I file sono salvati in
db/export/Test/.- Test - PG db backup
Effettua un backup dei database di test in formato TAR.
Richiama il task PG db export SQL passandogli il parametro di configurazione
test.markercon valoretestdi modo che non agisca sui database ordinari, bensì su quelli dedicati all'ambiente di testing: miawebappTestPort e miawebappTestServ.I file sono salvati in
db/tar/Test/.- Test
Effettua gli Unit Test con jUnit.
Esegue i test definiti in test.com.agiletec.aps.AllTests e test.com.agiletec.apsadmin.AllTests, e salva i report in
dist/test-results.
