1. 설치하기
* Eclipse를 다운 받아 설치합니다. 3.3부터 Mylyn이 Core에 들어갔습니다. 그러니 3.3이상을 받으시는게 좋습니다.
* Trac + XML-RPC - 설치법
Mylyn의 Trac Connector에서 General issue tracker나 web을 이용한 방법도 지원하지만 Mik는 XML-RPC를 이용하라고 추천합니다.
* Subclipse와 Mylyn 설치하기
<그림 1>과 <그림 2>처럼 Help/Software Updates/Find and install을 클릭합니다. Subclipse와 Mylyn 모두 Update Site를 이용하여 설치합니다.
<그림 1> 플러그인 설치하기
<그림 2> 플러그인 설치하기 2
Subclipse Update Site를 <그림 3>처럼 추가합니다. Eclipse 3.1 이하 버전은 Subclipse(http://subclipse.tigris.org/update_1.2.x) 홈페이지에서 적합한 Update Site URL을 찾아 입력하셔야 합니다.
<그림 3> Subclipse Update Site 추가하기
Europa Discovery Site에서 Mylyn Bridge와 Mylyn Connector:Trac을 선택합니다. Mylyn Bridge를 설치하지 않으면 Task-focused UI라는 기능을 사용할 수 없습니다. select Required를 클릭하여 PDE plugin을 설치합니다. Mylyn Bridge는 PDE를 이용하기 때문에 PDE plugin을 설치하지 않으면 설치되지 않습니다.<그림 2> 플러그인 설치하기 2
Subclipse Update Site를 <그림 3>처럼 추가합니다. Eclipse 3.1 이하 버전은 Subclipse(http://subclipse.tigris.org/update_1.2.x) 홈페이지에서 적합한 Update Site URL을 찾아 입력하셔야 합니다.
<그림 4>처럼 Europa Discovery Site와 Subclipse를 선택합니다. Mylyn도 따로 있는데 Mylyn Extras는 없지만 Mylyn은 Europa Discovery Site에 포함되어 있습니다. 기본으로 Mylyn이 따로 들어가 있는데 중복되는 이유는 모르겠습니다.
<그림 4> Update Site 선택그리고 Subclipse Integration for Mylyn과 Subclipse Plugin을 선택합니다. 그리고 Next/Finish를 누르면서 라이센스에도 동의하시고 계속 설치합니다.
이제 설치를 완료하셨습니다.
2. Task-focused UI 설정하기
Task-focused UI는 Mylyn과 기존의 Eclipse UI가 합쳐져서 완성됩니다. 먼저 Task Repositories View가 보이도록 합니다. <그림 5>는 Task Repositories view를 띄우는 Mylyn Task Toolbar의 Popup 메뉴입니다.
<그림 7> Team Synchronize 2
<그림 8>에서 1에서 Task list를 볼 수 있습니다. 그리고 2는 Team Syncronize View입니다. 코드를 수정하면 여기에 나타납니다. 3은 Task Repository View 입니다. Task Repository를 관리할 수 있습니다. 4는 Pakage Explorer입니다. Task view는 Pakage Explorer를 보완하는 개념이지 대체하는 것이 아닙니다. 5는 에디터입니다. 이제 Task-Focused UI를 활용할 준비를 마쳤습니다.
<그림 8>에서 1에서 Task list를 볼 수 있습니다. 그리고 2는 Team Syncronize View입니다. 코드를 수정하면 여기에 나타납니다. 3은 Task Repository View 입니다. Task Repository를 관리할 수 있습니다. 4는 Pakage Explorer입니다. Task view는 Pakage Explorer를 보완하는 개념이지 대체하는 것이 아닙니다. 5는 에디터입니다. 이제 Task-Focused UI를 활용할 준비를 마쳤습니다.
3. Task Repository 등록하기.
SVN에 대해서는 설명하지 않습니다. 검색하면 자료가 많으니 참고하세요. 특히, 피라시스닷컴의 Subversion How to가 멋집니다.
<그림 9>처럼 쉽게 Task Repository를 등록하는 화면을 띄우실 수 있습니다. <그림 9>, <그림 10>, <그림 11>순으로 순서대로 진행합니다.
<그림 11>에서 Validate Settings을 이용하여 현 설정을 테스트해 볼 수 있습니다.
4. Query 만들기
Query는 필터라고 생각하시면 됩니다. issue tracker에 질의하여 task(issue)를 선별해 올 수 있습니다.
5. Context 관리
이 기능이 핵심입니다. Context 관리란 간단하게 말해서 'Task 중심으로 하는 자원(소스코드, 리소스, 등)관리'라고 할 수 있습니다. Context를 만드는 법은 쉽습니다. <그림 16>의 2처럼 '원더걸스'를 activate시킵니다. 그리고 그 Context와 관련된 코드를 열면 자동으로 하나의 Context가 만들어 집니다. 이 goodandevil예제에서는 원더걸스와 관련있는 pragma.ex.evil.Parkjinyoung.java와 pragma.ex.evil.WonderGirls.java그리고 pragma.ex.test.WonderGirls.java를 열었습니다. Package Explorer를 이용해서 열어도 되고 CTRL+SHIFT+T를 이용해서 열어도 됩니다. 2를 클릭해서 activate시켰다 deactivate시키면 만들 어진 Context에 따라 파일이 열렸다 닫혔다 합니다. 1(focus on active task)을 클릭해두면 Package explorer에서도 해당 파일이 fold됐다 unfold됐다 합니다. 자 이제 하루에 10분씩 원더걸스가 박진영을 무찌르는 프로그램을 작성할 수 있게 됐습니다.
5.1. Test Active Context
<그림 16>의 3처럼 원더걸스 Context에 Test Case를 하나 등록해 두었습니다. 현재 Activated된 Context만을 테스트 할 수 있습니다. 프로그램 작성에서 테스트까지 Package Explorer를 건드르지 않고 수행할 수 있습니다. 단 JUnit4는 동작하지 않습니다. JUnit3만 됩니다. 조만간 수정되리라 생각합니다.
5.2. Context 공유하기
단순히 Task(Issue)의 첨부파일로 Context를 공유할 수 있습니다. <그림 18>, <그림 19>의 순서대로 따라하여 현재 사용하는 Context가 공유됩니다. <그림 20>에서 처럼 Trac에 등록된 Contex를 확인 할 수 있습니다.
<그림 20> 등록된 context
*. 참고 자료 다른 사람이 공유한 Context를 사용하기 위해서는 <그림 18>의 메뉴에서 Context -> Retrieve를 이용하여 Context를 다운받을 수 있습니다. 이제 Context를 남들과 공유할 수 있습니다.
6. 마치며
이 글은 Trac + Mylyn을 설치하고 Task-focused UI를 활용하는데 중점을 두었습니다. Mylyn을 제대로 사용하고 싶다면 [참고자료]에 있는 글도 읽어보셔야 할 것입니다. Mylyn의 인터페이스는 아주 고민을 많이 했다고 생각됩니다만, 익숙해지려면 시간이 걸릴 것 같습니다.
6. 마치며
이 글은 Trac + Mylyn을 설치하고 Task-focused UI를 활용하는데 중점을 두었습니다. Mylyn을 제대로 사용하고 싶다면 [참고자료]에 있는 글도 읽어보셔야 할 것입니다. Mylyn의 인터페이스는 아주 고민을 많이 했다고 생각됩니다만, 익숙해지려면 시간이 걸릴 것 같습니다.
6.1. Trac + Mylyn의 하이퍼링크
Task관리에 대해서는 전혀 다루지 않았지만 하이퍼링크에 대해서는 꼭 집고 넘어가야 겠습니다. Mylyn User Guide에서는 'task#123', 'bug#123', 'bug 123'정도로 간단하게 task에 링크할 수 있다고 했으나 Mylyn + Trac의 경우에는 전적으로 TracLink에 따릅니다. TracLink 형식을 모두 지원하며 Mylyn UI로 지원되지 않는 부분은 웹브라우저를 이용합니다.
소스코드의 주석이나 어노테이션에서도 하이퍼링크가 지원되진지 모르겠습니다. 소스코드 수준에서도 하이퍼링크기능이 지원된다면 아주 편리할 것이라고 생각합니다만, TracLink형식이 모두 지원된다면 Trac을 웹으로 사용하거나 Mylyn으로 사용하거나 별 차이 없을 정도로 편리해 질것 이지만 안되는 것 같습니다.
Task관리에 대해서는 전혀 다루지 않았지만 하이퍼링크에 대해서는 꼭 집고 넘어가야 겠습니다. Mylyn User Guide에서는 'task#123', 'bug#123', 'bug 123'정도로 간단하게 task에 링크할 수 있다고 했으나 Mylyn + Trac의 경우에는 전적으로 TracLink에 따릅니다. TracLink 형식을 모두 지원하며 Mylyn UI로 지원되지 않는 부분은 웹브라우저를 이용합니다.
소스코드의 주석이나 어노테이션에서도 하이퍼링크가 지원되진지 모르겠습니다. 소스코드 수준에서도 하이퍼링크기능이 지원된다면 아주 편리할 것이라고 생각합니다만, TracLink형식이 모두 지원된다면 Trac을 웹으로 사용하거나 Mylyn으로 사용하거나 별 차이 없을 정도로 편리해 질것 이지만 안되는 것 같습니다.
*.1. Mylyn 2.0 : 통합된 태스크 관리, 자동화된 컨텍스트 관리
Mylyn 리더인 Mik Kersten이 작성한 글입니다. Part 1은 번역도 되어 있습니다. 이 것이 제일 알 기 쉽게 작성됐습니다. 반드시 읽어보시기 바랍니다. 제가 정리한 것은 자세하지 않고 모든 것을 정리하지 못했습니다.
*.2. Mik Kerstern의 Mylyn Demo
영어를 못하는 저도 봐서 도움을 받았습니다. Mylyn이 처음이시라면 한번 보세요. 화면만 보는 것만으로도 도움됩니다. 영어로 주옥같은 얘기를 했을 텐데 들리질 않아서리.-_-;
*.3. Jira + Mylyn의 협업 전략 - 박재성님
자바지기 운영자이신 박재성님이 작성하셨구요. 마이크로소프트웨어에도 2007년 8월호에 실린 글입니다. Jira+Mylyn을 중심으로 설명하시는데 잘 와닫지가 않았습니다. 그래도 읽어보시면 도움이 되실것입니다.
*.4. csvdude(?)에서 만든 Getting started with Mylyn & Trac (PDF)
이 글은 Trac + Mylyn 설치법입니다. 활용에는 도움이 되질 않습니다. 제가 작성한 설치법은 이 글과 거의 유사합니다만, 부족한 부분을 보강하였습니다.
*.5. Mylyn User Guide


<그림 5> Task Prepositories View 보이게 하기
댓글을 달아 주세요