Bake - L'utilitaire de compilation minimaliste 🚀
Sommaire 📖
Introduction
Bake est un utilitaire de compilation inspiré de make
, conçu pour gérer la génération et la mise à jour de fichiers en fonction de leurs dépendances. Contrairement à make
, Bake utilise un fichier de configuration nommé Bakefile
, avec une syntaxe simplifiée et sans certaines fonctionnalités avancées.
Installation
# Cloner le dépôt
git clone https://grond.iut-fbleau.fr/stiti/SAE32_2024/
cd SAE32_2024
# Compiler le projet et diffuser le .JAR dans tout les répertoires de tests
make
Structure du projet
SAE32_2024/
│── src/ # Code source du projet
│ ├── fr/monlouyan/bakefile/
│ ├── BakeCLI.java
│ ├── BakeEngine.java
│ ├── BakefileParser.java
│ ├── Rule.java
│ ├── CommandExecutor.java
│ ├── DependencyResolver.java
│ ├── TimestampManager.java
│ ├── Main.java
│── tests/ # Répertoires de tests
│── documentation/ # Rapport, Diagrammes
│── Makefile # Compilation et gestion du projet
│── README.md
Utilisation
# Utilisation dans les répertoires de test `bake`
java -cp bakefile.jar fr.monlouyan.bakefile.Main
Tests
Le répertoire tests contient une liste de tests pour vérifier que Bake réagit comme Make.
- Accéder au répertoire de tests
- Contenu:
- README.md : Documentation qui explique l'utilisation des tests.
Pour générer et visualiser la documentation JavaDoc :
# Générer uniquement la JavaDoc
make javadoc
# Générer et afficher la JavaDoc dans votre navigateur
make see-javadoc
Documentation
Le répertoire documentation contient un rapport et des diagrammes détaillant le fonctionnement de Bake.
- Accéder au répertoire de documentation
- Contenu:
- rapport.pdf : Rapport détaillant le projet Bake.
- Diagrammes : Répertoire contenant les diagrammes UML et autres schémas explicatifs.
Auteurs 👨💻
Remerciements
Un grand merci à Lenny FOULOU, Khalid Chenouna et Thomas Rognant qui ont accepté d'échanger des tests avec nous, nous permettant d'avoir une autre vision des problèmes.
Note
Nous avons obtenu une note de 16,50/20, qui est la meilleure note attribuée pour ce projet.