Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 2dd8976

Browse filesBrowse files
authored
Bugfix: do not overwrite board properties during compile (#1820) (Fix #1614)
* Bugfix: do not overwrite board properies during compile Fix #1614 * Removed AddBuildPropertyIfMissinc 'legacy' (inlined in other functions) * Increase code coverage
1 parent a55df0d commit 2dd8976
Copy full SHA for 2dd8976

File tree

Expand file treeCollapse file tree

8 files changed

+46
-79
lines changed
Filter options
Expand file treeCollapse file tree

8 files changed

+46
-79
lines changed

‎legacy/builder/add_build_board_property_if_missing.go

Copy file name to clipboardExpand all lines: legacy/builder/add_build_board_property_if_missing.go
-47Lines changed: 0 additions & 47 deletions
This file was deleted.

‎legacy/builder/container_setup.go

Copy file name to clipboardExpand all lines: legacy/builder/container_setup.go
-1Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ func (s *ContainerSetupHardwareToolsLibsSketchAndProps) Run(ctx *types.Context)
3636
&RewriteHardwareKeys{},
3737
&TargetBoardResolver{},
3838
&ToolsLoader{},
39-
&AddBuildBoardPropertyIfMissing{},
4039
&LibrariesLoader{},
4140
}
4241

‎legacy/builder/setup_build_properties.go

Copy file name to clipboardExpand all lines: legacy/builder/setup_build_properties.go
+1-2Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,11 @@ func (s *SetupBuildProperties) Run(ctx *types.Context) error {
3636

3737
targetPlatform := ctx.TargetPlatform
3838
actualPlatform := ctx.ActualPlatform
39-
targetBoard := ctx.TargetBoard
4039

4140
buildProperties := properties.NewMap()
4241
buildProperties.Merge(actualPlatform.Properties)
4342
buildProperties.Merge(targetPlatform.Properties)
44-
buildProperties.Merge(targetBoard.Properties)
43+
buildProperties.Merge(ctx.TargetBoardBuildProperties)
4544

4645
if ctx.BuildPath != nil {
4746
buildProperties.SetPath("build.path", ctx.BuildPath)

‎legacy/builder/target_board_resolver.go

Copy file name to clipboardExpand all lines: legacy/builder/target_board_resolver.go
+10-3Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,7 @@ func (s *TargetBoardResolver) Run(ctx *types.Context) error {
3030
return fmt.Errorf("%s: %w", tr("Error resolving FQBN"), err)
3131
}
3232

33-
targetBoard.Properties = buildProperties // FIXME....
34-
35-
core := targetBoard.Properties.Get("build.core")
33+
core := buildProperties.Get("build.core")
3634
if core == "" {
3735
core = "arduino"
3836
}
@@ -44,8 +42,17 @@ func (s *TargetBoardResolver) Run(ctx *types.Context) error {
4442
ctx.Info(tr("Using core '%[1]s' from platform in folder: %[2]s", core, actualPlatform.InstallDir))
4543
}
4644

45+
if buildProperties.Get("build.board") == "" {
46+
architecture := targetBoard.PlatformRelease.Platform.Architecture
47+
defaultBuildBoard := strings.ToUpper(architecture + "_" + targetBoard.BoardID)
48+
buildProperties.Set("build.board", defaultBuildBoard)
49+
ctx.Info(tr("Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s",
50+
targetBoard.String(), "'build.board'", defaultBuildBoard))
51+
}
52+
4753
ctx.BuildCore = core
4854
ctx.TargetBoard = targetBoard
55+
ctx.TargetBoardBuildProperties = buildProperties
4956
ctx.TargetPlatform = targetPlatform
5057
ctx.TargetPackage = targetPackage
5158
ctx.ActualPlatform = actualPlatform

‎legacy/builder/test/add_build_board_property_if_missing_test.go

Copy file name to clipboardExpand all lines: legacy/builder/test/add_build_board_property_if_missing_test.go
+6-6Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@ func TestAddBuildBoardPropertyIfMissing(t *testing.T) {
4444
commands := []types.Command{
4545
&builder.HardwareLoader{},
4646
&builder.TargetBoardResolver{},
47-
&builder.AddBuildBoardPropertyIfMissing{},
4847
}
4948

5049
for _, command := range commands {
@@ -60,8 +59,9 @@ func TestAddBuildBoardPropertyIfMissing(t *testing.T) {
6059
require.Equal(t, "avr", targetPlatform.Platform.Architecture)
6160
targetBoard := ctx.TargetBoard
6261
require.Equal(t, "mymega", targetBoard.BoardID)
63-
require.Equal(t, "atmega2560", targetBoard.Properties.Get("build.mcu"))
64-
require.Equal(t, "AVR_MYMEGA2560", targetBoard.Properties.Get("build.board"))
62+
targetBoardBuildProperties := ctx.TargetBoardBuildProperties
63+
require.Equal(t, "atmega2560", targetBoardBuildProperties.Get("build.mcu"))
64+
require.Equal(t, "AVR_MYMEGA", targetBoardBuildProperties.Get("build.board"))
6565
}
6666

6767
func TestAddBuildBoardPropertyIfMissingNotMissing(t *testing.T) {
@@ -76,7 +76,6 @@ func TestAddBuildBoardPropertyIfMissingNotMissing(t *testing.T) {
7676
commands := []types.Command{
7777
&builder.HardwareLoader{},
7878
&builder.TargetBoardResolver{},
79-
&builder.AddBuildBoardPropertyIfMissing{},
8079
}
8180

8281
for _, command := range commands {
@@ -90,6 +89,7 @@ func TestAddBuildBoardPropertyIfMissingNotMissing(t *testing.T) {
9089
require.Equal(t, "avr", targetPlatform.Platform.Architecture)
9190
targetBoard := ctx.TargetBoard
9291
require.Equal(t, "mymega", targetBoard.BoardID)
93-
require.Equal(t, "atmega1280", targetBoard.Properties.Get("build.mcu"))
94-
require.Equal(t, "AVR_MYMEGA", targetBoard.Properties.Get("build.board"))
92+
targetBoardBuildProperties := ctx.TargetBoardBuildProperties
93+
require.Equal(t, "atmega1280", targetBoardBuildProperties.Get("build.mcu"))
94+
require.Equal(t, "MYMEGA1280", targetBoardBuildProperties.Get("build.board"))
9595
}

‎legacy/builder/test/target_board_resolver_test.go

Copy file name to clipboardExpand all lines: legacy/builder/test/target_board_resolver_test.go
+15-9Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,8 @@ func TestTargetBoardResolverUno(t *testing.T) {
4747
require.Equal(t, "avr", targetPlatform.Platform.Architecture)
4848
targetBoard := ctx.TargetBoard
4949
require.Equal(t, "uno", targetBoard.BoardID)
50-
require.Equal(t, "atmega328p", targetBoard.Properties.Get("build.mcu"))
50+
targetBoardBuildProperties := ctx.TargetBoardBuildProperties
51+
require.Equal(t, "atmega328p", targetBoardBuildProperties.Get("build.mcu"))
5152
}
5253

5354
func TestTargetBoardResolverDue(t *testing.T) {
@@ -72,7 +73,8 @@ func TestTargetBoardResolverDue(t *testing.T) {
7273
require.Equal(t, "sam", targetPlatform.Platform.Architecture)
7374
targetBoard := ctx.TargetBoard
7475
require.Equal(t, "arduino_due_x", targetBoard.BoardID)
75-
require.Equal(t, "cortex-m3", targetBoard.Properties.Get("build.mcu"))
76+
targetBoardBuildProperties := ctx.TargetBoardBuildProperties
77+
require.Equal(t, "cortex-m3", targetBoardBuildProperties.Get("build.mcu"))
7678
}
7779

7880
func TestTargetBoardResolverMega1280(t *testing.T) {
@@ -97,8 +99,9 @@ func TestTargetBoardResolverMega1280(t *testing.T) {
9799
require.Equal(t, "avr", targetPlatform.Platform.Architecture)
98100
targetBoard := ctx.TargetBoard
99101
require.Equal(t, "mega", targetBoard.BoardID)
100-
require.Equal(t, "atmega1280", targetBoard.Properties.Get("build.mcu"))
101-
require.Equal(t, "AVR_MEGA", targetBoard.Properties.Get("build.board"))
102+
targetBoardBuildProperties := ctx.TargetBoardBuildProperties
103+
require.Equal(t, "atmega1280", targetBoardBuildProperties.Get("build.mcu"))
104+
require.Equal(t, "AVR_MEGA", targetBoardBuildProperties.Get("build.board"))
102105
}
103106

104107
func TestTargetBoardResolverMega2560(t *testing.T) {
@@ -123,8 +126,9 @@ func TestTargetBoardResolverMega2560(t *testing.T) {
123126
require.Equal(t, "avr", targetPlatform.Platform.Architecture)
124127
targetBoard := ctx.TargetBoard
125128
require.Equal(t, "mega", targetBoard.BoardID)
126-
require.Equal(t, "atmega2560", targetBoard.Properties.Get("build.mcu"))
127-
require.Equal(t, "AVR_MEGA2560", targetBoard.Properties.Get("build.board"))
129+
targetBoardBuildProperties := ctx.TargetBoardBuildProperties
130+
require.Equal(t, "atmega2560", targetBoardBuildProperties.Get("build.mcu"))
131+
require.Equal(t, "AVR_MEGA2560", targetBoardBuildProperties.Get("build.board"))
128132
}
129133

130134
func TestTargetBoardResolverCustomYun(t *testing.T) {
@@ -149,8 +153,9 @@ func TestTargetBoardResolverCustomYun(t *testing.T) {
149153
require.Equal(t, "avr", targetPlatform.Platform.Architecture)
150154
targetBoard := ctx.TargetBoard
151155
require.Equal(t, "custom_yun", targetBoard.BoardID)
152-
require.Equal(t, "atmega32u4", targetBoard.Properties.Get("build.mcu"))
153-
require.Equal(t, "AVR_YUN", targetBoard.Properties.Get("build.board"))
156+
targetBoardBuildProperties := ctx.TargetBoardBuildProperties
157+
require.Equal(t, "atmega32u4", targetBoardBuildProperties.Get("build.mcu"))
158+
require.Equal(t, "AVR_YUN", targetBoardBuildProperties.Get("build.board"))
154159
}
155160

156161
func TestTargetBoardResolverCustomCore(t *testing.T) {
@@ -176,5 +181,6 @@ func TestTargetBoardResolverCustomCore(t *testing.T) {
176181
targetBoard := ctx.TargetBoard
177182
require.Equal(t, "attiny841", targetBoard.BoardID)
178183
require.Equal(t, "tiny841", ctx.BuildCore)
179-
require.Equal(t, "tiny14", targetBoard.Properties.Get("build.variant"))
184+
targetBoardBuildProperties := ctx.TargetBoardBuildProperties
185+
require.Equal(t, "tiny14", targetBoardBuildProperties.Get("build.variant"))
180186
}

‎legacy/builder/test/user_hardware/my_avr_platform/avr/boards.txt

Copy file name to clipboardExpand all lines: legacy/builder/test/user_hardware/my_avr_platform/avr/boards.txt
+4-2Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,8 @@ mymega.menu.cpu.atmega2560.bootloader.extended_fuses=0xFD
7070
mymega.menu.cpu.atmega2560.bootloader.file={bootloader._folder}/stk500boot_v2_mega2560.hex
7171

7272
mymega.menu.cpu.atmega2560.build.mcu=atmega2560
73-
mymega.menu.cpu.atmega2560.build.board=AVR_MYMEGA2560
73+
# Do not define build.board to test autogeneration
74+
#mymega.menu.cpu.atmega2560.build.board=AVR_MYMEGA2560
7475

7576
mymega.menu.cpu.atmega1280=ATmega1280
7677

@@ -84,4 +85,5 @@ mymega.menu.cpu.atmega1280.bootloader.extended_fuses=0xF5
8485
mymega.menu.cpu.atmega1280.bootloader.file={bootloader._folder}/ATmegaBOOT_168_atmega1280.hex
8586

8687
mymega.menu.cpu.atmega1280.build.mcu=atmega1280
87-
mymega.menu.cpu.atmega1280.build.board=AVR_MYMEGA
88+
# define custom build.board for testing
89+
mymega.menu.cpu.atmega1280.build.board=MYMEGA1280

‎legacy/builder/types/context.go

Copy file name to clipboardExpand all lines: legacy/builder/types/context.go
+10-9Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -82,15 +82,16 @@ type Context struct {
8282
BuildOptionsJson string
8383
BuildOptionsJsonPrevious string
8484

85-
PackageManager *packagemanager.PackageManager
86-
Hardware cores.Packages
87-
AllTools []*cores.ToolRelease
88-
RequiredTools []*cores.ToolRelease
89-
TargetBoard *cores.Board
90-
TargetPackage *cores.Package
91-
TargetPlatform *cores.PlatformRelease
92-
ActualPlatform *cores.PlatformRelease
93-
USBVidPid string
85+
PackageManager *packagemanager.PackageManager
86+
Hardware cores.Packages
87+
AllTools []*cores.ToolRelease
88+
RequiredTools []*cores.ToolRelease
89+
TargetBoard *cores.Board
90+
TargetBoardBuildProperties *properties.Map
91+
TargetPackage *cores.Package
92+
TargetPlatform *cores.PlatformRelease
93+
ActualPlatform *cores.PlatformRelease
94+
USBVidPid string
9495

9596
PlatformKeyRewrites PlatforKeysRewrite
9697
HardwareRewriteResults map[*cores.PlatformRelease][]PlatforKeyRewrite

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.