Gradle 多项目构建:如何指定不同的构建文件?
Gradle multi-project build: how to specify different build files?
Gradle多项目构建:如何设置不同的构建文件?例如
/foo/bar/build-hello.gradle
/foo/bar/build-world.gradle
settings.gradle
include 'hello'
project(':hello').projectDir = new File('/foo/bar')
project(':hello').buildFile = new File('/foo/bar/build-hello.gradle')
include 'world'
project(':world').projectDir = new File('/foo/bar')
project(':world').buildFile = new File('/foo/bar/build-world.gradle')
错误:无法设置 readOnly 属性 buildFile。
如何指定不同于默认 build.gradle 的构建文件?
编辑:
https://docs.gradle.org/current/dsl/org.gradle.api.Project.html#org.gradle.api.Project:projectDir
File projectDir (read-only)
The directory containing the project build file.
projectDir 也是只读的。但是在设置它的值时没有错误。为什么?
settings.gradle
文件在 Settings
object, whose project()
method returns ProjectDescriptor
个实例上运行,因为 Project
个实例未在 Gradle 构建的此时创建。
ProjectDescriptor
实例的 read-only buildFile
属性 是根据两个可写属性 projectDir
和 buildFileName
创建的:
include 'hello'
project(':hello').projectDir = new File('/foo/bar')
project(':hello').buildFileName = 'build-hello.gradle'
include 'world'
project(':world').projectDir = new File('/foo/bar')
project(':world').buildFileName = 'build-world.gradle'
Gradle多项目构建:如何设置不同的构建文件?例如
/foo/bar/build-hello.gradle
/foo/bar/build-world.gradle
settings.gradle
include 'hello'
project(':hello').projectDir = new File('/foo/bar')
project(':hello').buildFile = new File('/foo/bar/build-hello.gradle')
include 'world'
project(':world').projectDir = new File('/foo/bar')
project(':world').buildFile = new File('/foo/bar/build-world.gradle')
错误:无法设置 readOnly 属性 buildFile。
如何指定不同于默认 build.gradle 的构建文件?
编辑:
https://docs.gradle.org/current/dsl/org.gradle.api.Project.html#org.gradle.api.Project:projectDir
File projectDir (read-only)
The directory containing the project build file.
projectDir 也是只读的。但是在设置它的值时没有错误。为什么?
settings.gradle
文件在 Settings
object, whose project()
method returns ProjectDescriptor
个实例上运行,因为 Project
个实例未在 Gradle 构建的此时创建。
ProjectDescriptor
实例的 read-only buildFile
属性 是根据两个可写属性 projectDir
和 buildFileName
创建的:
include 'hello'
project(':hello').projectDir = new File('/foo/bar')
project(':hello').buildFileName = 'build-hello.gradle'
include 'world'
project(':world').projectDir = new File('/foo/bar')
project(':world').buildFileName = 'build-world.gradle'