Je veux injecter une cible "Nettoyage" qui dépend d'un certain nombre d'autres cibles qui terminent avant qu'elle ne disparaisse et de certains fichiers journaux de gzip. Il est important que je ne gomme pas tôt car cela peut entraîner l'échec de certains outils.Dans Scons, comment puis-je injecter une cible à construire?
Comment puis-je injecter une cible de nettoyage pour l'exécution de Scons?
par exemple. J'ai des objectifs foo et bar. Je veux injecter une nouvelle cible personnalisée appelée « nettoyage » qui dépend de foo et bar et court après ils sont tous deux faits, sans que l'utilisateur ait à spécifier
% scons foo cleanup
Je veux qu'ils tapent:
% scons foo
mais ont scons exécutent comme si l'utilisateur avait tapé
% scons foo cleanup
J'ai essayé de créer la cible de nettoyage et à annexant sys.argv, mais il semble que scons a déjà traité sys.argv par le temps qu'il arrive à mon code afin qu'il ne traite pas la cible de «nettoyage» que j'ajoute manuellement à sys.argv.
Fonctionnalités non documentées FTW! :-) Je trouve que je finis souvent par greber la source pour SCons lorsque je rencontre ces problèmes "insolubles" ... – richq
Est-ce que cela se casse quand le drapeau --random est utilisé? L'ordre dans lequel les cibles fournies par l'utilisateur sont construites n'est pas défini, pour autant que je sache. – BenG
J'injecte la cible mais ai des dépendances sur d'autres cibles, donc elle s'ajuste bien dans le graphe. Même si vous faites '' -random'', cela ne fera que randomiser les étapes concurrentes - pas les étapes qui ont des dépendances les unes sur les autres. Les dépendances sont toujours satisfaites avant que la commande de construction de la cible dépendante ne commence à s'exécuter. –