diff --git a/build.gradle.kts b/build.gradle.kts index 4e0dd039565..1d3c225b5f4 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -332,6 +332,18 @@ allprojects { if (javaHome != defaultJavaHome || jvmTarget != defaultJvmTarget) { configureJvmProject(javaHome!!, jvmTarget!!) } + + fun File.toProjectRootRelativePathOrSelf() = (relativeToOrNull(rootDir)?.takeUnless { it.startsWith("..") } ?: this).path + + fun FileCollection.printClassPath(role: String) = + println("${project.path} $role classpath:\n ${joinToString("\n ") { it.toProjectRootRelativePathOrSelf() } }") + + try { the() } catch (_: UnknownDomainObjectException) { null }?.let { javaConvention -> + task("printCompileClasspath") { doFirst { javaConvention.sourceSets["main"].compileClasspath.printClassPath("compile") } } + task("printRuntimeClasspath") { doFirst { javaConvention.sourceSets["main"].runtimeClasspath.printClassPath("runtime") } } + task("printTestCompileClasspath") { doFirst { javaConvention.sourceSets["test"].compileClasspath.printClassPath("test compile") } } + task("printTestRuntimeClasspath") { doFirst { javaConvention.sourceSets["test"].runtimeClasspath.printClassPath("test runtime") } } + } } }