Gradle:使用依赖关系jar中的资源作为源集
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Gradle:使用依赖关系jar中的资源作为源集相关的知识,希望对你有一定的参考价值。
假设我有一个build.gradle
因此:
dependencies {
compile 'com.group:some-app:1.0.1'
compile 'com.group:some-app:1.0.1:sources'
}
sourceSets {
main {
other {
srcDir 'src/main/other'
}
}
}
因此some-app-1.0.1-sources.jar
中包含源文件 - 不是Java文件,而是可以生成Java的文件。
如何在sourceSets
中包含这些文件?
答案
您可以将源jar中的文件动态提取到目录中,并将该目录添加到源集。
configurations {
sourceJar
}
dependencies {
compile 'com.group:some-app:1.0.1'
sourceJar 'com.group:some-app:1.0.1:sources'
}
def generatedDir = "$build/other"
task extractFiles(type: Copy) {
from (zipTree(configurations.sourceJar.singleFile))
into generatedDir
}
sourceSets {
main {
resources {
srcDir generatedDir
}
}
}
以上是关于Gradle:使用依赖关系jar中的资源作为源集的主要内容,如果未能解决你的问题,请参考以下文章
Gradle with Eclipse - 多个源集时不完整的.classpath
使用 gradle 解决代理存储库上的 ivy 依赖关系会导致资源丢失
如何从具有 gradle 依赖关系的代码创建一个 Android 库?