class Buildizer::Target::Base
Attributes
build_image[R]
builder[R]
cache_image[R]
os[R]
params[R]
test_image[R]
Public Class Methods
new(builder, os, name:, package_name:, package_version:, package_cloud: [], prepare: [], build_dep: [], before_build: [], maintainer: nil, test_options: {}, test_env: {}, test_image: nil, before_test: [], test: []) { || ... }
click to toggle source
# File lib/buildizer/target/base.rb, line 13 def initialize(builder, os, name:, package_name:, package_version:, package_cloud: [], prepare: [], build_dep: [], before_build: [], maintainer: nil, test_options: {}, test_env: {}, test_image: nil, before_test: [], test: [], &blk) @builder = builder @os = os @params = {} params[:name] = name params[:package_name] = package_name params[:package_version] = package_version params[:package_cloud] = package_cloud params[:prepare] = prepare params[:build_dep] = build_dep params[:before_build] = before_build params[:maintainer] = maintainer params[:test_options] = test_options params[:test_env] = test_env params[:test_image] = test_image params[:before_test] = before_test params[:test] = test yield if block_given? @build_image = ::Buildizer::Image.new(build_image_name, self, from: os.base_image_name) @cache_image = ::Buildizer::Image.new(cache_image_name, self) if cache_image_name @test_image = ::Buildizer::Image.new(test_image_name, self) end
Public Instance Methods
_package_cloud_path(repo)
click to toggle source
# File lib/buildizer/target/base.rb, line 99 def _package_cloud_path(repo) "#{repo}/#{os.package_cloud_os_name}/#{os.package_cloud_os_version}" end
base_package_name()
click to toggle source
# File lib/buildizer/target/base.rb, line 73 def base_package_name params[:package_name].split('-').first end
build_image_name()
click to toggle source
# File lib/buildizer/target/base.rb, line 81 def build_image_name "#{params[:package_name]}:#{build_image_tag}" end
build_image_tag()
click to toggle source
# File lib/buildizer/target/base.rb, line 77 def build_image_tag params[:name].gsub('/', '__') end
cache_image_name()
click to toggle source
# File lib/buildizer/target/base.rb, line 85 def cache_image_name "#{os.docker.cache[:repo]}:#{build_image_tag}" if os.docker.cache end
container_package_archive_name()
click to toggle source
# File lib/buildizer/target/base.rb, line 115 def container_package_archive_name "#{container_package_name}.tar.gz" end
container_package_archive_path()
click to toggle source
# File lib/buildizer/target/base.rb, line 123 def container_package_archive_path Pathname.new('/').join(container_package_archive_name) end
container_package_name()
click to toggle source
# File lib/buildizer/target/base.rb, line 56 def container_package_name raise end
container_package_path()
click to toggle source
# File lib/buildizer/target/base.rb, line 119 def container_package_path Pathname.new('/').join(container_package_name) end
image_build_path()
click to toggle source
# File lib/buildizer/target/base.rb, line 103 def image_build_path image_work_path.join('build') end
image_extra_path()
click to toggle source
# File lib/buildizer/target/base.rb, line 107 def image_extra_path image_work_path.join('extra') end
image_work_path()
click to toggle source
# File lib/buildizer/target/base.rb, line 52 def image_work_path raise end
maintainer_email()
click to toggle source
# File lib/buildizer/target/base.rb, line 64 def maintainer_email match = params[:maintainer].match(/<(.*)>/) if params[:maintainer] match[1] if match end
method_missing(name, *args, &blk)
click to toggle source
Calls superclass method
# File lib/buildizer/target/base.rb, line 43 def method_missing(name, *args, &blk) param_name = name.to_sym if params.key? param_name params[param_name] else super end end
package_cloud()
click to toggle source
# File lib/buildizer/target/base.rb, line 93 def package_cloud params[:package_cloud].map do |desc| desc.merge(package_path: _package_cloud_path(desc[:repo])) end end
package_version()
click to toggle source
# File lib/buildizer/target/base.rb, line 69 def package_version params[:package_version].nil? ? nil : params[:package_version].to_s end
package_version_tag()
click to toggle source
# File lib/buildizer/target/base.rb, line 111 def package_version_tag send(package_version_tag_param_name) end
package_version_tag_param_name()
click to toggle source
# File lib/buildizer/target/base.rb, line 60 def package_version_tag_param_name raise end
test_env()
click to toggle source
# File lib/buildizer/target/base.rb, line 127 def test_env params[:test_env] .map {|var, values| Array(values).uniq.map {|value| {var => value}}} .reduce {|res, vars| res.product vars} .to_a .map {|vars| vars = [vars] unless vars.is_a? Array vars.reduce(&:merge) } end
test_image_name()
click to toggle source
# File lib/buildizer/target/base.rb, line 89 def test_image_name params[:test_image] || os.base_vendor_image_name end