Documentation
¶
Overview ¶
Package java provides Java specific functionality for librarian.
Index ¶
- Variables
- func Add(lib *config.Library) *config.Library
- func Clean(library *config.Library) error
- func DefaultLibraryName(api string) string
- 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 ResolveJavaAPI(library *config.Library, api *config.API) *config.JavaAPI
- 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") // ErrOmitCommonResourcesConflict is returned when OmitCommonResources is true // but common_resources.proto is also explicitly listed in AdditionalProtos. ErrOmitCommonResourcesConflict = fmt.Errorf("conflict: OmitCommonResources is true but google/cloud/common_resources.proto is explicitly listed in AdditionalProtos") )
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 DefaultLibraryName ¶ added in v0.11.0
DefaultLibraryName derives a default library name from an API path by stripping known prefixes (e.g., "google/cloud/", "google/api/") and returning all segments except the last one, joined by dashes.
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.
func ResolveJavaAPI ¶ added in v0.11.0
ResolveJavaAPI returns the Java-specific configuration for the given API. TODO(https://github.com/googleapis/librarian/issues/5050): Exported to use in migrate tool, unexport after migrate is done.
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, javaAPI *config.JavaAPI) 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.