Skip to content

Commit c477653

Browse files
author
PyCompiler ARK++
committed
revue des docs et correctif
1 parent 92344f5 commit c477653

6 files changed

Lines changed: 1845 additions & 216 deletions

File tree

Plugins_SDK/BcPluginContext/Context.py

Lines changed: 1 addition & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -108,70 +108,4 @@ def Generate_Bc_Plugin_Template() -> str:
108108
- fournit la variable globale PLUGIN pour l'exécution sandbox
109109
- fournit la fonction bcasl_register(manager) pour l'enregistrement direct
110110
"""
111-
return r'''
112-
113-
from __future__ import annotations
114-
115-
# Importer les types depuis le SDK pour rester compatible avec l'hôte
116-
from Plugins_SDK.BcPluginContext import (
117-
BcPluginBase, PluginMeta, PreCompileContext,
118-
register_plugin, BCASL_PLUGIN_REGISTER_FUNC,
119-
)
120-
121-
122-
@register_plugin
123-
class MyBcPlugin(BcPluginBase):
124-
"""Exemple minimal de plugin BC.
125-
126-
- Utilisez le champ 'tags' pour aider l'ordonnancement (voir bcasl.tagging):
127-
ex: ('clean',), ('check',), ('prepare',), ('license',), ('lint',), ('obfuscate',)
128-
- Déclarez les dépendances dans 'requires' via les identifiants de plugins.
129-
"""
130-
def __init__(self) -> None:
131-
super().__init__(
132-
meta=PluginMeta(
133-
id="my.bc.plugin",
134-
name="My BC Plugin",
135-
version="0.1.0",
136-
description="Describe what this plugin does before compilation.",
137-
author="Your Name",
138-
tags=("lint",), # ajustez selon la phase ciblée
139-
),
140-
requires=(), # ex: ("other.plugin.id",)
141-
priority=100, # priorité numérique (plus petit = plus tôt)
142-
)
143-
144-
def on_pre_compile(self, ctx: PreCompileContext) -> None:
145-
"""Point d'entrée du plugin (pré-compilation).
146-
147-
Utilisez ctx.iter_files(include, exclude) pour parcourir les fichiers du workspace.
148-
Les patterns par défaut peuvent être récupérés de la config si nécessaire.
149-
Le code doit être idempotent et robuste.
150-
"""
151-
# Exemple: itérer sur les fichiers Python
152-
for path in ctx.iter_files(["**/*.py"], ["**/__pycache__/**", "**/*.pyc"]):
153-
# TODO: effectuer une action (lecture/analyse/écriture)
154-
_ = path
155-
# Aucun retour attendu; lever une exception pour signaler un échec
156-
157-
def apply_i18n(self, gui, tr: dict[str, str]) -> None:
158-
"""Appliquer les traductions à l'interface si le plugin expose une UI.
159-
160-
- gui: objet graphique hôte (peut être None en mode headless)
161-
- tr: dictionnaire de chaînes localisées
162-
"""
163-
# Optionnel: implémenter si nécessaire
164-
return None
165-
166-
167-
# Instance globale (facilitée pour l'exécution en sandbox)
168-
PLUGIN = MyBcPlugin()
169-
170-
171-
def bcasl_register(manager) -> None:
172-
"""Point d'extension appelé par le chargeur pour enregistrer le plugin.
173-
174-
L'hôte invoquera manager.add_plugin(PLUGIN).
175-
"""
176-
manager.add_plugin(PLUGIN)
177-
'''
111+
return

0 commit comments

Comments
 (0)