86 lines
3.1 KiB
Markdown
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.
|
|
|
|
|
|

|