From c2ff5983e535d84ad08260e97ad62340ff9f6e56 Mon Sep 17 00:00:00 2001
From: Yanis HAMOUDI <yanis.hamoudi@etu.u-pec.fr>
Date: Sat, 15 Mar 2025 18:25:37 +0100
Subject: [PATCH] =?UTF-8?q?ajout=20du=20test=20n=C2=B032=20+=20correction?=
 =?UTF-8?q?=20de=20bug=20#5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/fr/monlouyan/bakefile/BakefileParser.java | 2 +-
 tests/test-32-exit/bake/Bakefile              | 3 +++
 tests/test-32-exit/make/Makefile              | 3 +++
 3 files changed, 7 insertions(+), 1 deletion(-)
 create mode 100644 tests/test-32-exit/bake/Bakefile
 create mode 100644 tests/test-32-exit/make/Makefile

diff --git a/src/fr/monlouyan/bakefile/BakefileParser.java b/src/fr/monlouyan/bakefile/BakefileParser.java
index e389578..b9343b1 100644
--- a/src/fr/monlouyan/bakefile/BakefileParser.java
+++ b/src/fr/monlouyan/bakefile/BakefileParser.java
@@ -28,7 +28,7 @@ public class BakefileParser {
      * Format : "nom1 nom2 nom3 : dépendance1 dépendance2"
      * La nouvelle regex gère plusieurs cibles séparées par des espaces
      */
-    private static final Pattern TARGET_PATTERN = Pattern.compile("^([^:#]+?)\\s*:\\s*([^#]*?)\\s*(?:#.*)?$");
+    private static final Pattern TARGET_PATTERN = Pattern.compile("^([A-Za-z0-9_.\\-]+(?:\\s+[A-Za-z0-9_.\\-]+)*)\\s*:\\s*([^#]*?)\\s*(?:#.*)?$");
 
 	/**
      * Regex pour détecter les lignes de commande associées à une target.
diff --git a/tests/test-32-exit/bake/Bakefile b/tests/test-32-exit/bake/Bakefile
new file mode 100644
index 0000000..1dee8f2
--- /dev/null
+++ b/tests/test-32-exit/bake/Bakefile
@@ -0,0 +1,3 @@
+fail:
+	(exit 1)
+	(echo "Ce echo ne devrait pas s'afficher")
\ No newline at end of file
diff --git a/tests/test-32-exit/make/Makefile b/tests/test-32-exit/make/Makefile
new file mode 100644
index 0000000..1dee8f2
--- /dev/null
+++ b/tests/test-32-exit/make/Makefile
@@ -0,0 +1,3 @@
+fail:
+	(exit 1)
+	(echo "Ce echo ne devrait pas s'afficher")
\ No newline at end of file