From 072e5205e79824edead8d9f80325417ee4f3a00b Mon Sep 17 00:00:00 2001 From: Moncef STITI <moncef.stiti@etu.u-pec.fr> Date: Sun, 16 Mar 2025 13:46:59 +0100 Subject: [PATCH] Correction de bug #2 + Modification du readme.md + Ajout d'un test d'un autre groupe --- README.md | 5 ++++ src/fr/monlouyan/bakefile/BakefileParser.java | 4 ++- .../test-9-Saut-De-Ligne/bake/Bakefile | 28 +++++++++++++++++++ .../test-9-Saut-De-Ligne/make/Makefile | 28 +++++++++++++++++++ 4 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 tests/tests-autres-groupes/lenny-khalid-thomas/test-9-Saut-De-Ligne/bake/Bakefile create mode 100644 tests/tests-autres-groupes/lenny-khalid-thomas/test-9-Saut-De-Ligne/make/Makefile diff --git a/README.md b/README.md index 7918f8e..7af6dac 100644 --- a/README.md +++ b/README.md @@ -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. + +  diff --git a/src/fr/monlouyan/bakefile/BakefileParser.java b/src/fr/monlouyan/bakefile/BakefileParser.java index 90a7f2a..a308e70 100644 --- a/src/fr/monlouyan/bakefile/BakefileParser.java +++ b/src/fr/monlouyan/bakefile/BakefileParser.java @@ -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()) diff --git a/tests/tests-autres-groupes/lenny-khalid-thomas/test-9-Saut-De-Ligne/bake/Bakefile b/tests/tests-autres-groupes/lenny-khalid-thomas/test-9-Saut-De-Ligne/bake/Bakefile new file mode 100644 index 0000000..a1f6de3 --- /dev/null +++ b/tests/tests-autres-groupes/lenny-khalid-thomas/test-9-Saut-De-Ligne/bake/Bakefile @@ -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" \ No newline at end of file diff --git a/tests/tests-autres-groupes/lenny-khalid-thomas/test-9-Saut-De-Ligne/make/Makefile b/tests/tests-autres-groupes/lenny-khalid-thomas/test-9-Saut-De-Ligne/make/Makefile new file mode 100644 index 0000000..a1f6de3 --- /dev/null +++ b/tests/tests-autres-groupes/lenny-khalid-thomas/test-9-Saut-De-Ligne/make/Makefile @@ -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" \ No newline at end of file