사용자 도구

사이트 도구


gradle:from_maven

문서의 이전 판입니다!


Maven에서 Gradle로

pom.xml에서 의존성 문자열 모두 뽑아내기

  • dependencies.groovy
    def pom = new XmlParser().parse(new File(args[0]))
     
    def dependencies = pom.dependencies.dependency.each {
         // GString을 사용할 수도 있어서 일부러 쌍따옴표로 했음
        println "\"${it.groupId.text()}:${it.artifactId.text()}:${it.version.text()}\","
    }
  • 실행한 뒤에 맨 끝에 쉼표는 잘 조정해서 쓸 것
    > groovy dependencies pom.xml
    "com.google.guava:guava:10.0.1",
    "spy:spymemcached:2.7",
    "org.codehaus.jettison:jettison:1.3",
    .....

provided

기본적으로 Gradle은 provided를 제공하지 않고 있다. 하지만 Gradle Web(War) Plugin 프로젝트는 providedCompile을 지원하고 있으며, 웹이 아니더라도 유사 기능을 흉내낼 수 있다.

Gradle Dependencies - provided 참조.

Apache CXF

Apache CXF로 SOAP Client Class 생성하는 것은 JavaExec 태스크로 하면 된다. CXF 참조

Annotation Processing

Annotation Processing은 원칙적으로는 컴파일 과정에서 자동으로 수행된다. 하지만 JPA 2 MetaModel 생성같이 소스를 생성해야 할 경우가 있는데 그럴 때는 -proc:only 옵션으로 독립적으로 소스 생성만 하는 컴파일러를 돌려주고 그 뒤에 실제 컴파일을 수행하도록 실행 계획을 짜면 된다.

Lombok의 경우에도 아무 설정도 할 필요없다. 클래스패스에만 있으면 자동으로 수행된다.

Gradle에서 JPA2 MetaModel 생성 참조.

projectA의 단위테스트가 projectB의 단위테스트에 의존

gradle/from_maven.1349921483.txt.gz · 마지막으로 수정됨: 2012/10/11 11:11 저자 kwon37xi