[Gradle] Optimize configuration time
#KT-48884 Fixed
This commit is contained in:
committed by
Space
parent
41e38d5a1a
commit
0eca8b9727
+1
-6
@@ -163,12 +163,7 @@ internal abstract class KotlinSourceSetProcessor<T : AbstractKotlinCompile<*>>(
|
||||
// that has a name composed as '<IDE module name>Classes`, where the IDE module name is the default source set name:
|
||||
val expectedClassesTaskName = "${kotlinCompilation.defaultSourceSetName}Classes"
|
||||
project.tasks.run {
|
||||
var shouldCreateTask = false
|
||||
try {
|
||||
named(expectedClassesTaskName)
|
||||
} catch (e: UnknownDomainObjectException) {
|
||||
shouldCreateTask = true
|
||||
}
|
||||
val shouldCreateTask = expectedClassesTaskName !in names
|
||||
if (shouldCreateTask) {
|
||||
project.registerTask(expectedClassesTaskName, IDEClassesTask::class.java) {
|
||||
it.dependsOn(getByName(kotlinCompilation.compileAllTaskName))
|
||||
|
||||
+1
-1
@@ -105,7 +105,7 @@ private fun syncKotlinAndAndroidResources(
|
||||
|
||||
val project = target.project
|
||||
|
||||
androidSourceSet.resources.srcDirs(*kotlinSourceSet.resources.srcDirs.toList().toTypedArray())
|
||||
androidSourceSet.resources.srcDirs(kotlinSourceSet.resources.srcDirs)
|
||||
if (androidSourceSet.resources.srcDirs.isNotEmpty()) {
|
||||
androidSourceSet.resources.srcDir(defaultSourceFolder(project, kotlinSourceSet.name, "resources"))
|
||||
kotlinSourceSet.resources.srcDirs(androidSourceSet.resources.srcDirs)
|
||||
|
||||
+1
-1
@@ -100,7 +100,7 @@ internal class DefaultKotlinSourceSetFactory(
|
||||
attributes.attribute(Usage.USAGE_ATTRIBUTE, project.usageByName(KotlinUsages.KOTLIN_METADATA))
|
||||
}
|
||||
|
||||
project.whenEvaluated {
|
||||
project.afterEvaluate {
|
||||
setJsCompilerIfNecessary(sourceSet, this@apply)
|
||||
}
|
||||
}
|
||||
|
||||
+3
-2
@@ -127,13 +127,14 @@ class KotlinBuildStatHandler {
|
||||
}
|
||||
}
|
||||
}
|
||||
val taskNames = project.tasks.names
|
||||
|
||||
sessionLogger.report(NumericalMetrics.NUMBER_OF_SUBPROJECTS, 1)
|
||||
sessionLogger.report(BooleanMetrics.KOTLIN_KTS_USED, project.buildscript.sourceFile?.name?.endsWith(".kts") ?: false)
|
||||
sessionLogger.report(NumericalMetrics.GRADLE_NUMBER_OF_TASKS, project.tasks.names.size.toLong())
|
||||
sessionLogger.report(NumericalMetrics.GRADLE_NUMBER_OF_TASKS, taskNames.size.toLong())
|
||||
sessionLogger.report(
|
||||
NumericalMetrics.GRADLE_NUMBER_OF_UNCONFIGURED_TASKS,
|
||||
project.tasks.names.count { name ->
|
||||
taskNames.count { name ->
|
||||
try {
|
||||
project.tasks.named(name).javaClass.name.contains("TaskCreatingProvider")
|
||||
} catch (_: Exception) {
|
||||
|
||||
Reference in New Issue
Block a user