在Gradle buildSrc和项目之间共享代码

时间:2018-11-09 02:43:26

标签: gradle gradle-kotlin-dsl

假设我有一些类,这些类包含我想在Gradle构建期间以及Java应用程序本身中使用的逻辑。如何配置Gradle构建以在构建和正在构建的项目之间共享相同的类,例如使用Kotlin DSL?

2 个答案:

答案 0 :(得分:2)

您只需将buildSrc中的共享类添加到应用程序类路径中,如下所示:

sourceSets["main"].compileClasspath += files("${project.rootDir}/buildSrc/build/")

正如@ lance-java所提到的,您还应该添加一个编译依赖项:

dependencies {
  compile(fileTree("${project.rootDir}/buildSrc/build/"))
}

最后,如果您需要使用来自org.gradle.api的导入类,请将此行添加到dependencies

compile(gradleApi())

答案 1 :(得分:1)

受@breandan的回答启发,我认为最好是:

apply plugin: 'java' 
dependencies {
    compile files("${project.rootDir}/buildSrc/build/classes/" )
}