Module: Larrow::Runner::Manifest

Extended by:
Manifest
Included in:
Manifest
Defined in:
lib/larrow/runner/manifest.rb,
lib/larrow/runner/manifest/base_loader.rb,
lib/larrow/runner/manifest/adapter/blank.rb,
lib/larrow/runner/manifest/configuration.rb,
lib/larrow/runner/manifest/adapter/larrow.rb,
lib/larrow/runner/manifest/adapter/travis.rb

Overview

support multiple manifest style, such as travis, larrow, etc…

Defined Under Namespace

Classes: BaseLoader, Blank, CmdStep, Configuration, Erlang, FunctionStep, Larrow, Ruby, Script, Travis

Instance Method Summary collapse

Instance Method Details

#add_base_scripts(configuration, source_accessor) ⇒ Object



34
35
36
37
38
39
40
41
42
43
44
# File 'lib/larrow/runner/manifest.rb', line 34

def add_base_scripts configuration,source_accessor
  configuration.add_source_sync source_accessor
  unless configuration.image
    lines = "\#{package_update}\n\#{bashrc_cleanup}\n    EOF\n    scripts = lines.split(/\\n/).map{|s| Script.new s}\n    configuration.insert_to_step :init, scripts\n  end\nend\n"

#bashrc_cleanupObject

remove PS1 check, for user to make ssh connection without tty



54
55
56
# File 'lib/larrow/runner/manifest.rb', line 54

def bashrc_cleanup
  "sed '/$PS1/ d' -i /root/.bashrc"
end

#configuration(source_accessor, options = {}) ⇒ Object

options:

:ignore_larrow : do not try to use larrow adapter
:ignore_base_scripts : do not merge base scripts


19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/larrow/runner/manifest.rb', line 19

def configuration source_accessor, options={}
  adapters = [Travis, Blank]
  adapters.unshift Larrow unless options[:ignore_larrow]

  configuration = adapters.each do |clazz|
    c = clazz.new(source_accessor).load
    break c if c
  end

  unless options[:ignore_base_scripts]
    add_base_scripts(configuration, source_accessor)
  end
  configuration
end

#package_updateObject



46
47
48
49
50
51
# File 'lib/larrow/runner/manifest.rb', line 46

def package_update
  "apt-get update -qq\napt-get install git libssl-dev build-essential curl libncurses5-dev -y -qq\n  EOF\nend\n"