Чем конфигурация среды выполнения Gradle для задачи отличается от конфигурации для фильтра? - PullRequest
0 голосов
/ 28 марта 2020

Я реализовал оболочку Groovy вокруг некоторого кода, чтобы создать экземпляр этого кода как задачу Gradle (6.2.2):

task xprocTest(type: XMLCalabashTask) {
  input("source", "../src/test/resources/source.xml")
  output("result", "/tmp/x/result.xml")
  pipeline "pipe.xpl"
}

Базовый код ищет путь к классам для классов с определенной аннотацией , Это отлично работает и находит около 97 аннотированных классов.

Я пытаюсь реализовать оболочку (в Java на этот раз, если это уместно) вокруг того же кода , чтобы создать экземпляр этого код в качестве фильтра копирования (расширение BaseParamFilterReader):

task filterTest(type: Copy) {
  into "/tmp/x/a"
  from "../src/test"
  include "**/*.xml"
  filter(XMLCalabashFilter, pipeline:"pipe.xpl")
}

В этом контексте при выполнении кода он ничего не находит в пути к классам.

Я предполагаю, что в этом есть что-то делать с загрузчиком классов или другой конфигурацией в Gradle. Файл jar, содержащий классы, явно находится на пути к классам, потому что он запускает код, который пытается найти аннотации. Он просто не находит ничего.

Это преодолимая проблема?

...