2424
2525Le fichier de configuration utilise le format YAML et permet de personnaliser:
2626- Les patterns de fichiers à inclure/exclure de la compilation
27- - Le comportement de compilation (fichier principal, points d'entrée)
2827- Les gestionnaires d'environnement virtuel (Poetry, Pipenv, Conda, etc.)
2928- Les options de dépendances
30- - La configuration des plugins
29+
30+ Note: La configuration des plugins BCASL est gérée exclusivement par bcasl.yml
3131"""
3232
3333import os
8888 "exclusion_patterns" : DEFAULT_EXCLUSION_PATTERNS ,
8989 "inclusion_patterns" : ["**/*.py" ],
9090 # -----------------------------------------------------------------------------
91- # COMPORTEMENT DE COMPILATION
92- # -----------------------------------------------------------------------------
93- "compile_only_main" : False ,
94- "main_file_names" : ["main.py" , "app.py" ],
95- "auto_detect_entry_points" : True ,
96- # -----------------------------------------------------------------------------
9791 # GESTION DES DÉPENDANCES
9892 # -----------------------------------------------------------------------------
9993 "dependencies" : {
125119 # Revenir à pip si aucun gestionnaire n'est détecté
126120 "fallback_to_pip" : True ,
127121 },
128- # -----------------------------------------------------------------------------
129- # CONFIGURATION DES PLUGINS
130- # -----------------------------------------------------------------------------
131- "plugins" : {
132- "bcasl_enabled" : True ,
133- "plugin_timeout" : 0.0 ,
134- },
135122}
136123
137124
@@ -246,15 +233,6 @@ def load_ark_config(workspace_dir: str) -> dict[str, Any]:
246233 str (p ) for p in config ["inclusion_patterns" ] if p
247234 ]
248235
249- # -----------------------------------------------------------------------------
250- # VALIDATION DES NOMS DE FICHIERS PRINCIPAUX
251- # -----------------------------------------------------------------------------
252- if "main_file_names" in config :
253- if isinstance (config ["main_file_names" ], list ):
254- config ["main_file_names" ] = [
255- str (n ) for n in config ["main_file_names" ] if n
256- ]
257-
258236 return config
259237
260238 except Exception as e :
@@ -264,32 +242,7 @@ def load_ark_config(workspace_dir: str) -> dict[str, Any]:
264242 return config
265243
266244
267- def get_compiler_options (config : dict [str , Any ], compiler : str ) -> dict [str , Any ]:
268- """
269- Récupère les options spécifiques à un compilateur.
270-
271- Cette fonction permet d'extraire les options de configuration
272- dédiées à un compilateur particulier (pyinstaller, nuitka, cx_freeze).
273-
274- Args:
275- config: Dictionnaire de configuration complet
276- compiler: Nom du compilateur (ex: "pyinstaller", "nuitka")
277245
278- Returns:
279- Dictionnaire des options du compilateur, ou un dictionnaire vide
280- """
281- compiler_lower = compiler .lower ()
282- return config .get (compiler_lower , {})
283-
284-
285- def get_output_options (config : dict [str , Any ]) -> dict [str , Any ]:
286- """
287- Récupère les options de sortie pour les exécutables compilés.
288-
289- Returns:
290- Dictionnaire des options de sortie (répertoire, nettoyage, etc.)
291- """
292- return config .get ("output" , {})
293246
294247
295248def get_dependency_options (config : dict [str , Any ]) -> dict [str , Any ]:
@@ -417,24 +370,7 @@ def create_default_ark_config(workspace_dir: str) -> bool:
417370inclusion_patterns:
418371 - "**/*.py"
419372
420- # -----------------------------------------------------------------------------
421- # COMPORTEMENT DE COMPILATION
422- # -----------------------------------------------------------------------------
423- # Compiler uniquement le fichier principal (désactivé par défaut)
424- compile_only_main: false
425- # Noms de fichiers recherchés comme points d'entrée
426- main_file_names:
427- - "main.py"
428- - "app.py"
429- # Détection automatique des points d'entrée dans le code
430- auto_detect_entry_points: true
431373
432- # -----------------------------------------------------------------------------
433- # CONFIGURATION DE LA SORTIE
434- # -----------------------------------------------------------------------------
435- output:
436- directory: "dist"
437- clean_before_build: false
438374
439375# -----------------------------------------------------------------------------
440376# GESTION DES DÉPENDANCES
0 commit comments