osx_provision 0.9.7 → 0.9.8
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 +15 -0
- data/CHANGES +5 -1
- data/Gemfile +1 -1
- data/lib/osx_provision/osx_provision.rb +7 -35
- data/lib/osx_provision/version.rb +1 -1
- data/osx_provision.gemspec +1 -1
- metadata +6 -21
- data/lib/osx_provision/generic_provision.rb +0 -79
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
MmQxMzkyM2Y4YTI4Yzg3ZWFmMTFiZjc3ZTI4MWRjMzAzMTQzNjVmOQ==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
MDkyODdiNGQzYTA0ZDNkYWJjZTEzZjc3YjdmZjVmZDg0NTU0ZGRhYg==
|
7
|
+
SHA512:
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
NzQxNWMxYmVhZmM1MjI1ZDY4N2I3YjI4OTVkYmQ0NjZkMThhZTlkYTc5YmFj
|
10
|
+
YjU4MDYxYjIyZGZlMjdmOGI3ODcwN2ZiYzExMjE2NGE1YjI2MTkzNGNjOWM3
|
11
|
+
MzllZGE1ZGI1MTIzNjk4YWIwMWQ4ZWYwODhjNzMzM2MyZTIwN2E=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
Y2E4YzAzM2QyYmVlYmQ1ZGVjNWY3YzFhOWQzYWQ5NWFjZGVkNDgwMjBlMGUy
|
14
|
+
MzIzZDNjYWM0MDZlMGM0NDE4ODAwMzYwZmE1ZTUzYzc0MDMyZmNhMWJlMjg0
|
15
|
+
MDYwMDRhMDBhYTZkN2JlYzU1NWE3OGVjMjMzNWQzZjBmNmY5YTc=
|
data/CHANGES
CHANGED
data/Gemfile
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
require '
|
1
|
+
require 'script_executor/base_provision'
|
2
2
|
|
3
|
-
class OsxProvision <
|
3
|
+
class OsxProvision < BaseProvision
|
4
4
|
USER_LOCAL_BIN = "/usr/local/bin"
|
5
5
|
|
6
6
|
def initialize parent_class, config_file_name=".osx_provision.json", scripts_file_names=[]
|
@@ -9,11 +9,11 @@ class OsxProvision < GenericProvision
|
|
9
9
|
super
|
10
10
|
end
|
11
11
|
|
12
|
-
def prepare
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
end
|
12
|
+
# def prepare
|
13
|
+
# env['password'] = ask_password("Enter password for #{env[:node][:user]}: ")
|
14
|
+
#
|
15
|
+
# run(server_info.merge(capture_output: false, sudo: true), "prepare", env)
|
16
|
+
# end
|
17
17
|
|
18
18
|
def brew
|
19
19
|
installed = package_installed("#{USER_LOCAL_BIN}/brew")
|
@@ -55,10 +55,6 @@ class OsxProvision < GenericProvision
|
|
55
55
|
end
|
56
56
|
end
|
57
57
|
|
58
|
-
def init_launch_agent
|
59
|
-
run(server_info, "init_launch_agent", env)
|
60
|
-
end
|
61
|
-
|
62
58
|
def mysql
|
63
59
|
installed = package_installed "#{USER_LOCAL_BIN}/mysql"
|
64
60
|
|
@@ -91,14 +87,6 @@ class OsxProvision < GenericProvision
|
|
91
87
|
run(server_info, "postgres_restart", env.merge({started: started}))
|
92
88
|
end
|
93
89
|
|
94
|
-
def postgres_stop
|
95
|
-
run server_info, "postgres_stop", env
|
96
|
-
end
|
97
|
-
|
98
|
-
def postgres_start
|
99
|
-
run server_info, "postgres_start", env
|
100
|
-
end
|
101
|
-
|
102
90
|
def ruby
|
103
91
|
installed = package_installed "#{ENV['HOME']}/.rvm/rubies/ruby-1.9.3-p527/bin/ruby"
|
104
92
|
|
@@ -141,10 +129,6 @@ class OsxProvision < GenericProvision
|
|
141
129
|
run(server_info, "selenium_restart", env.merge({started: started}))
|
142
130
|
end
|
143
131
|
|
144
|
-
def postgres_create_user
|
145
|
-
run(server_info, "postgres_create_user", env)
|
146
|
-
end
|
147
|
-
|
148
132
|
def postgres_create_schemas
|
149
133
|
env[:postgres][:app_schemas].each do |schema|
|
150
134
|
run(server_info, "postgres_create_schema", env.merge(schema: schema))
|
@@ -157,18 +141,6 @@ class OsxProvision < GenericProvision
|
|
157
141
|
end
|
158
142
|
end
|
159
143
|
|
160
|
-
def postgres_drop_user
|
161
|
-
run(server_info, "postgres_drop_user", env)
|
162
|
-
end
|
163
|
-
|
164
|
-
def mysql_create_user
|
165
|
-
run(server_info, "mysql_create_user", env)
|
166
|
-
end
|
167
|
-
|
168
|
-
def mysql_drop_user
|
169
|
-
run(server_info, "mysql_drop_user", env)
|
170
|
-
end
|
171
|
-
|
172
144
|
def mysql_create_schemas
|
173
145
|
env[:mysql][:app_schemas].each do |schema|
|
174
146
|
run(server_info, "mysql_create_schema", env.merge(schema: schema))
|
data/osx_provision.gemspec
CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
|
|
18
18
|
|
19
19
|
|
20
20
|
spec.add_runtime_dependency "text-interpolator", ["~> 1.0"]
|
21
|
-
spec.add_runtime_dependency "script_executor", ["~> 1.
|
21
|
+
spec.add_runtime_dependency "script_executor", ["~> 1.5"]
|
22
22
|
spec.add_runtime_dependency "thor", ["~> 0.19"]
|
23
23
|
spec.add_runtime_dependency "json_pure", ["~> 1.8"]
|
24
24
|
spec.add_development_dependency "gemspec_deps_gen", ["~> 1.1"]
|
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: osx_provision
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
5
|
-
prerelease:
|
4
|
+
version: 0.9.8
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Alexander Shvets
|
@@ -14,7 +13,6 @@ dependencies:
|
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: text-interpolator
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
17
|
- - ~>
|
20
18
|
- !ruby/object:Gem::Version
|
@@ -22,7 +20,6 @@ dependencies:
|
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
24
|
- - ~>
|
28
25
|
- !ruby/object:Gem::Version
|
@@ -30,23 +27,20 @@ dependencies:
|
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: script_executor
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
31
|
- - ~>
|
36
32
|
- !ruby/object:Gem::Version
|
37
|
-
version: '1.
|
33
|
+
version: '1.5'
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
38
|
- - ~>
|
44
39
|
- !ruby/object:Gem::Version
|
45
|
-
version: '1.
|
40
|
+
version: '1.5'
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: thor
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
45
|
- - ~>
|
52
46
|
- !ruby/object:Gem::Version
|
@@ -54,7 +48,6 @@ dependencies:
|
|
54
48
|
type: :runtime
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
52
|
- - ~>
|
60
53
|
- !ruby/object:Gem::Version
|
@@ -62,7 +55,6 @@ dependencies:
|
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: json_pure
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
59
|
- - ~>
|
68
60
|
- !ruby/object:Gem::Version
|
@@ -70,7 +62,6 @@ dependencies:
|
|
70
62
|
type: :runtime
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
66
|
- - ~>
|
76
67
|
- !ruby/object:Gem::Version
|
@@ -78,7 +69,6 @@ dependencies:
|
|
78
69
|
- !ruby/object:Gem::Dependency
|
79
70
|
name: gemspec_deps_gen
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
72
|
requirements:
|
83
73
|
- - ~>
|
84
74
|
- !ruby/object:Gem::Version
|
@@ -86,7 +76,6 @@ dependencies:
|
|
86
76
|
type: :development
|
87
77
|
prerelease: false
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
79
|
requirements:
|
91
80
|
- - ~>
|
92
81
|
- !ruby/object:Gem::Version
|
@@ -94,7 +83,6 @@ dependencies:
|
|
94
83
|
- !ruby/object:Gem::Dependency
|
95
84
|
name: gemcutter
|
96
85
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
86
|
requirements:
|
99
87
|
- - ~>
|
100
88
|
- !ruby/object:Gem::Version
|
@@ -102,7 +90,6 @@ dependencies:
|
|
102
90
|
type: :development
|
103
91
|
prerelease: false
|
104
92
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
93
|
requirements:
|
107
94
|
- - ~>
|
108
95
|
- !ruby/object:Gem::Version
|
@@ -124,7 +111,6 @@ files:
|
|
124
111
|
- Rakefile
|
125
112
|
- Thorfile
|
126
113
|
- lib/osx_provision.rb
|
127
|
-
- lib/osx_provision/generic_provision.rb
|
128
114
|
- lib/osx_provision/osx_provision.rb
|
129
115
|
- lib/osx_provision/osx_provision_scripts.sh
|
130
116
|
- lib/osx_provision/version.rb
|
@@ -136,27 +122,26 @@ files:
|
|
136
122
|
- thor/project_scripts.sh
|
137
123
|
homepage: http://github.com/shvets/osx_provision
|
138
124
|
licenses: []
|
125
|
+
metadata: {}
|
139
126
|
post_install_message:
|
140
127
|
rdoc_options: []
|
141
128
|
require_paths:
|
142
129
|
- lib
|
143
130
|
required_ruby_version: !ruby/object:Gem::Requirement
|
144
|
-
none: false
|
145
131
|
requirements:
|
146
132
|
- - ! '>='
|
147
133
|
- !ruby/object:Gem::Version
|
148
134
|
version: '0'
|
149
135
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
150
|
-
none: false
|
151
136
|
requirements:
|
152
137
|
- - ! '>='
|
153
138
|
- !ruby/object:Gem::Version
|
154
139
|
version: '0'
|
155
140
|
requirements: []
|
156
141
|
rubyforge_project:
|
157
|
-
rubygems_version:
|
142
|
+
rubygems_version: 2.2.2
|
158
143
|
signing_key:
|
159
|
-
specification_version:
|
144
|
+
specification_version: 4
|
160
145
|
summary: Library for building Mac OSX provisioning
|
161
146
|
test_files:
|
162
147
|
- spec/osx_provision_spec.rb
|
@@ -1,79 +0,0 @@
|
|
1
|
-
require 'json'
|
2
|
-
require "highline"
|
3
|
-
|
4
|
-
require 'text_interpolator'
|
5
|
-
require 'script_executor/executable'
|
6
|
-
require 'script_executor/script_locator'
|
7
|
-
|
8
|
-
class GenericProvision
|
9
|
-
include Executable, ScriptLocator
|
10
|
-
|
11
|
-
attr_reader :interpolator, :env, :script_list, :server_info
|
12
|
-
|
13
|
-
def initialize parent_class, config_file_name, scripts_file_names
|
14
|
-
@interpolator = TextInterpolator.new
|
15
|
-
|
16
|
-
@env = read_config(config_file_name)
|
17
|
-
|
18
|
-
@script_list = {}
|
19
|
-
|
20
|
-
scripts_file_names.each do |name|
|
21
|
-
@script_list.merge!(scripts(name))
|
22
|
-
end
|
23
|
-
|
24
|
-
create_script_methods
|
25
|
-
|
26
|
-
create_thor_methods(parent_class) if parent_class.ancestors.include?(Thor)
|
27
|
-
|
28
|
-
@server_info = env[:node] ? env[:node] : {}
|
29
|
-
end
|
30
|
-
|
31
|
-
protected
|
32
|
-
|
33
|
-
def create_script_methods
|
34
|
-
script_list.keys.each do |name|
|
35
|
-
singleton_class.send(:define_method, name.to_sym) do
|
36
|
-
self.send :run, server_info, name.to_s, env
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
def create_thor_methods parent_class
|
42
|
-
provision = self
|
43
|
-
|
44
|
-
provision.script_list.each do |name, value|
|
45
|
-
title = provision.script_title(value)
|
46
|
-
|
47
|
-
title = title.nil? ? name : title
|
48
|
-
|
49
|
-
parent_class.send(:desc, name, title) if parent_class.respond_to?(:desc)
|
50
|
-
|
51
|
-
parent_class.send(:define_method, name.to_sym) do
|
52
|
-
provision.send "#{name}".to_sym
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|
56
|
-
|
57
|
-
def read_config config_file_name
|
58
|
-
hash = JSON.parse(File.read(config_file_name), :symbolize_names => true)
|
59
|
-
|
60
|
-
interpolator.interpolate hash
|
61
|
-
end
|
62
|
-
|
63
|
-
def terminal
|
64
|
-
@terminal ||= HighLine.new
|
65
|
-
end
|
66
|
-
|
67
|
-
def ask_password message
|
68
|
-
terminal.ask(message) { |q| q.echo = "*" }
|
69
|
-
end
|
70
|
-
|
71
|
-
def run server_info, script_name, params
|
72
|
-
execute(server_info) { evaluate_script_body(script_list[script_name], params, :string) }
|
73
|
-
end
|
74
|
-
|
75
|
-
def run_command server_info, command
|
76
|
-
execute(server_info.merge({script: command}))
|
77
|
-
end
|
78
|
-
|
79
|
-
end
|