Назначение блока buildscript в Gradle
Я новичок в Gradle, и я читаю документацию, но я не понимаю некоторые ее части. Одна из этих частей связана с buildscript блок. Какова его цель?
если ваш скрипт сборки должен использовать внешние библиотеки, то вы можете добавить их в путь к классам скрипта в самом скрипте сборки. Вы делаете это с помощью метода buildscript (), передавая закрытие, которое объявляет путь к классу скрипта сборки.
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath group: 'commons-codec', name: 'commons-codec', version: '1.2'
}
}
хорошо, но что такое разница с:
repositories {
mavenCentral()
}
dependencies {
compile group: 'commons-codec', name: 'commons-codec', version: '1.2'
}
например, зачем нужно использовать buildscript?
5 ответов:
The
buildScriptблок определяет, какие плагины, классы задач и другие классы доступны для использования в остальная часть скрипта сборки. БезbuildScriptблок, вы можете использовать все, что поставляется с Gradle из коробки. Если вы дополнительно хотите использовать сторонние плагины, классы задач или другие классы (в скрипте сборки!), вы должны указать соответствующие зависимости вbuildScriptзаблокировать.
- глобальный уровень
dependenciesиrepositoriesразделы перечисляют зависимости, необходимые для построения вашего источника и запуска вашего источника и т. д.- The
buildscriptна сам. Таким образом, это будет содержать зависимости для say creating RPM,Dockerfile, и любые другие зависимости для выполнения задач во всех зависимыхbuild.gradle
Я ценю ответ Петра... но мне не сразу стало ясно, что остальная часть скрипта сборки означает, как подчеркивается в ответе и в документации.
обычно ввод зависимых функций предназначен для использования в программе Java или любой другой программе, которую вы можете писать. Приведение в Spring скажем, не должно использоваться в скрипте сборки, но в программе Java. Положить его в
buildscriptзакрытие гарантирует, что зависимости будут доступны для использования внутри самой сборки gradle. Не программа вывода.
раздел конфигурации "buildscript" предназначен для самого gradle (т. е. изменения того, как gradle может выполнять сборку). Таким образом, этот раздел обычно включает в себя плагин для Android Gradle.
Это немного высокий уровень, но надеюсь поможет.
для меня четкое различие начало формироваться, как только я начинаю понимать, что такое блока, метод и задачи. Как выглядит синтаксис, как вы можете настроить их и т. д. Поэтому я предлагаю вам пройти через все это. После этого вы можете начать разбираться в этом синтаксисе.
тогда очень важно знать, какой тип объекта построить.gradle (экземпляр класса проекта), чтобы знать, что может у вас есть внутри сборки.файл gradle. Это ответило бы, откуда берутся этот "buildScript" и другие. И чтобы расширить свои возможности / функции (скажем, android), посмотрите, как Плагины могу помочь.
и последнее, но не менее важное, есть очень хороший учебник здесь речь идет о закрытиях, делегатах, которые являются концепциями, необходимыми для понимания сценария.
Comments