buildizer 0.0.9 → 0.1.0

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.
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