'cassandra'에 해당되는 글 1건

  1. 2011.12.15 카산드라(Cassandra)가 ivy에서 maven으로 바꾼 이유

Cassandra mmap 이슈로 소스를 살펴보고 있는데, 빌드 체계가  Ant-ivy에서 Ant-maven으로 바뀌었다. 이에 대한 이유를 살펴보도록 한다. 내가 속한 조직에서는 Ant + Ivy를 사용하고 있는데, 이에 대한 보완 또는 빌드 속도 향상에 도움이 되지 않을까 해서 공부해본다.

Ant-Ivy 구조에서 Ant-Maven으로 바뀐 부분에 대한 내용은 Cassadra에서 올라온 이슈(https://issues.apache.org/jira/browse/CASSANDRA-2017)를 살펴본다.

첫번째, cassandra가 플랫폼 형태로 쓰기 때문에 maven central repository로 올려야 사람들이 편하게 쓸 수 있어야 한다. ivy는 pom 파일을 생성하지 못하기 때문에 maven-ant-tasks 가 필요하다.
두번째, gpg 시그내처 (보안) 를 생성하기 위해서 ivy task를 또 다시 실행시켜야 하는 것이 있는데, maven-ant-task는 한번에 gpg 시그내처를 생성할 수 있다.
세번째, dependency 정보를 한곳에서 할 필요가 있다. (아마도 maven central에 올리면서 중복 정보가 생기는 부분에서 얘기가 된 것 같다. 오해를 위해서 ivy.xml 파일 하나에서 충분히 관리될 수 있다. ivy는 maven에 비해 보기는 편하다.)

이외에 빌드할때, dependency 체크가 ivy보다 빨라서 빌드 속도 개선이 되었다고 한다.

그래서 0.7.6부터 배포되었다.  (http://pkgsrc.se/databases/apache-cassandra)

아직 회사에서 사용하는 것이 특별히 이슈는 없지만, ant-maven으로 고민할 필요가 있다는 생각이 들었다..



Posted by 김용환 '김용환'