# Bake - L'utilitaire de compilation minimaliste 🚀 ## Sommaire 📖 - [Introduction](#introduction) - [Installation](#installation) - [Structure du projet](#structure-du-projet) - [Utilisation](#utilisation) - [Tests](#tests) - [Documentation](#documentation) - [Auteurs](#auteurs-%F0%9F%91%A8%E2%80%8D%F0%9F%92%BB) - [Remerciements](#remerciements) ## 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 ```bash # 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 ```bash # 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](./tests)** - **Contenu**: - **[README.md](./tests/README.md)** : Documentation qui explique l'utilisation des tests. Pour générer et visualiser la documentation JavaDoc : ```bash # 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](./documentation)** - **Contenu**: - **[rapport.pdf](./documentation/rapport.pdf)** : Rapport détaillant le projet Bake. - **[Diagrammes](./documentation/Diagrammes)** : Répertoire contenant les diagrammes UML et autres schémas explicatifs. ## Auteurs 👨‍💻 - Moncef STITI - [@stiti](https://grond.iut-fbleau.fr/stiti) - Louay DARDOURI - [@dardouri](https://grond.iut-fbleau.fr/dardouri) - Yanis HAMOUDI - [@hamoudi](https://grond.iut-fbleau.fr/hamoudi) ## 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. 