사용자 도구

사이트 도구


gradle:propdeps

propdeps plugin

  • Propdeps-plugin Gradle Dependencies 에서 provided, optional 지원 플러그인.
  • 이를 사용할 경우 IntelliJ IDEA의 기본 Gradle 플러그인으로는 provided를 올바로 인식하지 않는다.
  • Gradle 2.x 에서 compileOnly Scope가 생겼으므로 이 플러그인은 더이상 필요 없을 것으로 보인다.

설정

  • 버전 번호 주의할 것. 문서상 버전은 최신이 아니다.
  • Gradle 2.x 사용시에는 최소 propDeps 0.7 이상을 사용해야 한다.

provided

  • Maven의 <scope>provided</scope>

optional

  • Maven의 <scope>compile</scope> <optional>true</optional>

uploadArchives

현재(0.5) Propdeps 플러그인은 idea, eclipse, install에 대해서만 올바르게 optionalprovided를 제공하고 uploadArchives에 대해서는 관련 처리를 하지 않고 있다. 어쨌든 provided는 올바르게 생성되며 optional은 다음 처리를 필요로 한다.

uploadArchives {
    repositories {
        mavenDeployer {
            repository(url: 'http://어쩌구/releases/') {
                authentication(userName: repoUserName, password: repoPassword)
            }
            snapshotRepository(url: 'http://어쩌구/snapshot/') {
                authentication(userName: repoUserName, password: repoPassword)
            }
            // POM 의존성 객체 (MavenPom)에 optional = true 지정 : <optional>true</optional> 생성
            pom.whenConfigured { pom ->
                pom.dependencies.findAll { dep -> dep.scope == 'optional'}.each { dep ->
                    dep.scope = 'compile'
                    dep.optional = true
                }
            }
        }
    }
}

위 코드는, propdeps에서 MavenPlugin.java, ProjectConfigurationActionContainer를 주입받아 처리하면 될 것으로 보임. Plugin dependency injection

gradle/propdeps.txt · 마지막으로 수정됨: 2016/11/02 10:46 저자 kwon37xi