[Gradle, JS] Use transient for compilation npm resolver
This commit is contained in:
committed by
Alexander Likhachev
parent
60da9281a2
commit
cd0dfd6fa9
+9
-8
@@ -125,17 +125,18 @@ fun fromSrcPackageJson(packageJson: File?): PackageJson? =
|
||||
}
|
||||
|
||||
fun packageJson(
|
||||
npmProject: NpmProject,
|
||||
name: String,
|
||||
version: String,
|
||||
main: String,
|
||||
npmDependencies: Collection<NpmDependency>
|
||||
): PackageJson {
|
||||
val compilation = npmProject.compilation
|
||||
|
||||
val packageJson = PackageJson(
|
||||
npmProject.name,
|
||||
fixSemver(compilation.target.project.version.toString())
|
||||
name,
|
||||
fixSemver(version)
|
||||
)
|
||||
|
||||
packageJson.main = npmProject.main
|
||||
packageJson.main = main
|
||||
|
||||
val dependencies = mutableMapOf<String, String>()
|
||||
|
||||
@@ -154,9 +155,9 @@ fun packageJson(
|
||||
}
|
||||
}
|
||||
|
||||
compilation.packageJsonHandlers.forEach {
|
||||
it(packageJson)
|
||||
}
|
||||
// compilation.packageJsonHandlers.forEach {
|
||||
// it(packageJson)
|
||||
// }
|
||||
|
||||
return packageJson
|
||||
}
|
||||
|
||||
+18
-18
@@ -70,24 +70,24 @@ constructor(
|
||||
fun resolve() {
|
||||
val compilation = npmProject.compilation
|
||||
|
||||
packageJson(npmProject, realExternalDependencies).let { packageJson ->
|
||||
packageJson.main = "${npmProject.name}.js"
|
||||
|
||||
if (compilation is KotlinJsIrCompilation) {
|
||||
packageJson.types = "${npmProject.name}.d.ts"
|
||||
}
|
||||
|
||||
packageJson.apply {
|
||||
listOf(
|
||||
dependencies,
|
||||
devDependencies,
|
||||
peerDependencies,
|
||||
optionalDependencies
|
||||
).forEach { it.processDependencies() }
|
||||
}
|
||||
|
||||
packageJson.saveTo(this@PublicPackageJsonTask.packageJsonFile)
|
||||
}
|
||||
// packageJson(npmProject, realExternalDependencies).let { packageJson ->
|
||||
// packageJson.main = "${npmProject.name}.js"
|
||||
//
|
||||
// if (compilation is KotlinJsIrCompilation) {
|
||||
// packageJson.types = "${npmProject.name}.d.ts"
|
||||
// }
|
||||
//
|
||||
// packageJson.apply {
|
||||
// listOf(
|
||||
// dependencies,
|
||||
// devDependencies,
|
||||
// peerDependencies,
|
||||
// optionalDependencies
|
||||
// ).forEach { it.processDependencies() }
|
||||
// }
|
||||
//
|
||||
// packageJson.saveTo(this@PublicPackageJsonTask.packageJsonFile)
|
||||
// }
|
||||
}
|
||||
|
||||
private fun MutableMap<String, String>.processDependencies() {
|
||||
|
||||
+8
-3
@@ -16,12 +16,17 @@ import org.jetbrains.kotlin.gradle.targets.js.npm.PackageJson
|
||||
*/
|
||||
class KotlinCompilationNpmResolution(
|
||||
@Transient
|
||||
val project: Project,
|
||||
private val _project: Project?,
|
||||
@Transient
|
||||
val npmProject: NpmProject,
|
||||
private val _npmProject: NpmProject?,
|
||||
val internalDependencies: Collection<KotlinCompilationNpmResolution>,
|
||||
val internalCompositeDependencies: Collection<GradleNodeModule>,
|
||||
val externalGradleDependencies: Collection<GradleNodeModule>,
|
||||
val externalNpmDependencies: Collection<NpmDependency>,
|
||||
val packageJson: PackageJson
|
||||
)
|
||||
) {
|
||||
val project
|
||||
get() = _project!!
|
||||
val npmProject
|
||||
get() = _npmProject!!
|
||||
}
|
||||
+25
-7
@@ -62,6 +62,22 @@ internal class KotlinCompilationNpmResolver(
|
||||
@Transient
|
||||
val npmProject = compilation.npmProject
|
||||
|
||||
val npmName by lazy {
|
||||
npmProject.name
|
||||
}
|
||||
|
||||
val npmVersion by lazy {
|
||||
project.version.toString()
|
||||
}
|
||||
|
||||
val npmMain by lazy {
|
||||
npmProject.main
|
||||
}
|
||||
|
||||
val prePackageJsonFile by lazy {
|
||||
npmProject.prePackageJsonFile
|
||||
}
|
||||
|
||||
val nodeJs get() = resolver.nodeJs
|
||||
|
||||
val target get() = compilation.target
|
||||
@@ -405,7 +421,9 @@ internal class KotlinCompilationNpmResolver(
|
||||
val allNpmDependencies = externalNpmDependencies/* + toolsNpmDependencies*/
|
||||
|
||||
val packageJson = packageJson(
|
||||
npmProject,
|
||||
npmName,
|
||||
npmVersion,
|
||||
npmMain,
|
||||
allNpmDependencies
|
||||
)
|
||||
|
||||
@@ -421,17 +439,17 @@ internal class KotlinCompilationNpmResolver(
|
||||
packageJson.dependencies[it.name] = fileVersion(it.path)
|
||||
}
|
||||
|
||||
compilation.packageJsonHandlers.forEach {
|
||||
it(packageJson)
|
||||
}
|
||||
// compilation.packageJsonHandlers.forEach {
|
||||
// it(packageJson)
|
||||
// }
|
||||
|
||||
if (!skipWriting) {
|
||||
packageJson.saveTo(npmProject.prePackageJsonFile)
|
||||
packageJson.saveTo(prePackageJsonFile)
|
||||
}
|
||||
|
||||
return KotlinCompilationNpmResolution(
|
||||
project,
|
||||
npmProject,
|
||||
if (compilation != null) project else null,
|
||||
if (compilation != null) npmProject else null,
|
||||
resolvedInternalDependencies,
|
||||
compositeDependencies,
|
||||
importedExternalGradleDependencies,
|
||||
|
||||
Reference in New Issue
Block a user