2015-04-17 4 views
0

Мой build.gradle файл имеет:Как импортировать класс из прикладного Gradle файла?

apply from: "${rootDir}/dependencies.gradle" 

и build.gradle могут:

import com.example.CustomPlugin 

но делать то же самое внутри dependencies.gradle излучает:

запуск не удалось: сценарий 'dependencies.gradle' : 7: невозможно разрешить класс com.example.PlatformJava8FixPlugin

Что необходимо для того, чтобы иметь возможность импортировать класс от dependencies.gradle?

+0

Где находится 'com.example.PlatformJava8FixPlugin'? –

+0

Из любого места, доступного для 'build.gradle'. Импорт работает из 'build.gradle'. –

+0

Что я имею в виду, определяется ли это в вашем коде в другом скрипте сборки или это внешний класс? Кроме того, в случае, если он определен в другом скрипте, этот скрипт находится в папке buildSrc или в какой-либо другой папке? –

ответ

0

com.example.PlatformJava8FixPlugin должен быть у класса пути вашей сборки. Так что, если вы топ файл сборка уровня имеет некоторую специальные buildScript-зависимость, как:

buildscript { 
    dependencies { 
     classpath("com.example:gradle-plugin:+") 
    } 
} 

Вашего dependencies.gradle нужно это слишком.

+0

Думаю, теперь у меня есть лучшее понимание. Когда 'build.gradle' выполняет' apply' в файле 'dependencies.gradle', он, по сути, если не в реализации, выполняет его в подоболочке и эта подоболочка не наследует путь к классам' build.gradle'. Это верно? –