From 9255abca241089e9aae39e813552da0565ab8d0c Mon Sep 17 00:00:00 2001 From: Omkar Phansopkar Date: Tue, 11 Mar 2025 12:27:02 +0530 Subject: [PATCH] Updated depsusage docs Signed-off-by: Omkar Phansopkar --- docs/depsusage.md | 24 ++++++++++++++++++++++++ docs/usageevidence.md | 4 ++-- 2 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 docs/depsusage.md diff --git a/docs/depsusage.md b/docs/depsusage.md new file mode 100644 index 0000000..9b1f9bc --- /dev/null +++ b/docs/depsusage.md @@ -0,0 +1,24 @@ +## Dependency Usage Plugin +The depsusage plugin helps identify and analyze if and where dependencies are used within your codebase. The plugin scans codebase and identifies the imports and corresponding identifiers. It uses this identifier -> import association to identify actual usage of dependencies in rest of the code. + +The depsusage plugin accepts a `depsusage.DependencyUsageCallback` which is invoked on capturing any evidence in the codebase. It has two parameters, `context.Context` and [depsusage.UsageEvidence](usageevidence.md) + + +### Usage example with plugin executor +```go +// callback to consume usage evidences +var usageCallback depsusage.DependencyUsageCallback = func(ctx context.Context, evidence *depsusage.UsageEvidence) error { + fmt.Println(evidence) + return nil +} + +// Plugin instance +pluginExecutor, err := plugin.NewTreeWalkPluginExecutor(treeWalker, []core.Plugin{ + depsusage.NewDependencyUsagePlugin(usageCallback), +}) + +// Execute plugin +pluginExecutor.Execute(context.Background(), fileSystem) + +``` + diff --git a/docs/usageevidence.md b/docs/usageevidence.md index a800bbc..73c1650 100644 --- a/docs/usageevidence.md +++ b/docs/usageevidence.md @@ -1,6 +1,6 @@ -# Usag evidence +# Usage evidence -`UsageEvidence` represents the evidence of usage of a module item in a file. Fields - +`depsusage.UsageEvidence` represents the evidence of usage of a module in a file. It is generated in [depsusage](depsusage.md) plugin. Fields - - PackageHint - string