2015-05-20 2 views
0

я следующая структура мульти-проекта (только важные части показаны):Gradle свойство Решимость доб в depedencies для нескольких проектов

- project 
    - build.gradle (file) 
    - settings.gradle (file) 
    + module1 (dir) 
    + module2 (dir) 

build.gradle:

ext { 
    groovyMajorVersion = 2.4 
    groovyMinorVersion = 3 
} 
subprojects { 
    dependencies { 
     testCompile 'org.codehaus.groovy:groovy-all:${groovyMajorVersion}.${groovyMinorVersion}' 
     testCompile 'org.spockframework:spock-core:1.0-groovy-${groovyMajorVersion}' 
    } 
} 

settings.gradle:

include 'module1', 'module2' 

Когда я бегу gradle dependencies от Module1, я получаю следующее сообщение об ошибке:

testCompile - Compile classpath for source set 'test'. 
+--- org.codehaus.groovy:groovy-all:${groovyMajorVersion}.${groovyMinorVersion} FAILED 
\--- org.spockframework:spock-core:1.0-groovy-${groovyMajorVersion} FAILED 

ответ

1

Это происходит потому, что внутри зависимостей блока вы оберточной зависимости с апострофа ('), а не кавычками ("), таким образом, параметры внутри зависимостей не разрешаются. Для исправления просто замените апострофы кавычками, то есть:

testCompile "org.codehaus.groovy:groovy-all:${groovyMajorVersion}.${groovyMinorVersion}" 
    testCompile "org.spockframework:spock-core:1.0-groovy-${groovyMajorVersion}" 
+0

Amnon Shochot, вы правы. Это произошло из-за моих вчерашних изменений, когда я заменил все «на» и полностью забыл о интерполяции строк Groovy. Спасибо. – akazlou

Смежные вопросы