[Gradle, JS] Not rewrite package.json if json was not changed
This commit is contained in:
committed by
TeamCityServer
parent
6219eb24c0
commit
e3c291db27
+11
-7
@@ -5,12 +5,8 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.gradle.targets.js.npm
|
package org.jetbrains.kotlin.gradle.targets.js.npm
|
||||||
|
|
||||||
import com.google.gson.ExclusionStrategy
|
import com.google.gson.*
|
||||||
import com.google.gson.FieldAttributes
|
|
||||||
import com.google.gson.Gson
|
|
||||||
import com.google.gson.GsonBuilder
|
|
||||||
import org.gradle.api.GradleException
|
import org.gradle.api.GradleException
|
||||||
import org.gradle.api.tasks.Input
|
|
||||||
import org.jetbrains.kotlin.gradle.internal.ensureParentDirsCreated
|
import org.jetbrains.kotlin.gradle.internal.ensureParentDirsCreated
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.io.Serializable
|
import java.io.Serializable
|
||||||
@@ -109,13 +105,21 @@ class PackageJson(
|
|||||||
|
|
||||||
packageJsonFile.ensureParentDirsCreated()
|
packageJsonFile.ensureParentDirsCreated()
|
||||||
val jsonTree = gson.toJsonTree(this)
|
val jsonTree = gson.toJsonTree(this)
|
||||||
|
val previous = if (packageJsonFile.exists()) {
|
||||||
|
packageJsonFile.reader().use {
|
||||||
|
JsonParser.parseReader(it)
|
||||||
|
}
|
||||||
|
} else null
|
||||||
|
|
||||||
customFields
|
customFields
|
||||||
.forEach { (key, value) ->
|
.forEach { (key, value) ->
|
||||||
val valueElement = gson.toJsonTree(value)
|
val valueElement = gson.toJsonTree(value)
|
||||||
jsonTree.asJsonObject.add(key, valueElement)
|
jsonTree.asJsonObject.add(key, valueElement)
|
||||||
}
|
}
|
||||||
packageJsonFile.writer().use {
|
if (jsonTree != previous) {
|
||||||
gson.toJson(jsonTree, it)
|
packageJsonFile.writer().use {
|
||||||
|
gson.toJson(jsonTree, it)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
-1
@@ -6,7 +6,6 @@
|
|||||||
package org.jetbrains.kotlin.gradle.targets.js.yarn
|
package org.jetbrains.kotlin.gradle.targets.js.yarn
|
||||||
|
|
||||||
import com.google.gson.Gson
|
import com.google.gson.Gson
|
||||||
import org.gradle.api.Project
|
|
||||||
import org.gradle.api.logging.Logger
|
import org.gradle.api.logging.Logger
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.npm.GradleNodeModule
|
import org.jetbrains.kotlin.gradle.targets.js.npm.GradleNodeModule
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.npm.NpmProject
|
import org.jetbrains.kotlin.gradle.targets.js.npm.NpmProject
|
||||||
|
|||||||
+1
@@ -5,6 +5,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.gradle.targets.js.yarn
|
package org.jetbrains.kotlin.gradle.targets.js.yarn
|
||||||
|
|
||||||
|
import com.google.gson.Gson
|
||||||
import org.gradle.api.Project
|
import org.gradle.api.Project
|
||||||
import org.gradle.api.logging.Logger
|
import org.gradle.api.logging.Logger
|
||||||
import org.gradle.internal.service.ServiceRegistry
|
import org.gradle.internal.service.ServiceRegistry
|
||||||
|
|||||||
Reference in New Issue
Block a user