crescent에서 luceneKoreanAnalyzer.jar를 사용하는데
별도의 프로젝트로 나누어져있다. 처음에 이것을 그냥 이대로둘지.. maven을 사용해서 모듈로 합칠지..
고민을 하다가... 별도 프로젝트로 두면서 crescent에 의존성 설정을 해주면 crescent 빌드 할 때마다 자동으로
luceneKoreanAnalyzer를 다운받아 사용 할 수 있겠다 싶은 생각이 들었다.
그렇다면 이제 필요한것이 maven repository인데..
혹시 github이라면.. 뭔가 되지 않을까 싶어서 찾아봤더니 아래와 같은 글이 있었다.
http://cemerick.com/2010/08/24/hosting-maven-repos-on-github/
오옷..!
그래서 한번 따라해보았다. crescent와 luceneKoreanAnalyzer는 이미 maven 프로젝트로 만들어져있다고 가정한다.
1. github 사이트에 maven-repository로 사용 할 새로운 repository를 생성한다.
2. local pc에서 위 repository를 clone 할 디렉토리를 하나 생성한다.
[need4spd $] mkdir need4spd-maven-repo)
3. git repository로 만든다
[need4spd need4spd-maven-repo $] git init
4. origin으로 remote repository를 alias 걸어주고 pull 실행
[need4spd need4spd-maven-repo $] git remote add origin https://github.com/need4spd/need4spd-maven-repo.git
[need4spd need4spd-maven-repo $] git pull origin master
5. need4spd-maven-repo의 하위 디렉토리로 snapshots, releases 디렉토리를 생성한다.
[need4spd need4spd-maven-repo $] mkdir snapshots releases
6. luceneKoreanAnalyzer의 pom.xml에 아래의 설정을 추가한다. deploy 페이즈를 실행하기 위해서는 필요하다.
<distributionManagement>
<repository>
<id>repo</id>
<url>https://github.com/need4spd/need4spd-maven-repo/raw/master/releases</url>
</repository>
<snapshotRepository>
<id>snapshot-repo</id>
<url>https://github.com/need4spd/need4spd-maven-repo/raw/master/snapshots</url>
</snapshotRepository>
</distributionManagement>
7. luceneKoreanAnalyzer에서 deploy 페이즈를 실행한다. 단, 위 설정 그대로 실행하면 github으로 바로 deploy를 시도하는데.. 당연히 그건 안된다.. 그래서 일단 로컬에 만들었던 need4spd-maven-repo 디렉토리로 deploy가 되도록 실행한다.
[need4spd luceneKoreanAnalyzer $] mvn -DaltDeploymentRepository=snapshot-repo::default::file:../need4spd-maven-repo/snapshots clean deploy
8. 성공했다면, local need4spd-maven-repo에 deploy가 되었을 것이다. 그렇다면 이제 이것을 remote repository로 push하자.
[need4spd need4spd-maven-repo $] git push origin master
9. 이제 crescent에서 받을 수 있는 준비가 되었다. crescent의 pom.xml에 다음을 추가하자.
<repository>
<id>need4spd-snapshot</id>
<url>https://github.com/need4spd/need4spd-maven-repo/raw/master/snapshots</url>
</repository>
<repository>
<id>need4spd-releases</id>
<url>https://github.com/need4spd/need4spd-maven-repo/raw/master/releases</url>
</repository>
...
<dependency>
<groupId>com.tistory.devyongsik</groupId>
<artifactId>luceneKoreanAnalyzer</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
10. crescent에서 빌드 실행
[need4spd crescnet $] mvn clean package
일단 local에 deploy후에 별도로 push를 해줘야하긴 하지만 개인 용도로 사용하기엔 큰 무리가 없어보인다..
근데 왠지 github에 아이디 패스워드 설정해서 바로 deploy 할 수 있는 플러그인이 있을 것 같다. --ㅋ
이거같다..
https://github.com/JakeWharton/github-deploy-maven-plugin