docman 0.0.99 → 0.0.100
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/application.rb +2 -2
- data/lib/docman/cli.rb +14 -6
- data/lib/docman/deployers/git_deployer.rb +9 -1
- data/lib/docman/docroot_config.rb +55 -1
- data/lib/docman/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e231868676b2f087fe12b8734ae861b205b95ad0
|
4
|
+
data.tar.gz: a87e681d52375023f07f9ef0019fcca151f16664
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b58e55802f3d67a3cd04283688770969c0e68c3af2cdea8fe73e31e5c8e2365f93eecfe1de41d7e06bd280642b5d2f0158e90692683556a1a80694021c2a6e04
|
7
|
+
data.tar.gz: 749fed753ef3466accdddbcbf0d46de7efc59e3462357f31b45855eb1ed9ad6de4442579ae2fed1a84e4f50389498e9b122d2bf5575bed1120d8eb7a7ef2d9f3
|
data/lib/application.rb
CHANGED
@@ -84,7 +84,7 @@ module Docman
|
|
84
84
|
def build(deploy_target_name, state, options = false)
|
85
85
|
with_rescue do
|
86
86
|
@options = options
|
87
|
-
@docroot_config = DocrootConfig.new(@workspace_dir, deploy_target_name, options)
|
87
|
+
@docroot_config = DocrootConfig.new(@workspace_dir, deploy_target_name, options, state)
|
88
88
|
@deploy_target = @docroot_config.deploy_target
|
89
89
|
execute('build', state, nil, options['tag'])
|
90
90
|
end
|
@@ -94,7 +94,7 @@ module Docman
|
|
94
94
|
result = nil
|
95
95
|
with_rescue do
|
96
96
|
@options = options
|
97
|
-
@docroot_config = DocrootConfig.new(@workspace_dir, deploy_target_name, options)
|
97
|
+
@docroot_config = DocrootConfig.new(@workspace_dir, deploy_target_name, options, state)
|
98
98
|
@deploy_target = @docroot_config.deploy_target
|
99
99
|
@docroot_config.states_dependin_on(name, version).keys.each do |state|
|
100
100
|
execute('deploy', state, name)
|
data/lib/docman/cli.rb
CHANGED
@@ -45,13 +45,21 @@ module Docman
|
|
45
45
|
method_option :config, :desc => 'Configuration override JSON'
|
46
46
|
method_option :config_dir, :desc => 'Config directories divided by coma where docman will search for config.yaml'
|
47
47
|
option :tag
|
48
|
-
def build(deploy_target, state)
|
49
|
-
|
50
|
-
if
|
51
|
-
|
48
|
+
def build(deploy_target="git_target", state="")
|
49
|
+
docman_state_var = "DOCMAN_STATE"
|
50
|
+
if ENV.has_key? docman_state_var and ENV[docman_state_var].length > 0
|
51
|
+
state = ENV[docman_state_var]
|
52
|
+
end
|
53
|
+
if state.length > 0
|
54
|
+
get_to_root_dir
|
55
|
+
if options[:force]
|
56
|
+
FileUtils.rm_rf('master') if File.directory? 'master'
|
57
|
+
end
|
58
|
+
Application.instance.build(deploy_target, state, options)
|
59
|
+
say('Complete!', :green)
|
60
|
+
else
|
61
|
+
say("Cant build without state parameter or #{docman_state_var} environment variable.")
|
52
62
|
end
|
53
|
-
Application.instance.build(deploy_target, state, options)
|
54
|
-
say('Complete!', :green)
|
55
63
|
end
|
56
64
|
|
57
65
|
desc 'deploy', 'Deploy to target'
|
@@ -14,7 +14,15 @@ module Docman
|
|
14
14
|
prev_version = File.file?(filepath) ? File.open(filepath) : nil
|
15
15
|
params = self['environment']['tagger']
|
16
16
|
params['prev_version'] = prev_version
|
17
|
-
version =
|
17
|
+
version = ''
|
18
|
+
docman_tag_var = "DOCMAN_TAG"
|
19
|
+
if ENV.has_key? docman_tag_var and ENV[docman_tag_var].length > 0
|
20
|
+
puts "Variable #{docman_tag_var} => #{ENV[docman_tag_var]}"
|
21
|
+
version = ENV[docman_tag_var]
|
22
|
+
else
|
23
|
+
puts "Variable #{docman_tag_var} not found."
|
24
|
+
version = Docman::Taggers::Tagger.create(params, root, self).perform
|
25
|
+
end
|
18
26
|
File.open(filepath, 'w') {|f| f.write(version) }
|
19
27
|
|
20
28
|
filepath = File.join(root['full_build_path'], 'version.properties')
|
@@ -8,7 +8,9 @@ module Docman
|
|
8
8
|
|
9
9
|
attr_reader :structure, :deploy_target, :docroot_dir, :docroot_config_dir, :config_dir, :root, :raw_infos
|
10
10
|
|
11
|
-
def initialize(docroot_dir, deploy_target_name = nil, options = nil)
|
11
|
+
def initialize(docroot_dir, deploy_target_name = nil, options = nil, state = nil)
|
12
|
+
@state = state
|
13
|
+
|
12
14
|
@override = {}
|
13
15
|
if options && options['config']
|
14
16
|
@override = JSON.parse(options['config'])
|
@@ -90,6 +92,8 @@ module Docman
|
|
90
92
|
info.merge! @override['projects'][info['name']]
|
91
93
|
end
|
92
94
|
|
95
|
+
info = override_from_environment(info)
|
96
|
+
|
93
97
|
i = Docman::Info.new(info)
|
94
98
|
@root = i if parent.nil?
|
95
99
|
i['root'] = @root
|
@@ -130,6 +134,8 @@ module Docman
|
|
130
134
|
info.merge! @override['projects'][info['name']]
|
131
135
|
end
|
132
136
|
|
137
|
+
info = override_from_environment(info)
|
138
|
+
|
133
139
|
i = Docman::Info.new(info)
|
134
140
|
@root = i if parent.nil?
|
135
141
|
i['root'] = @root
|
@@ -149,6 +155,54 @@ module Docman
|
|
149
155
|
i
|
150
156
|
end
|
151
157
|
|
158
|
+
def override_from_environment(info)
|
159
|
+
|
160
|
+
docman_config_var = "DOCMAN_CONFIG"
|
161
|
+
if ENV.has_key? docman_config_var and ENV[docman_config_var].length > 0
|
162
|
+
puts "Variable #{docman_config_var} => #{ENV[docman_config_var]}"
|
163
|
+
docman_config_overrides = JSON.parse(ENV[docman_config_var])
|
164
|
+
if docman_config_overrides['projects'] && docman_config_overrides['projects'].key?(info['name'])
|
165
|
+
info.merge! docman_config_overrides['projects'][info['name']]
|
166
|
+
end
|
167
|
+
else
|
168
|
+
puts "Variable #{docman_config_var} not found."
|
169
|
+
end
|
170
|
+
|
171
|
+
docman_repo_var = "DOCMAN_PROJECTS_#{info['name'].upcase}_REPO"
|
172
|
+
if ENV.has_key? docman_repo_var and ENV[docman_repo_var].length > 0
|
173
|
+
puts "Variable #{docman_repo_var} => #{ENV[docman_repo_var]}"
|
174
|
+
info['repo'] = ENV[docman_repo_var]
|
175
|
+
else
|
176
|
+
puts "Variable #{docman_repo_var} not found."
|
177
|
+
end
|
178
|
+
|
179
|
+
docman_order_var = "DOCMAN_PROJECTS_#{info['name'].upcase}_ORDER"
|
180
|
+
if ENV.has_key? docman_order_var and ENV[docman_tag_var].length > 0
|
181
|
+
puts "Variable #{docman_order_var} => #{ENV[docman_order_var]}"
|
182
|
+
info['order'] = ENV[docman_order_var]
|
183
|
+
else
|
184
|
+
puts "Variable #{docman_order_var} not found."
|
185
|
+
end
|
186
|
+
|
187
|
+
docman_version_var = "DOCMAN_PROJECTS_#{info['name'].upcase}_VERSION"
|
188
|
+
if ENV.has_key? docman_version_var and ENV[docman_version_var].length > 0
|
189
|
+
puts "Variable #{docman_version_var} => #{ENV[docman_version_var]}"
|
190
|
+
if @state.nil?
|
191
|
+
info['states'].each do |k,v|
|
192
|
+
info['states'][k]['type'] = "branch"
|
193
|
+
info['states'][k]['version'] = ENV[docman_version_var]
|
194
|
+
end
|
195
|
+
else
|
196
|
+
info['states'][@state]['type'] = "branch"
|
197
|
+
info['states'][@state]['version'] = ENV[docman_version_var]
|
198
|
+
end
|
199
|
+
else
|
200
|
+
puts "Variable #{docman_version_var} not found."
|
201
|
+
end
|
202
|
+
|
203
|
+
info
|
204
|
+
end
|
205
|
+
|
152
206
|
def chain(info)
|
153
207
|
chain = {}
|
154
208
|
chain[info['name']] = info
|
data/lib/docman/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: docman
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.100
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alexander Tolstikov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-05-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|