-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathdependencies.common.go
72 lines (66 loc) · 2.26 KB
/
dependencies.common.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
package goclitools
func DependencyHomebrew() Dependency {
return Dependency{
Name: "Homebrew",
CheckCmd: "which brew",
InstallScripts: []DependencyScript{
DependencyScriptString{Fn: "/usr/bin/ruby -e \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)\""},
},
}
}
func DependencyDocker() Dependency {
return Dependency{
Name: "Docker",
CheckCmd: "which docker",
Dependencies: []Dependency{DependencyHomebrew()},
InstallScripts: []DependencyScript{
DependencyScriptString{Fn: "brew cask install docker"},
DependencyScriptString{Fn: "open /Applications/Docker.app"},
},
UninstallScripts: []DependencyScript{
DependencyScriptString{Fn: "brew cask uninstall docker"},
},
}
}
func DependencyGit() Dependency {
return Dependency{
Name: "git",
CheckCmd: "git --version",
CheckCmdValidation: "(?m)git version (\\d+\\.)?(\\d+\\.)?(\\*|\\d+).*$",
}
}
func DependencyXcodebuild() Dependency {
return Dependency{
Name: "xcodebuild",
CheckCmd: "xcodebuild -version",
CheckCmdValidation: "(?m)Xcode (\\d+\\.)?(\\d+\\.)?(\\*|\\d+)\\s+Build version .+$",
}
}
func DependencyFastlane() Dependency {
return Dependency{
Name: "fastlane",
CheckCmd: "fastlane -version",
CheckCmdValidation: "(?m)fastlane (\\d+\\.)?(\\d+\\.)?(\\*|\\d+)$",
Dependencies: []Dependency{DependencyHomebrew()},
InstallScripts: []DependencyScript{
DependencyScriptString{Fn: "brew cask install fastlane"},
DependencyScriptString{Fn: "export PATH=\"$HOME/.fastlane/bin:$PATH\""},
DependencyScriptString{Fn: "echo \"export PATH=\\\"$HOME/.fastlane/bin:$PATH\\\"\" >> ~/.bash_profile"},
},
UninstallScripts: []DependencyScript{
DependencyScriptString{Fn: "brew cask uninstall fastlane"},
},
}
}
func DependencyFastlaneMatch() Dependency {
return Dependency{
Name: "fastlane match",
CheckCmd: "fastlane match -version",
CheckCmdValidation: "(?m)match (\\d+\\.)?(\\d+\\.)?(\\*|\\d+)$",
Dependencies: []Dependency{DependencyFastlane()},
InstallScripts: []DependencyScript{},
UninstallScripts: []DependencyScript{
DependencyScriptString{Fn: "echo \"you can only uninstall whole fastlane\""},
},
}
}