2014-01-17 3 views
4

У меня есть обычная задача Ant в моей кодовой базе, которую мне нужно использовать из Gradle. Существует множество примеров того, как использовать задачу, которая упакована в файл jar, но это другое.Как установить путь класса class класса Gradle?

Мой taskdef должен выглядеть примерно так:

ant.taskdef(
    name: 'generator', 
    classname: 'MyGenerator', 
    classpath: ??? 
) 

classpath должна включать в себя все, что в bin/ (где мой код компилируется в) и все банки, перечисленные в разделе dependencies сценария сборки. Как заполнить пробел?

Я пробовал несколько разных вещей, в результате чего были либо неясные сообщения, как The <taskdef> type doesn't support nested text data, либо типичные NoClassDefFoundError.

ответ

2

Я думаю, что вы хотите сделать, это описано в user guide разделе «Использование пользовательских Ant задач в вашей сборке»

в основном вы хотите объявить configuration, добавить зависимости к нему в разделе dependencies, а затем использовать asPath в вашем taskdef classpath

+0

Правильно, но что бы были «зависимостями» для случая, который я описал? Разница в моем случае заключается в том, что мне нужно, чтобы «classpath» был каталогом, а также «компилировать» зависимостей. – david

+5

Если это действительно то, что вы хотите, используйте 'classpath: sourceSets.main.runtimeClasspath.asPath'. Обязательно выполняйте это при выполнении задачи, а не во время настройки. –

+0

@PeterNiederwieser Сделайте это ответом, и я отмечу как принятый – david

Смежные вопросы