Slackbot
10/28/2022, 8:17 AMNiels Doucet
10/28/2022, 8:20 AMNiels Doucet
10/28/2022, 8:21 AMGiuseppe Barbieri
10/28/2022, 8:24 AMval setting = project.extensions.create<MagikExtension>("magik").apply {
commitWithChanges.convention(false)
}
and this will be set before the user may set anything in its own?
Also, shall I ditch Properties for plain primitive? I'm quite tempted to do so..Niels Doucet
10/28/2022, 8:41 AMsetting.commitWithChanges.convention(false) . Seems more straightforward to me.
Properties give you the possibility for lazy evaluation. Wherever you use the extension properties, you should link them to a task property, so that they're only evaluated when they're actually being used. Aka during task execution and not earlier.Niels Doucet
10/28/2022, 8:42 AM@get:Input on an extension, as extensions technically don't have any inputs or outputs, they're just a bucket of configuration values. It's the tasks that have inputs and outputs. I might be wrong on that point though.Giuseppe Barbieri
10/28/2022, 8:42 AMVampire
10/28/2022, 10:23 AM@Nested input on a task and then the annotations on the extension would be relevant. But you really shouldn't do that, but linke the individual properties together.