Slackbot
05/31/2022, 3:24 PMChris Lee
05/31/2022, 3:31 PMSteve Ebersole
05/31/2022, 3:33 PMSteve Ebersole
05/31/2022, 3:34 PMSteve Ebersole
05/31/2022, 3:34 PMSteve Ebersole
05/31/2022, 3:39 PMChris Lee
05/31/2022, 3:39 PMSteve Ebersole
05/31/2022, 3:40 PMSteve Ebersole
05/31/2022, 3:41 PMVampire
05/31/2022, 3:42 PMSteve Ebersole
05/31/2022, 3:42 PMSteve Ebersole
05/31/2022, 3:42 PMSteve Ebersole
05/31/2022, 3:45 PMVampire
05/31/2022, 3:46 PMSteve Ebersole
05/31/2022, 3:46 PMSteve Ebersole
05/31/2022, 3:47 PMChris Lee
05/31/2022, 3:47 PMVampire
05/31/2022, 3:47 PMSteve Ebersole
05/31/2022, 3:48 PMVampire
05/31/2022, 3:48 PMChris Lee
05/31/2022, 3:49 PMSteve Ebersole
05/31/2022, 3:49 PMVampire
05/31/2022, 3:49 PMSteve Ebersole
05/31/2022, 3:49 PMVampire
05/31/2022, 3:49 PMSteve Ebersole
05/31/2022, 3:51 PMtask1.dependsOn(task2)
) Gradle complains.Steve Ebersole
05/31/2022, 3:51 PMVampire
05/31/2022, 3:51 PMSteve Ebersole
05/31/2022, 3:51 PMSteve Ebersole
05/31/2022, 3:51 PMVampire
05/31/2022, 3:51 PMVampire
05/31/2022, 3:51 PMSteve Ebersole
05/31/2022, 3:52 PMSteve Ebersole
05/31/2022, 3:52 PMVampire
05/31/2022, 3:52 PMSteve Ebersole
05/31/2022, 3:52 PMVampire
05/31/2022, 3:52 PMBut regardless, this was something Gradle used to be able to work out itself but recent versison cannot. So...No, that's not true
Vampire
05/31/2022, 3:53 PMChris Lee
05/31/2022, 3:53 PMSteve Ebersole
05/31/2022, 3:53 PMChris Lee
05/31/2022, 3:53 PMChris Lee
05/31/2022, 3:54 PMSteve Ebersole
05/31/2022, 3:54 PMVampire
05/31/2022, 3:54 PMVampire
05/31/2022, 3:55 PMSteve Ebersole
05/31/2022, 3:55 PMVampire
05/31/2022, 3:55 PMSteve Ebersole
05/31/2022, 3:55 PMVampire
05/31/2022, 3:56 PMYou know "man" has multiple meanings in English. No need to take it that wayI'm not a native speaker, so I might got it wrongly. π
Steve Ebersole
05/31/2022, 3:56 PMSteve Ebersole
05/31/2022, 3:57 PMVampire
05/31/2022, 3:57 PMVampire
05/31/2022, 3:57 PMSteve Ebersole
05/31/2022, 3:57 PMSteve Ebersole
05/31/2022, 3:58 PMVampire
05/31/2022, 3:59 PMSteve Ebersole
05/31/2022, 3:59 PMSteve Ebersole
05/31/2022, 4:00 PMExplicit dependency just is frowned upon as you stated.Now then, that would be a good warning π
Chris Lee
05/31/2022, 4:00 PMVampire
05/31/2022, 4:00 PMVampire
05/31/2022, 4:01 PMSteve Ebersole
05/31/2022, 4:01 PMVampire
05/31/2022, 4:01 PM==
is too strong as there is more to itSteve Ebersole
05/31/2022, 4:02 PMChris Lee
05/31/2022, 4:02 PMVampire
05/31/2022, 4:02 PMregister
is part of the task configuration avoidance api, yesChris Lee
05/31/2022, 4:02 PM.register
is one of them. there are so many different ways to break the laziness.Steve Ebersole
05/31/2022, 4:02 PMSteve Ebersole
05/31/2022, 4:02 PMSteve Ebersole
05/31/2022, 4:03 PMChris Lee
05/31/2022, 4:03 PM.get
before getting to the execution phase. Often see folks embracing properties β¦ and then calling get
like 2 lines laterβ¦Vampire
05/31/2022, 4:03 PMVampire
05/31/2022, 4:04 PMafterEvaluate
hell.Steve Ebersole
05/31/2022, 4:04 PMSteve Ebersole
05/31/2022, 4:04 PMVampire
05/31/2022, 4:04 PMSteve Ebersole
05/31/2022, 4:04 PMChris Lee
05/31/2022, 4:04 PMVampire
05/31/2022, 4:04 PMSteve Ebersole
05/31/2022, 4:04 PMVampire
05/31/2022, 4:05 PMtasks.withType(Abc) { prop.set("") }
it is eagerly configuring the taskSteve Ebersole
05/31/2022, 4:05 PMSteve Ebersole
05/31/2022, 4:05 PMVampire
05/31/2022, 4:06 PMtasks.withType(Abc).configureEach { prop.set("") }
would be avoiding configuring the tasks if they are not part of the task graphChris Lee
05/31/2022, 4:06 PM.configureEach
imo should be a warning.Vampire
05/31/2022, 4:06 PMtasks.withType(Abc).configureEach { oldString = "" }
would be properly task configuration avoidance, although it is a plain stringSteve Ebersole
05/31/2022, 4:07 PMoldString.convention
Vampire
05/31/2022, 4:08 PMoldString
is not Property<String>
it is just plain String
Steve Ebersole
05/31/2022, 4:08 PMSteve Ebersole
05/31/2022, 4:08 PMSteve Ebersole
05/31/2022, 4:08 PMSteve Ebersole
05/31/2022, 4:08 PMVampire
05/31/2022, 4:09 PMChris Lee
05/31/2022, 4:10 PMSteve Ebersole
05/31/2022, 4:10 PMVampire
05/31/2022, 4:10 PMSteve Ebersole
05/31/2022, 4:10 PMVampire
05/31/2022, 4:11 PMtasks.withType(Abc) { prop.convention("") }
would immediately realize and configure the taskVampire
05/31/2022, 4:11 PMtasks.foo.get().prop.convention("")
Steve Ebersole
05/31/2022, 4:11 PMVampire
05/31/2022, 4:12 PMtasks.withType(Abc).configureEach { prop.convention("") }
would be fineSteve Ebersole
05/31/2022, 4:12 PMVampire
05/31/2022, 4:12 PMSteve Ebersole
05/31/2022, 4:12 PMVampire
05/31/2022, 4:13 PMwithType
, because you say convention
avoids task configuration and that is wrong. And the withType
is one of the counter-examples.Vampire
05/31/2022, 4:13 PMSteve Ebersole
05/31/2022, 4:13 PMVampire
05/31/2022, 4:13 PMSteve Ebersole
05/31/2022, 4:14 PMSteve Ebersole
05/31/2022, 4:14 PMSteve Ebersole
05/31/2022, 4:14 PMVampire
05/31/2022, 4:14 PMSteve Ebersole
05/31/2022, 4:14 PMVampire
05/31/2022, 4:15 PMSteve Ebersole
05/31/2022, 4:15 PMSteve Ebersole
05/31/2022, 4:16 PMSteve Ebersole
05/31/2022, 4:16 PMVampire
05/31/2022, 4:17 PMSteve Ebersole
05/31/2022, 4:18 PMtasks.register(
...,
{
someprop = this
anotherprop = that
...
}
);
Steve Ebersole
05/31/2022, 4:18 PMtask.register( ... )
Steve Ebersole
05/31/2022, 4:18 PMSteve Ebersole
05/31/2022, 4:19 PMVampire
05/31/2022, 4:19 PMSteve Ebersole
05/31/2022, 4:19 PMSteve Ebersole
05/31/2022, 4:20 PMSteve Ebersole
05/31/2022, 4:20 PMVampire
05/31/2022, 4:21 PMSteve Ebersole
05/31/2022, 4:21 PMVampire
05/31/2022, 4:21 PMSteve Ebersole
05/31/2022, 4:21 PMI think that depends on the nature of the plugin and of the task(s)
Vampire
05/31/2022, 4:21 PMSteve Ebersole
05/31/2022, 4:22 PMSteve Ebersole
05/31/2022, 4:22 PMVampire
05/31/2022, 4:23 PMSteve Ebersole
05/31/2022, 4:23 PMVampire
05/31/2022, 4:23 PMSteve Ebersole
05/31/2022, 4:23 PMVampire
05/31/2022, 4:23 PMnot saying you are silly to be clearDidn't get it like that. π
Vampire
05/31/2022, 4:24 PMSteve Ebersole
05/31/2022, 5:18 PM