Documentation
¶
Overview ¶
Package rust provides Rust specific functionality for librarian.
Index ¶
- func BumpVersions(ctx context.Context, config *config.Release) error
- func Create(ctx context.Context, outputDir string, generateFn func(context.Context) error) error
- func DefaultOutput(channel, defaultOutput string) string
- func DeriveChannelPath(name string) string
- func Format(ctx context.Context, library *config.Library) error
- func Generate(ctx context.Context, library *config.Library, sources *Sources) error
- func Keep(library *config.Library) ([]string, error)
- func ManifestVersionNeedsBump(gitExe, lastTag, manifest string) (bool, error)
- func Publish(ctx context.Context, config *config.Release, ...) error
- func ReleaseLibrary(library *config.Library, version string) error
- func ToConfigRelease(cfg *sidekickconfig.Release) *config.Release
- func ToConfigTools(sidekickTools []sidekickconfig.Tool) []config.Tool
- type Cargo
- type CrateInfo
- type Sources
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BumpVersions ¶
BumpVersions finds all the crates that need a version bump and performs the bump, changing both the Cargo.toml and sidekick.toml files.
func Create ¶
Create creates a cargo workspace, runs the provided generation function, and validates the library.
TODO(https://github.com/googleapis/librarian/issues/3219): generateFn can be removed once sidekick.rustGenerate is deprecated.
func DefaultOutput ¶
DefaultOutput derives an output path from a channel path and default output. For example: google/cloud/secretmanager/v1 with default src/generated/ returns src/generated/cloud/secretmanager/v1.
func DeriveChannelPath ¶
DeriveChannelPath derives a channel path from a library name. For example: google-cloud-secretmanager-v1 -> google/cloud/secretmanager/v1.
func Format ¶
Format formats a generated Rust library. Must be called sequentially; parallel calls cause race conditions as cargo fmt runs cargo metadata, which competes for locks on the workspace Cargo.toml and Cargo.lock.
func ManifestVersionNeedsBump ¶
ManifestVersionNeedsBump checks if the manifest version needs to be bumped. It returns false if the version has already been updated since the last tag.
func Publish ¶
func Publish(ctx context.Context, config *config.Release, dryRun, dryRunKeepGoing, skipSemverChecks bool) error
Publish finds all the crates that should be published. It can optionally run in dry-run mode, dry-run mode with continue on errors, and/or skip semver checks.
func ReleaseLibrary ¶
ReleaseLibrary bumps version for Cargo.toml files and updates librarian config version.
func ToConfigRelease ¶
func ToConfigRelease(cfg *sidekickconfig.Release) *config.Release
ToConfigRelease translates a sidekick Release config to a librarian Release config.
func ToConfigTools ¶
func ToConfigTools(sidekickTools []sidekickconfig.Tool) []config.Tool
ToConfigTools converts a slice of sidekick tools to a slice of librarian tools.
Types ¶
type Cargo ¶
type Cargo struct {
Package *CrateInfo `toml:"package"`
}
Cargo is a wrapper for CrateInfo for parsing Cargo.toml files.