andyProject

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.xml
in 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 :-)
Queste le cartelle distribuite: Dagli script verrano create le seguenti cartelle:

Il file build.xml prevede alcuni task per la gestione del progetto; i principali sono:

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").

Download e ChangeLog

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.

Licenza

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.

Fonti

Qui un elenco delle varie fonti che ho usato: