| // WITH_STDLIB | |
| open class Arguments { | |
| @GradleOption( | |
| value = DefaultValue.BOOLEAN_FALSE_DEFAULT, | |
| gradleInputType = GradleInputTypes.INPUT, | |
| ) | |
| val useK2: Boolean by lazy { false } | |
| } | |
| class JvmArguments : Arguments() { | |
| @GradleOption( | |
| value = DefaultValue.BOOLEAN_FALSE_DEFAULT, | |
| gradleInputType = GradleInputTypes.INPUT, | |
| ) | |
| val specific: Boolean by lazy { true } | |
| } | |
| @Retention(AnnotationRetention.RUNTIME) | |
| annotation class GradleOption( | |
| val value: DefaultValue, | |
| val gradleInputType: GradleInputTypes | |
| ) | |
| enum class GradleInputTypes( | |
| val typeAsString: String | |
| ) { | |
| INPUT("org.gradle.api.tasks.Input"), | |
| INTERNAL("org.gradle.api.tasks.Internal"); | |
| override fun toString(): String { | |
| return typeAsString | |
| } | |
| } | |
| enum class DefaultValue { | |
| BOOLEAN_FALSE_DEFAULT, | |
| BOOLEAN_TRUE_DEFAULT, | |
| } | |
| fun box(): String { | |
| return "OK" | |
| } |