From 449e7d3d72fa571348176a3e25ba56a1010458b5 Mon Sep 17 00:00:00 2001 From: Andrey Uskov Date: Tue, 19 Jul 2022 19:32:01 +0300 Subject: [PATCH] Report information about compiler plugins from gradle #KT-53244 Fixed --- .../compilerRunner/GradleKotlinCompilerRunner.kt | 16 ++++++++++++++++ .../kotlin/statistics/metrics/BooleanMetrics.kt | 4 +++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/compilerRunner/GradleKotlinCompilerRunner.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/compilerRunner/GradleKotlinCompilerRunner.kt index 1373a03b66a..4aaa6770ee7 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/compilerRunner/GradleKotlinCompilerRunner.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/compilerRunner/GradleKotlinCompilerRunner.kt @@ -156,6 +156,22 @@ internal open class GradleCompilerRunner( report(StringMetrics.JVM_DEFAULTS, args.jvmDefault) report(StringMetrics.USE_OLD_BACKEND, args.useOldBackend.toString()) report(StringMetrics.USE_FIR, args.useK2.toString()) + + val pluginPatterns = listOf(Pair(BooleanMetrics.ENABLED_COMPILER_PLUGIN_ALL_OPEN, "kotlin-allopen-.*jar"), + Pair(BooleanMetrics.ENABLED_COMPILER_PLUGIN_NO_ARG, "kotlin-noarg-.*jar"), + Pair(BooleanMetrics.ENABLED_COMPILER_PLUGIN_SAM_WITH_RECEIVER, "kotlin-sam-with-receiver-.*jar"), + Pair(BooleanMetrics.ENABLED_COMPILER_PLUGIN_LOMBOK, "kotlin-lombok-.*jar"), + Pair(BooleanMetrics.ENABLED_COMPILER_PLUGIN_PARSELIZE, "kotlin-parcelize-compiler-.*jar"), + Pair(BooleanMetrics.ENABLED_COMPILER_PLUGIN_ATOMICFU, "atomicfu-.*jar") + ) + val pluginJars = args.pluginClasspaths?.map { it.replace("\\", "/").split("/").last() } + if (pluginJars != null) { + for (pluginPattern in pluginPatterns) { + if (pluginJars.any { it.matches(pluginPattern.second.toRegex())}) { + report(pluginPattern.first, true) + } + } + } } } is K2JSCompilerArguments -> { diff --git a/libraries/tools/kotlin-gradle-statistics/src/common/kotlin/org/jetbrains/kotlin/statistics/metrics/BooleanMetrics.kt b/libraries/tools/kotlin-gradle-statistics/src/common/kotlin/org/jetbrains/kotlin/statistics/metrics/BooleanMetrics.kt index a069c3b9f21..78ad28c8837 100644 --- a/libraries/tools/kotlin-gradle-statistics/src/common/kotlin/org/jetbrains/kotlin/statistics/metrics/BooleanMetrics.kt +++ b/libraries/tools/kotlin-gradle-statistics/src/common/kotlin/org/jetbrains/kotlin/statistics/metrics/BooleanMetrics.kt @@ -23,8 +23,10 @@ enum class BooleanMetrics(val type: BooleanOverridePolicy, val anonymization: Bo ENABLED_COMPILER_PLUGIN_ALL_OPEN(OR, SAFE), ENABLED_COMPILER_PLUGIN_NO_ARG(OR, SAFE), - ENABLED_COMPILER_PLUGIN_JPA_SUPPORT(OR, SAFE), ENABLED_COMPILER_PLUGIN_SAM_WITH_RECEIVER(OR, SAFE), + ENABLED_COMPILER_PLUGIN_LOMBOK(OR, SAFE), + ENABLED_COMPILER_PLUGIN_PARSELIZE(OR, SAFE), + ENABLED_COMPILER_PLUGIN_ATOMICFU(OR, SAFE), ENABLED_HMPP(OR, SAFE),