buildSrc / build.gradle编译的类在主PROJECT类中使用时不会在运行时解析。
My Groovy project structure looks like this:
-PROJECT
-buildSrc/
-build.gradle
-/src/main/groovy
- com.company.global.test.report
-src/test/groovy
-build.gradle
我可以添加到顶级PROJECT / build.gradle中以允许它编译的类使用buildSrc / build.gradle编译的类吗?
答案 0 :(得分:3)
buildSrc
是它自己的 build (非项目),它在主构建之前执行。它的唯一目的是使一些类(插件,任务,常规类)可用于主构建的构建脚本。因此,你可以称之为“元构建”。
从技术上讲,可以将编译后的buildSrc
类添加到主构建中项目的编译或运行时类路径中,但我不建议这样做。很可能有更好的方法来实现你的目标(但我不知道那些是什么)。
答案 1 :(得分:1)
以下是使用Gradle 2.12
:
在your_project/buildSrc/build.gradle
task sourcesJar(type: Jar, dependsOn: classes) {
classifier = 'sources'
from sourceSets.main.allSource
}
// Thanks to this, IDE like IntelliJ will provide you with "Navigate to sources"
artifacts {
archives sourcesJar
}
在your_project/build.gradle
ext.buildSrcJars = fileTree("$rootDir/buildSrc/build/libs") { include("*.jar") exclude("*sources.jar")}
// Works in every subproject
dependencies {
compile buildSrcJars
}