- Tycho, p2, maven, eclipse-plugin 등등 도대체 뭐가 뭔지 모르겠다.....
- Tycho가 뭔데 도대체?
- Tycho integrates Maven with Eclipse and OSGi
- Eclipse와 OSGi를 Maven과 통합해준다..... 뭔말이야......
- 그전에 OSGi와 Maven 각각의 역할에 대해 다시 생각해보자.
- OSGi는 우리가 MANIFEST.MF에 명시한 Required Plug-ins(내가 필요한 플러그인)의 dependecy를 풀어준다.
( 내가 필요하다고 한 플러그인들도 다른 플러그인들이 필요할텐데 그걸 설치해준다는 의미 )
- Maven은 우리가 Required Plug-ins에 명시하기 위해서는 우리가 일일히 .jar를 설치해야 하는데, 그걸 dependency에 명시하면 maven repo(p2)에 쉽게 다운받을 수 있도록 해준다.
- tycho가 없다면?
밑에 그림은 pom.xml의 dependency hierachy다.
top-util을 예로 들면 maven이 없다면? guava,slf4j-api등을 일일이 다운받아서 manifest.mf에 명시해줘야 한다.
그럼 maven을 이용하여 dependecy만 명시해주면 끝인가? 아니다.
slf4j-simple도 필요한 plug-ins가 있다.
정확히는 모르겠지만 플러그인 로딩 실행순서도 잡아주고 하여 maven의 dependency hierarchy 해결을 osgi가 해줄 수 있도록 연결고리 역할을 해주는 것이 tycho다.
Eclipse/Tycho