Questa è la pagina ufficiale del progetto andyProject, quello che potremmo definire un metaprogetto, ovvero una progetto per… fare i progetti!! :-D
Attenzione: questo progetto è la naturale prosecuzione di una serie di script che avevo usato per la compilazione, che non uso più avendo preso la certificazione Oracle Java Programmer.
Chi volesse dare un'cchiata ai vecchi script, li trova qui.
Attualmente il progetto si presenta con la seguente struttura:
/--+ | +-- build/ | | | +-- class/ | | | +-- file.jar | +-- dist/ | +-- doc/ | | | +-- javase/ | | | | | +-- package-list | | | +-- java-doc | +-- lib/ | +-- lib-compile/ | +-- src/ | +-- test/ | +-- build.properties | +-- build.xmlin cui solo gli elementi in grassetto sono inclusi nel file distribuito (le altre vengono create dai task di ANT). Il nome delle cartelle dovrebbe riflettere il loro nome :-)
lib
e lib-compile
: contengono le librerie aggiuntive sotto forma di file jar; i file nella cartella lib-compile
servono solo per la compilazione non sono inclusi nella distribuzione (utile, ad esempio se il progetto è una libreria da distribuire)
src
: contiene i file sorgenti
javase/package-list
: file con l'elenco dei pacchetti della versione Java 6 (utile per la compilazione in offline)
build
: contiene i file .class
compilati dai sorgenti (in una sottocartella class
) e il file .jar
(più eventuali file aggiuntivi)
test
: cartella per il test dell'applicazione; viene copiato il file .jar
del progetto e le librerie presenti nella cartella lib/
dist
: cartella per i file per la distribuzione del pacchetto esebuibile
doc/java-doc
: documentazione javadoc; la cartella doc/
può contenere altri file (ad esempio schemi Il file build.xml
prevede alcuni task per la gestione del progetto; i principali sono:
clean
: cancella tutti i file creati da precedenti task (ad esmepio i file compilati, la documentazione e i file da distribuire)
compile
: compila i file .java
del progetto
jar
: crea il file .jar
del progetto
test
: copia il progetto compilato in test (insieme alle librerie della cartella lib
)
dist
: crea degli archivi per la distribuzione
javadoc
: crea la documentazione javadoc
Molti parametri sono racchiusi nel file build.properties
, come ad esempio il nome del progetto e la struttura delle cartelle. In aggiunta è possibile indicare il nome competo della classe eseguibile del progetto, in modo da creare un file .java
"autoavviabile".
Ovviamente, come potete ben immaginare leggendo di sopra, è una struttura molto basilare, di supporto più che altro per lo sviluppo di semplici applicazioni "fatte in casa" (come il progetto andyLib), ma in cui ho cercato di mettere il più possibile di quello che ho imparato dalla certificazione SCJP e da miei approfondimenti, sia dal mio lavoro (a qualcuno questa struttura ricorderà quella in uso da un mio collega senior, praticamente un mio "mentore").
Pian piano che me ne serviranno, aggiungerò altre funzionalità agli script. Attualmente il progetto ha alcune limitazioni, che non danno luogo a problemi/errori, ma per rendere il tutto più pulito necessitano di modificare a mano alcune parti del build.xml (ad esempio nel caso di una libreria, non c'è necessità di una "main-class").
In questa sezione è possibile scaricare il progetto sotto forma di file compresso .zip
.
Clicca sulle freccie per visualizzare/nascondere il changelog
versione 0.7: src
Changelog: * ora vengono creati solo due pacchetti: src e bin+doc * semplicificata la struttura del progetto
versione 0.6: src
Changelog: + task per aggiornare un file con la versione del progetto e il timestamp del build * copia dei file addizionali nel task 'jar' e non in 'compile' - messaggi a video
Per visualizzare lo storico delle precedenti versioni cliccate qui.
Tutto il progetto è distribuito sotto la licenza GPLv3; per una versione della licenza leggere qui (una copia del desto è comunque compreso anche insieme ai file sorgenti, nella cartella conf
.
Qui un elenco delle varie fonti che ho usato: