Skip to content

Commit 50a7c88

Browse files
Generate a correct yaml when properties are empty
1 parent 8a49960 commit 50a7c88

File tree

3 files changed

+8
-5
lines changed

3 files changed

+8
-5
lines changed

commands/service_profile_init.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ func (s *arduinoCoreServerImpl) InitProfile(ctx context.Context, req *rpc.InitPr
4646
}
4747

4848
if !projectFilePath.Exist() {
49-
err := projectFilePath.WriteFile([]byte("profiles:\n"))
49+
err := projectFilePath.WriteFile([]byte("profiles: {}\n"))
5050
if err != nil {
5151
return nil, err
5252
}

internal/arduino/sketch/profiles.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,9 @@ type ProfileRequiredPlatforms []*ProfilePlatformReference
195195

196196
// AsYaml outputs the required platforms as Yaml
197197
func (p *ProfileRequiredPlatforms) AsYaml() string {
198+
if len(*p) == 0 {
199+
return " platforms: []\n"
200+
}
198201
res := " platforms:\n"
199202
for _, platform := range *p {
200203
res += platform.AsYaml()
@@ -223,7 +226,7 @@ type ProfileRequiredLibraries []*ProfileLibraryReference
223226
// AsYaml outputs the required libraries as Yaml
224227
func (p *ProfileRequiredLibraries) AsYaml() string {
225228
if len(*p) == 0 {
226-
return ""
229+
return " libraries: []\n"
227230
}
228231
res := " libraries:\n"
229232
for _, lib := range *p {

internal/integrationtest/profiles/profiles_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@ func initNoProfile(t *testing.T, env *integrationtest.Environment, cli *integrat
184184
require.FileExists(t, projectFile.String())
185185
fileContent, err := projectFile.ReadFile()
186186
require.NoError(t, err)
187-
require.Equal(t, "profiles:\n", string(fileContent))
187+
require.Equal(t, "profiles: {}\n", string(fileContent))
188188
}
189189

190190
func initWithCorrectFqbn(t *testing.T, env *integrationtest.Environment, cli *integrationtest.ArduinoCLI) {
@@ -195,7 +195,7 @@ func initWithCorrectFqbn(t *testing.T, env *integrationtest.Environment, cli *in
195195
require.FileExists(t, projectFile.String())
196196
fileContent, err := projectFile.ReadFile()
197197
require.NoError(t, err)
198-
require.Equal(t, "profiles:\n Uno:\n fqbn: arduino:avr:uno\n platforms:\n - platform: arduino:avr (1.8.6)\n libraries:\n\ndefault_profile: Uno\n", string(fileContent))
198+
require.Equal(t, "profiles:\n Uno:\n fqbn: arduino:avr:uno\n platforms:\n - platform: arduino:avr (1.8.6)\n libraries: []\n\ndefault_profile: Uno\n", string(fileContent))
199199
}
200200

201201
func initWithWrongFqbn(t *testing.T, env *integrationtest.Environment, cli *integrationtest.ArduinoCLI) {
@@ -315,7 +315,7 @@ func removeLibFromDefaultProfile(t *testing.T, env *integrationtest.Environment,
315315
require.NoError(t, err)
316316
fileContent, err := cli.SketchbookDir().Join("Simple", "sketch.yaml").ReadFile()
317317
require.NoError(t, err)
318-
require.Equal(t, "profiles:\n Uno:\n fqbn: arduino:avr:uno\n platforms:\n - platform: arduino:avr (1.8.6)\n libraries:\n\ndefault_profile: Uno\n", string(fileContent))
318+
require.Equal(t, "profiles:\n Uno:\n fqbn: arduino:avr:uno\n platforms:\n - platform: arduino:avr (1.8.6)\n libraries: []\n\ndefault_profile: Uno\n", string(fileContent))
319319
}
320320

321321
func addInexistentLibToDefaultProfile(t *testing.T, env *integrationtest.Environment, cli *integrationtest.ArduinoCLI) {

0 commit comments

Comments
 (0)