2016-08-22 2 views
0

У меня есть следующие gradle.propertiesКак получить доступ к списку значений от gradle.properties к build.gradle

version=2.1 
paths=['/home/desk/hie', '/home/mydesk1/hai1', '/home/mydesk2/hai2'] 
sources=['/src/path/impl', '/src/path/src'] 

Мне нужно получить доступ к этим пути и источники формирования gradle.properties к build.gradle

sourceSets { 
    main { 
     java { 
      srcDir=${paths} 
     } 
    } 
} 

но ${paths} не работает.

Можете ли вы кому-то помочь, чтобы выйти из этой проблемы и как использовать те список в build.gradle файле

ответ

1

Рассмотрим следующее, что преобразует пути String в Iterable (то есть a List):

apply plugin: 'java' 

def pathsList = Eval.me(project.ext.paths) 

sourceSets { 
    main { 
     java { 
      srcDirs = pathsList 
     } 
    } 
} 
+0

Вышеуказанное работало нормально, если у меня есть только один список в ** settings.gradle ** file Если у меня есть несколько списков, как я могу использовать его в ** build.gradle ** //build.gradle применить плагин: 'ява' защиту pathsList = Eval.me (project.ext.paths) sourceSets { главный { ява { srcDirs = pathsList }} } restModel { –

+0

Если у меня есть несколько списков как можно Я использую его в ** build.gradle ** //build.gradle применить плагин: 'java' Защиту pathsList = Eval.me (project.ext.paths) Защиту excludesList = Eval.me (project.ext.excludes) sourceSets { Главный {{ Java srcDirs = pathsList } }} restModel { фильтр { исключает = excludesList }} ** settings.gradle ** gradle.ext { пути = [ '/ дом/стол/ГИЭ', '/ дом/mydesk1/hai1' , '/ home/mydesk2/hai2 '] \t исключает = [' com.xxx.xxx.SiteAdmin ',' com.xxx.xxx.xxx.rest.LoginFacadeService '] } –

0

Вы можете разделить значение с помощью gradle объекта:

// settings.gradle 
gradle.ext { 
    paths = ['/home/desk/hie', '/home/mydesk1/hai1', '/home/mydesk2/hai2'] 
} 

// build.gradle 
sourceSets { 
    main { 
     java { 
      srcDir = paths 
     } 
    } 
} 
+0

Получение ниже проблемы при настройке, как предложено * Что пошло не так: Возникла проблема с оценкой корневого проекта «Личный». > Не удалось найти свойство 'paths' на [email protected]704. * Попробуйте: Запустите с опцией --stacktrace, чтобы получить трассировку стека. Запустите с опцией --info или --debug, чтобы получить больше выходных данных журнала. –