From b6685abdae2d85acc345e5e0d0194e450b3dd2f4 Mon Sep 17 00:00:00 2001 From: Alessio Perugini Date: Tue, 12 Sep 2023 16:18:55 +0200 Subject: [PATCH] remove fqbn from Context --- arduino/builder/build_options_manager.go | 7 +++---- arduino/builder/builder.go | 4 ++-- arduino/builder/sketch_test.go | 6 +++--- commands/compile/compile.go | 3 +-- legacy/builder/test/builder_test.go | 10 +++++----- legacy/builder/test/store_build_options_map_test.go | 2 +- legacy/builder/types/context.go | 1 - 7 files changed, 15 insertions(+), 18 deletions(-) diff --git a/arduino/builder/build_options_manager.go b/arduino/builder/build_options_manager.go index db0aa8a5059..3079ecf9ea6 100644 --- a/arduino/builder/build_options_manager.go +++ b/arduino/builder/build_options_manager.go @@ -22,6 +22,7 @@ import ( "github.com/arduino/arduino-cli/arduino/builder/logger" "github.com/arduino/arduino-cli/arduino/builder/utils" + "github.com/arduino/arduino-cli/arduino/cores" "github.com/arduino/arduino-cli/arduino/sketch" "github.com/arduino/go-paths-helper" properties "github.com/arduino/go-properties-orderedmap" @@ -42,7 +43,6 @@ type BuildOptionsManager struct { buildCorePath *paths.Path sketch *sketch.Sketch customBuildProperties []string - fqbn string compilerOptimizationFlags string clean bool builderLogger *logger.BuilderLogger @@ -54,7 +54,7 @@ func NewBuildOptionsManager( builtInLibrariesDirs, buildPath *paths.Path, sketch *sketch.Sketch, customBuildProperties []string, - fqbn string, + fqbn *cores.FQBN, clean bool, compilerOptimizationFlags string, runtimePlatformPath, buildCorePath *paths.Path, @@ -66,7 +66,7 @@ func NewBuildOptionsManager( opts.Set("builtInToolsFolders", strings.Join(builtInToolsDirs.AsStrings(), ",")) opts.Set("otherLibrariesFolders", strings.Join(otherLibrariesDirs.AsStrings(), ",")) opts.SetPath("sketchLocation", sketch.FullPath) - opts.Set("fqbn", fqbn) + opts.Set("fqbn", fqbn.String()) opts.Set("customBuildProperties", strings.Join(customBuildProperties, ",")) opts.Set("compiler.optimization_flags", compilerOptimizationFlags) @@ -96,7 +96,6 @@ func NewBuildOptionsManager( buildCorePath: buildCorePath, sketch: sketch, customBuildProperties: customBuildProperties, - fqbn: fqbn, compilerOptimizationFlags: compilerOptimizationFlags, clean: clean, builderLogger: buildLogger, diff --git a/arduino/builder/builder.go b/arduino/builder/builder.go index b8802a48bfc..169d729e33a 100644 --- a/arduino/builder/builder.go +++ b/arduino/builder/builder.go @@ -20,6 +20,7 @@ import ( "fmt" "github.com/arduino/arduino-cli/arduino/builder/logger" + "github.com/arduino/arduino-cli/arduino/cores" "github.com/arduino/arduino-cli/arduino/sketch" "github.com/arduino/go-paths-helper" "github.com/arduino/go-properties-orderedmap" @@ -53,7 +54,6 @@ type Builder struct { hardwareDirs, builtInToolsDirs, otherLibrariesDirs paths.PathList builtInLibrariesDirs *paths.Path - fqbn string clean bool compilerOptimizationFlags string @@ -71,7 +71,7 @@ func NewBuilder( requestBuildProperties []string, hardwareDirs, builtInToolsDirs, otherLibrariesDirs paths.PathList, builtInLibrariesDirs *paths.Path, - fqbn string, + fqbn *cores.FQBN, clean bool, logger *logger.BuilderLogger, ) (*Builder, error) { diff --git a/arduino/builder/sketch_test.go b/arduino/builder/sketch_test.go index d01bc5e7a97..51938da6350 100644 --- a/arduino/builder/sketch_test.go +++ b/arduino/builder/sketch_test.go @@ -50,7 +50,7 @@ func TestMergeSketchSources(t *testing.T) { b, err := NewBuilder( sk, nil, paths.New("testdata"), false, nil, 0, nil, - nil, nil, nil, nil, "", false, nil) + nil, nil, nil, nil, nil, false, nil) require.NoError(t, err) offset, source, err := b.sketchMergeSources(nil) @@ -66,7 +66,7 @@ func TestMergeSketchSourcesArduinoIncluded(t *testing.T) { // ensure not to include Arduino.h when it's already there b, err := NewBuilder(sk, nil, paths.New("testdata"), false, nil, 0, nil, - nil, nil, nil, nil, "", false, nil) + nil, nil, nil, nil, nil, false, nil) require.NoError(t, err) _, source, err := b.sketchMergeSources(nil) @@ -84,7 +84,7 @@ func TestCopyAdditionalFiles(t *testing.T) { require.Nil(t, err) require.Equal(t, sk1.AdditionalFiles.Len(), 1) b1, err := NewBuilder(sk1, nil, paths.New("testdata"), false, nil, 0, nil, - nil, nil, nil, nil, "", false, nil) + nil, nil, nil, nil, nil, false, nil) require.NoError(t, err) // copy the sketch over, create a fake main file we don't care about it diff --git a/commands/compile/compile.go b/commands/compile/compile.go index df520d8fbdc..46d4870875a 100644 --- a/commands/compile/compile.go +++ b/commands/compile/compile.go @@ -182,7 +182,6 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream builderCtx.TargetPackage = targetPackage builderCtx.ActualPlatform = buildPlatform builderCtx.RequiredTools = requiredTools - builderCtx.FQBN = fqbn builderCtx.ProgressCB = progressCB // FIXME: This will be redundant when arduino-builder will be part of the cli @@ -212,7 +211,7 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream builderCtx.BuiltInToolsDirs, builderCtx.OtherLibrariesDirs, builderCtx.BuiltInLibrariesDirs, - builderCtx.FQBN.String(), + fqbn, builderCtx.Clean, builderLogger, ) diff --git a/legacy/builder/test/builder_test.go b/legacy/builder/test/builder_test.go index 56aba6d3d7c..4a33b8b6920 100644 --- a/legacy/builder/test/builder_test.go +++ b/legacy/builder/test/builder_test.go @@ -41,7 +41,7 @@ type skipContextPreparationStepName string const skipLibraries = skipContextPreparationStepName("libraries") -func prepareBuilderTestContext(t *testing.T, ctx *types.Context, sketchPath *paths.Path, fqbn string, skips ...skipContextPreparationStepName) *types.Context { +func prepareBuilderTestContext(t *testing.T, ctx *types.Context, sketchPath *paths.Path, fqbnString string, skips ...skipContextPreparationStepName) *types.Context { DownloadCoresAndToolsAndLibraries(t) stepToSkip := map[skipContextPreparationStepName]bool{} @@ -106,12 +106,12 @@ func prepareBuilderTestContext(t *testing.T, ctx *types.Context, sketchPath *pat ctx.Builder, err = bldr.NewBuilder( sk, nil, buildPath, false, nil, 0, nil, ctx.HardwareDirs, ctx.BuiltInToolsDirs, ctx.OtherLibrariesDirs, - ctx.BuiltInLibrariesDirs, fqbn, ctx.Clean, builderLogger, + ctx.BuiltInLibrariesDirs, parseFQBN(t, "a:b:c"), ctx.Clean, builderLogger, ) require.NoError(t, err) - if fqbn != "" { - ctx.FQBN = parseFQBN(t, fqbn) - targetPackage, targetPlatform, targetBoard, boardBuildProperties, buildPlatform, err := pme.ResolveFQBN(ctx.FQBN) + if fqbnString != "" { + fqbn := parseFQBN(t, fqbnString) + targetPackage, targetPlatform, targetBoard, boardBuildProperties, buildPlatform, err := pme.ResolveFQBN(fqbn) require.NoError(t, err) requiredTools, err := pme.FindToolsRequiredForBuild(targetPlatform, buildPlatform) require.NoError(t, err) diff --git a/legacy/builder/test/store_build_options_map_test.go b/legacy/builder/test/store_build_options_map_test.go index 970358a2877..ad087a0c48b 100644 --- a/legacy/builder/test/store_build_options_map_test.go +++ b/legacy/builder/test/store_build_options_map_test.go @@ -39,7 +39,7 @@ func TestCheckIfBuildOptionsChanged(t *testing.T) { buildOptionsManager := builder.NewBuildOptionsManager( hardwareDirs, builtInToolsDirs, otherLibrariesDirs, builtInLibrariesDirs, buildPath, &sketch.Sketch{FullPath: paths.New("sketchLocation")}, []string{"custom=prop"}, - fqbn.String(), false, + fqbn, false, buildProperties.Get("compiler.optimization_flags"), buildProperties.GetPath("runtime.platform.path"), buildProperties.GetPath("build.core.path"), diff --git a/legacy/builder/types/context.go b/legacy/builder/types/context.go index 33d4d32c4e1..3e2deeecb6e 100644 --- a/legacy/builder/types/context.go +++ b/legacy/builder/types/context.go @@ -39,7 +39,6 @@ type Context struct { BuiltInToolsDirs paths.PathList BuiltInLibrariesDirs *paths.Path OtherLibrariesDirs paths.PathList - FQBN *cores.FQBN Clean bool // Build options are serialized here