// ./gradlew -I gradle/thymeleaf-verification.init.gradle :thymeleafCompatibilityDependencies // Read-only dependency resolution; does not override versions or the normal build. gradle.projectsEvaluated { def portal = gradle.rootProject portal.tasks.register('thymeleafCompatibilityDependencies') { doLast { def output = new File(portal.buildDir, 'reports/thymeleaf-compatibility') output.mkdirs() ['runtimeClasspath', 'testRuntimeClasspath'].each { name -> def artifacts = portal.configurations.getByName(name).resolvedConfiguration.resolvedArtifacts def rows = artifacts.findAll { it.id.componentIdentifier instanceof org.gradle.api.artifacts.component.ModuleComponentIdentifier }.collect { "${it.moduleVersion.id.group}:${it.name}\t${it.moduleVersion.id.version}\t${it.file.name}" }.sort() new File(output, "${name}.tsv").text = rows.join('\n') + '\n' } println "Dependency evidence: ${output}" } } }