[Gradle, Wasm] Fix mismatch report message for upgradeLockFile

^KT-65870 fixed
This commit is contained in:
Ilya Goncharov
2024-02-19 17:34:40 +04:00
committed by Space Team
parent 8365915b3f
commit eabd2f0fc7
5 changed files with 30 additions and 16 deletions
@@ -12,15 +12,10 @@ import org.gradle.testkit.runner.BuildResult
import org.gradle.util.GradleVersion
import org.jetbrains.kotlin.gradle.targets.js.dsl.Distribution
import org.jetbrains.kotlin.gradle.targets.js.ir.KLIB_TYPE
import org.jetbrains.kotlin.gradle.targets.js.npm.LockCopyTask
import org.jetbrains.kotlin.gradle.targets.js.npm.LockCopyTask.Companion.PACKAGE_LOCK_MISMATCH_MESSAGE
import org.jetbrains.kotlin.gradle.targets.js.npm.LockCopyTask.Companion.RESTORE_PACKAGE_LOCK_NAME
import org.jetbrains.kotlin.gradle.targets.js.npm.LockCopyTask.Companion.STORE_PACKAGE_LOCK_NAME
import org.jetbrains.kotlin.gradle.targets.js.npm.LockCopyTask.Companion.UPGRADE_PACKAGE_LOCK
import org.jetbrains.kotlin.gradle.targets.js.npm.NpmProject
import org.jetbrains.kotlin.gradle.targets.js.npm.PackageJson
import org.jetbrains.kotlin.gradle.targets.js.npm.fromSrcPackageJson
import org.jetbrains.kotlin.gradle.targets.js.yarn.YarnPlugin
import org.jetbrains.kotlin.gradle.testbase.*
import org.jetbrains.kotlin.gradle.testbase.TestVersions.Gradle.G_7_6
import org.jetbrains.kotlin.gradle.util.replaceText
@@ -43,6 +43,8 @@ class NpmGradlePluginIT : PackageManagerGradlePluginIT() {
override val lockFileName: String = LockCopyTask.PACKAGE_LOCK
override val setProperty: (String) -> String = { ".set($it)" }
override val mismatchReportMessage: String = PACKAGE_LOCK_MISMATCH_MESSAGE
}
class YarnGradlePluginIT : PackageManagerGradlePluginIT() {
@@ -69,6 +71,8 @@ class YarnGradlePluginIT : PackageManagerGradlePluginIT() {
override val lockFileName: String = LockCopyTask.YARN_LOCK
override val setProperty: (String) -> String = { " = $it" }
override val mismatchReportMessage: String = YarnPlugin.YARN_LOCK_MISMATCH_MESSAGE
}
@JsGradlePluginTests
@@ -98,6 +102,8 @@ abstract class PackageManagerGradlePluginIT : KGPBaseTest() {
abstract val setProperty: (String) -> String
abstract val mismatchReportMessage: String
override val defaultBuildOptions: BuildOptions
get() = super.defaultBuildOptions.copy(
jsOptions = super.defaultBuildOptions.jsOptions?.copy(
@@ -247,7 +253,7 @@ abstract class PackageManagerGradlePluginIT : KGPBaseTest() {
assertTasksExecuted(":$restoreTaskName")
assertTasksExecuted(":$storeTaskName")
assertOutputContains(PACKAGE_LOCK_MISMATCH_MESSAGE)
assertOutputContains(mismatchReportMessage)
}
build(upgradeTaskName) {
@@ -276,7 +282,7 @@ abstract class PackageManagerGradlePluginIT : KGPBaseTest() {
assertTasksExecuted(":$restoreTaskName")
assertTasksExecuted(":$storeTaskName")
assertOutputDoesNotContain(PACKAGE_LOCK_MISMATCH_MESSAGE)
assertOutputDoesNotContain(mismatchReportMessage)
}
build(upgradeTaskName) {
@@ -312,7 +318,7 @@ abstract class PackageManagerGradlePluginIT : KGPBaseTest() {
assertTasksSkipped(":$restoreTaskName")
assertTasksExecuted(":$storeTaskName")
assertOutputDoesNotContain(PACKAGE_LOCK_MISMATCH_MESSAGE)
assertOutputDoesNotContain(mismatchReportMessage)
}
buildGradleKts.modify {
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.gradle.targets.js.npm
import org.gradle.api.GradleException
import org.gradle.api.provider.Property
import org.gradle.api.tasks.Input
import org.gradle.api.tasks.Internal
import org.gradle.work.DisableCachingByDefault
import org.jetbrains.kotlin.gradle.utils.contentEquals
@@ -22,6 +23,10 @@ abstract class LockStoreTask : LockCopyTask() {
@get:Input
abstract val lockFileAutoReplace: Property<Boolean>
@get:Internal
internal open val mismatchMessage: String
get() = PACKAGE_LOCK_MISMATCH_MESSAGE
override fun copy() {
val outputFile = outputDirectory.get().asFile.resolve(fileName.get())
@@ -49,9 +54,9 @@ abstract class LockStoreTask : LockCopyTask() {
when (lockFileMismatchReport.get()) {
LockFileMismatchReport.NONE -> {}
LockFileMismatchReport.WARNING -> {
logger.warn(PACKAGE_LOCK_MISMATCH_MESSAGE)
logger.warn(mismatchMessage)
}
LockFileMismatchReport.FAIL -> throw GradleException(PACKAGE_LOCK_MISMATCH_MESSAGE)
LockFileMismatchReport.FAIL -> throw GradleException(mismatchMessage)
else -> error("Unknown mismatch report kind")
}
}
@@ -11,20 +11,27 @@ import org.gradle.work.DisableCachingByDefault
import org.jetbrains.kotlin.gradle.targets.js.npm.LockCopyTask
import org.jetbrains.kotlin.gradle.targets.js.npm.LockFileMismatchReport
import org.jetbrains.kotlin.gradle.targets.js.npm.LockStoreTask
import org.jetbrains.kotlin.gradle.targets.js.yarn.YarnPlugin.Companion.YARN_LOCK_MISMATCH_MESSAGE
@DisableCachingByDefault
abstract class YarnLockCopyTask : LockCopyTask()
@DisableCachingByDefault
abstract class YarnLockStoreTask : LockStoreTask() {
@Internal
val yarnLockMismatchReport: Provider<YarnLockMismatchReport> = lockFileMismatchReport.map { it.fromLockFileMismatchReport() }
@get:Internal
val yarnLockMismatchReport: Provider<YarnLockMismatchReport>
get() = lockFileMismatchReport.map { it.fromLockFileMismatchReport() }
@Internal
val reportNewYarnLock: Provider<Boolean> = reportNewLockFile
@get:Internal
val reportNewYarnLock: Provider<Boolean>
get() = reportNewLockFile
@Internal
val yarnLockAutoReplace: Provider<Boolean> = lockFileAutoReplace
@get:Internal
val yarnLockAutoReplace: Provider<Boolean>
get() = lockFileAutoReplace
override val mismatchMessage: String
get() = YARN_LOCK_MISMATCH_MESSAGE
}
enum class YarnLockMismatchReport {
@@ -118,5 +118,6 @@ open class YarnPlugin : Plugin<Project> {
const val STORE_YARN_LOCK_NAME = "kotlinStoreYarnLock"
const val RESTORE_YARN_LOCK_NAME = "kotlinRestoreYarnLock"
const val UPGRADE_YARN_LOCK = "kotlinUpgradeYarnLock"
const val YARN_LOCK_MISMATCH_MESSAGE = "Lock file was changed. Run the `${UPGRADE_YARN_LOCK}` task to actualize lock file"
}
}