Vlastimil Brecka
06/25/2026, 8:47 PMtony
06/25/2026, 8:56 PMtony
06/25/2026, 8:57 PMgenerateProjectGraph<source-set> task generates a topological sort of the project graph. Could alter that to get the same thing (and revsered) for external modulesVlastimil Brecka
06/25/2026, 8:58 PMtony
06/25/2026, 8:58 PMcom.autonomousapps:graph-support package, which has a Graphs.topological() function that you can play withtony
06/25/2026, 8:58 PMtony
06/25/2026, 8:58 PMtony
06/25/2026, 8:58 PMVlastimil Brecka
06/25/2026, 8:58 PMtony
06/25/2026, 8:58 PMVlastimil Brecka
06/25/2026, 8:59 PMtony
06/25/2026, 8:59 PMVlastimil Brecka
06/25/2026, 8:59 PMtony
06/25/2026, 9:00 PMtony
06/25/2026, 9:01 PMVlastimil Brecka
06/25/2026, 9:01 PMVlastimil Brecka
06/25/2026, 9:02 PMtony
06/25/2026, 9:04 PMtony
06/25/2026, 9:04 PMtony
06/25/2026, 9:04 PMGraphViewBuilder class and you'll seetony
06/25/2026, 9:06 PMprivate val localOnly: Boolean = false parameter, so apparently it'll do whateverVlastimil Brecka
06/25/2026, 9:08 PMVlastimil Brecka
06/25/2026, 9:10 PMtasks.named it it in respective api projects
and then run ./gradlew markedAsApi and it should be ordered in the order of project dependencies
no?tony
06/25/2026, 9:14 PMbut now you're describing a way where I'm depending on the jar that powers your plugin, not somehow consuming the tasks of that plugin?I think the first thing you should try is apply the plugin and run the task if you find it doesn't meet your needs, some options: 1. If you think you have a generally useful idea, you could contribute it back to the plugin 2. If you think your use-case is too narrow, then you can use an artifact I publish along with the plugin that provides support for what you need
tony
06/25/2026, 9:14 PMmarkedAsApi ideaVlastimil Brecka
06/25/2026, 9:15 PMmarkedAsApi tasks will be the toposortVlastimil Brecka
06/25/2026, 9:16 PMtony
06/25/2026, 9:16 PMVlastimil Brecka
06/25/2026, 9:17 PMVlastimil Brecka
06/25/2026, 9:18 PM-api suffix, and I probably don't want to have some sort of cryptic suffix just to hope to be uniquetony
06/25/2026, 9:19 PMVlastimil Brecka
06/25/2026, 9:20 PMVlastimil Brecka
06/25/2026, 9:20 PMtony
06/25/2026, 9:20 PMVlastimil Brecka
06/25/2026, 9:20 PMVlastimil Brecka
06/25/2026, 9:20 PMVlastimil Brecka
06/25/2026, 9:20 PMtony
06/25/2026, 9:21 PMVlastimil Brecka
06/25/2026, 9:21 PMVlastimil Brecka
06/25/2026, 9:21 PMtony
06/25/2026, 9:21 PMVlastimil Brecka
06/25/2026, 9:22 PMtony
06/25/2026, 9:22 PMMETA-INF for exampletony
06/25/2026, 9:22 PMVlastimil Brecka
06/25/2026, 9:25 PMtony
06/25/2026, 9:25 PMVlastimil Brecka
06/25/2026, 9:26 PMproject.pluginManager.hasPlugin("api-marker") or is that a different project type?tony
06/25/2026, 9:26 PMproject instance
2) doing what you suggest violates IPVlastimil Brecka
06/25/2026, 9:29 PMtony
06/25/2026, 9:29 PMtony
06/25/2026, 9:29 PMtony
06/25/2026, 9:29 PMtony
06/25/2026, 9:30 PMtouching other projects is illegalthat's not the right way to think about it
tony
06/25/2026, 9:30 PMVlastimil Brecka
06/25/2026, 9:31 PMVlastimil Brecka
06/25/2026, 9:31 PMtony
06/25/2026, 9:32 PMVlastimil Brecka
06/25/2026, 9:35 PMtony
06/25/2026, 11:04 PMGraphViewBuilder is internal to my plugin. The graph-support lib is public, however. So it depends on what you're asking aboutVlastimil Brecka
06/25/2026, 11:55 PM./gradlew :client:projectGraphMain and it works, but can I also get a graphviz for the whole build?Vlastimil Brecka
06/25/2026, 11:55 PMtony
06/25/2026, 11:58 PMVlastimil Brecka
06/26/2026, 12:02 AMVlastimil Brecka
06/26/2026, 12:02 AMVlastimil Brecka
06/26/2026, 12:04 AMprojectGraphMain, I couldnt find the generateProjectGraph<source-set> one you mentioned in the beginningtony
06/26/2026, 12:11 AMVampire
06/26/2026, 6:21 AMis this api reachable when writing the normalne project build.gradle? or do I have to be a plugin, or rather only reachable from within a plugin subclass
Anything you can do in a plugin you can do in the normal build script too, it's just not too idiomatic to do imperative logic in the build script.
Vampire
06/26/2026, 6:24 AM(say I have two apps)
Then those two are your entrypoints. If you don't have one entrypoint that depends on the apps at least.