diff --git a/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/resources/GeneratedResClassSpec.kt b/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/resources/GeneratedResClassSpec.kt
index 1ecdd84f350..df8add1101b 100644
--- a/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/resources/GeneratedResClassSpec.kt
+++ b/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/resources/GeneratedResClassSpec.kt
@@ -240,7 +240,7 @@ private fun getChunkFileSpec(
typeObject.addModifiers(KModifier.PRIVATE)
val properties = idToResources.keys.map { resName ->
PropertySpec.builder(resName, type.getClassName())
- .delegate("\nlazy·{ init_$resName() }")
+ .delegate("\nlazy·{ %N() }", "init_$resName")
.build()
}
typeObject.addProperties(properties)
@@ -250,7 +250,7 @@ private fun getChunkFileSpec(
idToResources.forEach { (resName, items) ->
val accessor = PropertySpec.builder(resName, type.getClassName(), resModifier)
.receiver(ClassName(packageName, "Res", type.accessorName))
- .getter(FunSpec.getterBuilder().addStatement("return $chunkClassName.$resName").build())
+ .getter(FunSpec.getterBuilder().addStatement("return $chunkClassName.%N", resName).build())
.build()
chunkFile.addProperty(accessor)
@@ -260,8 +260,8 @@ private fun getChunkFileSpec(
.addStatement(
CodeBlock.builder()
.add("return %T(\n", type.getClassName()).withIndent {
- add("\"${type}:${resName}\",")
- if (type.requiresKeyName()) add(" \"$resName\",")
+ add("%S,", "$type:$resName")
+ if (type.requiresKeyName()) add(" %S,", resName)
withIndent {
add("\nsetOf(\n").withIndent {
items.forEach { item ->
diff --git a/gradle-plugins/compose/src/test/kotlin/org/jetbrains/compose/test/tests/integration/ResourcesTest.kt b/gradle-plugins/compose/src/test/kotlin/org/jetbrains/compose/test/tests/integration/ResourcesTest.kt
index 3a3da032cf0..9b5c8b22ae4 100644
--- a/gradle-plugins/compose/src/test/kotlin/org/jetbrains/compose/test/tests/integration/ResourcesTest.kt
+++ b/gradle-plugins/compose/src/test/kotlin/org/jetbrains/compose/test/tests/integration/ResourcesTest.kt
@@ -227,9 +227,7 @@ class ResourcesTest : GradlePluginTestBase() {
@Test
fun testMultiModuleResources() {
- val environment = defaultTestEnvironment.copy(
- kotlinVersion = "2.0.0-RC2"
- )
+ val environment = defaultTestEnvironment.copy(kotlinVersion = "2.0.0")
with(
testProject("misc/kmpResourcePublication", environment)
) {
diff --git a/gradle-plugins/compose/src/test/test-projects/misc/commonResources/expected-open-res/commonMainResourceAccessors/my/lib/res/Drawable0.commonMain.kt b/gradle-plugins/compose/src/test/test-projects/misc/commonResources/expected-open-res/commonMainResourceAccessors/my/lib/res/Drawable0.commonMain.kt
index 408e508f377..d85c4af1ad5 100644
--- a/gradle-plugins/compose/src/test/test-projects/misc/commonResources/expected-open-res/commonMainResourceAccessors/my/lib/res/Drawable0.commonMain.kt
+++ b/gradle-plugins/compose/src/test/test-projects/misc/commonResources/expected-open-res/commonMainResourceAccessors/my/lib/res/Drawable0.commonMain.kt
@@ -12,6 +12,9 @@ private object CommonMainDrawable0 {
public val camelCaseName: DrawableResource by
lazy { init_camelCaseName() }
+ public val `is`: DrawableResource by
+ lazy { init_is() }
+
public val vector: DrawableResource by
lazy { init_vector() }
@@ -41,6 +44,16 @@ private fun init_camelCaseName(): DrawableResource =
)
)
+public val Res.drawable.`is`: DrawableResource
+ get() = CommonMainDrawable0.`is`
+
+private fun init_is(): DrawableResource = org.jetbrains.compose.resources.DrawableResource(
+ "drawable:is",
+ setOf(
+ org.jetbrains.compose.resources.ResourceItem(setOf(), "drawable/is.xml", -1, -1),
+ )
+)
+
public val Res.drawable.vector: DrawableResource
get() = CommonMainDrawable0.vector
diff --git a/gradle-plugins/compose/src/test/test-projects/misc/commonResources/expected-open-res/commonMainResourceAccessors/my/lib/res/String0.commonMain.kt b/gradle-plugins/compose/src/test/test-projects/misc/commonResources/expected-open-res/commonMainResourceAccessors/my/lib/res/String0.commonMain.kt
index d3a70bb1f25..e7ddb90a51b 100644
--- a/gradle-plugins/compose/src/test/test-projects/misc/commonResources/expected-open-res/commonMainResourceAccessors/my/lib/res/String0.commonMain.kt
+++ b/gradle-plugins/compose/src/test/test-projects/misc/commonResources/expected-open-res/commonMainResourceAccessors/my/lib/res/String0.commonMain.kt
@@ -21,6 +21,9 @@ private object CommonMainString0 {
public val hello: StringResource by
lazy { init_hello() }
+ public val `info_using_release_$x`: StringResource by
+ lazy { `init_info_using_release_$x`() }
+
public val multi_line: StringResource by
lazy { init_multi_line() }
@@ -83,13 +86,25 @@ private fun init_hello(): StringResource = org.jetbrains.compose.resources.Strin
)
)
+public val Res.string.`info_using_release_$x`: StringResource
+ get() = CommonMainString0.`info_using_release_$x`
+
+private fun `init_info_using_release_$x`(): StringResource =
+ org.jetbrains.compose.resources.StringResource(
+ "string:info_using_release_${'$'}x", "info_using_release_${'$'}x",
+ setOf(
+ org.jetbrains.compose.resources.ResourceItem(setOf(), "values/strings.commonMain.cvr", 320,
+ 57),
+ )
+ )
+
public val Res.string.multi_line: StringResource
get() = CommonMainString0.multi_line
private fun init_multi_line(): StringResource = org.jetbrains.compose.resources.StringResource(
"string:multi_line", "multi_line",
setOf(
- org.jetbrains.compose.resources.ResourceItem(setOf(), "values/strings.commonMain.cvr", 320,
+ org.jetbrains.compose.resources.ResourceItem(setOf(), "values/strings.commonMain.cvr", 378,
178),
)
)
@@ -100,7 +115,7 @@ public val Res.string.str_template: StringResource
private fun init_str_template(): StringResource = org.jetbrains.compose.resources.StringResource(
"string:str_template", "str_template",
setOf(
- org.jetbrains.compose.resources.ResourceItem(setOf(), "values/strings.commonMain.cvr", 499,
+ org.jetbrains.compose.resources.ResourceItem(setOf(), "values/strings.commonMain.cvr", 557,
76),
)
)
\ No newline at end of file
diff --git a/gradle-plugins/compose/src/test/test-projects/misc/commonResources/expected/commonMainResourceAccessors/app/group/resources_test/generated/resources/Drawable0.commonMain.kt b/gradle-plugins/compose/src/test/test-projects/misc/commonResources/expected/commonMainResourceAccessors/app/group/resources_test/generated/resources/Drawable0.commonMain.kt
index 5e7a25ac0ed..0853a96b34b 100644
--- a/gradle-plugins/compose/src/test/test-projects/misc/commonResources/expected/commonMainResourceAccessors/app/group/resources_test/generated/resources/Drawable0.commonMain.kt
+++ b/gradle-plugins/compose/src/test/test-projects/misc/commonResources/expected/commonMainResourceAccessors/app/group/resources_test/generated/resources/Drawable0.commonMain.kt
@@ -12,6 +12,9 @@ private object CommonMainDrawable0 {
public val camelCaseName: DrawableResource by
lazy { init_camelCaseName() }
+ public val `is`: DrawableResource by
+ lazy { init_is() }
+
public val vector: DrawableResource by
lazy { init_vector() }
@@ -41,6 +44,16 @@ private fun init_camelCaseName(): DrawableResource =
)
)
+internal val Res.drawable.`is`: DrawableResource
+ get() = CommonMainDrawable0.`is`
+
+private fun init_is(): DrawableResource = org.jetbrains.compose.resources.DrawableResource(
+ "drawable:is",
+ setOf(
+ org.jetbrains.compose.resources.ResourceItem(setOf(), "drawable/is.xml", -1, -1),
+ )
+)
+
internal val Res.drawable.vector: DrawableResource
get() = CommonMainDrawable0.vector
diff --git a/gradle-plugins/compose/src/test/test-projects/misc/commonResources/expected/commonMainResourceAccessors/app/group/resources_test/generated/resources/String0.commonMain.kt b/gradle-plugins/compose/src/test/test-projects/misc/commonResources/expected/commonMainResourceAccessors/app/group/resources_test/generated/resources/String0.commonMain.kt
index c57944b0039..570cccd7807 100644
--- a/gradle-plugins/compose/src/test/test-projects/misc/commonResources/expected/commonMainResourceAccessors/app/group/resources_test/generated/resources/String0.commonMain.kt
+++ b/gradle-plugins/compose/src/test/test-projects/misc/commonResources/expected/commonMainResourceAccessors/app/group/resources_test/generated/resources/String0.commonMain.kt
@@ -21,6 +21,9 @@ private object CommonMainString0 {
public val hello: StringResource by
lazy { init_hello() }
+ public val `info_using_release_$x`: StringResource by
+ lazy { `init_info_using_release_$x`() }
+
public val multi_line: StringResource by
lazy { init_multi_line() }
@@ -83,13 +86,25 @@ private fun init_hello(): StringResource = org.jetbrains.compose.resources.Strin
)
)
+internal val Res.string.`info_using_release_$x`: StringResource
+ get() = CommonMainString0.`info_using_release_$x`
+
+private fun `init_info_using_release_$x`(): StringResource =
+ org.jetbrains.compose.resources.StringResource(
+ "string:info_using_release_${'$'}x", "info_using_release_${'$'}x",
+ setOf(
+ org.jetbrains.compose.resources.ResourceItem(setOf(), "values/strings.commonMain.cvr", 320,
+ 57),
+ )
+ )
+
internal val Res.string.multi_line: StringResource
get() = CommonMainString0.multi_line
private fun init_multi_line(): StringResource = org.jetbrains.compose.resources.StringResource(
"string:multi_line", "multi_line",
setOf(
- org.jetbrains.compose.resources.ResourceItem(setOf(), "values/strings.commonMain.cvr", 320,
+ org.jetbrains.compose.resources.ResourceItem(setOf(), "values/strings.commonMain.cvr", 378,
178),
)
)
@@ -100,7 +115,7 @@ internal val Res.string.str_template: StringResource
private fun init_str_template(): StringResource = org.jetbrains.compose.resources.StringResource(
"string:str_template", "str_template",
setOf(
- org.jetbrains.compose.resources.ResourceItem(setOf(), "values/strings.commonMain.cvr", 499,
+ org.jetbrains.compose.resources.ResourceItem(setOf(), "values/strings.commonMain.cvr", 557,
76),
)
)
\ No newline at end of file
diff --git a/gradle-plugins/compose/src/test/test-projects/misc/commonResources/src/commonMain/composeResources/drawable/is.xml b/gradle-plugins/compose/src/test/test-projects/misc/commonResources/src/commonMain/composeResources/drawable/is.xml
new file mode 100644
index 00000000000..d7bf7955f44
--- /dev/null
+++ b/gradle-plugins/compose/src/test/test-projects/misc/commonResources/src/commonMain/composeResources/drawable/is.xml
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
diff --git a/gradle-plugins/compose/src/test/test-projects/misc/commonResources/src/commonMain/composeResources/values/strings.xml b/gradle-plugins/compose/src/test/test-projects/misc/commonResources/src/commonMain/composeResources/values/strings.xml
index 2afea688cf0..06e9e906547 100644
--- a/gradle-plugins/compose/src/test/test-projects/misc/commonResources/src/commonMain/composeResources/values/strings.xml
+++ b/gradle-plugins/compose/src/test/test-projects/misc/commonResources/src/commonMain/composeResources/values/strings.xml
@@ -8,6 +8,7 @@
PascalCase
1-kebab-case
camelCase
+ info_using_release_$x
- %d zero