[Gradle] Migrate errors collector to new persistent storage
^KT-58223 In Progress
This commit is contained in:
committed by
Space Team
parent
cf44bff164
commit
3d94679db4
+1
-1
@@ -168,7 +168,7 @@ abstract class AbstractKotlinCompile<T : CommonCompilerArguments> @Inject constr
|
|||||||
@get:Internal
|
@get:Internal
|
||||||
protected val gradleCompileTaskProvider: Provider<GradleCompileTaskProvider> = objectFactory
|
protected val gradleCompileTaskProvider: Provider<GradleCompileTaskProvider> = objectFactory
|
||||||
.property(
|
.property(
|
||||||
objectFactory.newInstance<GradleCompileTaskProvider>(project.gradle, this, project, incrementalModuleInfoProvider)
|
objectFactory.newInstance<GradleCompileTaskProvider>(this, project, incrementalModuleInfoProvider)
|
||||||
)
|
)
|
||||||
|
|
||||||
@get:Internal
|
@get:Internal
|
||||||
|
|||||||
+5
-5
@@ -9,13 +9,13 @@ import org.gradle.api.Project
|
|||||||
import org.gradle.api.Task
|
import org.gradle.api.Task
|
||||||
import org.gradle.api.file.DirectoryProperty
|
import org.gradle.api.file.DirectoryProperty
|
||||||
import org.gradle.api.file.ProjectLayout
|
import org.gradle.api.file.ProjectLayout
|
||||||
import org.gradle.api.invocation.Gradle
|
|
||||||
import org.gradle.api.logging.Logger
|
import org.gradle.api.logging.Logger
|
||||||
import org.gradle.api.model.ObjectFactory
|
import org.gradle.api.model.ObjectFactory
|
||||||
import org.gradle.api.provider.Provider
|
import org.gradle.api.provider.Provider
|
||||||
import org.gradle.api.tasks.Internal
|
import org.gradle.api.tasks.Internal
|
||||||
import org.jetbrains.kotlin.compilerRunner.GradleCompilerRunner.Companion.normalizeForFlagFile
|
import org.jetbrains.kotlin.compilerRunner.GradleCompilerRunner.Companion.normalizeForFlagFile
|
||||||
import org.jetbrains.kotlin.gradle.incremental.IncrementalModuleInfoProvider
|
import org.jetbrains.kotlin.gradle.incremental.IncrementalModuleInfoProvider
|
||||||
|
import org.jetbrains.kotlin.gradle.utils.kotlinErrorsDir
|
||||||
import org.jetbrains.kotlin.gradle.utils.property
|
import org.jetbrains.kotlin.gradle.utils.property
|
||||||
import org.jetbrains.kotlin.gradle.utils.kotlinSessionsDir
|
import org.jetbrains.kotlin.gradle.utils.kotlinSessionsDir
|
||||||
import java.io.File
|
import java.io.File
|
||||||
@@ -24,7 +24,6 @@ import javax.inject.Inject
|
|||||||
abstract class GradleCompileTaskProvider @Inject constructor(
|
abstract class GradleCompileTaskProvider @Inject constructor(
|
||||||
objectFactory: ObjectFactory,
|
objectFactory: ObjectFactory,
|
||||||
projectLayout: ProjectLayout,
|
projectLayout: ProjectLayout,
|
||||||
gradle: Gradle,
|
|
||||||
task: Task,
|
task: Task,
|
||||||
project: Project,
|
project: Project,
|
||||||
incrementalModuleInfoProvider: Provider<IncrementalModuleInfoProvider>
|
incrementalModuleInfoProvider: Provider<IncrementalModuleInfoProvider>
|
||||||
@@ -56,8 +55,9 @@ abstract class GradleCompileTaskProvider @Inject constructor(
|
|||||||
.property(incrementalModuleInfoProvider)
|
.property(incrementalModuleInfoProvider)
|
||||||
|
|
||||||
@get:Internal
|
@get:Internal
|
||||||
val errorsFile: Provider<File?> = objectFactory
|
val errorsFile: Provider<File> = objectFactory
|
||||||
.property(
|
.property(
|
||||||
gradle.rootProject.rootDir.resolve(".gradle/kotlin/errors/").also { it.mkdirs() }
|
project.kotlinErrorsDir.also { it.mkdirs() }
|
||||||
.resolve("errors-${System.currentTimeMillis()}.log"))
|
.resolve("errors-${System.currentTimeMillis()}.log")
|
||||||
|
)
|
||||||
}
|
}
|
||||||
+4
@@ -16,6 +16,7 @@ private const val PROJECTS_CACHE_NAME_FULL = "$PROJECTS_CACHE_NAME-$PROJECTS_CAC
|
|||||||
|
|
||||||
private const val SESSIONS_DIR_NAME = "sessions"
|
private const val SESSIONS_DIR_NAME = "sessions"
|
||||||
private const val METADATA_DIR_NAME = "metadata"
|
private const val METADATA_DIR_NAME = "metadata"
|
||||||
|
private const val ERRORS_DIR_NAME = "errors"
|
||||||
|
|
||||||
internal val Project.basePersistentDir
|
internal val Project.basePersistentDir
|
||||||
get() = kotlinPropertiesProvider.kotlinUserHomeDir?.let { File(it) }
|
get() = kotlinPropertiesProvider.kotlinUserHomeDir?.let { File(it) }
|
||||||
@@ -27,6 +28,9 @@ internal val Project.kotlinSessionsDir
|
|||||||
internal val Project.kotlinMetadataDir
|
internal val Project.kotlinMetadataDir
|
||||||
get() = basePersistentDir.projectSpecificCache(rootDir).resolve(METADATA_DIR_NAME)
|
get() = basePersistentDir.projectSpecificCache(rootDir).resolve(METADATA_DIR_NAME)
|
||||||
|
|
||||||
|
internal val Project.kotlinErrorsDir
|
||||||
|
get() = basePersistentDir.projectSpecificCache(rootDir).resolve(ERRORS_DIR_NAME)
|
||||||
|
|
||||||
private val md5Digest by lazy { MessageDigest.getInstance("MD5") }
|
private val md5Digest by lazy { MessageDigest.getInstance("MD5") }
|
||||||
|
|
||||||
private fun File.absolutePathMd5Hash(): String = md5Digest.digest(absolutePath.toByteArray()).toHexString()
|
private fun File.absolutePathMd5Hash(): String = md5Digest.digest(absolutePath.toByteArray()).toHexString()
|
||||||
|
|||||||
Reference in New Issue
Block a user