buildizer 0.0.9 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. checksums.yaml +8 -8
  2. data/Gemfile.lock +3 -5
  3. data/bin/buildizer +1 -1
  4. data/buildizer.gemspec +1 -0
  5. data/lib/buildizer/builder/base.rb +30 -35
  6. data/lib/buildizer/builder/fpm.rb +10 -10
  7. data/lib/buildizer/builder/patch.rb +2 -2
  8. data/lib/buildizer/{packager → buildizer}/buildizer_conf_mod.rb +3 -5
  9. data/lib/buildizer/{packager → buildizer}/ci_mod.rb +2 -2
  10. data/lib/buildizer/{packager → buildizer}/docker_cache_mod.rb +12 -9
  11. data/lib/buildizer/{packager → buildizer}/git_mod.rb +2 -2
  12. data/lib/buildizer/{packager → buildizer}/misc_mod.rb +34 -6
  13. data/lib/buildizer/{packager → buildizer}/overcommit_mod.rb +26 -13
  14. data/lib/buildizer/{packager → buildizer}/package_cloud_mod.rb +11 -9
  15. data/lib/buildizer/{packager → buildizer}/package_version_tag_mod.rb +2 -4
  16. data/lib/buildizer/{packager → buildizer}/project_settings_mod.rb +5 -7
  17. data/lib/buildizer/{packager → buildizer}/user_settings_mod.rb +4 -6
  18. data/lib/buildizer/{packager.rb → buildizer.rb} +29 -33
  19. data/lib/buildizer/ci/base.rb +8 -6
  20. data/lib/buildizer/ci/travis/docker_cache_mod.rb +9 -9
  21. data/lib/buildizer/ci/travis/package_cloud_mod.rb +8 -8
  22. data/lib/buildizer/ci/travis/package_version_tag_mod.rb +3 -5
  23. data/lib/buildizer/ci/travis.rb +18 -14
  24. data/lib/buildizer/cli/base.rb +3 -2
  25. data/lib/buildizer/cli/main.rb +14 -14
  26. data/lib/buildizer/core_ext/false_class.rb +5 -0
  27. data/lib/buildizer/core_ext/hash.rb +48 -0
  28. data/lib/buildizer/core_ext/pathname.rb +17 -0
  29. data/lib/buildizer/core_ext/string.rb +17 -0
  30. data/lib/buildizer/core_ext/true_class.rb +5 -0
  31. data/lib/buildizer/docker.rb +34 -31
  32. data/lib/buildizer/target/base.rb +1 -5
  33. data/lib/buildizer/version.rb +1 -1
  34. data/lib/buildizer.rb +7 -2
  35. metadata +38 -14
  36. data/lib/buildizer/refine.rb +0 -42
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NmMwYWNlZTljM2Y1ZTk0ZTQ5MTc0N2Q4ODc1NjE5NzY3Y2ViNTY1ZA==
4
+ NTFhMmM1N2Y4NzhjOWNkMWRlMWFhMTlmOGQ5YzU0M2FkYTg3NDc0Yg==
5
5
  data.tar.gz: !binary |-
6
- MzNiNzUzODE5MTg4YzUzZDlkZDc2MGE1NWNhZWY3YThhYjk2MWZmOQ==
6
+ ZjQ5OTYxZGJiMWJkZGNiNjBjMzkwYjFiZTRkYzMxZWZiYmY5ODIwMw==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- NmUzYjBjNzdkZTk0NjY2OGI2MmQwN2UwNjg3YzFjZWY4MWE1NGNjNGUwZjcw
10
- MTI3MmQxMDdlZjljMzNmYjQxODk4YWEwYTFjZDc0NjRiYTdiMGNiYzk3Y2Jj
11
- NjQwNzdhOTE2MWVhNTkyM2QwYzM4YWM0YjcyZjVkNTlmYmY5OWM=
9
+ MDZlNTZiNmFiOTBmZmFiYzczNWQ1NGI0MWVkODk4NDYwZjcwZmM1MDc5MDRk
10
+ ZjU1MmNiMDU3MTRiMTYzOTM0YmQxMDM2NjE0MjM5YjZjODRiYzRmMTA5NGY0
11
+ ZTg0ZDQ3MTFmMWVjNzYyNzY4ZjdlYzEzYzU4YjFiNWQ4MDU1YTI=
12
12
  data.tar.gz: !binary |-
13
- NjFlNDA4NzE4ZDJkYTc4NWMzZWIwY2IyZGJkYjZiZGRjZTRiMmUzNTlhOTk0
14
- MzI1MTliMmJlOTk3OTgzNWQ0ZWZhN2ZhYWFhNzEzYTc3MzM5YjA5ZTY5ZWM5
15
- NGY4ZGNlYzYzNjc4OTMxZDE0MWEwZTg5ZGQzN2E3ZDNmZjYxZTU=
13
+ MGExOGQ3ZjViMDVmZGE0MDg2ZjE2NjU2MTI3ZTcwNjFhM2U0MmM5YjFiZjNk
14
+ NDU2ZGNmNmVmMjcyNjczZjlhMTA0OTBmNDU5ZGZmYzQxNDg3YTdlZGY1YzI1
15
+ NzA4NmJiYWVhMDFlOWUyZmQ0MjUzNzgyMjEyMDQwZTFiMTQ1OGY=
data/Gemfile.lock CHANGED
@@ -1,6 +1,6 @@
1
1
  GIT
2
2
  remote: https://github.com/flant/shellfold.git
3
- revision: 4db6a6a953412f2973fb6a814a0517cd04b0658c
3
+ revision: 4704e2ffe717268e1316b66db34e5f9a1aafabee
4
4
  specs:
5
5
  shellfold (0.0.3)
6
6
  mixlib-shellout (>= 2.2.6, < 3.0)
@@ -8,7 +8,8 @@ GIT
8
8
  PATH
9
9
  remote: .
10
10
  specs:
11
- buildizer (0.0.9)
11
+ buildizer (0.1.0)
12
+ colorize (>= 0.6.0, < 1.0)
12
13
  net_status (>= 0.0.1, < 1.0)
13
14
  overcommit (>= 0.33.0, < 1.0)
14
15
  package_cloud (>= 0.2, < 1.0)
@@ -118,6 +119,3 @@ DEPENDENCIES
118
119
  rspec (~> 3.4, >= 3.4.0)
119
120
  shellfold!
120
121
  travis (~> 1.8, >= 1.8.2)
121
-
122
- BUNDLED WITH
123
- 1.11.2
data/bin/buildizer CHANGED
@@ -7,6 +7,6 @@ require 'buildizer'
7
7
  begin
8
8
  Buildizer::Cli::Main.start
9
9
  rescue Buildizer::Error => e
10
- $stderr.puts [e.net_status[:error], e.net_status[:message]].compact.join(': ')
10
+ $stderr.puts e.net_status.net_status_message
11
11
  exit 1
12
12
  end
data/buildizer.gemspec CHANGED
@@ -21,6 +21,7 @@ Gem::Specification.new do |spec|
21
21
  spec.add_dependency "shellfold", ">= 0.0.1", "< 1.0"
22
22
  spec.add_dependency "package_cloud", ">= 0.2", "< 1.0"
23
23
  spec.add_dependency "overcommit", ">= 0.33.0", "< 1.0"
24
+ spec.add_dependency "colorize", ">= 0.6.0", "< 1.0"
24
25
 
25
26
  spec.add_development_dependency "bundler", "~> 1.7"
26
27
  spec.add_development_dependency "rake", "~> 10.0"
@@ -1,19 +1,14 @@
1
1
  module Buildizer
2
2
  module Builder
3
3
  class Base
4
- using Refine
5
-
6
- attr_reader :packager
4
+ attr_reader :buildizer
7
5
  attr_reader :work_path
8
6
  attr_reader :docker
9
7
 
10
- def initialize(packager)
11
- @packager = packager
12
-
13
- @work_path = packager.work_path.join('builder').expand_path
14
- work_path.mkpath
15
-
16
- @docker = Docker.new(self, cache: packager.docker_cache)
8
+ def initialize(buildizer)
9
+ @buildizer = buildizer
10
+ @work_path = buildizer.work_path.join('builder').expand_path
11
+ @docker = Docker.new(self, cache: buildizer.docker_cache)
17
12
  end
18
13
 
19
14
  def build_type
@@ -36,7 +31,7 @@ module Buildizer
36
31
  image = docker.new_image(os_name, os_version)
37
32
 
38
33
  params = initial_target_params
39
- packager.buildizer_conf.each do |match_key, match_params|
34
+ buildizer.buildizer_conf.each do |match_key, match_params|
40
35
  match_os_name, match_os_version, match_target_tag = match_key.to_s.split('/', 3)
41
36
  if image.os_name.match_glob?(match_os_name) and
42
37
  ( match_os_version.nil? or image.os_version.match_glob?(match_os_version) ) and
@@ -54,18 +49,18 @@ module Buildizer
54
49
  end
55
50
 
56
51
  def targets
57
- @targets ||= packager.targets.map {|target_name| new_target(target_name)}
52
+ @targets ||= buildizer.targets.map {|target_name| new_target(target_name)}
58
53
  end
59
54
 
60
55
  def initial_target_params
61
56
  {}.tap do |params|
62
- params[:package_name] = packager.package_name
63
- params[:package_version] = packager.package_version
64
- params[:package_cloud] = packager.package_cloud
65
- params[:prepare] = packager.prepare
66
- params[:build_dep] = packager.build_dep
67
- params[:before_build] = packager.before_build
68
- params[:maintainer] = packager.maintainer
57
+ params[:package_name] = buildizer.package_name
58
+ params[:package_version] = buildizer.package_version
59
+ params[:package_cloud] = buildizer.package_cloud
60
+ params[:prepare] = buildizer.prepare
61
+ params[:build_dep] = buildizer.build_dep
62
+ params[:before_build] = buildizer.before_build
63
+ params[:maintainer] = buildizer.maintainer
69
64
  end
70
65
  end
71
66
 
@@ -114,13 +109,13 @@ module Buildizer
114
109
 
115
110
  def prepare
116
111
  docker.with_cache do
117
- packager.before_prepare
118
- .each {|cmd| packager.command! cmd, desc: "Before prepare command: #{cmd}"}
112
+ buildizer.before_prepare
113
+ .each {|cmd| buildizer.command! cmd, desc: "Before prepare command: #{cmd}"}
119
114
 
120
115
  targets.each {|target| prepare_target_image(target)}
121
116
 
122
- packager.after_prepare
123
- .each {|cmd| packager.command! cmd, desc: "After prepare command: #{cmd}"}
117
+ buildizer.after_prepare
118
+ .each {|cmd| buildizer.command! cmd, desc: "After prepare command: #{cmd}"}
124
119
  end # with_cache
125
120
  end
126
121
 
@@ -158,27 +153,27 @@ module Buildizer
158
153
  end
159
154
 
160
155
  def deploy
161
- if packager.package_version_tag_required_for_deploy? and
162
- not packager.package_version_tag
156
+ if buildizer.package_version_tag_required_for_deploy? and
157
+ not buildizer.package_version_tag
163
158
  puts "package_version_tag (env TRAVIS_TAG or CI_BUILD_TAG) required: ignoring deploy"
164
159
  return
165
- elsif packager.package_cloud.empty?
166
- warn "No package cloud settings " +
167
- "(PACKAGECLOUD, PACKAGECLOUD_TOKEN, PACKAGECLOUD_TOKEN_<ORG>) [WARN]"
160
+ elsif buildizer.package_cloud.empty?
161
+ buildizer.warn "No package cloud settings " +
162
+ "(PACKAGECLOUD, PACKAGECLOUD_TOKEN, PACKAGECLOUD_TOKEN_<ORG>)"
168
163
  return
169
164
  end
170
165
 
171
- packager.package_cloud_org.each do |org, token|
166
+ buildizer.package_cloud_org.each do |org, token|
172
167
  unless token
173
- warn "No package cloud token defined for org '#{org}' " +
174
- "(PACKAGECLOUD_TOKEN or PACKAGECLOUD_TOKEN_#{org.upcase}) [WARN]"
168
+ buildizer.warn "No package cloud token defined for org '#{org}' " +
169
+ "(PACKAGECLOUD_TOKEN or PACKAGECLOUD_TOKEN_#{org.upcase})"
175
170
  end
176
171
  end
177
172
 
178
173
  targets.map do |target|
179
174
  target.tap do
180
- if packager.package_version_tag_required_for_deploy? and
181
- packager.package_version_tag != target.package_version_tag
175
+ if buildizer.package_version_tag_required_for_deploy? and
176
+ buildizer.package_version_tag != target.package_version_tag
182
177
  raise(Error, error: :logical_error,
183
178
  message: "#{target.package_version_tag_param_name} and "+
184
179
  "package_version_tag (env TRAVIS_TAG or CI_BUILD_TAG) " +
@@ -200,12 +195,12 @@ module Buildizer
200
195
  )
201
196
  end
202
197
  }.flatten.each {|desc|
203
- packager.command desc[:yank],
198
+ buildizer.command desc[:yank],
204
199
  desc: ["Package cloud yank package '#{desc[:package]}'",
205
200
  " of target '#{target.name}'"].join,
206
201
  environment: {'PACKAGECLOUD_TOKEN' => desc[:token]}
207
202
 
208
- packager.command desc[:push],
203
+ buildizer.command desc[:push],
209
204
  desc: ["Package cloud push package '#{desc[:package]}'",
210
205
  " of target '#{target.name}'"].join,
211
206
  environment: {'PACKAGECLOUD_TOKEN' =>desc[:token]}
@@ -15,15 +15,15 @@ module Buildizer
15
15
 
16
16
  def initial_target_params
17
17
  super.tap do |params|
18
- params[:fpm_script] = Array(packager.buildizer_conf['fpm_script'])
19
- params[:fpm_config_files] = packager.buildizer_conf['fpm_config_files'].to_h
20
- params[:fpm_files] = packager.buildizer_conf['fpm_files'].to_h
21
- params[:fpm_conflicts] = Array(packager.buildizer_conf['fpm_conflicts'])
22
- params[:fpm_replaces] = Array(packager.buildizer_conf['fpm_replaces'])
23
- params[:fpm_provides] = Array(packager.buildizer_conf['fpm_provides'])
24
- params[:fpm_depends] = Array(packager.buildizer_conf['fpm_depends'])
25
- params[:fpm_description] = packager.buildizer_conf['fpm_description']
26
- params[:fpm_url] = packager.buildizer_conf['fpm_url']
18
+ params[:fpm_script] = Array(buildizer.buildizer_conf['fpm_script'])
19
+ params[:fpm_config_files] = buildizer.buildizer_conf['fpm_config_files'].to_h
20
+ params[:fpm_files] = buildizer.buildizer_conf['fpm_files'].to_h
21
+ params[:fpm_conflicts] = Array(buildizer.buildizer_conf['fpm_conflicts'])
22
+ params[:fpm_replaces] = Array(buildizer.buildizer_conf['fpm_replaces'])
23
+ params[:fpm_provides] = Array(buildizer.buildizer_conf['fpm_provides'])
24
+ params[:fpm_depends] = Array(buildizer.buildizer_conf['fpm_depends'])
25
+ params[:fpm_description] = buildizer.buildizer_conf['fpm_description']
26
+ params[:fpm_url] = buildizer.buildizer_conf['fpm_url']
27
27
  end
28
28
  end
29
29
 
@@ -75,7 +75,7 @@ module Buildizer
75
75
  end
76
76
 
77
77
  fpm_script.values.map do |desc|
78
- desc[:file].write ["#!/bin/bash", *desc[:cmd], nil].join("\n")
78
+ desc[:file].write! ["#!/bin/bash", *desc[:cmd], nil].join("\n")
79
79
  desc[:file].chmod 0755
80
80
  end
81
81
 
@@ -11,8 +11,8 @@ module Buildizer
11
11
 
12
12
  def initial_target_params
13
13
  super.tap do |params|
14
- params[:patch] = Array(packager.buildizer_conf['patch'])
15
- params[:patch_version] = packager.buildizer_conf['patch_version']
14
+ params[:patch] = Array(buildizer.buildizer_conf['patch'])
15
+ params[:patch_version] = buildizer.buildizer_conf['patch_version']
16
16
  end
17
17
  end
18
18
 
@@ -1,8 +1,6 @@
1
1
  module Buildizer
2
- class Packager
2
+ class Buildizer
3
3
  module BuildizerConfMod
4
- using Refine
5
-
6
4
  def buildizer_conf_path
7
5
  package_path.join('Buildizer')
8
6
  end
@@ -16,7 +14,7 @@ module Buildizer
16
14
  end
17
15
 
18
16
  def buildizer_conf_setup!
19
- write_path(buildizer_conf_path, YAML.dump(buildizer_conf))
17
+ write_yaml(buildizer_conf_path, buildizer_conf)
20
18
  end
21
19
 
22
20
  def package_name
@@ -59,5 +57,5 @@ module Buildizer
59
57
  buildizer_conf['maintainer']
60
58
  end
61
59
  end # BuildizerConfMod
62
- end # Packager
60
+ end # Buildizer
63
61
  end # Buildizer
@@ -1,5 +1,5 @@
1
1
  module Buildizer
2
- class Packager
2
+ class Buildizer
3
3
  module CiMod
4
4
  def ci_name
5
5
  @ci_name ||= begin
@@ -23,5 +23,5 @@ module Buildizer
23
23
  end
24
24
  end
25
25
  end # CiMod
26
- end # Packager
26
+ end # Buildizer
27
27
  end # Buildizer
@@ -1,5 +1,5 @@
1
1
  module Buildizer
2
- class Packager
2
+ class Buildizer
3
3
  module DockerCacheMod
4
4
  def docker_cache
5
5
  return unless repo = ENV['BUILDIZER_DOCKER_CACHE']
@@ -11,7 +11,7 @@ module Buildizer
11
11
  end
12
12
 
13
13
  def setup_docker_cache_repo
14
- cli.options['docker_cache']
14
+ options[:docker_cache]
15
15
  end
16
16
 
17
17
  def setup_docker_cache_org
@@ -19,14 +19,17 @@ module Buildizer
19
19
  end
20
20
 
21
21
  def setup_docker_cache_user
22
- cli.options['docker_cache_user'] || user_settings_docker_cache_user_list(setup_docker_cache_org).first
22
+ options[:docker_cache_user] || user_settings_docker_cache_user_list(setup_docker_cache_org).first
23
23
  end
24
24
 
25
25
  def setup_docker_cache_password
26
26
  @setup_docker_cache_password ||= begin
27
27
  settings_password = user_settings_docker_cache_user(setup_docker_cache_user)['password']
28
- if cli.options['reset_docker_cache_password'] or settings_password.nil?
29
- cli.ask("Docker cache user '#{setup_docker_cache_user}' password:", echo: false).tap{puts}
28
+ if options[:reset_docker_cache_password] or settings_password.nil?
29
+ secure_option(
30
+ :docker_cache_password,
31
+ ask: "Docker cache user '#{setup_docker_cache_user}' password:"
32
+ )
30
33
  else
31
34
  settings_password
32
35
  end
@@ -34,11 +37,11 @@ module Buildizer
34
37
  end
35
38
 
36
39
  def setup_docker_cache_email
37
- cli.options['docker_cache_email'] || user_settings_docker_cache_user(setup_docker_cache_user)['email']
40
+ options[:docker_cache_email] || user_settings_docker_cache_user(setup_docker_cache_user)['email']
38
41
  end
39
42
 
40
43
  def setup_docker_cache_server
41
- cli.options['docker_cache_server'] || user_settings_docker_cache_user(setup_docker_cache_user)['server']
44
+ options[:docker_cache_server] || user_settings_docker_cache_user(setup_docker_cache_user)['server']
42
45
  end
43
46
 
44
47
  def user_settings_docker_cache
@@ -68,7 +71,7 @@ module Buildizer
68
71
  end
69
72
 
70
73
  def docker_cache_clear_settings?
71
- cli.options['clear_docker_cache']
74
+ options[:clear_docker_cache]
72
75
  end
73
76
 
74
77
  def docker_cache_setup!
@@ -99,5 +102,5 @@ module Buildizer
99
102
  ci.docker_cache_setup!
100
103
  end
101
104
  end # DockerCacheMod
102
- end # Packager
105
+ end # Buildizer
103
106
  end # Buildizer
@@ -1,5 +1,5 @@
1
1
  module Buildizer
2
- class Packager
2
+ class Buildizer
3
3
  module GitMod
4
4
  def git_available?
5
5
  res = raw_command 'git status'
@@ -12,5 +12,5 @@ module Buildizer
12
12
  res.stdout.strip
13
13
  end
14
14
  end # GitMod
15
- end # Packager
15
+ end # Buildizer
16
16
  end # Buildizer
@@ -1,8 +1,8 @@
1
1
  module Buildizer
2
- class Packager
2
+ class Buildizer
3
3
  module MiscMod
4
4
  def command(*args, do_raise: false, **kwargs)
5
- Shellfold.run(*args, **kwargs).tap do |cmd|
5
+ Shellfold.run(*args, live_log: debug, **kwargs).tap do |cmd|
6
6
  if not cmd.status.success? and do_raise
7
7
  raise Error.new(error: :error, message: "external command error")
8
8
  end
@@ -36,22 +36,50 @@ module Buildizer
36
36
  if path.read == value
37
37
  fin.call 'OK'
38
38
  else
39
- path.write value
39
+ path.write! value
40
40
  fin.call 'UPDATED'
41
41
  end
42
42
  else
43
- path.write value
43
+ path.write! value
44
44
  fin.call 'CREATED'
45
45
  end
46
46
  end
47
47
  end
48
48
 
49
- def with_log(desc: nil, &blk)
49
+ def write_yaml(path, cfg)
50
+ with_log(desc: "Update config #{path}") do |&fin|
51
+ old_cfg = path.load_yaml
52
+ if old_cfg == cfg
53
+ fin.call 'OK'
54
+ elsif cfg.empty?
55
+ if path.exist?
56
+ path.delete
57
+ fin.call 'DELETED'
58
+ else
59
+ fin.call 'OK'
60
+ end
61
+ else
62
+ if path.exist?
63
+ path.dump_yaml(cfg)
64
+ fin.call 'UPDATED'
65
+ else
66
+ path.dump_yaml(cfg)
67
+ fin.call 'CREATED'
68
+ end
69
+ end
70
+ end
71
+ end
72
+
73
+ def with_log(desc: nil, &blk) # TODO: rename to verbose
50
74
  puts(" #{desc}") if desc
51
75
  blk.call do |status|
52
76
  puts("=> #{desc} [#{status || 'OK'}]") if desc
53
77
  end
54
78
  end
79
+
80
+ def warn(msg)
81
+ Kernel::warn msg.to_s.colorize(:yellow)
82
+ end
55
83
  end # MiscMod
56
- end # Packager
84
+ end # Buildizer
57
85
  end # Buildizer
@@ -1,8 +1,6 @@
1
1
  module Buildizer
2
- class Packager
2
+ class Buildizer
3
3
  module OvercommitMod
4
- using Refine
5
-
6
4
  def overcommit_conf_path
7
5
  package_path.join('.overcommit.yml')
8
6
  end
@@ -19,28 +17,39 @@ module Buildizer
19
17
  @overcommit_conf ||= overcommit_conf_path.load_yaml
20
18
  end
21
19
 
22
- def overcommit_conf_raw
23
- YAML.dump(overcommit_conf)
24
- end
25
-
26
20
  def overcommit_conf_dump!
27
- write_path overcommit_conf_path, overcommit_conf_raw
21
+ write_yaml overcommit_conf_path, overcommit_conf
28
22
  command! 'overcommit --sign'
29
23
  end
30
24
 
31
25
  def overcommit_setup!
32
- overcommit_hooks_path.mkpath
33
26
  overcommit_conf_dump!
34
27
  command! 'overcommit --install'
35
28
  end
36
29
 
30
+ def overcommit_buildizer_require_list
31
+ [].tap do |res|
32
+ res << 'bundler/setup' if ENV.key? 'BUNDLE_BIN_PATH'
33
+ res << 'buildizer'
34
+ end
35
+ end
36
+
37
+ def overcommit_buildizer_require
38
+ overcommit_buildizer_require_list.map {|req| " require '#{req}'"}.join("\n")
39
+ end
40
+
37
41
  def overcommit_verify_setup!
38
42
  hookcode = <<-HOOKCODE
39
43
  module Overcommit::Hook::PreCommit
40
44
  class BuildizerVerify < Base
41
45
  def run
42
- return :fail unless system("buildizer verify")
46
+ #{overcommit_buildizer_require}
47
+
48
+ ::Buildizer::Buildizer.new.verify!
43
49
  :pass
50
+ rescue ::Buildizer::Error => e
51
+ $stderr.puts e.net_status.net_status_message
52
+ :fail
44
53
  end
45
54
  end
46
55
  end
@@ -54,8 +63,13 @@ end
54
63
  module Overcommit::Hook::PreCommit
55
64
  class BuildizerCiVerify < Base
56
65
  def run
57
- return :fail unless system("buildizer setup --verify-ci")
66
+ #{overcommit_buildizer_require}
67
+
68
+ Buildizer::Buildizer.new.ci.configuration_actual!
58
69
  :pass
70
+ rescue ::Buildizer::Error => e
71
+ $stderr.puts e.net_status.net_status_message
72
+ :fail
59
73
  end
60
74
  end
61
75
  end
@@ -75,11 +89,10 @@ end
75
89
  end
76
90
  overcommit_conf_dump!
77
91
 
78
- overcommit_hooks_pre_commit_path.mkpath
79
92
  path = overcommit_hooks_pre_commit_path.join("#{name}.rb")
80
93
  write_path path, hookcode
81
94
  command! 'overcommit --sign pre-commit'
82
95
  end
83
96
  end # OvercommitMod
84
- end # Packager
97
+ end # Buildizer
85
98
  end # Buildizer
@@ -1,5 +1,5 @@
1
1
  module Buildizer
2
- class Packager
2
+ class Buildizer
3
3
  module PackageCloudMod
4
4
  def package_cloud_repo
5
5
  ENV['PACKAGECLOUD'].to_s.split(',')
@@ -30,7 +30,7 @@ module Buildizer
30
30
  end
31
31
 
32
32
  def setup_package_cloud_repo_list
33
- Array(cli.options['package_cloud']).uniq
33
+ Array(options[:package_cloud]).uniq
34
34
  end
35
35
 
36
36
  def setup_package_cloud_repo_desc_list
@@ -49,21 +49,23 @@ module Buildizer
49
49
  end
50
50
 
51
51
  def package_cloud_update_settings?
52
- cli.options['package_cloud']
52
+ options[:package_cloud]
53
53
  end
54
54
 
55
55
  def package_cloud_clear_settings?
56
- cli.options['clear_package_cloud']
56
+ options[:clear_package_cloud]
57
57
  end
58
58
 
59
59
  def package_cloud_setup!
60
60
  if package_cloud_update_settings?
61
61
  update_user_settings = false
62
62
  setup_package_cloud_org_list.each do |org|
63
- if user_settings_package_cloud_token[org].nil? or
64
- cli.options['reset_package_cloud_token']
65
- token = cli.ask("Enter token for package_cloud org '#{org}':",
66
- echo: false, default: 'none').tap{puts}
63
+ if user_settings_package_cloud_token[org].nil? or options[:reset_package_cloud_token]
64
+ token = secure_option(
65
+ "package_cloud_token_#{org}",
66
+ ask: "Enter token for package_cloud org '#{org}':",
67
+ default: "none",
68
+ )
67
69
  token = (token == 'none' ? nil : token)
68
70
  if user_settings_package_cloud_token[org] != token
69
71
  user_settings_package_cloud_token[org] = token
@@ -77,5 +79,5 @@ module Buildizer
77
79
  ci.package_cloud_setup!
78
80
  end
79
81
  end # PackageCloudMod
80
- end # Packager
82
+ end # Buildizer
81
83
  end # Buildizer
@@ -1,8 +1,6 @@
1
1
  module Buildizer
2
- class Packager
2
+ class Buildizer
3
3
  module PackageVersionTagMod
4
- using Refine
5
-
6
4
  def package_version_tag_required_for_deploy?
7
5
  ENV['BUILDIZER_REQUIRE_TAG'].to_s.on?
8
6
  end
@@ -11,5 +9,5 @@ module Buildizer
11
9
  ci.git_tag
12
10
  end
13
11
  end # PackageVersionTagMod
14
- end # Packager
12
+ end # Buildizer
15
13
  end # Buildizer
@@ -1,27 +1,25 @@
1
1
  module Buildizer
2
- class Packager
2
+ class Buildizer
3
3
  module ProjectSettingsMod
4
- using Refine
5
-
6
4
  def project_settings_path
7
5
  package_path.join('.buildizer.yml')
8
6
  end
9
7
 
10
8
  def project_settings
11
9
  @project_settings ||= begin
12
- (project_settings_path.load_yaml || {}).tap do |settings|
13
- settings['master'] = cli.options['master'] if cli.options.key? 'master'
10
+ project_settings_path.load_yaml.tap do |settings|
11
+ settings['master'] = options[:master] if options.key? :master
14
12
  end
15
13
  end
16
14
  end
17
15
 
18
16
  def project_settings_save!
19
- write_path(project_settings_path, YAML.dump(project_settings))
17
+ write_yaml project_settings_path, project_settings
20
18
  end
21
19
 
22
20
  def project_settings_setup!
23
21
  project_settings_save!
24
22
  end
25
23
  end # ProjectSettingsMod
26
- end # Packager
24
+ end # Buildizer
27
25
  end # Buildizer
@@ -1,18 +1,16 @@
1
1
  module Buildizer
2
- class Packager
2
+ class Buildizer
3
3
  module UserSettingsMod
4
- using Refine
5
-
6
4
  def user_settings_path
7
5
  work_path.join('settings.yml')
8
6
  end
9
7
 
10
8
  def user_settings
11
- @user_settings ||= (user_settings_path.load_yaml || {})
9
+ @user_settings ||= user_settings_path.load_yaml
12
10
  end
13
11
 
14
12
  def user_settings_save!
15
- write_path(user_settings_path, YAML.dump(user_settings))
13
+ write_yaml user_settings_path, user_settings
16
14
  user_settings_path.chmod(0600)
17
15
  end
18
16
 
@@ -20,5 +18,5 @@ module Buildizer
20
18
  user_settings_save!
21
19
  end
22
20
  end # UserSettingsMod
23
- end # Packager
21
+ end # Buildizer
24
22
  end # Buildizer