Включите определение задачи во внешний файл Gradle.JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Включите определение задачи во внешний файл Gradle.

Сообщение Anonymous »

Я рассмотрел здесь аналогичный вопрос
Извлечение общих методов из сценария сборки Gradle
И это работает для методов. Но я хочу внедрить класс, который будет выполнять определение задачи.
mytask.gradle

Код: Выделить всё

    class doSomethingTask extends DefaultTask {
@Input
String someData

@TaskAction
void taskAction() {
build.gradle

Код: Выделить всё

    apply from mytask.gradle
task doSomething(type: doSomethingTask) {
dependsOn(clean, build)
someData = "$mydata"
}
А doSomethingTask не найден в build.gradle, сборка не работает.
Как это исправить?
Есть ли метод для экспорта определения класса (например, ext { Tasks.mydef = ... ) ?
Или есть другой способ.
Реальная задача код больше, и я не хочу загрязнять свой gradle build.
НОВОЕ ИЗМЕНЕНИЕ
Предложено Саймоном, я создаю такой файл

Код: Выделить всё

buildSrc/build.gradle

Код: Выделить всё

plugins {
id 'groovy' // Groovy or Kotlin can also be used
}

tasks.register('myTask3', MyTask3.class)
И такой классный файл

Код: Выделить всё

buildSrc/src/main/groovy/MyTaks3.groovy

Код: Выделить всё

import org.gradle.api.DefaultTask
import org.gradle.api.tasks.TaskAction
import org.gradle.api.tasks.Input

class MyTask3 extends DefaultTask {
@Input String name

@TaskAction
void taskAction(){
//Something
Но это выдает ошибки, например

Код: Выделить всё

A problem occurred evaluating project ':buildSrc'.
> Could not get unknown property 'PostProcessOpenApiCodeTask3' for project ':buildSrc' of type org.gradle.api.Project.
Я пробовал несколько комбинаций, но ничего не помогает, поиск примеров тоже не увенчался успехом...
Я использую старую gradle, 5.5, поэтому документации мало.
Если кто-нибудь может помочь...
Спасибо

Подробнее здесь: https://stackoverflow.com/questions/792 ... radle-file
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Включите определение задачи во внешний файл Gradle.
    Anonymous » » в форуме JAVA
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Включите определение задачи во внешний файл Gradle.
    Anonymous » » в форуме JAVA
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • Включите определение задачи во внешний файл Gradle.
    Anonymous » » в форуме JAVA
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Включите определение задачи во внешний файл Gradle.
    Anonymous » » в форуме JAVA
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Установка SDKMAN gradle, где находится домашняя папка Gradle ~/.gradle с init.gradle?
    Anonymous » » в форуме JAVA
    0 Ответы
    60 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»