🗡 A tool to visualize Dagger 2 dependency graphs
APACHE-2.0 License
Published by arunkumar9t2 over 3 years ago
mavenCentral
at dev.arunkumar:scabbard-processor:0.5.0
coordinate.jcenter()
repository.StandardLocation.SOURCE_OUTPUT
folder which is the same folder as dagger or other annotation processor generated code. This location is by default indexed by IntelliJ/Android Studio and fixes issues where gutter icons were not shown due to folder not getting indexed. The generated images also can be directly viewed under java (generated)
source set in IDE.Scabbard can add hyperlinks to generated full binding graph when Dagger's missing binding error is detected. This requires fullBindingGraphValidation
to be set to true
. Clicking the component name will open the full binding graph which would contain the missing binding visualization as shown below:
hilt-android-compiler
was applied.@MergeComponent
and @MergeSubcomponent
annotationssamples/kotlin-anvil
addedGutter icons now shows option to open the svg file in browser directly. From the browser, the svg file can be navigated using component hyperlinks
Update to Kotlin
1.5.0and
Dagger 2.37`
Published by arunkumar9t2 over 4 years ago
Announcement post
@AndroidEntryPoint
, @HiltAndroidApp
and @DefineComponent
.Scabbard generates a new tree_$component.$format
file that shows the component hierarchy and scopes.
StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J:
warning in build logjava
pluginPublished by arunkumar9t2 over 4 years ago
@BindsInstance
nodes are now rendered differently in parallelogram shape.Subcomponent
. This is helpful when we like to know which bindings are inherited and from which component.Published by arunkumar9t2 over 4 years ago
scabbard {
enabled true
outputFormat "svg" // default png
}
svgs
and are interactive.scabbard {
enabled true
qualifiedNames true // default false
}
full_
.StandardLocation.CLASS_OUTPUT
.
build/classes/java/$sourceSet/scabbard
build/tmp/kapt3/classes/$sourceSet/scabbard
@ContributesAndroidInjector
. Previously when dagger.Android
was used, one has to manually navigate to the generated subcomponent to view the graph. Now it is possible to directly open the generated subcomponents' graph with this new icon.full_
.closure
s. Now that has been refactored to below.
scabbard { // this : ScabbardPluginExtension
enabled = true
failOnError = false
outputFormat = "svg"
}
- scabbard.configure(closureOf<ScabbardSpec> {
+ scabbard { // this : ScabbardPluginExtension
enabled = true
failOnError = false
+ }
- })
build.gradle
, it automatically configures all subprojects
.Missing Binding
.SET
or MAP
labels. Now it is only Set|Map<Type>
.failOnError
and fullBindingGraphValidation
are used, build fails with FilerException
.kapt
not found for java
projects..dot
file even if image generation fails for any reason. (OOM etc.)Published by arunkumar9t2 almost 5 years ago