在Gradle中具有不同Classpath的SourceSet

时间:2019-11-20 15:34:06

标签: gradle source-sets

gradle中有一个sourceSet,需要使用不同的compileClasspath和runtimeClasspath。

(我们之所以这样做,是因为我们有一个小型应用程序,该应用程序是我们从大型项目派生而来的。 将该应用程序拆分到其所在的较大项目之外没有任何意义。 较小的应用程序具有更少的依赖关系,因此我们希望构建一个仅引用其所需依赖关系以及所需源文件的sourceSet。这样,我们可以轻松地针对此新类路径创建测试)

我有很多以Gradle惯常方式声明的依赖项。有什么办法可以减少我正在创建的新sourceSet中不需要的那些? (或者,如果我要解决这个错误,我也想知道。)下面的4行伪代码基本上就是我要完成的工作。

build.gradle.kts:

sourceSets {
    create("liteweight") {
        java{
            java {
                setSrcDirs(listOf("src/main/java"))
                exclude("com/company/app/heavypackage1/**")
                exclude("com/company/app/heavypackage2/**")
            }
        }

    //the next 4 lines are pseudo-code. 
        compileClasspath -= "com.company:unneeded-dependency1"
        compileClasspath -= "com.company:unneeded-dependency2"
        runtimeClasspath -= "com.company:unneeded-dependency1"
        runtimeClasspath -= "com.company:unneeded-dependency2"
    }
}

0 个答案:

没有答案