Skip to content

Commit 73190cc

Browse files
committed
Provide public API for ResourceContentHash annotation generation.
1 parent c18f3bd commit 73190cc

File tree

3 files changed

+24
-11
lines changed

3 files changed

+24
-11
lines changed

gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/resources/ComposeResourcesGeneration.kt

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -153,12 +153,7 @@ private fun Project.configureResourceAccessorsGeneration(
153153
task.packagingDir.set(packagingDir)
154154
}
155155
task.onlyIf { shouldGenerateCode.get() }
156-
task.generateResourceContentHashAnnotation.set(
157-
project.providers
158-
.systemProperty("compose.resources.generate.ResourceContentHash.annotation")
159-
.map { it.toBoolean() }
160-
.orElse(false)
161-
)
156+
task.generateResourceContentHashAnnotation.set(false)
162157
}
163158

164159
//register generated source set

gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/resources/GenerateResourceAccessorsTask.kt

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,18 @@ import java.io.File
1414
import java.nio.file.Path
1515
import kotlin.io.path.relativeTo
1616

17-
internal abstract class GenerateResourceAccessorsTask : IdeaImportTask() {
17+
/**
18+
* Defines the property responsible for enabling or disabling
19+
* the generation of @ResourceContentHash annotation for resource accessors.
20+
*/
21+
interface ResourceContentHashAnnotationGenerationConfiguration {
22+
@get:Input
23+
val generateResourceContentHashAnnotation: Property<Boolean>
24+
}
25+
26+
internal abstract class GenerateResourceAccessorsTask : IdeaImportTask(),
27+
ResourceContentHashAnnotationGenerationConfiguration
28+
{
1829
@get:Input
1930
abstract val packageName: Property<String>
2031

@@ -31,9 +42,6 @@ internal abstract class GenerateResourceAccessorsTask : IdeaImportTask() {
3142
@get:Input
3243
abstract val makeAccessorsPublic: Property<Boolean>
3344

34-
@get:Input
35-
abstract val generateResourceContentHashAnnotation: Property<Boolean>
36-
3745
@get:InputFiles
3846
@get:SkipWhenEmpty
3947
@get:PathSensitive(PathSensitivity.RELATIVE)

gradle-plugins/compose/src/test/kotlin/org/jetbrains/compose/test/tests/integration/ResourcesTest.kt

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -586,8 +586,18 @@ class ResourcesTest : GradlePluginTestBase() {
586586

587587
@Test
588588
fun testGeneratedAccessorsAnnotatedWithResourceContentHash(): Unit = with(testProject("misc/commonResources")) {
589+
file("build.gradle.kts").appendText(
590+
"""
591+
tasks.configureEach {
592+
if (this is org.jetbrains.compose.resources.ResourceContentHashAnnotationGenerationConfiguration) {
593+
generateResourceContentHashAnnotation.set(true)
594+
}
595+
}
596+
""".trimIndent()
597+
)
598+
589599
//check generated resource's accessors
590-
gradle("prepareKotlinIdeaImport", "-Dcompose.resources.generate.ResourceContentHash.annotation=true").checks {
600+
gradle("prepareKotlinIdeaImport").checks {
591601
val expected = if (System.getProperty("os.name").lowercase().contains("windows")) {
592602
// Windows has different line endings in comparison with Unixes,
593603
// thus the XML resource files differ and produce different content hashes,

0 commit comments

Comments
 (0)