Skip to content

Commit ef3d04a

Browse files
committed
Added some build paths to Context.
Signed-off-by: Cristian Maglie <[email protected]>
1 parent a7e0694 commit ef3d04a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+137
-151
lines changed

src/arduino.cc/arduino-builder/main.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -239,11 +239,11 @@ func main() {
239239
printErrorMessageAndFlagUsage(errors.New("Parameter '" + FLAG_FQBN + "' is mandatory"))
240240
}
241241

242+
// FLAG_BUILD_PATH
242243
buildPath, err := gohasissues.Unquote(*buildPathFlag)
243244
if err != nil {
244245
printCompleteError(err)
245246
}
246-
247247
if buildPath != "" {
248248
_, err := os.Stat(buildPath)
249249
if err != nil {
@@ -256,7 +256,7 @@ func main() {
256256
printCompleteError(err)
257257
}
258258
}
259-
context[constants.CTX_BUILD_PATH] = buildPath
259+
ctx.BuildPath = buildPath
260260

261261
if *vidPidFlag != "" {
262262
context[constants.CTX_VIDPID] = *vidPidFlag

src/arduino.cc/builder/add_additional_entries_to_context.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@ import (
4040
type AddAdditionalEntriesToContext struct{}
4141

4242
func (s *AddAdditionalEntriesToContext) Run(context map[string]interface{}, ctx *types.Context) error {
43-
if utils.MapHas(context, constants.CTX_BUILD_PATH) {
44-
buildPath := context[constants.CTX_BUILD_PATH].(string)
43+
if ctx.BuildPath != "" {
44+
buildPath := ctx.BuildPath
4545
preprocPath, err := filepath.Abs(filepath.Join(buildPath, constants.FOLDER_PREPROC))
4646
if err != nil {
4747
return i18n.WrapError(err)
@@ -59,10 +59,10 @@ func (s *AddAdditionalEntriesToContext) Run(context map[string]interface{}, ctx
5959
return i18n.WrapError(err)
6060
}
6161

62-
context[constants.CTX_PREPROC_PATH] = preprocPath
63-
context[constants.CTX_SKETCH_BUILD_PATH] = sketchBuildPath
64-
context[constants.CTX_LIBRARIES_BUILD_PATH] = librariesBuildPath
65-
context[constants.CTX_CORE_BUILD_PATH] = coreBuildPath
62+
ctx.PreprocPath = preprocPath
63+
ctx.SketchBuildPath = sketchBuildPath
64+
ctx.LibrariesBuildPath = librariesBuildPath
65+
ctx.CoreBuildPath = coreBuildPath
6666
}
6767

6868
if !utils.MapHas(context, constants.CTX_WARNINGS_LEVEL) {

src/arduino.cc/builder/additional_sketch_files_copier.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ type AdditionalSketchFilesCopier struct{}
4343

4444
func (s *AdditionalSketchFilesCopier) Run(context map[string]interface{}, ctx *types.Context) error {
4545
sketch := context[constants.CTX_SKETCH].(*types.Sketch)
46-
sketchBuildPath := context[constants.CTX_SKETCH_BUILD_PATH].(string)
46+
sketchBuildPath := ctx.SketchBuildPath
4747

4848
err := utils.EnsureFolderExists(sketchBuildPath)
4949
if err != nil {

src/arduino.cc/builder/coan_runner.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ func (s *CoanRunner) Run(context map[string]interface{}, ctx *types.Context) err
4949
source += "\n"
5050
verbose := ctx.Verbose
5151

52-
preprocPath := context[constants.CTX_PREPROC_PATH].(string)
52+
preprocPath := ctx.PreprocPath
5353
err := utils.EnsureFolderExists(preprocPath)
5454
if err != nil {
5555
return i18n.WrapError(err)

src/arduino.cc/builder/constants/constants.go

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -80,10 +80,8 @@ const CTX_BUILD_CORE = "buildCore"
8080
const CTX_BUILD_OPTIONS = "buildOptions"
8181
const CTX_BUILD_OPTIONS_JSON = "buildOptionsJson"
8282
const CTX_BUILD_OPTIONS_PREVIOUS_JSON = "buildOptionsPreviousJson"
83-
const CTX_BUILD_PATH = "buildPath"
8483
const CTX_BUILD_PROPERTIES = "buildProperties"
8584
const CTX_COLLECTED_SOURCE_FILES_QUEUE = "collectedSourceFilesQueue"
86-
const CTX_CORE_BUILD_PATH = "coreBuildPath"
8785
const CTX_FILE_PATH_TO_READ = "filePathToRead"
8886
const CTX_FOLDERS_WITH_SOURCES_QUEUE = "foldersWithSourcesQueue"
8987
const CTX_GCC_MINUS_E_SOURCE = "gccMinusESource"
@@ -94,15 +92,12 @@ const CTX_IMPORTED_LIBRARIES = "importedLibraries"
9492
const CTX_INCLUDE_FOLDERS = "includeFolders"
9593
const CTX_INCLUDE_SECTION = "includeSection"
9694
const CTX_INCLUDES_JUST_FOUND = "includesJustFound"
97-
const CTX_LIBRARIES_BUILD_PATH = "librariesBuildPath"
9895
const CTX_LIBRARY_RESOLUTION_RESULTS = "libraryResolutionResults"
9996
const CTX_LINE_OFFSET = "lineOffset"
10097
const CTX_OBJECT_FILES_CORE = "objectFilesCore"
10198
const CTX_OBJECT_FILES_LIBRARIES = "objectFilesLibraries"
10299
const CTX_OBJECT_FILES_SKETCH = "objectFilesSketch"
103100
const CTX_PLATFORM_KEYS_REWRITE = "platformKeysRewrite"
104-
const CTX_PREPROC_PATH = "preprocPath"
105-
const CTX_SKETCH_BUILD_PATH = "sketchBuildPath"
106101
const CTX_SKETCH = "sketch"
107102
const CTX_SOURCE = "source"
108103
const CTX_TARGET_BOARD = "targetBoard"

src/arduino.cc/builder/container_find_includes.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,15 +45,15 @@ func (s *ContainerFindIncludes) Run(context map[string]interface{}, ctx *types.C
4545
return i18n.WrapError(err)
4646
}
4747

48-
sketchBuildPath := context[constants.CTX_SKETCH_BUILD_PATH].(string)
48+
sketchBuildPath := ctx.SketchBuildPath
4949
sketch := context[constants.CTX_SKETCH].(*types.Sketch)
5050
err = findIncludesUntilDone(context, ctx, filepath.Join(sketchBuildPath, filepath.Base(sketch.MainFile.Name)+".cpp"))
5151
if err != nil {
5252
return i18n.WrapError(err)
5353
}
5454

5555
foldersWithSources := context[constants.CTX_FOLDERS_WITH_SOURCES_QUEUE].(*types.UniqueSourceFolderQueue)
56-
foldersWithSources.Push(types.SourceFolder{Folder: context[constants.CTX_SKETCH_BUILD_PATH].(string), Recurse: true})
56+
foldersWithSources.Push(types.SourceFolder{Folder: ctx.SketchBuildPath, Recurse: true})
5757
if utils.MapHas(context, constants.CTX_IMPORTED_LIBRARIES) {
5858
for _, library := range context[constants.CTX_IMPORTED_LIBRARIES].([]*types.Library) {
5959
sourceFolders := types.LibraryToSourceFolder(library)

src/arduino.cc/builder/ctags_target_file_saver.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
package builder
3131

3232
import (
33-
"arduino.cc/builder/constants"
3433
"arduino.cc/builder/i18n"
3534
"arduino.cc/builder/types"
3635
"arduino.cc/builder/utils"
@@ -45,7 +44,7 @@ type CTagsTargetFileSaver struct {
4544
func (s *CTagsTargetFileSaver) Run(context map[string]interface{}, ctx *types.Context) error {
4645
source := context[s.SourceField].(string)
4746

48-
preprocPath := context[constants.CTX_PREPROC_PATH].(string)
47+
preprocPath := ctx.PreprocPath
4948
err := utils.EnsureFolderExists(preprocPath)
5049
if err != nil {
5150
return i18n.WrapError(err)

src/arduino.cc/builder/ensure_buildpath_exists.go

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
package builder
3131

3232
import (
33-
"arduino.cc/builder/constants"
3433
"arduino.cc/builder/i18n"
3534
"arduino.cc/builder/types"
3635
"arduino.cc/builder/utils"
@@ -39,9 +38,7 @@ import (
3938
type EnsureBuildPathExists struct{}
4039

4140
func (s *EnsureBuildPathExists) Run(context map[string]interface{}, ctx *types.Context) error {
42-
buildPath := context[constants.CTX_BUILD_PATH].(string)
43-
44-
err := utils.EnsureFolderExists(buildPath)
41+
err := utils.EnsureFolderExists(ctx.BuildPath)
4542
if err != nil {
4643
return i18n.WrapError(err)
4744
}

src/arduino.cc/builder/fail_if_buildpath_equals_sketchpath.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,18 +33,17 @@ import (
3333
"arduino.cc/builder/constants"
3434
"arduino.cc/builder/i18n"
3535
"arduino.cc/builder/types"
36-
"arduino.cc/builder/utils"
3736
"path/filepath"
3837
)
3938

4039
type FailIfBuildPathEqualsSketchPath struct{}
4140

4241
func (s *FailIfBuildPathEqualsSketchPath) Run(context map[string]interface{}, ctx *types.Context) error {
43-
if !utils.MapHas(context, constants.CTX_BUILD_PATH) || ctx.SketchLocation == "" {
42+
if ctx.BuildPath == "" || ctx.SketchLocation == "" {
4443
return nil
4544
}
4645

47-
buildPath, err := filepath.Abs(context[constants.CTX_BUILD_PATH].(string))
46+
buildPath, err := filepath.Abs(ctx.BuildPath)
4847
if err != nil {
4948
return i18n.WrapError(err)
5049
}

src/arduino.cc/builder/gcc_preproc_runner.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,9 @@ type GCCPreprocRunner struct {
4545
}
4646

4747
func (s *GCCPreprocRunner) Run(context map[string]interface{}, ctx *types.Context) error {
48-
sketchBuildPath := context[constants.CTX_SKETCH_BUILD_PATH].(string)
48+
sketchBuildPath := ctx.SketchBuildPath
4949
sketch := context[constants.CTX_SKETCH].(*types.Sketch)
50-
properties, targetFilePath, err := prepareGCCPreprocRecipeProperties(context, filepath.Join(sketchBuildPath, filepath.Base(sketch.MainFile.Name)+".cpp"), s.TargetFileName)
50+
properties, targetFilePath, err := prepareGCCPreprocRecipeProperties(context, ctx, filepath.Join(sketchBuildPath, filepath.Base(sketch.MainFile.Name)+".cpp"), s.TargetFileName)
5151
if err != nil {
5252
return i18n.WrapError(err)
5353
}
@@ -75,7 +75,7 @@ type GCCPreprocRunnerForDiscoveringIncludes struct {
7575
}
7676

7777
func (s *GCCPreprocRunnerForDiscoveringIncludes) Run(context map[string]interface{}, ctx *types.Context) error {
78-
properties, _, err := prepareGCCPreprocRecipeProperties(context, s.SourceFilePath, s.TargetFilePath)
78+
properties, _, err := prepareGCCPreprocRecipeProperties(context, ctx, s.SourceFilePath, s.TargetFilePath)
7979
if err != nil {
8080
return i18n.WrapError(err)
8181
}
@@ -98,9 +98,9 @@ func (s *GCCPreprocRunnerForDiscoveringIncludes) Run(context map[string]interfac
9898
return nil
9999
}
100100

101-
func prepareGCCPreprocRecipeProperties(context map[string]interface{}, sourceFilePath string, targetFilePath string) (props.PropertiesMap, string, error) {
101+
func prepareGCCPreprocRecipeProperties(context map[string]interface{}, ctx *types.Context, sourceFilePath string, targetFilePath string) (props.PropertiesMap, string, error) {
102102
if targetFilePath != utils.NULLFile() {
103-
preprocPath := context[constants.CTX_PREPROC_PATH].(string)
103+
preprocPath := ctx.PreprocPath
104104
err := utils.EnsureFolderExists(preprocPath)
105105
if err != nil {
106106
return nil, "", i18n.WrapError(err)

0 commit comments

Comments
 (0)