Eclipse Ant Task

인큐베이팅 되던 Ant Task 가 Eclipse 에 공식적으로 포함되기 시작한지도 꽤나 시간이 흐른것 같습니다. Eclipse 에 기본 포함되기 때문에 Flex builder 나 FDT 모두 build 시에 Ant 를 사용하는 것을 적극적으로 지원하고 있습니다.

   

Ant Task 꺼내기

   

Ant task 는 FDT 나 Flex builder 나 기본적으로 꺼내져 있는편이지만 (Flex builder 는 잘 사용하지 않아서 정확하지 않음) 만일 Ant task 가 나와있지 않다면 Eclipse 의 View 를 새롭게 꺼내도록 합니다.

   

   

Ant task view 가 보입니다.

   

   

선택을 하면 위에 Flash Explorer 아래 보이는 것처럼 Ant task 가 보이게 됩니다.

   

기본적인 Ant build file 만들어보기

Ant 는 XML 형식의 문법이기 때문에 HTML 처럼 손쉽게 사용할 수 있을겁니다. 그리고, Ant editor 도 지원을 하기 때문에 작업 편리도가 높은 편이죠.

   

   

HTML 이 <html><head></head><body></body></html> 의 기본 구조를 가지고 있다면 Ant build file 은 위와 같이 <project><target></target><target></target></project> 의 구조를 가지고 있습니다.

   

   

Ant task 로 가서 Add Buildfiles 를 누릅니다.

   

   

그러면 위와 같이 build file 을 선택할 수 있는 창이 뜨게 됩니다. 테스트로 만든 test.ant 를 선택하도록 합니다.

   

   

대충 보면 알 수 있습니다. project.@name 은 build 의 타이틀이 되게 되고, project.@default 로 지정된 target.@name 은 default task 로 취급이 되어서 이 build 를 실행할때 기본적으로 실행되는 task 로 지정이 되게 됩니다. (이 부분은 나중에 이야기를 하죠.)

   

build 환경변수 만들기 <property>

   

환경변수는 두가지 종류가 있습니다. 파일경로를 지정하는 location 과 어떤 값을 지정하는 value 로 구분됩니다.

   

   

property 는 위에서 보는 것처럼 ${value name} 의 형식으로 사용이 가능합니다.

   

   

위에 보이는 build 를 더블클릭 해서 실행시키면

   

   

이렇게 console 에 내용이 뜨게 됩니다.

   

Properties file 로 분리시키기

하지만 위와 같이 build file 안에 property 를 포함시켜 버릴 경우 많은 문제점들이 생기게 됩니다. 일단 두 대의 컴퓨터에 각각 다른 Flex SDK 의 위치를 build file 안에 포함시킬 수 없다는 것부터 시작해서 말이죠.

   

보통 ant build file 을 만들때는 *.properties 형태로 환경변수 파일을 따로 만들게 됩니다.

   

   

properties 는 위처럼 name=value 의 형태로 작성하게 됩니다.

   

   

그리고, 그렇게 만들어진 properties 파일은 위에서 처럼 불러들여 사용할 수 있습니다.

   

위에 properties 파일에 정의한 output.asdoc 을 아래에서 ${output.asdoc} 으로 사용하는 것을 볼 수 있습니다.

   

Target Group

만든 target 들을 그룹으로 묶어서 일괄 실행 시키는 새로운 target 을 만들수도 있습니다.

   

   

위와 같이 depends 를 통해 여러개의 target 들을 하나로 묶어줄 경우 해당 target 은 한 번의 클릭만으로 여러개의 작업들을 일괄적으로 처리하게 됩니다.

   

예제 : ASDoc 퍼블리싱

뭐 위에까지 설명을 했으면 더이상 별달리 알아야 할 게 없습니다. 사용법 자체가 단순하기 때문이죠. 그리고, 특별히 필요한 기능들이 있을땐 구글을 뒤져보면 다른 사람들이 공개한 task 들이 있으니 긁어다 사용하면 됩니다.

   

이 아래부터는 개인적으로 사용하는 기능들을 소개해 보도록 하겠습니다.

   

   

8번째 라인은 ${output.asdoc} 폴더를 지웁니다.

9번째 라인은 새롭게 폴더를 만들죠.

   

11 번째 exec 은 properties file 에 정의된 asdoc.exe 를 지정하고

12 번째 라인부터는 전달할 변수들을 지정하게 됩니다.

-source-path 는 asdoc 으로 퍼블리싱할 소스의 최상위 디렉토리를 지정하고

-doc-sources 는 뭔지 잘 기억이 안나네요...;;;

-library-path 는 참조해서 사용하는 swc 라이브러리들의 폴더 위치를 지정합니다.

-window-title 이나 -main-title 은 문서에 표시할 내용을 지정하고,

-output 은 document 를 퍼블리싱 할 폴더를 지정하게 됩니다.

   

그 아래쪽에 delete, mkdir, copy 는 개인적으로 문서를 두군데의 폴더로 퍼블리싱 하기 때문에 만든 행동들입니다.

   

이렇게 대충 코딩하고 Ant task 에서 더블클릭하면 간단하게 현재 코딩중인 소스들의 document 가 나오게 됩니다. 다만, ASDoc 자체가 예외에 대해 굉장히 깐깐하기 때문에 소스상에 이상한 부분이 있으면 그냥 죽어버리므로, 코딩습관을 깐깐하게 들여야 합니다. (예를 들어 Fla 의 라이브러리에 지정된 Bitmap 같은것을 new 로 생성할때... ASDoc 을 위해서는 getDefinitionByName 을 사용하는 것이 좋고, MovieClip 내부의 instance name 을 가져올때도 getChildByName 을 사용하는 것이 좋습니다.)

   

예제 : SWC 라이브러리 컴파일

   

31 번째 라인은 flex sdk 의 compc.exe 를 지정합니다.

-o 는 만들 swc file 의 위치와 파일 이름을 지정하게 됩니다.

-l 은 참조할 swc 라이브러리의 폴더를 지정하고,

-sp 는 기본 source-path 를 지정하고

-is 는 source-path 에서 swc 에 포함시킬 package 를 지정하게 됩니다.

   

예제 : FTP 업로드

   

60 번째 라인에서 업로드할 폴더와 서버 주소, 아이디, 패스워드를 지정합니다.

62 번째 라인에서 포함시킬 파일들을 지정하게 됩니다.

63 번째 라인을 보면 알다 시피 (*) 와일드카드를 사용해서 규칙에 해당하는 모든 파일들을 포함시킬 수 있습니다.

폴더내의 모든 폴더와 파일들을 대상으로 할 경우엔 <include name="**/*.*" /> 이렇게 하면 됩니다.

   

하지만, 이렇게 코딩하고 Ant task 에서 더블클릭을 하면 에러가 나게 되는데요. FTP 를 사용하기 위해서는 확장 라이브러리가 필요해서 입니다.

   

   

Eclipse 환경설정에 들어가서 위의 Ant runtime 에 commons net 라이브러리와 jakarta oro 라이브러리를 Add External JARs... 를 통해 포함시켜줘야 합니다. 검색하면 손쉽게 구할 수 있는 라이브러리 들이니 다운받아 포함시키도록 합니다.

   

예제 : FDT 일괄 컴파일, 브라우저 디버깅

뭐 Flex task 를 사용하기도 하는데 개인적으로는 FDT 를 사용하기 때문에 FDT task 를 자주 사용하는 편입니다.

   

   

   

위와 같은 properties 를 참고하는 ant build 입니다.

   

   

대충 projectname 은 현재 eclipse project name 을 지정해주고, main class 는 swf로 컴파일 할 as class 를 지정합니다.

debug="true" 로 해놔야지 trace 등이 정상적으로 출력되는 디버그용 swf 가 만들어지게 되고,

target 은 퍼블리싱할 swf 파일의 위치, 이름을 지정하게 됩니다.

   

24 번째 라인의 startDebugger 는 현재 프로젝트에 대한 디버그 감지를 활성화 한다는 뜻입니다.

그렇게 디버거를 활성화 시키고, 25 번째 라인에서 browse 를 하면 웹브라우저를 통해서 지정한 localhost 웹서버의 문서가 뜨면서 디버깅이 시작되게 됩니다.

   

이런 디버깅 기능을 FTP 업로드와 함께 사용할 경우 번거로운 작업들 없이 한 번의 클릭만으로 컴파일 --> FTP 업로드 --> 디버깅을 한꺼번에 할 수 있죠. swc 컴파일과 asdoc 퍼블리싱도 같이 묶어 버리면 매우 편리합니다.

   

   

그 외에 FDT 가 지원하는 Ant 기능들은 help 에서 볼 수 있습니다.

   

   

   

   

이 내용은 http://ssen.name/recipe 에서 볼 수 있습니다.

  1. 이태호 2009/06/23 20:19 답글수정삭제

    쎈님 블로그에는 정말 실용적인 정보가 많네요! 당장 즐겨찾기 해둬야겠습니다. ^^ 좋은 정보들 감사합니다.

  2. naiyumie 2010/01/04 11:32 답글수정삭제

    소스가 짤리고;; ssen.name/recipe에 가면 권한이 없다고합니다.ㅠㅠ

트랙백 주소 :: http://docs.ssen.name/80/trackback/
옵션
댓글 달기
이전 1 2 3 4 5 6 7 8 ... 76 다음