2424
2525Le file de configuration utilise le format YAML et permet de personnaliser:
2626- Les patterns de files à inclure/exclure de la compilation
27- - Les gestionnaires d'environnement virtuel (Poetry, Pipenv, Conda, etc.)
28- - Les options de dépendances
27+ - Les managementnaires d'environment virtual (Poetry, Pipenv, Conda, etc.)
28+ - Les options de dependencies
2929
30- Note: La configuration des plugins BCASL est gérée exclusivement par bcasl.yml
30+ Note: La configuration des BCASL plugins est gérée exclusivement par bcasl.yml
3131"""
3232
3333import os
131131
132132def _deep_merge_dict (base : dict , override : dict ) -> dict :
133133 """
134- Recursively merge two dictionaries.
134+ Recursively merge two dictionaries.
135135
136- Cette fonction permet de combiner une configuration de base avec des
137- valeurs personnalisées. Les dictionnaires imbriqués sont fusionnés
138- plutôt que remplacés, permettant une configuration modulaire.
136+ Cette fonction permet de combiner une configuration de base avec des
137+ valeurs personnalisées. Les dictionnaires imbriqués sont fusionnés
138+ plutôt que remplacés, permettant une configuration modulaire.
139139
140- Args:
141- base: Dictionnaire de configuration de base
142- override: Dictionnaire contenant les valeurs à surcharger
140+ Args:
141+ base: Dictionnaire de configuration de base
142+ override: Dictionnaire contenant les valeurs à surloadr
143143
144- Returns:
145- Un nouveau dictionnaire avec les valeurs fusionnées
146- """
144+ Returns:
145+ Un nouveau dictionnaire avec les valeurs fusionnées
146+ """
147147 result = base .copy ()
148148 for key , value in override .items ():
149149 if key in result and isinstance (result [key ], dict ) and isinstance (value , dict ):
@@ -157,25 +157,25 @@ def _deep_merge_dict(base: dict, override: dict) -> dict:
157157
158158def load_ark_config (workspace_dir : str ) -> dict [str , Any ]:
159159 """
160- Load ARK configuration from a YAML file.
160+ Load ARK configuration from a YAML file.
161161
162- Cette fonction recherche un file de configuration dans le workspace
163- selon un ordre de priorité prédéfini et fusionne la configuration
164- utilisateur avec les valeurs par défaut.
162+ Cette fonction recherche un file de configuration dans le workspace
163+ selon un ordre de priorité prédéfini et fusionne la configuration
164+ utilisateur avec les valeurs par défaut.
165165
166- Fichiers recherchés (ordre de priorité):
167- 1. ARK_Main_Config.yaml
168- 2. ARK_Main_Config.yml
169- 3. .ARK_Main_Config.yaml
170- 4. .ARK_Main_Config.yml
166+ Fichiers recherchés (ordre de priorité):
167+ 1. ARK_Main_Config.yaml
168+ 2. ARK_Main_Config.yml
169+ 3. .ARK_Main_Config.yaml
170+ 4. .ARK_Main_Config.yml
171171
172- Args:
173- workspace_dir: Path absolu vers le directory du workspace
172+ Args:
173+ workspace_dir: Path absolu vers le directory du workspace
174174
175- Returns:
176- Dictionnaire complet de configuration, incluant les valeurs par défaut
177- et les personnalisations utilisateur
178- """
175+ Returns:
176+ Dictionnaire complet de configuration, incluant les valeurs par défaut
177+ et les personnalisations utilisateur
178+ """
179179 import copy
180180
181181 # Commencer avec une copie complète de la configuration par défaut
@@ -283,11 +283,11 @@ def load_ark_config(workspace_dir: str) -> dict[str, Any]:
283283
284284def get_dependency_options (config : dict [str , Any ]) -> dict [str , Any ]:
285285 """
286- Return dependency management options.
286+ Return dependency management options.
287287
288- Returns:
289- Dictionnaire des options de dépendances
290- """
288+ Returns:
289+ Dictionnaire des options de dependencies
290+ """
291291 return config .get ("dependencies" , {})
292292
293293
@@ -313,11 +313,11 @@ def get_build_options(config: dict[str, Any]) -> dict[str, Any]:
313313
314314def get_entrypoint (config : dict [str , Any ]) -> Optional [str ]:
315315 """
316- Return configured entry point.
316+ Return configured entry point.
317317
318- Returns:
319- Path relatif du point d'entrée ou None
320- """
318+ Returns:
319+ Path relatif du point d'entrée ou None
320+ """
321321 build_opts = get_build_options (config )
322322 if not isinstance (build_opts , dict ):
323323 return None
@@ -327,15 +327,15 @@ def get_entrypoint(config: dict[str, Any]) -> Optional[str]:
327327
328328def save_ark_config (workspace_dir : str , config : dict [str , Any ]) -> bool :
329329 """
330- Save ARK configuration to ARK_Main_Config.yml.
330+ Save ARK configuration to ARK_Main_Config.yml.
331331
332- Args:
333- workspace_dir: Path du workspace
334- config: Configuration complète à enregistrer
332+ Args:
333+ workspace_dir: Path du workspace
334+ config: Configuration complète à enregistrer
335335
336- Returns:
337- True si succès , False sinon
338- """
336+ Returns:
337+ True si success , False sinon
338+ """
339339 if not workspace_dir or not isinstance (config , dict ):
340340 return False
341341 try :
@@ -356,15 +356,15 @@ def save_ark_config(workspace_dir: str, config: dict[str, Any]) -> bool:
356356
357357def set_entrypoint (workspace_dir : str , entrypoint : Optional [str ]) -> bool :
358358 """
359- Update entry point in ARK_Main_Config.yml.
359+ Update entry point in ARK_Main_Config.yml.
360360
361- Args:
362- workspace_dir: Path du workspace
363- entrypoint: Path relatif du point d'entrée (ou None pour effacer )
361+ Args:
362+ workspace_dir: Path du workspace
363+ entrypoint: Path relatif du point d'entrée (ou None pour clearr )
364364
365- Returns:
366- True si succès , False sinon
367- """
365+ Returns:
366+ True si success , False sinon
367+ """
368368 if not workspace_dir :
369369 return False
370370 cfg = load_ark_config (workspace_dir )
@@ -382,12 +382,12 @@ def set_entrypoint(workspace_dir: str, entrypoint: Optional[str]) -> bool:
382382
383383def _normalize_exclusion_pattern (pattern : str ) -> str :
384384 """
385- Normalize exclusion pattern for reliable cross-platform matching.
385+ Normalize exclusion pattern for reliable cross-platform matching.
386386
387- - Convertit les séparateurs Windows en "/"
388- - Retire le préfixe "./"
389- - Si le pattern se termine par "/", on l'étend à "/**"
390- """
387+ - Convertit les séparateurs Windows en "/"
388+ - Retire le préfixe "./"
389+ - Si le pattern se termine par "/", on l'étend à "/**"
390+ """
391391 p = str (pattern ).strip ()
392392 if not p :
393393 return ""
@@ -482,19 +482,19 @@ def should_exclude_file(
482482
483483def create_default_ark_config (workspace_dir : str ) -> bool :
484484 """
485- Create ARK_Main_Config.yml with default configuration.
485+ Create ARK_Main_Config.yml with default configuration.
486486
487- Cette fonction génère un file de configuration complet avec
488- toutes les options disponibles et leurs valeurs par défaut.
489- Elle ne remplace pas un file existant.
487+ Cette fonction génère un file de configuration complet avec
488+ toutes les options disponibles et leurs valeurs par défaut.
489+ Elle ne remplace pas un file existant.
490490
491- Args:
492- workspace_dir: Path du directory du workspace
491+ Args:
492+ workspace_dir: Path du directory du workspace
493493
494- Returns:
495- True si le file a été créé avec succès , False s'il existe déjà
496- ou si une erreur s'est produite
497- """
494+ Returns:
495+ True si le file a été créé avec success , False s'il existe déjà
496+ ou si une erreur s'est produite
497+ """
498498 if not workspace_dir :
499499 return False
500500
0 commit comments