class Perkins::Build::Script
Constants
- STAGES
- TEMPLATES_PATH
Attributes
config[R]
data[R]
options[R]
repo[R]
stack[R]
Public Class Methods
defaults()
click to toggle source
# File lib/perkins/build/script.rb, line 55 def defaults self::DEFAULTS end
new(data, repo)
click to toggle source
# File lib/perkins/build/script.rb, line 63 def initialize(data, repo) @config = data #used in runner @repo = repo #@stack = [] @data = Data.new({ config: self.class.defaults }.deep_merge(data.deep_symbolize_keys)) @options = options @stack = [Shell::Script.new(echo: true, timing: true)] end
Public Instance Methods
compile()
click to toggle source
run stages
# File lib/perkins/build/script.rb, line 73 def compile #run_stages if check_config #@stack.compact.join(" && ") raw template 'header.sh' run_stages.compact if check_config raw template 'footer.sh' sh.to_s end
Private Instance Methods
announce()
click to toggle source
# File lib/perkins/build/script.rb, line 138 def announce # overwrite end
check_config()
click to toggle source
# File lib/perkins/build/script.rb, line 84 def check_config case data.config.present? #[:".result"] when 'not_found' echo 'Could not find .travis.yml, using standard configuration.', ansi: :red true when 'server_error' echo 'Could not fetch .travis.yml from GitHub.', ansi: :red raw 'travis_terminate 2' false else true end end
checkout()
click to toggle source
instance git repo
# File lib/perkins/build/script.rb, line 148 def checkout @repo.load_git nil end
configure()
click to toggle source
# File lib/perkins/build/script.rb, line 142 def configure #fix_resolv_conf #fix_etc_hosts end
export()
click to toggle source
# File lib/perkins/build/script.rb, line 102 def export =begin set 'TRAVIS', 'true', echo: false set 'CI', 'true', echo: false set 'CONTINUOUS_INTEGRATION', 'true', echo: false set 'HAS_JOSH_K_SEAL_OF_APPROVAL', 'true', echo: false newline if data.env_vars_groups.any?(&:announce?) data.env_vars_groups.each do |group| echo "Setting environment variables from #{group.source}", ansi: :yellow if group.announce? group.vars.each { |var| set var.key, var.value, echo: var.to_s } end newline if data.env_vars_groups.any?(&:announce?) =end end
finish()
click to toggle source
# File lib/perkins/build/script.rb, line 120 def finish puts "finish" #"push_directory_cache" end
pre_setup()
click to toggle source
# File lib/perkins/build/script.rb, line 125 def pre_setup puts "pre setup" #start_services #setup_apt_cache if data.cache? :apt #fix_ps4 #run_addons(:after_pre_setup) end
setup()
click to toggle source
# File lib/perkins/build/script.rb, line 133 def setup puts "setup" #setup_directory_cache end
template(filename)
click to toggle source
# File lib/perkins/build/script.rb, line 159 def template(filename) @working_dir = @repo.working_dir + @repo.download_name #puts "REPO REPO #{@working_dir}" ERB.new(File.read(File.expand_path(filename, TEMPLATES_PATH))).result(binding) end