mxmlc의 -link-report 옵션은 포함 된 에셋의 가짜 파일 이름을보고하고 포함 된 소스 파일을 무시한다는 점을 제외하면 대부분의 적절한 정보가 포함 된 파일을 생성합니다. 모든 것을 수집하려면, 지금 내 메이크 파일에서 다음과 같습니다
모든 메이크 파일에서 mxmlc에와 compc의 명령
.deps/%.d: .deps/%.xml
# [email protected]: $<
grep '<script name=./' $< | cut -f2 -d'"' | cut -f1 -d'(' | cut -f1 -d'$$' | sort -u | sed -e "s|^$$(pwd)/||" > .deps/$*.f
grep '\.mxml$$' .deps/$*.f | xargs grep -H 'mx:Script source' | sed -s 's|/[^/]*.mxml:.*source="\([^"]*\)".*|/\1|;' > .deps/$*.i
for path in $$(grep -h '\.\(mxml\|as\|css\)$$' .deps/$*.[fi] | xargs grep '\bEmbed([^.)]' | \
sed "[email protected]\\(\\w\\+\\)/.*Embed([^'\")]*['\"][./]*\\([^'\"]*\\)['\"] *[,)].*@\\1/*/\\[email protected]"); \
do find */src -path "$$path"; done | sort -u > .deps/$*.e
cat .deps/$*.[fie] | sed -e "s|^|$(flashpath)$*.swf [email protected] : |" > [email protected]
# This includes targets, so should not be before the first target defined here.
built := $(wildcard .deps/*.xml)
include $(built:xml=d)
이제 .deps 디렉토리에 적절하게 이름 .xml 파일을 생성 -link-보고 있습니다. 필자는 여전히 Embed 및 Script 지시문에 대한 파일을 검색해야하지만, 어려운 부분 (어떤 클래스가 포함되는지 결정)이 수행되었습니다. 각 단계마다 실제 파서를 사용할 수 있지만 grep, sed 및 cut은 주어진 파일에 대해 충분히 잘 작동합니다.
내 의견으로는, 이런 종류의 편의는 좋은 것입니다. 그러나 특정 클래스에서 파견 된 이벤트를 청취하고있는 것을 알 수있는 방법은 아직 없습니다. – Robusto
@Robusto : 사실, 청취자의 그래프는 많은 것들에 도움이 될 것입니다. 그러나이 경우 저장소에서 트리밍 할 쓸모없는 파일을 찾는 이점이있는 Makefile에 대한 컴파일 종속성을 수집하려고했습니다. – eswald