Quiero inyectar un objetivo de "limpieza" que depende de una serie de otros objetivos que terminan antes de que se apague y gzip de algunos archivos de registro. Es importante que no ejecute gzip anticipadamente ya que esto puede causar que algunas de las herramientas fallen.En scons, ¿cómo puedo inyectar un objetivo para construir?
¿Cómo puedo inyectar un objetivo de limpieza para que se ejecute Scons?
p. Ej. Tengo objetivos foo y bar. Quiero inyectar una nueva diana personalizada llamada 'limpieza' que depende de foo y bar y corre tras los dos están hechas, y sin que el usuario tenga que especificar
% scons foo cleanup
Quiero que tipo:
% scons foo
pero tienen scons ejecutan como si el usuario hubiera tecleado
% scons foo cleanup
he intentado crear el objetivo limpieza y añadiendo a sys.argv, pero parece que scons ya ha procesado por el sys.argv el tiempo llega a mi código, por lo que no procesa el objetivo de "limpieza" que añado de forma manual a sys.argv.
Funciones no documentadas FTW! :-) Encuentro que a menudo acabo por agotar la fuente de SCons cuando llego a estos problemas "insolubles" ... – richq
¿Esto se rompe cuando se usa la bandera --random? El orden en que se construyen los objetivos proporcionados por el usuario no está definido, hasta donde yo sé. – BenG
Inyecto el objetivo pero tengo dependencias con otros objetivos, por lo que encaja cómodamente en el gráfico. Incluso si hace '' -random'', solo aleatorizará los pasos concurrentes, no los pasos que tienen dependencias entre sí. Las dependencias siempre se cumplen antes de que comience a ejecutarse el comando de compilación de destino dependiente. –