Documentation
¶
Overview ¶
Package java provides Java specific functionality for librarian.
Index ¶
- Variables
- func Clean(library *config.Library) error
- func DeriveDistributionName(library *config.Library) string
- func Fill(library *config.Library) (*config.Library, error)
- func Format(ctx context.Context, library *config.Library) error
- func Generate(ctx context.Context, cfg *config.Config, library *config.Library, ...) error
- func PostGenerate(ctx context.Context, repoPath string, cfg *config.Config) error
- func Tidy(library *config.Library) *config.Library
- func Validate(library *config.Library) error
- type APICoordinate
- type Coordinate
- type LibraryCoordinate
Constants ¶
This section is empty.
Variables ¶
var ( // ErrInvalidDistributionName is returned when a distribution name override // is incorrectly formatted. ErrInvalidDistributionName = fmt.Errorf("invalid distribution name override") )
Functions ¶
func Clean ¶
Clean removes files in the library's output directory that are not in the keep list. It targets patterns like proto-*, grpc-*, and the main GAPIC module.
func DeriveDistributionName ¶ added in v0.10.0
DeriveDistributionName returns the Maven distribution name (GroupID:ArtifactID) for the library, applying overrides and defaults as necessary.
func Generate ¶
func Generate(ctx context.Context, cfg *config.Config, library *config.Library, srcs *sources.Sources) error
Generate generates a Java client library.
func PostGenerate ¶
PostGenerate performs repository-level actions after all individual Java libraries have been generated.
Types ¶
type APICoordinate ¶ added in v0.10.0
type APICoordinate struct {
LibraryCoordinate
// Proto is the Maven coordinate for the proto module.
Proto Coordinate
// GRPC is the Maven coordinate for the gRPC module.
GRPC Coordinate
}
APICoordinate contains Maven coordinates for the library and its API-specific modules (proto and gRPC).
func DeriveAPICoordinates ¶ added in v0.10.0
func DeriveAPICoordinates(lc LibraryCoordinate, version string) APICoordinate
DeriveAPICoordinates returns the Maven coordinates for the proto and gRPC artifacts associated with a specific API version.
type Coordinate ¶ added in v0.10.0
type Coordinate struct {
// GroupID is the Maven Group ID.
GroupID string
// ArtifactID is the Maven Artifact ID.
ArtifactID string
// Version is the Maven version.
Version string
}
Coordinate represents a Maven Coordinate, uniquely identifies a project artifact using its GroupID, ArtifactID, and Version.
type LibraryCoordinate ¶ added in v0.10.0
type LibraryCoordinate struct {
// GAPIC is the Maven coordinate for the GAPIC module.
GAPIC Coordinate
// Parent is the Maven coordinate for the parent module.
Parent Coordinate
// BOM is the Maven coordinate for the BOM module.
BOM Coordinate
}
LibraryCoordinate contains Maven coordinates for the library modules (GAPIC, parent, and BOM).
func DeriveLibraryCoordinates ¶ added in v0.10.0
func DeriveLibraryCoordinates(library *config.Library) LibraryCoordinate
DeriveLibraryCoordinates calculates the Maven coordinates for the GAPIC library, its parent, and its BOM based on the library's configuration.