Skip to content

Commit 5c2d5d7

Browse files
committed
Moved SetupBuildProperties into proper package
1 parent e2b2496 commit 5c2d5d7

File tree

4 files changed

+30
-52
lines changed

4 files changed

+30
-52
lines changed

arduino/builder/sketch.go

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import (
2424
"github.com/arduino/arduino-cli/arduino/sketch"
2525
"github.com/arduino/arduino-cli/i18n"
2626
"github.com/arduino/go-paths-helper"
27+
"github.com/arduino/go-properties-orderedmap"
2728

2829
"github.com/pkg/errors"
2930
)
@@ -169,3 +170,29 @@ func writeIfDifferent(source []byte, destPath *paths.Path) error {
169170
// Source and destination are the same, don't write anything
170171
return nil
171172
}
173+
174+
// SetupBuildProperties adds the build properties related to the sketch to the
175+
// default board build properties map.
176+
func SetupBuildProperties(boardBuildProperties *properties.Map, buildPath *paths.Path, sketch *sketch.Sketch, optimizeForDebug bool) *properties.Map {
177+
buildProperties := properties.NewMap()
178+
buildProperties.Merge(boardBuildProperties)
179+
180+
if buildPath != nil {
181+
buildProperties.SetPath("build.path", buildPath)
182+
}
183+
if sketch != nil {
184+
buildProperties.Set("build.project_name", sketch.MainFile.Base())
185+
buildProperties.SetPath("build.source.path", sketch.FullPath)
186+
}
187+
if optimizeForDebug {
188+
if debugFlags, ok := buildProperties.GetOk("compiler.optimization_flags.debug"); ok {
189+
buildProperties.Set("compiler.optimization_flags", debugFlags)
190+
}
191+
} else {
192+
if releaseFlags, ok := buildProperties.GetOk("compiler.optimization_flags.release"); ok {
193+
buildProperties.Set("compiler.optimization_flags", releaseFlags)
194+
}
195+
}
196+
197+
return buildProperties
198+
}

commands/compile/compile.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream
149149
defer maybePurgeBuildCache()
150150

151151
// Add build properites related to sketch data
152-
buildProperties = builder.SetupBuildProperties(buildProperties, buildPath, sk, req.GetOptimizeForDebug())
152+
buildProperties = bldr.SetupBuildProperties(buildProperties, buildPath, sk, req.GetOptimizeForDebug())
153153

154154
requiredTools, err := pme.FindToolsRequiredForBuild(targetPlatform, buildPlatform)
155155
if err != nil {

legacy/builder/setup_build_properties.go

Lines changed: 0 additions & 50 deletions
This file was deleted.

legacy/builder/test/builder_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import (
2222
"testing"
2323
"time"
2424

25+
bldr "github.com/arduino/arduino-cli/arduino/builder"
2526
"github.com/arduino/arduino-cli/arduino/cores/packagemanager"
2627
"github.com/arduino/arduino-cli/arduino/sketch"
2728
"github.com/arduino/arduino-cli/legacy/builder"
@@ -89,7 +90,7 @@ func prepareBuilderTestContext(t *testing.T, ctx *types.Context, sketchPath *pat
8990
requiredTools, err := pme.FindToolsRequiredForBuild(targetPlatform, buildPlatform)
9091
require.NoError(t, err)
9192

92-
buildProperties = builder.SetupBuildProperties(buildProperties, ctx.BuildPath, ctx.Sketch, false /*OptimizeForDebug*/)
93+
buildProperties = bldr.SetupBuildProperties(buildProperties, ctx.BuildPath, ctx.Sketch, false /*OptimizeForDebug*/)
9394
ctx.PackageManager = pme
9495
ctx.TargetBoard = targetBoard
9596
ctx.BuildProperties = buildProperties

0 commit comments

Comments
 (0)