La struttura della repository si presenta nel seguente modo:
|-- .github
| |-- workflows
| | |-- docker_build&push.yml
| | |-- gradle_build.yml
|-- build
| |-- reports
| | |-- checkstyle
| | |-- spotbugs
| | |-- tests/test
|–– config
| |–– checkstyle
|–– docs
| |–– Assegnazione progetto.md
| |–– Guida per lo studente.md
| |–– img
| |–– Report.md
|–– drawings
|–– gradle
|–– lib
|–– res
|–– src
| |–– main
| |–– test
|–– .gitignore
|–– build.gradle
|–– README.md
|–– gradlew
|–– gradle.bat
|–– settings.gradle
Nel seguito si dettagliano i ruoli dei diversi componenti:
.github/workflows/ingsw2122.yml
: dettaglia le direttive per assicurare la continuous integration attraverso l’uso di GitHub Actions;build/
: ospita la sottocartellareports/
, contenente gli output dei tool automatici di test e controllo di qualità;config/
: ospita i file di configurazione. L’unica configurazione di base richiesta è quella per il tool checkstyle;docs/
: ospita la documentazione di progetto, incluse le figure (nella sottocartellaimg/
). Il fileReport.md
verrà usato per redigere la relazione finale del progetto. La cartella raccoglie inoltre:Assegnazione progetto.md
: contenente la descrizione dettagliata del progetto assegnato;Guida per lo studente.md
: contenente la descrizione di tutti i passi di configurazione necessari per l'attivazione del flusso di lavoro a supporto dello sviluppo del progetto;
gradle/
: ospita il.jar
relativo al sistema di gestione delle dipendenze Gradle.lib
: include eventuali librerie esterne utilizzate dal progetto.res
: contiene risorse varie utilizzate dal sistemasrc
: cartella principale del progetto, in cui scrivere tutto il codice dell’applicazione. Inmain/
ci saranno i file sorgente etest/
conterrà i test di unità previsti.drawings/
: contiene tutti i diagrammi UML usati per descrivere il progetto..gitignore
: specifica tutti i file che devono essere esclusi dal sistema di controllo versione.build.gradle
: esplicita le direttive e la configurazione di Gradle.gradlew
egradlew.bat
: eseguibili di Gradle, rispettivamente dedicati a Unix e Windows.settings.gradle
: file di configurazione di Gradle.
In alcune cartelle è possibile notare la presenza di un unico file nascosto .keep
: questo ha il solo scopo di richiedere a Git l’inclusione delle cartelle in cui è contenuto (Git esclude dal versioning le cartelle vuote). Pertanto, il file può essere ignorato o eventualmente cancellato nel momento in cui si inserisca almeno un altro file all’interno della cartella.