In the examples for Implementing Binary Plugins , I see:
greetingFile = layout.buildDirectory.file('hello.txt')
But I cannot declare anything deeper like:
greetingFile = layout.buildDirectory.dir('dir1').dir('sub2').file('hello.txt')
Why does Project.getLayout().getBuildDirectory()
return a DirectoryProperty (Gradle API 8.10) and Project.getLayout().getProjectDirectory()
return a Directory (Gradle API 8.10)?
Is there a way to specify sub-directories in the buildDirectory?
Vampire
(Björn Kautler)
2
Why does Project.getLayout().getBuildDirectory()
return a DirectoryProperty (Gradle API 8.10) and Project.getLayout().getProjectDirectory()
return a Directory (Gradle API 8.10)?
Because project directory is fixed at the point you can access that (only configurable in settings script) but the build directory can be changed.
Is there a way to specify sub-directories in the buildDirectory?
Multiple, for example:
greetingFile = layout.buildDirectory.file('dir1/sub2/hello.txt')
greetingFile = layout.buildDirectory.dir('dir1').map { it.dir('sub2').file('hello.txt') }
greetingFile = layout.buildDirectory.map { it.dir('dir1').dir('sub2').file('hello.txt') }
1 Like