Documentation
¶
Index ¶
- type BufferedUntilNewLineWriter
- type CTag
- type Command
- type Context
- type LibraryResolutionResult
- type PlatforKeyRewrite
- type PlatforKeysRewrite
- type PrintFunc
- type ProgressStruct
- type Prototype
- type Sketch
- type SketchFile
- type SketchFileSortByName
- type SourceFile
- type UniqueSourceFileQueue
- func (queue *UniqueSourceFileQueue) Empty() bool
- func (queue UniqueSourceFileQueue) Len() int
- func (queue UniqueSourceFileQueue) Less(i, j int) bool
- func (queue *UniqueSourceFileQueue) Pop() SourceFile
- func (queue *UniqueSourceFileQueue) Push(value SourceFile)
- func (queue UniqueSourceFileQueue) Swap(i, j int)
- type UniqueStringQueue
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BufferedUntilNewLineWriter ¶
type BufferedUntilNewLineWriter struct {
PrintFunc PrintFunc
Buffer bytes.Buffer
// contains filtered or unexported fields
}
func (*BufferedUntilNewLineWriter) Flush ¶
func (w *BufferedUntilNewLineWriter) Flush()
type Context ¶
type Context struct {
// Build options
HardwareDirs paths.PathList
ToolsDirs paths.PathList
BuiltInToolsDirs paths.PathList
BuiltInLibrariesDirs paths.PathList
OtherLibrariesDirs paths.PathList
SketchLocation *paths.Path
WatchedLocations paths.PathList
ArduinoAPIVersion string
FQBN *cores.FQBN
CodeCompleteAt string
// Build options are serialized here
BuildOptionsJson string
BuildOptionsJsonPrevious string
PackageManager *packagemanager.PackageManager
Hardware *cores.Packages
AllTools []*cores.ToolRelease
RequiredTools []*cores.ToolRelease
TargetBoard *cores.Board
TargetPackage *cores.Package
TargetPlatform *cores.PlatformRelease
ActualPlatform *cores.PlatformRelease
USBVidPid string
PlatformKeyRewrites PlatforKeysRewrite
HardwareRewriteResults map[*cores.PlatformRelease][]PlatforKeyRewrite
BuildProperties properties.Map
BuildCore string
BuildPath *paths.Path
BuildCachePath *paths.Path
SketchBuildPath *paths.Path
CoreBuildPath *paths.Path
CoreBuildCachePath *paths.Path
CoreArchiveFilePath *paths.Path
CoreObjectsFiles paths.PathList
LibrariesBuildPath *paths.Path
LibrariesObjectFiles paths.PathList
PreprocPath *paths.Path
SketchObjectFiles paths.PathList
CollectedSourceFiles *UniqueSourceFileQueue
Sketch *Sketch
Source string
SourceGccMinusE string
CodeCompletions string
WarningsLevel string
// Libraries handling
LibrariesManager *librariesmanager.LibrariesManager
LibrariesResolver *librariesresolver.Cpp
ImportedLibraries libraries.List
LibrariesResolutionResults map[string]LibraryResolutionResult
IncludeFolders paths.PathList
// C++ Parsing
CTagsOutput string
CTagsTargetFile *paths.Path
CTagsOfPreprocessedSource []*CTag
IncludeSection string
LineOffset int
PrototypesSection string
PrototypesLineWhereToInsert int
Prototypes []*Prototype
// Verbosity settings
Verbose bool
DebugPreprocessor bool
// Dry run, only create progress map
Progress ProgressStruct
// Contents of a custom build properties file (line by line)
CustomBuildProperties []string
DebugLevel int
// Reuse old tools since the backing storage didn't change
CanUseCachedTools bool
// Experimental: use arduino-preprocessor to create prototypes
UseArduinoPreprocessor bool
// contains filtered or unexported fields
}
Context structure
func (*Context) ExtractBuildOptions ¶
func (ctx *Context) ExtractBuildOptions() properties.Map
func (*Context) InjectBuildOptions ¶
func (ctx *Context) InjectBuildOptions(opts properties.Map)
type LibraryResolutionResult ¶
type PlatforKeyRewrite ¶
type PlatforKeysRewrite ¶
type PlatforKeysRewrite struct {
Rewrites []PlatforKeyRewrite
}
func (*PlatforKeysRewrite) Empty ¶
func (p *PlatforKeysRewrite) Empty() bool
type ProgressStruct ¶
type Prototype ¶
type Sketch ¶
type Sketch struct {
MainFile SketchFile
OtherSketchFiles []SketchFile
AdditionalFiles []SketchFile
}
type SketchFile ¶
type SketchFile struct {
Name *paths.Path
Source string
}
type SketchFileSortByName ¶
type SketchFileSortByName []SketchFile
func (SketchFileSortByName) Len ¶
func (s SketchFileSortByName) Len() int
func (SketchFileSortByName) Less ¶
func (s SketchFileSortByName) Less(i, j int) bool
func (SketchFileSortByName) Swap ¶
func (s SketchFileSortByName) Swap(i, j int)
type SourceFile ¶
type SourceFile struct {
// Sketch or Library pointer that this source file lives in
Origin interface{}
// Path to the source file within the sketch/library root folder
RelativePath *paths.Path
}
func MakeSourceFile ¶
func MakeSourceFile(ctx *Context, origin interface{}, path *paths.Path) (SourceFile, error)
Create a SourceFile containing the given source file path within the given origin. The given path can be absolute, or relative within the origin's root source folder
func (*SourceFile) DepfilePath ¶
func (f *SourceFile) DepfilePath(ctx *Context) *paths.Path
func (*SourceFile) ObjectPath ¶
func (f *SourceFile) ObjectPath(ctx *Context) *paths.Path
func (*SourceFile) SourcePath ¶
func (f *SourceFile) SourcePath(ctx *Context) *paths.Path
type UniqueSourceFileQueue ¶
type UniqueSourceFileQueue []SourceFile
func (*UniqueSourceFileQueue) Empty ¶
func (queue *UniqueSourceFileQueue) Empty() bool
func (UniqueSourceFileQueue) Len ¶
func (queue UniqueSourceFileQueue) Len() int
func (UniqueSourceFileQueue) Less ¶
func (queue UniqueSourceFileQueue) Less(i, j int) bool
func (*UniqueSourceFileQueue) Pop ¶
func (queue *UniqueSourceFileQueue) Pop() SourceFile
func (*UniqueSourceFileQueue) Push ¶
func (queue *UniqueSourceFileQueue) Push(value SourceFile)
func (UniqueSourceFileQueue) Swap ¶
func (queue UniqueSourceFileQueue) Swap(i, j int)
type UniqueStringQueue ¶
type UniqueStringQueue []string
func (*UniqueStringQueue) Empty ¶
func (queue *UniqueStringQueue) Empty() bool
func (UniqueStringQueue) Len ¶
func (queue UniqueStringQueue) Len() int
func (UniqueStringQueue) Less ¶
func (queue UniqueStringQueue) Less(i, j int) bool
func (*UniqueStringQueue) Pop ¶
func (queue *UniqueStringQueue) Pop() interface{}
func (*UniqueStringQueue) Push ¶
func (queue *UniqueStringQueue) Push(value string)
func (UniqueStringQueue) Swap ¶
func (queue UniqueStringQueue) Swap(i, j int)
Click to show internal directories.
Click to hide internal directories.