Documentation ¶
Index ¶
Constants ¶
const Filename = "manifest.toml"
Variables ¶
This section is empty.
Functions ¶
func CurrentSDKMajor ¶
func CurrentSDKMajor() int
CurrentSDKMajor returns a major version of this SDK package.
func LoadRuntimeInfo ¶ added in v3.1.0
LoadRuntimeInfo reads a build manifest file with a given open function and sets runtime-related information to m.
func SDKVersion ¶
SDKVersion detects a Babelfish SDK version of a driver. Returned format is "x[.y[.z]]".
Types ¶
type DevelopmentStatus ¶
type DevelopmentStatus string
const ( Planning DevelopmentStatus = "planning" PreAlpha DevelopmentStatus = "pre-alpha" Alpha DevelopmentStatus = "alpha" Beta DevelopmentStatus = "beta" Stable DevelopmentStatus = "stable" Mature DevelopmentStatus = "mature" Inactive DevelopmentStatus = "inactive" )
func (DevelopmentStatus) Rank ¶
func (s DevelopmentStatus) Rank() int
Rank is an integer indicating driver stability. Higher is better.
type Documentation ¶
type Feature ¶
type Feature string
Feature describes which level of information driver can produce.
const ( // AST is a basic feature required for the driver. Driver can parse files and return native language AST. AST Feature = "ast" // UAST feature indicates that driver properly converts AST to UAST without further annotating it. UAST Feature = "uast" // Roles feature indicates that driver annotates UAST with roles. All node types are annotated. Roles Feature = "roles" )
type Maintainer ¶
type Maintainer struct { Name string `json:",omitempty"` Email string `json:",omitempty"` Github string `json:",omitempty"` // github handle }
Maintainer is an information about project maintainer.
func Maintainers ¶
func Maintainers(read ReadFunc) ([]Maintainer, error)
Maintainers reads and parses the MAINTAINERS file using the provided function.
func (Maintainer) GithubURL ¶
func (m Maintainer) GithubURL() string
GithubURL returns github profile URL.
func (Maintainer) URL ¶
func (m Maintainer) URL() string
URL returns a contact of the maintainer (either Github profile or email link).
type Manifest ¶
type Manifest struct { Name string `toml:"name"` // human-readable name Language string `toml:"language"` Aliases []string `toml:"aliases"` // language name aliases, see Enry/Linguist Version string `toml:"version,omitempty" json:",omitempty"` Build time.Time `toml:"build,omitempty" json:",omitempty"` Status DevelopmentStatus `toml:"status"` SDKVersion string `toml:"-"` // read from go.mod Documentation *Documentation `toml:"documentation,omitempty" json:",omitempty"` Runtime struct { NativeVersion string `toml:"-" json:",omitempty"` GoVersion string `toml:"-" json:",omitempty"` } `toml:"-" json:"Runtimes"` // read from build.yml Features []Feature `toml:"features" json:",omitempty"` Maintainers []Maintainer `toml:"-" json:",omitempty"` // read from MAINTAINERS }
func (Manifest) ForCurrentSDK ¶
ForCurrentSDK indicates that driver is built for the same major version of SDK.
func (Manifest) InDevelopment ¶
InDevelopment indicates that driver is incomplete and should only be used for development purposes.
func (Manifest) IsRecommended ¶
IsRecommended indicates that driver is stable enough to be used in production.