~kyrofa/crackly/debian_packaging

« back to all changes in this revision

Viewing changes to main.go

  • Committer: Kyle Fazzari
  • Date: 2015-10-29 19:47:19 UTC
  • Revision ID: kyle@canonical.com-20151029194719-u66rrs8cg8atib2l
Add code necessary to wrap Snappy install/uninstall process and generate .desktop files.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
package main
 
2
 
 
3
import (
 
4
        "fmt"
 
5
        "launchpad.net/crackly/operations"
 
6
        "log"
 
7
        "os"
 
8
)
 
9
 
 
10
func main() {
 
11
        arguments := os.Args[1:]
 
12
 
 
13
        if len(arguments) != 2 {
 
14
                printUsageAndExit("Invalid number of arguments!")
 
15
        }
 
16
 
 
17
        switch arguments[0] {
 
18
        case "install":
 
19
                err := operations.Install(arguments[1])
 
20
                if err != nil {
 
21
                        log.Fatalf(`Unable to install "%s": %s`, arguments[1], err)
 
22
                }
 
23
        case "remove":
 
24
                err := operations.Remove(arguments[1])
 
25
                if err != nil {
 
26
                        log.Fatalf(`Unable to remove "%s": %s`, arguments[1], err)
 
27
                }
 
28
        default:
 
29
                printUsageAndExit("Unsupported action: %s", arguments[0])
 
30
        }
 
31
}
 
32
 
 
33
func printUsageAndExit(format string, a ...interface{}) {
 
34
        fmt.Printf(format, a...)
 
35
        fmt.Println("\n")
 
36
        printUsage()
 
37
        os.Exit(1)
 
38
}
 
39
 
 
40
func printUsage() {
 
41
        fmt.Println("Usage:")
 
42
        fmt.Printf("%s install <snap>\n", os.Args[0])
 
43
}