SCons 용 Sphinx
빌더가 작동하지 않는 이유를 이해하려고합니다. 내가 디버깅 할 코드의 필수적인 부분이 아래로 비등 :SCons : 어떤 작업을 디버깅하는 방법?
SCons.Action.Action('$SPHINXCOM', '$SPHINXCOMSTR')
내가 이론적으로 $SPHINXCOM
이 $SPHINXBUILD $_SPHINXOPTIONS ${SOURCE.attributes.root} ${TARGET.attributes.root}
으로 확장해야한다고 알고 있지만, SCons는 결코이 작업을 실행하는 것 없기 때문에, 내가 추적 할 수 없다 무엇을 그것이 실행되어야한다고 생각 했는가.
SCons의 코드를 탐색하는 것은 지옥으로가는 길입니다 ... 수십 개의 위임 및 추측 등으로 완전히 불투명합니다 ... 시도 시간이 지나도 여전히 코드를 찾을 수 없습니다. 이 동작이 평가 될 때 실행되거나 올바른 용어가 무엇이든간에 ... 그러나 어떤 시점에서는 동작의 메서드가 빈 문자열을 반환하기 시작합니다.
옵션을 통해 읽음으로써, 자세한 내용을 표시하거나 이미 인쇄 된 것보다 더 많은 진단 메시지를 인쇄 할 수는 없습니다 (실제로 어쨌든 코드에 어떤 로깅도 없으므로 아무 것도없는 것처럼 보입니다.) 인쇄). 액션을 실행하는 코드를 찾을 수있어서 기쁠 것입니다. 그래서 액션이 어떤 메소드에서 null이 아닌 값을 생성해야하는지 알 수 있습니다 ... 누군가가 나를 가리킬 수 있다면 고맙겠습니다. 그 코드에.
이 Action
일에 어떤 일이 일어나고 있는지 알려주는 것입니다.
Action
내 경우ActionBase
클래스에 작업을 위임 할 것 같다 인자의 종류에 조건이 도우미 메서드를 호출하여 다음과 같이 내 연구 결과는 지금까지입니다.ActionBase
은 인수 유형 (모두**kw
, 즉 익명으로 전달됨)을 검사 한 후 작업을ActionAction
클래스에 위임하는 것으로 보입니다.ActionAction
클래스는 이제 이전 검사에서 변경된 인수를 검사하고CommandAction
클래스를 호출하여 입력을 처리합니다.CommandAction
이제는Action
으로 위임됩니다.Action
은 이제 인수에서 동일한 기본 정보를 받았지만 다르게 형식이 지정되었습니다. 두 번째 인수가 문자열 인 대신 문자열이 하나 인 dict입니다._Action
-Action
지금 대표 ...
어딘가에 "조치"개체의 방법은 내가 생성 된 명령을 볼 기대 빈 문자열을 반환 시작하는 점을 중심으로. 코드의 전반적인 구조와 냄새를 감안할 때, 나는이 사악한 위임 계획의 표면을 긁었을뿐입니다. 그러나 나는 모든 것을 내부로 넘기위한 내부 지식이 충분하지 않습니다. "행동"방법은 실제로 액세스되었습니다. 그 일이 어디에서 발생했는지 알았다면 Action
에 대한 논증을 구조화 할 수있는 방법을 찾아 낼 수 있었을 것입니다.
사용할 수있는 다양한 "트리"옵션을 올바르게 사용하려면 [SCons의 MAN 페이지] (http://scons.org/doc/production/HTML/scons-man.html)를 확인 했습니까? 액션이 실제로 발생하는지 확인해야합니다. 즉, * SCons *는 타겟이 최신 상태가 아님을 확인합니다. 문제의 조치를 어떻게 실행하려고하는지 보여주는 MWE를 제공 할 수 있습니까? – dirkbaechle
'--tree' 옵션은 유용하지 않습니다. 또한, 나는 이미이 정보를 읽었다 고 언급했습니다 ... 나는 그 예에서 무엇을보고 싶습니까? 내가 뭘 찾고 있는지 알지 못하기 때문에 거기에 글을 써야할지 모르겠다. 내가 아는 전부는 그 코드가해야만하는 것이지만 그것은 그것에 관한 것이다. – wvxvw
SCON을 실행하는 곳과 관련된 스핑크스 작업의 대상은 어디입니까? 현재 디렉토리의 하위 디렉토리에 있습니까? 아니면 다른 디렉토리 트리에 있습니까? – bdbaddog