2014-07-11 2 views
2

나는 Gradle 플러그인 세트를 작성하고 있지만 사용되는 groovy 및 gradle의 특정 버전을 제어하려고합니다.특정 버전의 gradle을 사용하도록 플러그인을 구성하는 방법은 무엇입니까?

나는 플러그인은 다음을 수행하는 것처럼, 설치 Gradle을/그루비의 어떤 버전에 의존하지 않으려 :

dependencies { 
    compile localGroovy() 
    compile gradleApi() 
} 

내가 로컬 방법을 사용하지 않는 또 다른 이유를 - 때 적절한 종속성 사양을 사용하면 Gradle은 해당 libs의 소스 코드를 알고 IDE 플러그인이 소스를 자동으로 연결할 수 있습니다.

Could not resolve all dependencies for configuration ':g2idea13:compile'. 
    > Could not find org.gradle:gradle-ide:2.0. 
    Searched in the following locations: 
    http://jcenter.bintray.com/org/gradle/gradle-ide/2.0/gradle-ide-2.0.pom 
http://jcenter.bintray.com/org/gradle/gradle-ide/2.0/gradle-ide-2.0.jar 
Required by: 
g2idea13:g2idea13:0.0.1-SNAPSHOT 

하는 것 같다되지 않습니다

allprojects { Project iProject -> 
    apply plugin: 'idea' 
    apply plugin: 'maven' 

    repositories { 
    jcenter() 
    } 
} 

subprojects { Project iProject -> 
    apply plugin: 'groovy' 

    dependencies { 
    compile 'org.codehaus.groovy:groovy-all:2.3.2' 
    } 

} 

project(':eclipsei2g') { 
    group = 'eclipsei2g' 
    version = '0.0.1-SNAPSHOT' 

    dependencies { 
    compile 'org.gradle:gradle-core:2.0' 
    } 
} 

project(':g2idea13') { 
    group = 'g2idea13' 
    version = '0.0.1-SNAPSHOT' 

    dependencies { 
    compile 'org.gradle:gradle-core:2.0' 
    compile 'org.gradle-plugins:gradle-ide:2.0' 
    } 
} 

나는이 프로그램을 실행할 때 나는 Gradle을-IDE 의존성을 해결 오류가 발생 : 아래

내 빌드 스크립트의 관련 부분입니다 0.9 이후 플러그인 물건에 대한 jcenter 저장소에 아무것도. 나는 또한 'org.gradle : gradle-ide : 2.0'을 시도했다.

이걸 어떻게해야합니까? 특정 그라데이션 버전을 지정하는 또 다른 방법이 있습니까? 잘못된 저장소를 사용하고 있습니까? 나는 mavenCentral()에서 해결할 gradle-core도 얻을 수 없었다. 내가 사용해야하는 공식적인 Gradle 저장소가 있습니까?

+0

플러그인에 gradle wrapper를 사용하는 경우 Gradle 및 Groovy 버전이 잠겨 있습니다. 그게 너에게 충분하지 않니? – Radim

+0

아닙니다. 라이브러리 소스를 수정하지 않으며 빌드 스크립트의 의도를 나타내지 않습니다. 최신 Gradle을 사용하여 플러그인을 구축하는 데 신경 쓰지 않아도되지만 이전 버전의 Gradle에서 플러그인을 사용할 수 있기를 바랍니다. 또한 내가 필요한 모든 것이 gradle-core 및 gradle-ide (IDE에서 훨씬 더 큰 라이브러리 종속성 목록을 만든다) 일 때 전체 gradle API 표면 영역을 잡아 당기는 것은 낭비적인 것처럼 보입니다. – Shorn

+0

플러그인에 대한 종속성을 지정하면 해당 종속성을 해결하기 위해 플러그인을 사용하는 모든 스크립트가 강제로 실행된다는 것을 알게되었습니다. 즉, jcenter() 또는 이와 유사한 것을 buildscript 리포지토리 섹션에 추가해야합니다. 그래서 그것은 단지 나쁜 생각을 둘러싼 것입니다. – Shorn

답변

2

gradleApi()입니다. 현재 Gradle 플러그인에 대한 공개 목록이 없습니다.

관련 문제