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