[Gradle, JS] KT-37207 Possibility to add dependency on not module dir

This commit is contained in:
Ilya Goncharov
2020-03-27 13:20:08 +03:00
parent f0c900c027
commit f1133defa3
5 changed files with 21 additions and 7 deletions
@@ -18,6 +18,7 @@ kotlin.sourceSets {
implementation(npm("@yworks/optimizer", "1.0.6"))
implementation(npm("file-dependency", projectDir.resolve("file-dependency")))
implementation(npm(projectDir.resolve("file-dependency-2")))
implementation(npm(projectDir.resolve("file-dependency-3")))
}
}
@@ -0,0 +1,5 @@
/*
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
@@ -89,11 +89,15 @@ class DefaultKotlinDependencyHandler(
version = version
)
override fun npm(name: String, directory: File): NpmDependency =
npm(
override fun npm(name: String, directory: File): NpmDependency {
check(directory.isDirectory) {
"Dependency on local path should point on directory but $directory found"
}
return npm(
name = name,
version = fileVersion(directory)
)
}
override fun npm(directory: File): NpmDependency =
npm(
@@ -133,11 +133,11 @@ internal fun fileVersion(directory: File): String =
internal fun moduleName(directory: File): String {
val packageJson = directory.resolve(PACKAGE_JSON)
check(packageJson.isFile) {
"There is no NPM module in $directory. Declare valid $PACKAGE_JSON in it."
if (packageJson.isFile) {
return fromSrcPackageJson(packageJson)!!.name
}
return fromSrcPackageJson(packageJson)!!.name
return directory.name
}
const val FILE_VERSION_PREFIX = "file:"
@@ -30,11 +30,15 @@ fun Project.addNpmDependencyExtension() {
version = version
)
override operator fun invoke(name: String, directory: File): NpmDependency =
invoke(
override operator fun invoke(name: String, directory: File): NpmDependency {
check(directory.isDirectory) {
"Dependency on local path should point on directory but $directory found"
}
return invoke(
name = name,
version = fileVersion(directory)
)
}
override operator fun invoke(directory: File): NpmDependency =
invoke(