libraries
packageThis package is not in the latest version of its module.
Details
Validgo.mod file
The Go module system was introduced in Go 1.11 and is the official dependency management solution for Go.
Redistributable license
Redistributable licenses place minimal restrictions on how software can be used, modified, and redistributed.
Tagged version
Modules with tagged versions give importers more predictable builds.
Stable version
When a project reaches major version v1 it is considered stable.
- Learn more about best practices
Repository
Links
Documentation¶
Index¶
- Variables
- type Library
- func (library *Library) DeclaredHeaders() []string
- func (library *Library) IsArchitectureIndependent() bool
- func (library *Library) IsCompatibleWith(arch string) bool
- func (library *Library) IsOptimizedForArchitecture(arch string) bool
- func (library *Library) SourceDirs() []SourceDir
- func (library *Library) SourceHeaders() ([]string, error)
- func (library *Library) String() string
- func (library *Library) SupportsAnyArchitectureIn(archs ...string) bool
- func (library *Library) ToRPCLibrary() (*rpc.Library, error)
- type LibraryLayout
- type LibraryLocation
- type List
- func (list *List) Add(libs ...*Library)
- func (list *List) Contains(lib *Library) bool
- func (list *List) FilterByVersionAndInstallLocation(version *semver.Version, installLocation LibraryLocation) List
- func (list *List) FindByName(name string) *Library
- func (list *List) Remove(libraryToRemove *Library)
- func (list *List) SortByName()
- type SourceDir
Constants¶
This section is empty.
Variables¶
var MandatoryProperties = []string{"name", "version", "author", "maintainer"}MandatoryProperties FIXMEDOC
var OptionalProperties = []string{"sentence", "paragraph", "url"}OptionalProperties FIXMEDOC
var ValidCategories = map[string]bool{"Display":true,"Communication":true,"Signal Input/Output":true,"Sensors":true,"Device Control":true,"Timing":true,"Data Storage":true,"Data Processing":true,"Other":true,"Uncategorized":true,}
ValidCategories FIXMEDOC
Functions¶
This section is empty.
Types¶
typeLibrary¶
type Library struct {NamestringAuthorstringMaintainerstringSentencestringParagraphstringWebsitestringCategorystringArchitectures []stringTypes []string `json:"types,omitempty"`InstallDir *paths.PathDirNamestringSourceDir *paths.PathUtilityDir *paths.PathLocationLibraryLocationContainerPlatform *cores.PlatformRelease `json:""`LayoutLibraryLayoutDotALinkageboolPrecompiledboolPrecompiledWithSourcesboolLDflagsstringIsLegacyboolInDevelopmentboolVersion *semver.VersionLicensestringProperties *properties.MapExamplespaths.PathListCompatibleWith map[string]bool// contains filtered or unexported fields}Library represents a library in the system
funcLoad¶
func Load(libDir *paths.Path, locationLibraryLocation) (*Library,error)
Load loads a library from the given LibraryLocation
func (*Library)DeclaredHeaders¶
DeclaredHeaders returns the C++ headers that the library declares in library.properties
func (*Library)IsArchitectureIndependent¶
IsArchitectureIndependent returns true if the library declares to becompatible with all architectures (the `architecture` field inlibrary.properties contains the `*` item)
func (*Library)IsCompatibleWith¶
IsCompatibleWith returns true if the library declares compatibility withthe given architecture. If this function returns false, the library may stillbe compatible with the given architecture, but it's not explicitly declared.
func (*Library)IsOptimizedForArchitecture¶
IsOptimizedForArchitecture returns true if the library declares to beexplicitly compatible for a specific architecture (the `architecture` fieldin library.properties contains the architecture passed as parameter)
func (*Library)SourceDirs¶
SourceDirs return all the source directories of a library
func (*Library)SourceHeaders¶
SourceHeaders returns all the C++ headers in the library even if not declared in library.properties
func (*Library)SupportsAnyArchitectureIn¶
SupportsAnyArchitectureIn returns true if any of the following is true:- the library supports at least one of the given architectures- the library is architecture independent- the library doesn't specify any `architecture` field in library.properties
typeLibraryLayout¶
type LibraryLayoutuint16
LibraryLayout represents how the library source code is laid out in the library
const (// FlatLayout is a library without a `src` directoryFlatLayoutLibraryLayout =iota// RecursiveLayout is a library with `src` directory (that allows recursive build)RecursiveLayout)
func (LibraryLayout)MarshalJSON¶
func (dLibraryLayout) MarshalJSON() ([]byte,error)
MarshalJSON implements the json.Marshaler interface
func (*LibraryLayout)String¶
func (d *LibraryLayout) String()string
func (*LibraryLayout)ToRPCLibraryLayout¶
func (d *LibraryLayout) ToRPCLibraryLayout()rpc.LibraryLayout
ToRPCLibraryLayout converts this LibraryLayout to rpc.LibraryLayout
func (*LibraryLayout)UnmarshalJSON¶
func (d *LibraryLayout) UnmarshalJSON(b []byte)error
UnmarshalJSON implements the json.Unmarshaler interface
typeLibraryLocation¶
type LibraryLocationint
LibraryLocation represents where the library is installed
const (// IDEBuiltIn are libraries bundled in the IDEIDEBuiltInLibraryLocation =iota// PlatformBuiltIn are libraries bundled in a PlatformReleasePlatformBuiltIn// ReferencedPlatformBuiltIn are libraries bundled in a PlatformRelease referenced for buildReferencedPlatformBuiltIn// User are user installed librariesUser// Unmanaged is for libraries set manually by the user in the CLI command or from the gRPC function.// Ideally it's used for `libraries` outside folders managed by the CLI.Unmanaged// Profile is for libraries that are part of a sketch profileProfile)
The enumeration is listed in ascending order of priority
funcFromRPCLibraryInstallLocation¶
func FromRPCLibraryInstallLocation(lrpc.LibraryInstallLocation)LibraryLocation
FromRPCLibraryInstallLocation converts a rpc.LibraryInstallLocation to a LibraryLocation
funcFromRPCLibraryLocation¶
func FromRPCLibraryLocation(lrpc.LibraryLocation)LibraryLocation
FromRPCLibraryLocation converts a rpc.LibraryLocation to a LibraryLocation
func (LibraryLocation)MarshalJSON¶
func (dLibraryLocation) MarshalJSON() ([]byte,error)
MarshalJSON implements the json.Marshaler interface
func (*LibraryLocation)String¶
func (d *LibraryLocation) String()string
func (*LibraryLocation)ToRPCLibraryLocation¶
func (d *LibraryLocation) ToRPCLibraryLocation()rpc.LibraryLocation
ToRPCLibraryLocation converts this LibraryLocation to rpc.LibraryLocation
func (*LibraryLocation)UnmarshalJSON¶
func (d *LibraryLocation) UnmarshalJSON(b []byte)error
UnmarshalJSON implements the json.Unmarshaler interface
typeList¶
type List []*Library
List is a list of Libraries
func (*List)FilterByVersionAndInstallLocation¶
func (list *List) FilterByVersionAndInstallLocation(version *semver.Version, installLocationLibraryLocation)List
FilterByVersionAndInstallLocation returns the libraries matching the provided version and install location. If versionis nil all version are matched.
func (*List)FindByName¶
FindByName returns the first library in the list that matchthe specified name or nil if not found