The current setup to share the logic/dependencies between projects is to use a subproject {} block in the root project's build.gradle. This is not the best practice, as this creates an overlap of configurations that are specific to only some subprojects (for instance, the Android dependencies are only applied to Android subproject). Here are a couple of symptoms of the issue:
The official documentation recommends defining a convention plugin to share common traits between the build files.
From my reading of the root build.gradle. I think there are at least 2 conventions that we could define: built for Android or built for OpenJDK (see the current boolean androidProject).
The current setup to share the logic/dependencies between projects is to use a
subproject {}block in the root project'sbuild.gradle. This is not the best practice, as this creates an overlap of configurations that are specific to only some subprojects (for instance, the Android dependencies are only applied to Android subproject). Here are a couple of symptoms of the issue:api-doclet. But the default configuration forces it to use 1.8.The official documentation recommends defining a convention plugin to share common traits between the build files.
From my reading of the root
build.gradle. I think there are at least 2 conventions that we could define: built for Android or built for OpenJDK (see the current booleanandroidProject).