Correction de bug #2 + Modification du readme.md + Ajout d'un test d'un autre groupe

This commit is contained in:
2025-03-16 13:46:59 +01:00
parent 03ab0ab04f
commit 072e5205e7
4 changed files with 64 additions and 1 deletions

View File

@@ -8,6 +8,7 @@
- [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.
@@ -74,4 +75,8 @@ Le répertoire **documentation** contient un rapport et des diagrammes détailla
- 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.
![Image](https://dwarves.iut-fbleau.fr/~stiti/SUIVI-PROJET/DEV3.2/image.php)

View File

@@ -199,8 +199,10 @@ public class BakefileParser {
if (depStr == null || depStr.trim().isEmpty()) {
return new ArrayList<>();
}
String cleanedStr = depStr.replaceAll("\\\\\\s*", " ");
String resolvedStr = replaceVariables(depStr.trim());
String resolvedStr = replaceVariables(cleanedStr.trim());
return Arrays.stream(resolvedStr.split("\\s+"))
.map(String::trim)
.filter(s -> !s.isEmpty())

View File

@@ -0,0 +1,28 @@
# Définition d'une variable avec un saut de ligne
MESSAGE=Compilation\
en cours...
# Règle principale
all: fichier1 fichier2
echo "$(MESSAGE)"
echo "Création de tous les fichiers terminée."
# Règle pour fichier1
fichier1:
echo "Génération de fichier1"
# Règle pour fichier2 avec saut de ligne dans la dépendance
fichier2: fichier1\
fichier3
echo "Génération de fichier2"
# Règle pour fichier3
fichier3:
echo "Génération de fichier3"
# Règle spéciale
.PHONY: clean
# Nettoyage
clean:
echo "Suppression des fichiers générés"

View File

@@ -0,0 +1,28 @@
# Définition d'une variable avec un saut de ligne
MESSAGE=Compilation\
en cours...
# Règle principale
all: fichier1 fichier2
echo "$(MESSAGE)"
echo "Création de tous les fichiers terminée."
# Règle pour fichier1
fichier1:
echo "Génération de fichier1"
# Règle pour fichier2 avec saut de ligne dans la dépendance
fichier2: fichier1\
fichier3
echo "Génération de fichier2"
# Règle pour fichier3
fichier3:
echo "Génération de fichier3"
# Règle spéciale
.PHONY: clean
# Nettoyage
clean:
echo "Suppression des fichiers générés"