The title says it already: what is the difference between include with leading colon and without leading colon?
Hi,
As long as we are talking about the leading colon, I don’t think there is any difference. There could some differences in some corner cases, but I have never encountered such a case yet.
Both the userguide and the javadoc do not use the leading colon.
I think there is a difference: without a leading colon every subproject is built in the root project’s build directory (possibly overwriting resources/files with the same name) whereas with the leading colon every subproject is built in its own build directory under the subproject’s directory. This at least what I have established empirically with gradle 5.3 (openjdk11) on win7ent.
Hi,
I gave it a try with the same setup as yours, or as close as possible to yours.
Yet I witnessed no differences with or without leading colon. I suppose that there is something else in your builds that lead to files being overwritten.
settings.gradle:
include 'a', ':b'
build.gradle (rootProject’s one):
allProjects {
apply plugin: 'java'
}
After creating src/main/resources/project.properties
in all projects:
C:\temp\test>gradle --version
------------------------------------------------------------
Gradle 5.3
------------------------------------------------------------
Build time: 2019-03-20 11:03:29 UTC
Revision: f5c64796748a98efdbf6f99f44b6afe08492c2a0
Kotlin: 1.3.21
Groovy: 2.5.4
Ant: Apache Ant(TM) version 1.9.13 compiled on July 10 2018
JVM: 11 (Oracle Corporation 11+28)
OS: Windows 7 6.1 amd64
C:\temp\test>gradle assemble
Starting a Gradle Daemon (subsequent builds will be faster)
BUILD SUCCESSFUL in 7s
6 actionable tasks: 6 executed
C:\temp\test>type build\resources\main\project.properties
rootProject
C:\temp\test>type a\build\resources\main\project.properties
subProject a
C:\temp\test>type b\build\resources\main\project.properties
subProject b