Class: Buildizer::Buildizer
- Inherits:
-
Object
- Object
- Buildizer::Buildizer
- Includes:
- BuildizerConfMod, CiMod, DockerCacheMod, GitMod, MiscMod, OvercommitMod, PackageCloudMod, PackageVersionTagMod, ProjectSettingsMod, UserSettingsMod
- Defined in:
- lib/buildizer/buildizer.rb,
lib/buildizer/buildizer/ci_mod.rb,
lib/buildizer/buildizer/git_mod.rb,
lib/buildizer/buildizer/misc_mod.rb,
lib/buildizer/buildizer/overcommit_mod.rb,
lib/buildizer/buildizer/docker_cache_mod.rb,
lib/buildizer/buildizer/package_cloud_mod.rb,
lib/buildizer/buildizer/user_settings_mod.rb,
lib/buildizer/buildizer/buildizer_conf_mod.rb,
lib/buildizer/buildizer/project_settings_mod.rb,
lib/buildizer/buildizer/package_version_tag_mod.rb
Defined Under Namespace
Modules: BuildizerConfMod, CiMod, DockerCacheMod, GitMod, MiscMod, OvercommitMod, PackageCloudMod, PackageVersionTagMod, ProjectSettingsMod, UserSettingsMod
Instance Attribute Summary collapse
-
#debug ⇒ Object
readonly
Returns the value of attribute debug.
-
#options ⇒ Object
readonly
Returns the value of attribute options.
-
#package_path ⇒ Object
readonly
Returns the value of attribute package_path.
-
#work_path ⇒ Object
readonly
Returns the value of attribute work_path.
Instance Method Summary collapse
- #build ⇒ Object
- #builder ⇒ Object
- #deploy ⇒ Object
-
#initialize(cli: nil, **kwargs) ⇒ Buildizer
constructor
A new instance of Buildizer.
- #interactive? ⇒ Boolean
- #prepare ⇒ Object
- #secure_option(name, ask: nil, default: nil) ⇒ Object
- #test ⇒ Object
- #verify ⇒ Object
Methods included from DockerCacheMod
#docker_cache, #docker_cache_clear_settings?, #docker_cache_setup!, #docker_cache_update_settings?, #setup_docker_cache_email, #setup_docker_cache_org, #setup_docker_cache_password, #setup_docker_cache_repo, #setup_docker_cache_server, #setup_docker_cache_user, #user_settings_docker_cache, #user_settings_docker_cache_org, #user_settings_docker_cache_repo_list, #user_settings_docker_cache_user, #user_settings_docker_cache_user_list
Methods included from PackageCloudMod
#package_cloud, #package_cloud_clear_settings?, #package_cloud_org, #package_cloud_repo, #package_cloud_setup!, #package_cloud_update_settings?, #setup_package_cloud_org_desc_list, #setup_package_cloud_org_list, #setup_package_cloud_repo_desc_list, #setup_package_cloud_repo_list, #user_settings_package_cloud, #user_settings_package_cloud_token
Methods included from OvercommitMod
#_overcommit_add_precommit!, #overcommit_buildizer_require, #overcommit_buildizer_require_list, #overcommit_ci_setup!, #overcommit_conf, #overcommit_conf_dump!, #overcommit_conf_path, #overcommit_hooks_path, #overcommit_hooks_pre_commit_path, #overcommit_setup!, #overcommit_verify_setup!
Methods included from GitMod
#git_available?, #git_remote_url
Methods included from PackageVersionTagMod
#package_version_tag, #package_version_tag_required_for_deploy?
Methods included from BuildizerConfMod
#buildizer_conf, #buildizer_conf_path, #buildizer_conf_setup!, #buildizer_conf_update
Methods included from CiMod
Methods included from UserSettingsMod
#user_settings, #user_settings_path, #user_settings_save!, #user_settings_setup!
Methods included from ProjectSettingsMod
#project_settings, #project_settings_path, #project_settings_save!, #project_settings_setup!
Methods included from MiscMod
#command, #command!, #raw_command, #raw_command!, #warn, #with_log, #write_path, #write_yaml
Constructor Details
#initialize(cli: nil, **kwargs) ⇒ Buildizer
Returns a new instance of Buildizer.
30 31 32 33 34 35 36 37 |
# File 'lib/buildizer/buildizer.rb', line 30 def initialize(cli: nil, **kwargs) @cli = cli = kwargs @package_path = Pathname.new(ENV['BUILDIZER_PATH'] || '.'). @work_path = Pathname.new(ENV['BUILDIZER_WORK_PATH'] || '~/.buildizer'). @debug = ENV['BUILDIZER_DEBUG'].nil? ? [:debug] : ENV['BUILDIZER_DEBUG'].to_s.on? @color = interactive? ? [:color] : false end |
Instance Attribute Details
#debug ⇒ Object (readonly)
Returns the value of attribute debug.
28 29 30 |
# File 'lib/buildizer/buildizer.rb', line 28 def debug @debug end |
#options ⇒ Object (readonly)
Returns the value of attribute options.
25 26 27 |
# File 'lib/buildizer/buildizer.rb', line 25 def end |
#package_path ⇒ Object (readonly)
Returns the value of attribute package_path.
26 27 28 |
# File 'lib/buildizer/buildizer.rb', line 26 def package_path @package_path end |
#work_path ⇒ Object (readonly)
Returns the value of attribute work_path.
27 28 29 |
# File 'lib/buildizer/buildizer.rb', line 27 def work_path @work_path end |
Instance Method Details
#build ⇒ Object
55 56 57 |
# File 'lib/buildizer/buildizer.rb', line 55 def build builder.build end |
#builder ⇒ Object
75 76 77 78 79 80 81 82 83 84 85 |
# File 'lib/buildizer/buildizer.rb', line 75 def builder @builder ||= begin build_type = buildizer_conf['build_type'] raise Error, error: :input_error, message: "Buildizer build_type is not defined" unless build_type klass = {fpm: Builder::Fpm, native: Builder::Native, patch: Builder::Patch}[build_type.to_s.to_sym] raise Error, error: :input_error, message: "unknown build_type '#{build_type}'" unless klass klass.new(self) end end |
#deploy ⇒ Object
67 68 69 |
# File 'lib/buildizer/buildizer.rb', line 67 def deploy builder.deploy end |
#interactive? ⇒ Boolean
39 40 41 |
# File 'lib/buildizer/buildizer.rb', line 39 def interactive? @cli and $stdout.isatty end |
#prepare ⇒ Object
51 52 53 |
# File 'lib/buildizer/buildizer.rb', line 51 def prepare builder.prepare end |
#secure_option(name, ask: nil, default: nil) ⇒ Object
43 44 45 46 47 48 49 |
# File 'lib/buildizer/buildizer.rb', line 43 def secure_option(name, ask: nil, default: nil) if interactive? and ask @cli.ask(ask, echo: false, default: default).tap{puts} else .fetch(name.to_sym, default) end end |
#test ⇒ Object
59 60 61 62 63 64 65 |
# File 'lib/buildizer/buildizer.rb', line 59 def test raise( Error, message: "cannot run test shell in non interactive mode" ) if [:shell] and not interactive? builder.test end |
#verify ⇒ Object
71 72 73 |
# File 'lib/buildizer/buildizer.rb', line 71 def verify builder.verify end |