SCons를 사용하기에 비교적 큰 시스템의 건물을 이전하려고합니다. 빌드 상태에 대한 웹 사이트를 업데이트하는 사용자 지정 빌드 보고서 기능을 추가하고 싶습니다. 작업의 시작을 나타내는 사용자 지정 메시지를 서버에 게시하고 작업 완료 후에 유사한 메시지를 게시합니다. 그러나 나는 그 부름을 할만한 적절한 장소를 찾기 위해 고심하고있다.SCons에서 실제 컴파일 전과 후에 사용자 정의 빌드 보고서를 추가하는 방법은 무엇입니까?
내가 구현하는 빌드 시스템은 일반적이어야합니다. 즉, 빌드 동작이 무엇이든 상관없이이를 수행해야합니다. 명령을 실행하거나 사용자 정의 함수를 실행할 수 있습니다.
소스 코드에서 _ActionAction()의 _ _call__ 메소드가 작동 할 때 추가 기능이 추가되었습니다. 그러나 나는 SCons의 소스 코드를 수정하지 않고 이것을하고 싶다.
if execute:
if chdir:
os.chdir(chdir)
try:
# add custome before execution report function
stat = self.execute(target, source, env, executor=executor)
# add custome after execution report function
if isinstance(stat, SCons.Errors.BuildError):
s = exitstatfunc(stat.status)
if s:
stat.status = s
else:
stat = s
else:
stat = exitstatfunc(stat)
finally:
if save_cwd:
os.chdir(save_cwd)
아마 PRINT_CMD_LINE_FUNC에서 사전 컴파일 액션 보고서 작업을 수행 할 수 있습니다,하지만 난 액션 보고서를 컴파일 한 후-비슷한 아무것도 찾지 못했습니다.
AddPreAction
및 AddAfterAction
내가 원하는 것을 수행하지만 모든 동작에 대한 보고서 기능을 추가하려면 먼저 사전 동작 및 후 조치를 추가하기 전에 동작 개체가 무엇인지 알아야합니다. 각자 하나씩.
도움 주셔서 감사합니다.
감사합니다. dirkbaechle. 이것은 내 문제를 해결했다. –