86 lines
3.1 KiB
Markdown

# 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.
![Image](https://dwarves.iut-fbleau.fr/~stiti/SUIVI-PROJET/DEV3.2/image.php)