Skip to content

Commit d0ab888

Browse files
committed
[Wasm] Keep API with string statics
1 parent aecf3b0 commit d0ab888

File tree

3 files changed

+31
-18
lines changed

3 files changed

+31
-18
lines changed

libraries/tools/kotlin-gradle-plugin/api/all/kotlin-gradle-plugin.api

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4624,13 +4624,16 @@ public final class org/jetbrains/kotlin/gradle/targets/js/webpack/KotlinWebpackC
46244624
public final fun getPort ()Ljava/lang/Integer;
46254625
public final fun getProxy ()Ljava/util/List;
46264626
public final fun getStatic ()Ljava/util/List;
4627+
public final fun getStatics ()Ljava/util/List;
46274628
public fun hashCode ()I
46284629
public final fun setClient (Lorg/jetbrains/kotlin/gradle/targets/js/webpack/KotlinWebpackConfig$DevServer$Client;)V
46294630
public final fun setContentBase (Ljava/util/List;)V
46304631
public final fun setOpen (Ljava/lang/Object;)V
46314632
public final fun setPort (Ljava/lang/Integer;)V
46324633
public final fun setProxy (Ljava/util/List;)V
46334634
public final fun setStatic (Ljava/util/List;)V
4635+
public final fun static (Ljava/lang/String;Z)V
4636+
public static synthetic fun static$default (Lorg/jetbrains/kotlin/gradle/targets/js/webpack/KotlinWebpackConfig$DevServer;Ljava/lang/String;ZILjava/lang/Object;)V
46344637
public fun toString ()Ljava/lang/String;
46354638
}
46364639

libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/WebpackConfigurator.kt

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -178,29 +178,22 @@ class WebpackConfigurator(private val subTarget: KotlinJsIrSubTarget) : SubTarge
178178
npmProject.dist.zip(npmProject.dir) { distDirectory, dir ->
179179
KotlinWebpackConfig.DevServer(
180180
open = true,
181-
static = mutableListOf(
182-
KotlinWebpackConfig.DevServer.Static(
183-
distDirectory.asFile.normalize().relativeOrAbsolute(dir.asFile)
184-
),
185-
KotlinWebpackConfig.DevServer.Static(
186-
resourcesDir.normalize().relativeOrAbsolute(dir.asFile)
187-
),
188-
).apply {
189-
if (mode == KotlinJsBinaryMode.DEVELOPMENT) {
190-
add(
191-
KotlinWebpackConfig.DevServer.Static(
192-
rootDir.normalize().relativeOrAbsolute(dir.asFile)
193-
)
194-
)
195-
}
196-
},
197181
client = KotlinWebpackConfig.DevServer.Client(
198182
KotlinWebpackConfig.DevServer.Client.Overlay(
199183
errors = true,
200184
warnings = false
201185
)
202186
)
203-
)
187+
).apply {
188+
static(distDirectory.asFile.normalize().relativeOrAbsolute(dir.asFile))
189+
static(resourcesDir.normalize().relativeOrAbsolute(dir.asFile))
190+
191+
if (mode == KotlinJsBinaryMode.DEVELOPMENT) {
192+
static(
193+
rootDir.normalize().relativeOrAbsolute(dir.asFile)
194+
)
195+
}
196+
}
204197
}
205198
)
206199

libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/webpack/KotlinWebpackConfig.kt

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
package org.jetbrains.kotlin.gradle.targets.js.webpack
99

1010
import com.google.gson.GsonBuilder
11+
import com.google.gson.annotations.SerializedName
1112
import org.gradle.api.provider.Provider
1213
import org.jetbrains.kotlin.gradle.targets.js.NpmVersions
1314
import org.jetbrains.kotlin.gradle.targets.js.RequiredKotlinJsDependency
@@ -110,10 +111,26 @@ data class KotlinWebpackConfig(
110111
var open: Any = true,
111112
var port: Int? = null,
112113
var proxy: MutableList<Proxy>? = null,
113-
var static: MutableList<out Any>? = null,
114+
@Transient
115+
@Deprecated("Use 'static' fun instead")
116+
var static: MutableList<String>? = null,
114117
var contentBase: MutableList<String>? = null,
115118
var client: Client? = null,
116119
) : Serializable {
120+
121+
fun static(directory: String, watch: Boolean = false) {
122+
mutableStatic.add(Static(directory, watch))
123+
}
124+
125+
val statics: List<Static>
126+
get() = mutableStatic.toList().filterIsInstance<Static>()
127+
128+
@Suppress("DEPRECATION")
129+
@SerializedName("static")
130+
private val mutableStatic: MutableList<Any> = mutableListOf<Any>().also {
131+
it.addAll(static.orEmpty())
132+
}
133+
117134
data class Client(
118135
var overlay: Any, /* Overlay | Boolean */
119136
) : Serializable {

0 commit comments

Comments
 (0)