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