Skip to content

Files

Latest commit

 

History

History
69 lines (64 loc) · 4.33 KB

README.md

File metadata and controls

69 lines (64 loc) · 4.33 KB

Review Assignment Due Date Open in Visual Studio Code

Battleship Docker Build & Push

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
|    |–– pmd
|–– docs
|    |–– Assegnazione progetto.md
|    |–– CODE_OF_CONDUCT.md
|    |–– Guida per lo studente.md
|    |–– img
|    |–– ISPIRATORE.md
|    |–– Report.md
|–– drawings
|–– gradle
|–– lib
|–– res
|–– src
|    |–– main
|    |–– test
|–– .gitattributes
|–– .gitignore
|–– Dockerfile
|–– build.gradle
|–– README.md
|–– gradlew
|–– gradlew.bat
|–– settings.gradle

Nel seguito si dettagliano i ruoli dei diversi componenti:

  • .github/workflows/docker_build&push.yml: dettaglia le direttive per assicurare la continuous integration attraverso l’uso di GitHub Actions. In particolare le direttive vengono innescate dalle operazioni di push e merge sul branch main;
  • .github/workflows/gradle_build.yml: dettaglia le direttive per assicurare la continuous integration attraverso l’uso di GitHub Actions. In particolare le direttive vengono innescate da ogni pull request;
  • build/: ospita la sottocartella reports/, contenente gli output dei tool automatici di test e controllo di qualità;
  • config/: ospita i file di configurazione. Le uniche configurazioni di base richieste sono quelle per i tool checkstyle e pmd;
  • docs/: ospita la documentazione di progetto, incluse le figure (nella sottocartella img/). Il file Report.md verrà usato per redigere la relazione finale del progetto. La cartella raccoglie inoltre:
    • Assegnazione progetto.md: contenente la descrizione dettagliata del progetto assegnato;
    • CODE_OF_CONDUCT.md: contenente il codice di condotta del team, ossia un insieme di regole che delineano le norme, le responsabilità e le pratiche corrette che il team deve seguire;
    • 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;
    • ISPIRATORE.md: contenente biografia e principali contributi del personaggio a cui il team si è ispirato per il nome;
  • 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 sistema
  • src: cartella principale del progetto, in cui scrivere tutto il codice dell’applicazione. In main/ ci saranno i file sorgente e test/ conterrà i test di unità previsti.
  • drawings/: contiene tutti i diagrammi UML usati per descrivere il progetto.
  • .gitattributes: specifica come Git deve gestire determinati file all'interno del repository.
  • .gitignore: specifica tutti i file che devono essere esclusi dal sistema di controllo versione.
  • Dockerfile: definisce ciò che deve essere inserito in un container.
  • build.gradle: esplicita le direttive e la configurazione di Gradle.
  • gradlew e gradlew.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.