faststrap 0.0.6 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +13 -5
- data/README.md +44 -1
- data/lib/faststrap.rb +37 -27
- data/lib/faststrap/install_action.rb +19 -2
- data/lib/faststrap/install_actions/bash_completion_install_action.rb +12 -3
- data/lib/faststrap/install_actions/calabash_bundle_install_action.rb +16 -5
- data/lib/faststrap/install_actions/carthage_install_action.rb +19 -12
- data/lib/faststrap/install_actions/cocoapods_install_action.rb +13 -3
- data/lib/faststrap/install_actions/fastlane_install_action.rb +12 -3
- data/lib/faststrap/install_actions/git_install_action.rb +12 -3
- data/lib/faststrap/install_actions/homebrew_install_action.rb +11 -2
- data/lib/faststrap/install_actions/install_actions_helper.rb +57 -4
- data/lib/faststrap/install_actions/jenkins_install_action.rb +13 -4
- data/lib/faststrap/install_actions/lcov_install_action.rb +29 -0
- data/lib/faststrap/install_actions/xcode_cmd_tools_install_action.rb +11 -3
- data/lib/faststrap/install_actions/xctool_install_action.rb +12 -3
- data/lib/faststrap/version.rb +1 -1
- metadata +23 -9
- data/lib/faststrap/install_actions/rest_client_install_action.rb +0 -22
checksums.yaml
CHANGED
@@ -1,7 +1,15 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
ZTA4YmZjNTMyNjBkNDZlODAyMjliY2UxNGE1MGJmYzQ3NWNmZTRmZA==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
MzNhNzY0N2JlNjcxZTMwOGZhYzA3Nzc4ZTM2N2NhYjllZjA5ODEwNg==
|
5
7
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
NDUzYjFlNjU0N2Y1ZGNhMjRjYTgwOTg5MWZhYTZhYTRkNTdmZjU0YThjNjk4
|
10
|
+
OGZhZjQ4Mjg0YjNhOWZlOTZmYjk1NzNlMzYzZTdlMWI3NzYwNTJhNGNiODk0
|
11
|
+
NTAwNTMzMGVhNjJjNmViYzAyZmI1MDhjOTk2NmViOTMyMTVmODE=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
MzQ1YjVkYTQzODg5MWFjODMwZmM2M2NmZWJjZmQ1OWM0MDI2MGZmZjFlMjY1
|
14
|
+
ZGMwZWM2MDg4MjZkZGQ0OTg1ODIxNTA0NzEyM2M3MDRlMGY2ZWFmNjlhOTUw
|
15
|
+
MWFkZjM2ODRmYjYwOWUzMGQxNGZkOGI2MTgzZjc3ZmQ3NjNmM2I=
|
data/README.md
CHANGED
@@ -1,2 +1,45 @@
|
|
1
1
|
# faststrap
|
2
|
-
|
2
|
+
============
|
3
|
+
|
4
|
+
[](https://twitter.com/tplioy)
|
5
|
+
[](https://github.com/thiagolioy/faststrap/blob/master/LICENSE)
|
6
|
+
[](https://rubygems.org/gems/faststrap)
|
7
|
+
[](https://travis-ci.org/thiagolioy/faststrap)
|
8
|
+
|
9
|
+
######*faststrap* lets you setup and bootstrap your mac OS environment for development.
|
10
|
+
|
11
|
+
Contact the developer on Twitter: [@tplioy](https://twitter.com/tplioy)
|
12
|
+
|
13
|
+
-------
|
14
|
+
<p align="center">
|
15
|
+
<a href="#features">Features</a> •
|
16
|
+
<a href="#installation">Installation</a> •
|
17
|
+
</p>
|
18
|
+
|
19
|
+
-------
|
20
|
+
|
21
|
+
## Features
|
22
|
+
|
23
|
+
Tired of having to install several different programs everytime you format or buy a new machine ? New hires on your company are wasting time to get there machines ready to code ?
|
24
|
+
With faststrap you install the ios environment really easy using just one command.
|
25
|
+
|
26
|
+
```shell
|
27
|
+
faststrap ios -a
|
28
|
+
```
|
29
|
+
|
30
|
+
## Installation
|
31
|
+
|
32
|
+
If you are familiar with the command line and Ruby, install `faststrap` yourself:
|
33
|
+
|
34
|
+
sudo gem install faststrap
|
35
|
+
|
36
|
+
## Contribute
|
37
|
+
My goal here is to be the bootstrap platform for several development environments. Install your
|
38
|
+
dev environment into a machine should be somthing very easy to do.Contributors are more than welcome,please help me to achive this goal. This project is new and still misses lots of things such as:
|
39
|
+
|
40
|
+
- Better handling InstallActions order
|
41
|
+
- Other environments besides ios (Android, Rails, Web, Node)
|
42
|
+
- Better test coverage
|
43
|
+
|
44
|
+
## License
|
45
|
+
This project is licensed under the terms of the MIT license. See the LICENSE file.
|
data/lib/faststrap.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
require 'colorize'
|
1
2
|
require 'thor'
|
2
3
|
require 'thor/group'
|
3
4
|
|
@@ -7,53 +8,62 @@ require 'faststrap/install_action'
|
|
7
8
|
module Faststrap
|
8
9
|
|
9
10
|
|
10
|
-
def self.possible_responses(actions_count)
|
11
|
-
(1..actions_count).to_a.collect! { |e| e.to_s } << "*"
|
12
|
-
end
|
13
|
-
|
14
11
|
def self.handle_answer(answer,actions)
|
15
12
|
actions.each do |a|
|
16
13
|
if answer == "*"
|
17
14
|
a.run
|
18
15
|
else
|
19
|
-
a.run if answer
|
16
|
+
a.run if answer.map{|e| e.upcase}.include?(a.name.upcase)
|
20
17
|
end
|
21
18
|
end
|
22
19
|
end
|
23
20
|
|
24
21
|
|
25
22
|
class Bootstrap < Thor
|
26
|
-
|
23
|
+
include Thor::Actions
|
27
24
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
25
|
+
desc 'ios', 'bootstrap your computer for ios env'
|
26
|
+
method_option :all,:aliases => "-a", :type => :boolean, :default => false
|
27
|
+
def ios
|
28
|
+
puts "We have the follow actions for ios :"
|
32
29
|
|
33
|
-
|
34
|
-
|
35
|
-
install_actions_count = install_actions.count
|
30
|
+
Faststrap::InstallActions.load_default_actions
|
31
|
+
install_actions = Faststrap::InstallActions.list
|
36
32
|
|
37
|
-
|
38
|
-
|
33
|
+
ag = Faststrap::ActionsGroup
|
34
|
+
[ag::INSTALLERS,ag::COMAND_LINE,ag::TESTS,ag::CI].map do |g|
|
35
|
+
Faststrap::InstallActions.present(g)
|
36
|
+
end
|
39
37
|
|
40
|
-
|
38
|
+
everything = options[:all]
|
41
39
|
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
end
|
40
|
+
if everything
|
41
|
+
puts "Installing everything .."
|
42
|
+
Faststrap.handle_answer('*',install_actions)
|
43
|
+
else
|
44
|
+
answer = ask("\nType the actions you want to install separated by comma (eg. git,xctool)\n or type * for everything :")
|
45
|
+
answer = answer.include?("*") ? "*" : answer.split(',')
|
46
|
+
Faststrap.handle_answer(answer,install_actions)
|
47
|
+
end
|
51
48
|
|
52
|
-
|
53
|
-
|
49
|
+
end
|
50
|
+
|
51
|
+
desc 'clean', 'clean your computer of all faststrap installed tools'
|
52
|
+
def clean
|
53
|
+
Faststrap::InstallActions.load_default_actions
|
54
54
|
|
55
|
+
if Faststrap::InstallActions.list_installed.empty?
|
56
|
+
puts "You dont have any faststrap tools installed".yellow
|
57
|
+
else
|
58
|
+
puts "All the tools that will be uninstalled:"
|
59
|
+
Faststrap::InstallActions.list_installed.each{|e| puts e.name.yellow}
|
55
60
|
|
61
|
+
answer = yes?("Are you sure?".red)
|
62
|
+
Faststrap::InstallActions.list_installed.map{|a| a.uninstall} if answer
|
63
|
+
end
|
64
|
+
end
|
56
65
|
|
66
|
+
end
|
57
67
|
|
58
68
|
|
59
69
|
end
|
@@ -1,20 +1,31 @@
|
|
1
1
|
require 'faststrap/install_actions/install_actions_helper'
|
2
2
|
|
3
3
|
module Faststrap
|
4
|
+
module ActionsGroup
|
5
|
+
INSTALLERS = "INSTALLERS"
|
6
|
+
COMAND_LINE = "COMAND_LINE"
|
7
|
+
TESTS = "TESTS"
|
8
|
+
CI = "CI"
|
9
|
+
end
|
4
10
|
class InstallAction
|
5
11
|
|
6
|
-
def self.
|
7
|
-
|
12
|
+
def self.group
|
13
|
+
""
|
8
14
|
end
|
9
15
|
|
10
16
|
def self.description
|
11
17
|
"InstallAction description"
|
12
18
|
end
|
13
19
|
|
20
|
+
|
14
21
|
def self.cmd
|
15
22
|
"InstallAction cmd"
|
16
23
|
end
|
17
24
|
|
25
|
+
def self.ucmd
|
26
|
+
"UninstallAction cmd"
|
27
|
+
end
|
28
|
+
|
18
29
|
def self.name
|
19
30
|
"InstallAction"
|
20
31
|
end
|
@@ -23,5 +34,11 @@ module Faststrap
|
|
23
34
|
puts "Installing #{name} .."
|
24
35
|
cmd
|
25
36
|
end
|
37
|
+
|
38
|
+
def self.uninstall
|
39
|
+
puts "Uninstalling #{name} .."
|
40
|
+
ucmd
|
41
|
+
end
|
42
|
+
|
26
43
|
end
|
27
44
|
end
|
@@ -2,8 +2,8 @@ module Faststrap
|
|
2
2
|
module InstallActions
|
3
3
|
class BashCompletionInstallAction < InstallAction
|
4
4
|
|
5
|
-
def self.
|
6
|
-
|
5
|
+
def self.group
|
6
|
+
Faststrap::ActionsGroup::COMAND_LINE
|
7
7
|
end
|
8
8
|
|
9
9
|
def self.description
|
@@ -11,13 +11,22 @@ module Faststrap
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def self.cmd
|
14
|
-
|
14
|
+
Faststrap::InstallActions.brew_install "bash-completion"
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.ucmd
|
18
|
+
Faststrap::InstallActions.brew_uninstall "bash-completion"
|
15
19
|
end
|
16
20
|
|
17
21
|
def self.name
|
18
22
|
"bash-completion"
|
19
23
|
end
|
20
24
|
|
25
|
+
def self.installed?
|
26
|
+
Faststrap::InstallActions.cmd? "bash-completion"
|
27
|
+
end
|
28
|
+
|
29
|
+
|
21
30
|
end
|
22
31
|
end
|
23
32
|
end
|
@@ -2,20 +2,31 @@ module Faststrap
|
|
2
2
|
module InstallActions
|
3
3
|
class CalabashBundleInstallAction < InstallAction
|
4
4
|
|
5
|
-
|
6
|
-
|
5
|
+
@@gems = ["calabash-common",'calabash-cucumber',
|
6
|
+
'cs-bdd','blabla']
|
7
|
+
|
8
|
+
def self.group
|
9
|
+
Faststrap::ActionsGroup::TESTS
|
7
10
|
end
|
8
11
|
|
9
12
|
def self.description
|
10
13
|
"Install Calabash Bundle[calabash-common,calabash-cucumber,cs-bdd,blabla]"
|
11
14
|
end
|
12
15
|
def self.cmd
|
13
|
-
|
14
|
-
|
16
|
+
@@gems.map { |d| Faststrap::InstallActions.gem_install d }
|
17
|
+
end
|
18
|
+
|
19
|
+
def self.ucmd
|
20
|
+
@@gems.map { |d| Faststrap::InstallActions.gem_uninstall d }
|
15
21
|
end
|
16
22
|
|
23
|
+
|
17
24
|
def self.name
|
18
|
-
"Calabash
|
25
|
+
"Calabash"
|
26
|
+
end
|
27
|
+
|
28
|
+
def self.installed?
|
29
|
+
Faststrap::InstallActions.cmd? "calabash-common"
|
19
30
|
end
|
20
31
|
|
21
32
|
end
|
@@ -2,21 +2,28 @@ module Faststrap
|
|
2
2
|
module InstallActions
|
3
3
|
class CarthageInstallAction < InstallAction
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
def self.group
|
6
|
+
Faststrap::ActionsGroup::INSTALLERS
|
7
|
+
end
|
8
8
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
9
|
+
def self.description
|
10
|
+
"Install Carthage"
|
11
|
+
end
|
12
|
+
def self.cmd
|
13
|
+
Faststrap::InstallActions.brew_install "carthage"
|
14
|
+
end
|
15
15
|
|
16
|
-
|
17
|
-
|
18
|
-
|
16
|
+
def self.ucmd
|
17
|
+
Faststrap::InstallActions.brew_uninstall "carthage"
|
18
|
+
end
|
19
19
|
|
20
|
+
def self.name
|
21
|
+
"Carthage"
|
22
|
+
end
|
23
|
+
|
24
|
+
def self.installed?
|
25
|
+
Faststrap::InstallActions.cmd? "carthage"
|
26
|
+
end
|
20
27
|
end
|
21
28
|
end
|
22
29
|
end
|
@@ -2,21 +2,31 @@ module Faststrap
|
|
2
2
|
module InstallActions
|
3
3
|
class CocoapodsInstallAction < InstallAction
|
4
4
|
|
5
|
-
def self.
|
6
|
-
|
5
|
+
def self.group
|
6
|
+
Faststrap::ActionsGroup::INSTALLERS
|
7
7
|
end
|
8
8
|
|
9
|
+
|
9
10
|
def self.description
|
10
11
|
"Install Cocoapods"
|
11
12
|
end
|
12
13
|
def self.cmd
|
13
|
-
|
14
|
+
Faststrap::InstallActions.gem_install "cocoapods"
|
15
|
+
system 'pod setup'
|
16
|
+
end
|
17
|
+
|
18
|
+
def self.ucmd
|
19
|
+
Faststrap::InstallActions.gem_uninstall "cocoapods"
|
14
20
|
end
|
15
21
|
|
16
22
|
def self.name
|
17
23
|
"Cocoapods"
|
18
24
|
end
|
19
25
|
|
26
|
+
def self.installed?
|
27
|
+
Faststrap::InstallActions.cmd? "cocoapods"
|
28
|
+
end
|
29
|
+
|
20
30
|
end
|
21
31
|
end
|
22
32
|
end
|
@@ -2,21 +2,30 @@ module Faststrap
|
|
2
2
|
module InstallActions
|
3
3
|
class FastlaneInstallAction < InstallAction
|
4
4
|
|
5
|
-
def self.
|
6
|
-
|
5
|
+
def self.group
|
6
|
+
Faststrap::ActionsGroup::CI
|
7
7
|
end
|
8
8
|
|
9
|
+
|
9
10
|
def self.description
|
10
11
|
"Install Fastlane"
|
11
12
|
end
|
12
13
|
def self.cmd
|
13
|
-
|
14
|
+
Faststrap::InstallActions.gem_install "fastlane"
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.ucmd
|
18
|
+
Faststrap::InstallActions.gem_uninstall "fastlane"
|
14
19
|
end
|
15
20
|
|
16
21
|
def self.name
|
17
22
|
"Fastlane"
|
18
23
|
end
|
19
24
|
|
25
|
+
def self.installed?
|
26
|
+
Faststrap::InstallActions.cmd? "fastlane"
|
27
|
+
end
|
28
|
+
|
20
29
|
end
|
21
30
|
end
|
22
31
|
end
|
@@ -2,21 +2,30 @@ module Faststrap
|
|
2
2
|
module InstallActions
|
3
3
|
class GitInstallAction < InstallAction
|
4
4
|
|
5
|
-
def self.
|
6
|
-
|
5
|
+
def self.group
|
6
|
+
Faststrap::ActionsGroup::COMAND_LINE
|
7
7
|
end
|
8
8
|
|
9
|
+
|
9
10
|
def self.description
|
10
11
|
"Install Git"
|
11
12
|
end
|
12
13
|
def self.cmd
|
13
|
-
|
14
|
+
Faststrap::InstallActions.brew_install "git"
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.ucmd
|
18
|
+
Faststrap::InstallActions.brew_uninstall "git"
|
14
19
|
end
|
15
20
|
|
16
21
|
def self.name
|
17
22
|
"Git"
|
18
23
|
end
|
19
24
|
|
25
|
+
def self.installed?
|
26
|
+
Faststrap::InstallActions.cmd? "git"
|
27
|
+
end
|
28
|
+
|
20
29
|
end
|
21
30
|
end
|
22
31
|
end
|
@@ -2,10 +2,11 @@ module Faststrap
|
|
2
2
|
module InstallActions
|
3
3
|
class HomebrewInstallAction < InstallAction
|
4
4
|
|
5
|
-
def self.
|
6
|
-
|
5
|
+
def self.group
|
6
|
+
Faststrap::ActionsGroup::INSTALLERS
|
7
7
|
end
|
8
8
|
|
9
|
+
|
9
10
|
def self.description
|
10
11
|
"Install Homebrew"
|
11
12
|
end
|
@@ -13,10 +14,18 @@ module Faststrap
|
|
13
14
|
system 'ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"'
|
14
15
|
end
|
15
16
|
|
17
|
+
|
18
|
+
def self.ucmd
|
19
|
+
system 'ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"'
|
20
|
+
end
|
21
|
+
|
16
22
|
def self.name
|
17
23
|
"Homebrew"
|
18
24
|
end
|
19
25
|
|
26
|
+
def self.installed?
|
27
|
+
Faststrap::InstallActions.cmd? "brew"
|
28
|
+
end
|
20
29
|
end
|
21
30
|
end
|
22
31
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
require 'colorize'
|
1
2
|
module Faststrap
|
2
3
|
module InstallActions
|
3
4
|
|
@@ -15,15 +16,67 @@ module Faststrap
|
|
15
16
|
sort_actions(cs)
|
16
17
|
end
|
17
18
|
|
19
|
+
def self.list_installed
|
20
|
+
l = list.select{|a| a.installed?}
|
21
|
+
delete_and_push_action(find_brew_action(l),l)
|
22
|
+
end
|
23
|
+
|
18
24
|
def self.sort_actions(actions)
|
19
|
-
actions.sort {|x,y| x.
|
25
|
+
l = actions.sort {|x,y| x.name <=> y.name}
|
26
|
+
delete_and_unshift_action(find_brew_action(l),l)
|
20
27
|
end
|
21
28
|
|
22
|
-
def self.present
|
23
|
-
|
24
|
-
|
29
|
+
def self.present(g)
|
30
|
+
puts "\n#{g} Group:"
|
31
|
+
list.select{|a| a.group == g}.each do |ac|
|
32
|
+
puts " - #{ac.name}".yellow
|
25
33
|
end
|
26
34
|
end
|
27
35
|
|
36
|
+
def self.cmd?(c)
|
37
|
+
`which #{c}`
|
38
|
+
$?.success?
|
39
|
+
end
|
40
|
+
|
41
|
+
|
42
|
+
def self.brew_install(g)
|
43
|
+
brew?
|
44
|
+
system "brew install #{g}"
|
45
|
+
end
|
46
|
+
|
47
|
+
def self.gem_install(g)
|
48
|
+
system "sudo gem install #{g} --verbose"
|
49
|
+
end
|
50
|
+
|
51
|
+
def self.brew_uninstall(g)
|
52
|
+
brew?
|
53
|
+
system "brew uninstall #{g}"
|
54
|
+
end
|
55
|
+
|
56
|
+
def self.gem_uninstall(g)
|
57
|
+
system "sudo gem uninstall #{g} --verbose"
|
58
|
+
end
|
59
|
+
|
60
|
+
private
|
61
|
+
def self.brew?
|
62
|
+
raise "HomeBrew not installed".red unless cmd? "brew"
|
63
|
+
end
|
64
|
+
|
65
|
+
def self.find_brew_action(l)
|
66
|
+
l.find{|e| e.name.upcase.include?("brew".upcase)}
|
67
|
+
end
|
68
|
+
|
69
|
+
def self.delete_and_push_action(e,list)
|
70
|
+
return l if e.nil?
|
71
|
+
l.delete(e)
|
72
|
+
l.push(e)
|
73
|
+
end
|
74
|
+
|
75
|
+
def self.delete_and_unshift_action(e,l)
|
76
|
+
return l if e.nil?
|
77
|
+
l.delete(e)
|
78
|
+
l.unshift(e)
|
79
|
+
end
|
80
|
+
|
28
81
|
end
|
29
82
|
end
|
@@ -2,19 +2,28 @@ module Faststrap
|
|
2
2
|
module InstallActions
|
3
3
|
class JenkinsInstallAction < InstallAction
|
4
4
|
|
5
|
-
def self.
|
6
|
-
|
5
|
+
def self.group
|
6
|
+
Faststrap::ActionsGroup::CI
|
7
7
|
end
|
8
8
|
|
9
|
+
|
9
10
|
def self.description
|
10
11
|
"Install Jenkins CI"
|
11
12
|
end
|
12
13
|
def self.cmd
|
13
|
-
|
14
|
+
Faststrap::InstallActions.brew_install "jenkins"
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.ucmd
|
18
|
+
Faststrap::InstallActions.brew_uninstall "jenkins"
|
14
19
|
end
|
15
20
|
|
16
21
|
def self.name
|
17
|
-
"Jenkins
|
22
|
+
"Jenkins"
|
23
|
+
end
|
24
|
+
|
25
|
+
def self.installed?
|
26
|
+
Faststrap::InstallActions.cmd? "jenkins"
|
18
27
|
end
|
19
28
|
|
20
29
|
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module Faststrap
|
2
|
+
module InstallActions
|
3
|
+
class LcovInstallAction < InstallAction
|
4
|
+
|
5
|
+
def self.group
|
6
|
+
Faststrap::ActionsGroup::TESTS
|
7
|
+
end
|
8
|
+
|
9
|
+
def self.description
|
10
|
+
"Install lcov"
|
11
|
+
end
|
12
|
+
def self.cmd
|
13
|
+
Faststrap::InstallActions.brew_install "lcov"
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.ucmd
|
17
|
+
Faststrap::InstallActions.brew_uninstall "lcov"
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.name
|
21
|
+
"lcov"
|
22
|
+
end
|
23
|
+
|
24
|
+
def self.installed?
|
25
|
+
Faststrap::InstallActions.cmd? "lcov"
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -2,8 +2,8 @@ module Faststrap
|
|
2
2
|
module InstallActions
|
3
3
|
class XcodeCmdToolsInstallAction < InstallAction
|
4
4
|
|
5
|
-
def self.
|
6
|
-
|
5
|
+
def self.group
|
6
|
+
Faststrap::ActionsGroup::COMAND_LINE
|
7
7
|
end
|
8
8
|
|
9
9
|
def self.description
|
@@ -13,10 +13,18 @@ module Faststrap
|
|
13
13
|
system 'xcode-select --install'
|
14
14
|
end
|
15
15
|
|
16
|
+
def self.ucmd
|
17
|
+
`sudo rm -rf /Library/Developer/CommandLineTools`
|
18
|
+
end
|
19
|
+
|
16
20
|
def self.name
|
17
|
-
"
|
21
|
+
"XcodeCmdTools"
|
18
22
|
end
|
19
23
|
|
24
|
+
def self.installed?
|
25
|
+
`xcode-select -p`
|
26
|
+
$?.success?
|
27
|
+
end
|
20
28
|
end
|
21
29
|
end
|
22
30
|
end
|
@@ -2,21 +2,30 @@ module Faststrap
|
|
2
2
|
module InstallActions
|
3
3
|
class XctoolInstallAction < InstallAction
|
4
4
|
|
5
|
-
def self.
|
6
|
-
|
5
|
+
def self.group
|
6
|
+
Faststrap::ActionsGroup::TESTS
|
7
7
|
end
|
8
8
|
|
9
9
|
def self.description
|
10
10
|
"Install Xctool"
|
11
11
|
end
|
12
|
+
|
12
13
|
def self.cmd
|
13
|
-
|
14
|
+
Faststrap::InstallActions.brew_install "xctool"
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.ucmd
|
18
|
+
Faststrap::InstallActions.brew_uninstall "xctool"
|
14
19
|
end
|
15
20
|
|
16
21
|
def self.name
|
17
22
|
"xctool"
|
18
23
|
end
|
19
24
|
|
25
|
+
def self.installed?
|
26
|
+
Faststrap::InstallActions.cmd? "xctool"
|
27
|
+
end
|
28
|
+
|
20
29
|
end
|
21
30
|
end
|
22
31
|
end
|
data/lib/faststrap/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: faststrap
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thiago Lioy
|
@@ -10,32 +10,46 @@ bindir: bin
|
|
10
10
|
cert_chain: []
|
11
11
|
date: 2015-04-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: colorize
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ~>
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 0.7.7
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ~>
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 0.7.7
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: bundler
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
16
30
|
requirements:
|
17
|
-
- - '>='
|
31
|
+
- - ! '>='
|
18
32
|
- !ruby/object:Gem::Version
|
19
33
|
version: '0'
|
20
34
|
type: :development
|
21
35
|
prerelease: false
|
22
36
|
version_requirements: !ruby/object:Gem::Requirement
|
23
37
|
requirements:
|
24
|
-
- - '>='
|
38
|
+
- - ! '>='
|
25
39
|
- !ruby/object:Gem::Version
|
26
40
|
version: '0'
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: rake
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
30
44
|
requirements:
|
31
|
-
- - '>='
|
45
|
+
- - ! '>='
|
32
46
|
- !ruby/object:Gem::Version
|
33
47
|
version: '0'
|
34
48
|
type: :development
|
35
49
|
prerelease: false
|
36
50
|
version_requirements: !ruby/object:Gem::Requirement
|
37
51
|
requirements:
|
38
|
-
- - '>='
|
52
|
+
- - ! '>='
|
39
53
|
- !ruby/object:Gem::Version
|
40
54
|
version: '0'
|
41
55
|
- !ruby/object:Gem::Dependency
|
@@ -101,7 +115,7 @@ files:
|
|
101
115
|
- lib/faststrap/install_actions/homebrew_install_action.rb
|
102
116
|
- lib/faststrap/install_actions/install_actions_helper.rb
|
103
117
|
- lib/faststrap/install_actions/jenkins_install_action.rb
|
104
|
-
- lib/faststrap/install_actions/
|
118
|
+
- lib/faststrap/install_actions/lcov_install_action.rb
|
105
119
|
- lib/faststrap/install_actions/xcode_cmd_tools_install_action.rb
|
106
120
|
- lib/faststrap/install_actions/xctool_install_action.rb
|
107
121
|
- lib/faststrap/version.rb
|
@@ -115,17 +129,17 @@ require_paths:
|
|
115
129
|
- lib
|
116
130
|
required_ruby_version: !ruby/object:Gem::Requirement
|
117
131
|
requirements:
|
118
|
-
- - '>='
|
132
|
+
- - ! '>='
|
119
133
|
- !ruby/object:Gem::Version
|
120
134
|
version: 2.0.0
|
121
135
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
122
136
|
requirements:
|
123
|
-
- - '>='
|
137
|
+
- - ! '>='
|
124
138
|
- !ruby/object:Gem::Version
|
125
139
|
version: '0'
|
126
140
|
requirements: []
|
127
141
|
rubyforge_project:
|
128
|
-
rubygems_version: 2.4.
|
142
|
+
rubygems_version: 2.4.5
|
129
143
|
signing_key:
|
130
144
|
specification_version: 4
|
131
145
|
summary: setup and bootstrap your mac OS environment for development.
|
@@ -1,22 +0,0 @@
|
|
1
|
-
module Faststrap
|
2
|
-
module InstallActions
|
3
|
-
class RestClientInstallAction < InstallAction
|
4
|
-
|
5
|
-
def self.index
|
6
|
-
7
|
7
|
-
end
|
8
|
-
|
9
|
-
def self.description
|
10
|
-
"Install RestClient"
|
11
|
-
end
|
12
|
-
def self.cmd
|
13
|
-
system 'sudo gem install rest-client --verbose'
|
14
|
-
end
|
15
|
-
|
16
|
-
def self.name
|
17
|
-
"rest-client"
|
18
|
-
end
|
19
|
-
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|