Skip to content

Implemented --show-properties in board details command #2151

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 12 commits into from
Apr 19, 2023
Prev Previous commit
Next Next commit
Removed SetCustomBuildProperties from legacy
  • Loading branch information
cmaglie committed Apr 17, 2023
commit e3d287177fe13424b1e19d77ff369cd866cd67e5
12 changes: 10 additions & 2 deletions commands/compile/compile.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ import (
"github.com/arduino/arduino-cli/legacy/builder/types"
rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1"
paths "github.com/arduino/go-paths-helper"
"github.com/arduino/go-properties-orderedmap"
"github.com/sirupsen/logrus"
)

Expand Down Expand Up @@ -151,6 +152,14 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream
// Add build properites related to sketch data
buildProperties = bldr.SetupBuildProperties(buildProperties, buildPath, sk, req.GetOptimizeForDebug())

// Add user provided custom build properties
customBuildPropertiesArgs := append(req.GetBuildProperties(), "build.warn_data_percentage=75")
if customBuildProperties, err := properties.LoadFromSlice(req.GetBuildProperties()); err == nil {
buildProperties.Merge(customBuildProperties)
} else {
return nil, &arduino.InvalidArgumentError{Message: tr("Invalid build properties"), Cause: err}
}

requiredTools, err := pme.FindToolsRequiredForBuild(targetPlatform, buildPlatform)
if err != nil {
return nil, err
Expand All @@ -167,6 +176,7 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream
builderCtx.ActualPlatform = buildPlatform
builderCtx.RequiredTools = requiredTools
builderCtx.BuildProperties = buildProperties
builderCtx.CustomBuildProperties = customBuildPropertiesArgs
builderCtx.UseCachedLibrariesResolution = req.GetSkipLibrariesDiscovery()
builderCtx.FQBN = fqbn
builderCtx.Sketch = sk
Expand All @@ -188,8 +198,6 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream
builderCtx.Jobs = int(req.GetJobs())
builderCtx.WarningsLevel = req.GetWarnings()

builderCtx.CustomBuildProperties = append(req.GetBuildProperties(), "build.warn_data_percentage=75")

if req.GetBuildCachePath() == "" {
builderCtx.CoreBuildCachePath = paths.TempDir().Join("arduino", "cores")
} else {
Expand Down
1 change: 0 additions & 1 deletion legacy/builder/container_setup.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@ func (s *ContainerSetupHardwareToolsLibsSketchAndProps) Run(ctx *types.Context)
&AddAdditionalEntriesToContext{},
&FailIfBuildPathEqualsSketchPath{},
&LibrariesLoader{},
&SetCustomBuildProperties{},
}
for _, command := range commands {
PrintRingNameIfDebug(ctx, command)
Expand Down
36 changes: 0 additions & 36 deletions legacy/builder/set_custom_build_properties.go

This file was deleted.

16 changes: 4 additions & 12 deletions legacy/builder/test/setup_build_properties_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import (
"github.com/arduino/arduino-cli/legacy/builder"
"github.com/arduino/arduino-cli/legacy/builder/types"
paths "github.com/arduino/go-paths-helper"
"github.com/arduino/go-properties-orderedmap"
"github.com/stretchr/testify/require"
)

Expand Down Expand Up @@ -87,21 +88,12 @@ func TestSetupBuildPropertiesWithSomeCustomOverrides(t *testing.T) {
}
ctx = prepareBuilderTestContext(t, ctx, paths.New("sketch1", "sketch1.ino"), "arduino:avr:uno")
defer cleanUpBuilderTestContext(t, ctx)

commands := []types.Command{
&builder.AddAdditionalEntriesToContext{},
&builder.SetCustomBuildProperties{},
}

for _, command := range commands {
err := command.Run(ctx)
NoError(t, err)
}
customProps, err := properties.LoadFromSlice(ctx.CustomBuildProperties)
NoError(t, err)
ctx.BuildProperties.Merge(customProps)

buildProperties := ctx.BuildProperties

require.Equal(t, "ARDUINO", buildProperties.Get("software"))

require.Equal(t, "uno", buildProperties.Get("_id"))
require.Equal(t, "fake name", buildProperties.Get("name"))
require.Equal(t, "\"{compiler.path}{compiler.c.cmd}\" {compiler.c.flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.c.extra_flags} {build.extra_flags} {includes} \"{source_file}\" -o \"{object_file}\"", buildProperties.Get("recipe.c.o.pattern"))
Expand Down
2 changes: 1 addition & 1 deletion legacy/builder/types/context.go
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ type Context struct {
// Send progress events to this callback
ProgressCB rpc.TaskProgressCB

// Contents of a custom build properties file (line by line)
// Custom build properties defined by user (line by line as "key=value" pairs)
CustomBuildProperties []string

// Reuse old tools since the backing storage didn't change
Expand Down