Ответ 1
Почему бы просто не добавить println
и не узнать себя?
task myCopyTask(type: Copy) {
...
}
println "Type is $myCopyTask.class.name"
Я могу объявить тип задачи градиента, и, похоже, это наследует некоторые методы. Например:
task myCopyTask(type: Copy){
from "foo"
into "bar"
}
Итак, я думаю, что myCopyTask
- это экземпляр класса org.gradle.api.tasks.Copy
, да? И если я объявляю задачу без какого-либо типа, это экземпляр org.gradle.api.DefaultTask
? Извините за основной вопрос. Я читал руководство по градации, как эта страница, но мне непонятно, какой type:
точно.
Почему бы просто не добавить println
и не узнать себя?
task myCopyTask(type: Copy) {
...
}
println "Type is $myCopyTask.class.name"
Он уже ответил, но это также может помочь понять.
Это подклассы типа Task. Когда вы определяете тип своей задачи, вы получаете доступ к/настройке/настройке определенных свойств задачи. В вашем случае это подкласс под названием "Копировать" (как вы уже выяснили).
Примечание. Задачи отправляются с различными плагинами или написаны вами.
Чтобы получить тип существующей задачи, вы можете использовать встроенную help
Gradle с help
--task
командной строки --task
. Параметр --task
принимает путь задачи для любой задачи в проекте. Вот пример с help
:
# ./gradlew help --task help
> Task :help
Detailed task information for help
Path
:help
Type
Help (org.gradle.configuration.Help)
Options
--task The task to show help for.
Description
Displays a help message.
Group
help