[Gradle, JS] Add all possible values of library target as enums

This commit is contained in:
Ilya Goncharov
2020-02-14 15:14:41 +03:00
parent fbabbfab44
commit 9b462b76d4
2 changed files with 38 additions and 4 deletions
@@ -21,7 +21,6 @@ import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootPlugin
import org.jetbrains.kotlin.gradle.targets.js.npm.RequiresNpmDependencies
import org.jetbrains.kotlin.gradle.targets.js.npm.npmProject
import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpackConfig.Mode
import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpackOutput.Companion.UMD
import org.jetbrains.kotlin.gradle.testing.internal.reportsDir
import org.jetbrains.kotlin.gradle.utils.injected
import java.io.File
@@ -79,7 +78,7 @@ open class KotlinWebpack : DefaultTask(), RequiresNpmDependencies {
@Nested
val output: KotlinWebpackOutput = KotlinWebpackOutput(
library = baseConventions?.archivesBaseName,
libraryTarget = UMD
libraryTarget = KotlinWebpackLibraryTarget.UMD
)
@get:Internal
@@ -6,12 +6,47 @@
package org.jetbrains.kotlin.gradle.targets.js.webpack
import org.gradle.api.tasks.Input
import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpackLibraryTarget.Companion.fromString
data class KotlinWebpackOutput(
@Input var library: String?,
@Input var libraryTarget: String?
@Input var libraryTarget: KotlinWebpackLibraryTarget?
) {
fun getLibraryTarget(): String {
return this.libraryTarget.toString()
}
fun setLibraryTarget(value: String) {
this.libraryTarget = fromString(value)
}
}
enum class KotlinWebpackLibraryTarget {
VAR,
ASSIGN,
THIS,
WINDOW,
SELF,
GLOBAL,
COMMONJS,
COMMONJS2,
COMMONJS_MODULE,
AMD,
AMD_REQUIRE,
UMD,
UMD2,
JSONP,
SYSTEM;
override fun toString(): String {
return super.toString()
.toLowerCase()
.replace("_", "-")
}
companion object {
const val UMD = "umd"
internal fun fromString(value: String): KotlinWebpackLibraryTarget {
return valueOf(value.toUpperCase().replace("-", "_"))
}
}
}