Как использовать зависимость как файловый объект? - PullRequest
5 голосов
/ 29 ноября 2011

Существует ли элегантный способ использования определенной зависимости в качестве объекта файла (приведение зависимости к объекту файла).Часто необходимо передать файл в качестве аргумента в задачу / муравей и т. Д. Я помог мне с configurations.myDependency.files.iterator().next() Но это выглядит не очень интуитивно.

1 Ответ

7 голосов
/ 30 ноября 2011

Я думаю, что вы имеете в виду конфигурацию, а не зависимость. Предполагая, что у вас есть что-то вроде:

configurations{
  myConf
}

dependencies{
  myConf 'mydep:mydep:1.0'
}

Тогда, если вы уверены, что во всех ваших зависимостях будет только один файл для myConf, тогда вы можете сделать configurations.myConf.singleFile (тип возврата File).

Однако, поскольку конфигурация может содержать несколько файлов, для того, чтобы сделать ваш код более надежным, вы должны перебрать все файлы в configurations.myConf.files (тип возврата Set<File>).

Если вам нужно извлечь конкретный файл зависимостей из конфигурации, вы можете сделать что-то вроде:

configurations.myConf.files { dep -> dep.name == 'mydep' }

, где dep имеет тип Dependency, а тип возвращаемого значения Set<File>.

Подробнее см. Конфигурация javadoc .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...