Zongle Wang
02/01/2025, 10:09 AM@Input
, I tried something like:
kt
@get:Optional
@get:Input
public open val keyTransformer: Property<KeyTransformer> = objectFactory.property()
public fun interface KeyTransformer : Serializable {
public fun transform(key: String): String
}
but it fails for:
java.lang.NoClassDefFoundError: com/github/jengelman/gradle/plugins/shadow/transformers/KeyTransformer
at org.gradle.internal.cc.impl.serialize.ClassLoadingKt.classForName(ClassLoading.kt:27)
at org.gradle.internal.cc.impl.serialize.DefaultClassDecoder.decodeClass(DefaultClassDecoder.kt:50)
at org.gradle.internal.serialize.graph.DefaultReadContext.readClass(Contexts.kt:288)
at org.gradle.internal.serialize.graph.codecs.BeanCodec.decode(BeanCodec.kt:41)
at org.gradle.internal.serialize.graph.CombinatorsKt$reentrant$1$decodeLoop$1.invokeSuspend(Combinators.kt:122)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlin.coroutines.ContinuationKt.startCoroutine(Continuation.kt:115)
or
> Cannot fingerprint input property 'transformers.PropertiesFileTransformer_Decorated$0.keyTransformer': value 'build_6c52heuashhvkr1mlhojx3t85$1@30280cc3' cannot be serialized.
Benedikt Ritter
02/01/2025, 10:13 AMZongle Wang
02/01/2025, 10:16 AMAdam
02/01/2025, 11:44 AM@Input
property and expose the dynamic value as a ValueSourceZongle Wang
02/01/2025, 11:50 AMZongle Wang
02/01/2025, 12:16 PM(String) -> String
invocations in execution time, ValueSource
seems is not suitable for this case...Benedikt Ritter
02/01/2025, 2:14 PMLetter
02/01/2025, 5:16 PM@get:Nested val keyTransformer: Property<(String) -> String>
might workJendrik Johannes
02/01/2025, 6:12 PM(String)->String
transformer as input would be interesting for a couple of use cases. I had a similar request for a plugin recently... Please share if you discover a working solution.Zongle Wang
02/02/2025, 2:28 AM