Documentation
¶
Index ¶
- func DeduplicateAllDeps(mavenConfig *bufremotepluginconfig.MavenRegistryConfig) error
- func MergeTransitiveDeps(pluginConfig *bufremotepluginconfig.Config, pluginsDir string) error
- func RegenerateMavenDeps(pluginVersionDir, pluginsDir string) error
- func RenderPOM(pluginConfig *bufremotepluginconfig.Config) (string, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DeduplicateAllDeps ¶
func DeduplicateAllDeps( mavenConfig *bufremotepluginconfig.MavenRegistryConfig, ) error
DeduplicateAllDeps deduplicates across the main Deps and all AdditionalRuntimes Deps using a shared seen set. This ensures the flat <dependencies> block in the rendered POM contains no duplicates. Returns an error if two entries share the same groupId:artifactId coordinate but differ in version.
func MergeTransitiveDeps ¶
func MergeTransitiveDeps( pluginConfig *bufremotepluginconfig.Config, pluginsDir string, ) error
MergeTransitiveDeps resolves Maven dependencies from the top-level deps stanza in the plugin config and merges them into the plugin's Maven registry config. Dependencies are resolved transitively so that all Maven artifacts needed for offline builds are included in the POM.
func RegenerateMavenDeps ¶
RegenerateMavenDeps processes a Maven plugin version directory by merging transitive deps, deduplicating, and rendering POM to a pom.xml file. When transitive deps bring in newer versions of artifacts already pinned in the plugin's buf.plugin.yaml, the YAML file is updated first so that deduplication and POM generation see consistent versions. Returns nil without changes if the plugin has no Maven registry config.
func RenderPOM ¶
func RenderPOM(pluginConfig *bufremotepluginconfig.Config) (string, error)
RenderPOM generates a Maven POM XML from a parsed plugin config. The POM includes all runtime dependencies, additional runtimes, and kotlin-maven-plugin for Kotlin plugins. maven-compiler-plugin and maven-source-plugin are bundled in the maven-jdk base image.
Types ¶
This section is empty.