如何将Gradle配置转换为Ant路径?
build.gradle
摘录
configurations {
install
}
dependencies {
install "com.oracle:ojdbc6:12.1.0.2"
install project(':myproject')
install ...
}
需要install
配置(包括其传递依赖关系)作为ant任务的参数:
ant.updateDatabase(classpathref: 'installCpRef')
使用ant.path(id: 'installCpRef', location: configurations.install.asPath)
不起作用,因为ant.path
将该位置视为单个路径规范。只有在路径上只有一个元素时,这才有效。
一种解决方案是手动指定所有依赖项,例如
ant.path(id: 'install.cp') {
fileset(dir: '<aPath>', includes: '<aJar>')
fileset(dir: '<anotherPath>') {
include (name: '**/*.jar')
}
}
这意味着重新声明所有依赖项,包括传递依赖项,这是不可接受的。
如何自动将configuration.install
转换为蚂蚁路径?
由于
答案 0 :(得分:0)
请参阅ant docs中的path-like structures
location属性指定单个文件或目录相对 到项目的基本目录(或绝对文件名),而 path属性接受以冒号或分号分隔的列表 位置。
这应该有效:
ant.classpath(id: 'install.cp', path: configurations.install.asPath)
ant.updateDatabase(classpathref: 'install.cp')