Я реализовал оболочку 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, содержащий классы, явно находится на пути к классам, потому что он запускает код, который пытается найти аннотации. Он просто не находит ничего.
Это преодолимая проблема?