Skip to content

Commit

Permalink
fix: snap with empty apps name
Browse files Browse the repository at this point in the history
refs #1267

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
  • Loading branch information
caarlos0 committed Jan 30, 2020
1 parent 8408c1b commit a4c9110
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 19 deletions.
31 changes: 13 additions & 18 deletions internal/pipe/snapcraft/snapcraft.go
Expand Up @@ -189,10 +189,11 @@ func create(ctx *context.Context, snap config.Snapcraft, arch string, binaries [
// if the user didn't specify any apps then
// default to the main binary being the command:
if len(snap.Apps) == 0 {
metadata.Apps[binaries[0].Name] = AppMetadata{
Command: filepath.Base(binaries[0].Name),
var name = snap.Name
if name == "" {
name = binaries[0].Name
}
metadata.Apps[snap.Name] = AppMetadata{
metadata.Apps[name] = AppMetadata{
Command: filepath.Base(binaries[0].Name),
}
}
Expand Down Expand Up @@ -226,28 +227,22 @@ func create(ctx *context.Context, snap config.Snapcraft, arch string, binaries [
}

// setup the apps: directive for each binary
for name := range snap.Apps {
for name, config := range snap.Apps {
log.WithField("path", binary.Path).
WithField("name", binary.Name).
Debug("passed binary to snapcraft")

appMetadata := AppMetadata{
Command: binary.Name,
}

if configAppMetadata, ok := snap.Apps[name]; ok {
appMetadata.Plugs = configAppMetadata.Plugs
appMetadata.Daemon = configAppMetadata.Daemon

appMetadata.Command = strings.TrimSpace(strings.Join([]string{
Command: strings.TrimSpace(strings.Join([]string{
binary.Name,
configAppMetadata.Args,
}, " "))
config.Args,
}, " ")),
Plugs: config.Plugs,
Daemon: config.Daemon,
}

if configAppMetadata.Completer != "" {
completerPath = configAppMetadata.Completer
appMetadata.Completer = filepath.Base(completerPath)
}
if config.Completer != "" {
appMetadata.Completer = filepath.Base(config.Completer)
}

metadata.Apps[name] = appMetadata
Expand Down
1 change: 0 additions & 1 deletion internal/pipe/snapcraft/snapcraft_test.go
Expand Up @@ -142,7 +142,6 @@ func TestRunPipeWithName(t *testing.T) {
assert.Equal(t, "testsnapname", metadata.Name)
assert.Equal(t, "core18", metadata.Base)
assert.Equal(t, "MIT", metadata.License)
assert.Equal(t, "mybin", metadata.Apps["mybin"].Command)
assert.Equal(t, "mybin", metadata.Apps["testsnapname"].Command)
}

Expand Down

0 comments on commit a4c9110

Please sign in to comment.