You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CLAUDE.md
+5-5Lines changed: 5 additions & 5 deletions
Original file line number
Diff line number
Diff line change
@@ -76,11 +76,11 @@ Launchr is a CLI action runner that executes tasks defined in YAML files across
76
76
- Mutex-protected operations for concurrency safety
77
77
-`fs.FS` interface for filesystem abstraction
78
78
- JSON Schema validation for inputs and configuration
79
-
-**Plugin Replacement Logic**: In `plugins/builder/environment.go:133-149`, when downloading plugins during build, the system uses a two-phase approach:
80
-
1.**Subpath Detection**: Skip plugins that are subpaths of replaced modules (`p.Path != repl && strings.HasPrefix(p.Path, repl)`) using labeled loop control
81
-
2.**Exact Match Handling**: Process plugins that exactly match replaced modules (`p.Path == repl`) as replaced plugins requiring special handling
82
-
83
-
This prevents downloading dependencies for sub-plugins when their parent module is replaced while ensuring exact matches are handled correctly.
79
+
-**Plugin Replacement Logic**: In `plugins/builder/environment.go`, the system handles Go module replacements:
80
+
- When ensuring modules are required, the system checks if a module is explicitly replaced (exact match) or if a plugin is a subpath of any replaced module (`p.Path != repl && strings.HasPrefix(p.Path, repl)`) to skip downloading its dependencies. This logic is inlined for direct use.
81
+
-`ensureModuleRequired(ctx, modulePath, modReplace)`: This method ensures that a module is correctly added to `go.mod`, using a placeholder version if the module is replaced.
82
+
83
+
This approach ensures that exact module replacements are handled correctly, while sub-plugins of replaced modules are properly skipped during dependency resolution, preventing unnecessary downloads and maintaining module integrity.
0 commit comments