J'ai une étape de post-compilation qui manipule le bytecode Java des classes générées. Je voudrais rendre la vie aussi facile que possible pour les consommateurs de bibliothèques, donc je cherche des façons de rendre ce processus automatique et (si possible) compilateur agnostique.Branchement aux compilateurs Java
Le Annotation Processing API fournit la plupart des fonctionnalités souhaitées (découverte automatique du service, prise en charge par Eclipse). Malheureusement, cette action vise à des générateurs de code et doesn't support manipulation of existing artefacts:
Les entrées initiales à l'outil sont considérés être créés par le zeroth tour; par conséquent, tenter de créer un fichier source ou classe correspondant à l'une de ces entrées entraînera une FilerException.
Le motif Décorateur recommandé par l'API n'est pas une option.
Je peux voir comment exécuter l'étape avec un agent/instrumentation d'exécution, mais c'est une option pire qu'une étape de construction manuelle car cela exigerait que toute personne, même touchée par l'API, configure ses JVM de manière non évidente. manière.
Existe-t-il un moyen de se connecter ou d'envelopper le compiler tool tel qu'appelé par javac? Est-ce que quelqu'un a subverti avec succès les processeurs d'annotation pour manipuler le bytecode, peu importe ce que dit le doc?
Votre lien est mort. –