Заранее извиняюсь за длину этого поста ...
Можно ли загрузить внешние библиотеки задач Ant, чтобы их можно было вызывать из ланцета?
Я пытаюсь написать сценарий сборки в clojure для создания некоторого кода java / ucm (продукт Oracle COTS), часть которого должна получить некоторые WSDL, сгенерировать привязки кода с осью apache и скомпилировать все это.
Я использую leiningen для управления java-зависимостями и написал небольшой плагин leiningen для сборки - используя ланцет внутри него, чтобы собрать цели сборки. Пока все хорошо.
Изначально я попытался вызвать класс оси WSDL2Java, который выполняет все необходимые действия для захвата WSDL и привязки к ним. Код показан ниже:
(import org.apache.axis.wsdl.WSDL2Java)
(deftarget bind-to-wsdls
(print "Binding to WSDLs...")
(WSDL2Java/main (into-array String
;; **WARNING** - the lack of space after the '-o'
;; is intentional. Won't work if you add a space
;; as it creates an output dir called ' src' -
;; note the space.
(list (str "-o" src-dir) wsdl-file)))
(println "Done."))
Единственная проблема заключается в том, что это вызывает system.exit, который завершает мою задачу leiingen, поэтому ни одна из следующих задач, таких как компиляция и копирование файлов и т. Д., Не вызывается.
Итак, затем я попытался вызвать задачу ant (содержится как часть проекта оси apache). Я добавил его в качестве зависимости в моем проекте. Clj - который работает. Я могу импортировать класс, представляющий задачу муравья.
(import org.apache.axis.tools.ant.wsdl.Wsdl2javaAntTask)
Но теперь у меня нет идей о том, как сделать основную задачу муравья доступной в моей сборке. Я видел сообщение, в котором говорится, что внешние задачи / библиотеки ant нельзя импортировать в lancet (ссылка здесь Кто-нибудь использует веб-тест без ant? ), но не был уверен, что полностью это понял - все еще плохо знаком с clojure.
В любом случае - любые идеи с благодарностью приветствуются. :)