vanniktech / gradle-dependency-graph-generator-plugin

Gradle plugin that generates dependency graphs from your project.
http://vanniktech.com
Apache License 2.0
1.55k stars 97 forks source link

Properly support configuration cache #170

Open vanniktech opened 2 years ago

vanniktech commented 2 years ago

When executing the tasks with configuration cache: ./gradlew --configuration-cache generateProjectDependencyGraph it succeeds. However when re-running the same command it fails:

46 problems were found reusing the configuration cache, 24 of which seem unique.
- Task `:generateProjectDependencyGraph` of type `com.vanniktech.dependency.graph.generator.ProjectDependencyGraphGeneratorTask`: value '[]' is not assignable to 'guru.nidi.graphviz.model.LinkList'
- Task `:generateProjectDependencyGraph` of type `com.vanniktech.dependency.graph.generator.ProjectDependencyGraphGeneratorTask`: value '[guru.nidi.graphviz.model.Link@2b7e326c]' is not assignable to 'guru.nidi.graphviz.model.LinkList'
- Task `:generateProjectDependencyGraph` of type `com.vanniktech.dependency.graph.generator.ProjectDependencyGraphGeneratorTask`: value '[guru.nidi.graphviz.model.Link@2ba285e1, guru.nidi.graphviz.model.Link@b79a4bce, guru.nidi.graphviz.model.Link@fa63c22e, guru.nidi.graphviz.model.Link@af784d8a, guru.nidi.graphviz.model.Link@d5a5141a, guru.nidi.graphviz.model.Link@e8e8cf2d, guru.nidi.graphviz.model.Link@22e93fdd, guru.nidi.graphviz.model.Link@ebecb496, guru.nidi.graphviz.model.Link@9c8516a, guru.nidi.graphviz.model.Link@2b7e326c, guru.nidi.graphviz.model.Link@54d999e, guru.nidi.graphviz.model.Link@88b9e1c8, guru.nidi.graphviz.model.Link@4f2f54d1, guru.nidi.graphviz.model.Link@a344e934, guru.nidi.graphviz.model.Link@6ed6271e, guru.nidi.graphviz.model.Link@ef3f1581, guru.nidi.graphviz.model.Link@5052878a, guru.nidi.graphviz.model.Link@47583ebe, guru.nidi.graphviz.model.Link@7e8759f5, guru.nidi.graphviz.model.Link@9be97755, guru.nidi.graphviz.model.Link@6336583d, guru.nidi.graphviz.model.Link@2223c409, guru.nidi.graphviz.model.Link@4e72a8bf, guru.nidi.graphviz.model.Link@76cd89f9, guru.nidi.graphviz.model.Link@89374b3f, guru.nidi.graphviz.model.Link@e6e5c20d, guru.nidi.graphviz.model.Link@8764957a, guru.nidi.graphviz.model.Link@f7cf8c81, guru.nidi.graphviz.model.Link@e1677e45, guru.nidi.graphviz.model.Link@de72af02, guru.nidi.graphviz.model.Link@3d70b7ce, guru.nidi.graphviz.model.Link@a005db3b, guru.nidi.graphviz.model.Link@75d473f8, guru.nidi.graphviz.model.Link@569ba552, guru.nidi.graphviz.model.Link@8b8f339c, guru.nidi.graphviz.model.Link@6bb15a5d]' is not assignable to 'guru.nidi.graphviz.model.LinkList'
- Task `:generateProjectDependencyGraph` of type `com.vanniktech.dependency.graph.generator.ProjectDependencyGraphGeneratorTask`: value '[guru.nidi.graphviz.model.Link@4e72a8bf, guru.nidi.graphviz.model.Link@2b7e326c]' is not assignable to 'guru.nidi.graphviz.model.LinkList'
- Task `:generateProjectDependencyGraph` of type `com.vanniktech.dependency.graph.generator.ProjectDependencyGraphGeneratorTask`: value '[guru.nidi.graphviz.model.Link@54d999e, guru.nidi.graphviz.model.Link@2b7e326c]' is not assignable to 'guru.nidi.graphviz.model.LinkList'
- Task `:generateProjectDependencyGraph` of type `com.vanniktech.dependency.graph.generator.ProjectDependencyGraphGeneratorTask`: value '[guru.nidi.graphviz.model.Link@5627781a]' is not assignable to 'guru.nidi.graphviz.model.LinkList'
- Task `:generateProjectDependencyGraph` of type `com.vanniktech.dependency.graph.generator.ProjectDependencyGraphGeneratorTask`: value '[guru.nidi.graphviz.model.Link@5bd41a62, guru.nidi.graphviz.model.Link@2b7e326c]' is not assignable to 'guru.nidi.graphviz.model.LinkList'
- Task `:generateProjectDependencyGraph` of type `com.vanniktech.dependency.graph.generator.ProjectDependencyGraphGeneratorTask`: value '[guru.nidi.graphviz.model.Link@5bd41a62, guru.nidi.graphviz.model.Link@8764957a, guru.nidi.graphviz.model.Link@89374b3f, guru.nidi.graphviz.model.Link@7e8759f5, guru.nidi.graphviz.model.Link@2223c409, guru.nidi.graphviz.model.Link@2b7e326c]' is not assignable to 'guru.nidi.graphviz.model.LinkList'
- Task `:generateProjectDependencyGraph` of type `com.vanniktech.dependency.graph.generator.ProjectDependencyGraphGeneratorTask`: value '[guru.nidi.graphviz.model.Link@6336583d, guru.nidi.graphviz.model.Link@e1677e45, guru.nidi.graphviz.model.Link@2b7e326c]' is not assignable to 'guru.nidi.graphviz.model.LinkList'
- Task `:generateProjectDependencyGraph` of type `com.vanniktech.dependency.graph.generator.ProjectDependencyGraphGeneratorTask`: value '[guru.nidi.graphviz.model.Link@6bb15a5d, guru.nidi.graphviz.model.Link@2b7e326c]' is not assignable to 'guru.nidi.graphviz.model.LinkList'
- Task `:generateProjectDependencyGraph` of type `com.vanniktech.dependency.graph.generator.ProjectDependencyGraphGeneratorTask`: value '[guru.nidi.graphviz.model.Link@75d473f8, guru.nidi.graphviz.model.Link@2b7e326c]' is not assignable to 'guru.nidi.graphviz.model.LinkList'
- Task `:generateProjectDependencyGraph` of type `com.vanniktech.dependency.graph.generator.ProjectDependencyGraphGeneratorTask`: value '[guru.nidi.graphviz.model.Link@75d473f8, guru.nidi.graphviz.model.Link@8b8f339c, guru.nidi.graphviz.model.Link@2b7e326c]' is not assignable to 'guru.nidi.graphviz.model.LinkList'
- Task `:generateProjectDependencyGraph` of type `com.vanniktech.dependency.graph.generator.ProjectDependencyGraphGeneratorTask`: value '[guru.nidi.graphviz.model.Link@76cd89f9, guru.nidi.graphviz.model.Link@f7cf8c81, guru.nidi.graphviz.model.Link@2b7e326c]' is not assignable to 'guru.nidi.graphviz.model.LinkList'
- Task `:generateProjectDependencyGraph` of type `com.vanniktech.dependency.graph.generator.ProjectDependencyGraphGeneratorTask`: value '[guru.nidi.graphviz.model.Link@87a88bdf, guru.nidi.graphviz.model.Link@7c08bcfe, guru.nidi.graphviz.model.Link@67450d80, guru.nidi.graphviz.model.Link@8f9feeba]' is not assignable to 'guru.nidi.graphviz.model.LinkList'
- Task `:generateProjectDependencyGraph` of type `com.vanniktech.dependency.graph.generator.ProjectDependencyGraphGeneratorTask`: value '[guru.nidi.graphviz.model.Link@88b9e1c8, guru.nidi.graphviz.model.Link@4f2f54d1, guru.nidi.graphviz.model.Link@47583ebe, guru.nidi.graphviz.model.Link@2b7e326c]' is not assignable to 'guru.nidi.graphviz.model.LinkList'
plus 9 more problems. Please see the report for details.

See the complete report at file:///Users/niklas/dev/becoach/becoach-frontend/build/reports/configuration-cache/56twtfnbz7ws0rfb9g3n13doy/2jpl725fjvb9iyupg9sl6alsr/configuration-cache-report.html
SimonMarquis commented 2 years ago

I guess this is because graphviz classes like guru.nidi.graphviz.model.LinkList, guru.nidi.graphviz.attribute.Label, etc are not Serializable.