8

假设我有一个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?

4

1 回答 1

4

您可以即时将源 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
        }
    }
}
于 2018-08-31T21:57:21.387 回答