Вызов внешних библиотечных задач Ant из Lancet - PullRequest
1 голос
/ 10 января 2012

Заранее извиняюсь за длину этого поста ...

Можно ли загрузить внешние библиотеки задач 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.

В любом случае - любые идеи с благодарностью приветствуются. :)

...