Languages/Java2008.07.16 16:46

SVN에 등록된 Maven 프로젝트를 checkout 받아서 빌드하는 과정은 아주 단순하다.

우선 다음과 같이 프로젝트를 checkout 한다.

svn co http://..../svn/pe/testapp testapp

이전 글과 마찬가지로, 붉은색으로 표시된 부분은 자신의 환경에 맞추어 바꾸면 된다.

co는 checkout의 약자이고, 그 뒤에 나오는것은 project의 URL이며, (이를 위해서 Apache에 SVN 서버가 통합되어 있어야 한다. 그 통합 방법은 이전 글에서 다룬 바 있다.) testapp는 checkout 받은 소스가 들어갈 디렉터리 이름이다.

이렇게 하면 testapp 디렉터리 안에 소스코드들이 쫙 깔린다.

이 디렉터리로 가서

mvn compile

위와 같이 하면 코드가 컴파일된다. 다음은 실행 결과이다.

bjlee@bjlee-ubuntu804:~/work/maven/testapp$ mvn compile
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building testapp
[INFO]    task-segment: [compile]
[INFO] ------------------------------------------------------------------------
[INFO] [resources:resources]
[INFO] Using default encoding to copy filtered resources.
[INFO] [compiler:compile]
[INFO] Nothing to compile - all classes are up to date
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1 second
[INFO] Finished at: Wed Jul 16 16:44:00 KST 2008
[INFO] Final Memory: 2M/6M
[INFO] ------------------------------------------------------------------------

테스트를 실행하는 방법은 다음과 같다.

mvn test

위와 같이 하면 테스트가 실행된다. 다음은 실행 결과이다.

bjlee@bjlee-ubuntu804:~/work/maven/testapp$ mvn test
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building testapp
[INFO]    task-segment: [test]
[INFO] ------------------------------------------------------------------------
[INFO] [resources:resources]
[INFO] Using default encoding to copy filtered resources.
[INFO] [compiler:compile]
[INFO] Nothing to compile - all classes are up to date
[INFO] [resources:testResources]
[INFO] Using default encoding to copy filtered resources.
[INFO] [compiler:testCompile]
[INFO] Nothing to compile - all classes are up to date
[INFO] [surefire:test]
[INFO] Surefire report directory: /home/bjlee/work/maven/testapp/target/surefire-reports

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running re.etri.moncp.AppTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.042 sec

Results :

Tests run: 1, Failures: 0, Errors: 0, Skipped: 0

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2 seconds
[INFO] Finished at: Wed Jul 16 16:44:51 KST 2008
[INFO] Final Memory: 4M/8M
[INFO] ------------------------------------------------------------------------


이제 테스트 결과 fail된 테스트가 발견되었을 시, 그에 대한 issue를 Trac에 자동 등록하도록 하는 부분을 구성해야 한다. 그 부분이 가장 어렵다.

<self-question>
지금 생각으로서는 Maven 플러그인을 구현하면 좋을것 같기도 한데, 그 방법이 워낙 까다로와서 엄두가 나질 않는다. 하지만 시도해 볼 만한 가치는 있을 듯... (아니면 google 검색을 잘 하면 나올지도 *쿨럭*)
</self-question>

신고
Posted by 이병준

소중한 의견, 감사합니다. ^^