레이블이 ASDoc인 게시물을 표시합니다. 모든 게시물 표시
레이블이 ASDoc인 게시물을 표시합니다. 모든 게시물 표시

2009년 6월 6일 토요일

mxml에서 script를 별도 파일로 빼내기

mxml에 ActionScript 코드를 바로 삽입 할 수도 있지만 아래처럼 할 수도 있다.

<mx:Script source="SomeFile.as" />

주의 사항이 있다. Haha.mxml파일은 Haha 클래스를 의미하기 때문에 Haha.as파일을 만들면 동일한 클래스가 두 개 존재하는 것으로 보고 오류를 낸다.

 

코드를 분리하니 스크롤 영역이 줄어들어서 파일을 한 번에 파악하기 좋고 ASDoc 태그를 사용할 수 있어서 좋다. mxml용 ASDoc 태그는 나중에 지원되는 것으로 보인다.

2009년 6월 3일 수요일

Ant에서 ASDoc 실행

build.xml에서 exec 형태로 ASDoc을 실행시키는 것 같다. 명령창에서는 잘 되는데 어찌된 일인지 Ant로는 잘 안됐다. 그래서 명령창에서 실행시킨 명령어를 batch 파일로 만들고 그걸 Ant에서 exec로 실행시키니 된다.

ASDoc 실행

"C:\Program Files\Adobe\Flex Builder 3\sdks\3.2.0\bin\asdoc"

 

-source-path "원하는 Flex 프로젝트의 src 디렉토리"

 

-external-library-path "원하는 Flex 프로젝트의 libs 디렉토리"

 

-doc-classes "package를 포함한 클래스명"

(최상위 디렉토리의 MXML Application 이름(이게 클래스 명이니까)으로 해도 된다.)

 

-main-title "main title"

 

-window-title "window title"

 

-output flex-framework-asdoc

 

pause

위처럼 하니 된다. -doc-classes 에 com.domain... 이런 식으로(여러 개라면 띄어쓰기로 구분)해서 클래스를 지정하면 된다. 지정된 클래스와 관련된 클래스는 다 문서화 되나 보다. 최상위에 존재하는 MXML Application 파일의 이름을 지정하면 프로젝트 전체에 대한 도큐먼트가 생성된다.

 

외부 라이브러리를 사용하면 -external-library-path를 지정한다. 나의 경우에는 PureMVC를 libs에 넣고 사용하기 때문에 그 위치를 넣어줬다.

 

프로젝트에서 mx:AdvancedDataGrid를 사용하는데 그 부분에서 에러가 났다. 구글에서 찾아보니 flex sdk에 포함되어 있는 asdoc을 사용해서 그렇다. flex sdk에는 mx:AdvancedDataGrid가 포함되어 있지 않다. 그래서 Flex Builder 안에 있는 asdoc을 실행시켰더니 잘 된다.