vx-builder 0.5.61 → 0.5.62
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/vx/builder/script_builder_v2/clone.rb +1 -2
- data/lib/vx/builder/task.rb +3 -3
- data/lib/vx/builder/version.rb +1 -1
- data/lib/vx/builder.rb +0 -5
- data/spec/fixtures/script_builder_v2/simple.sh +1 -1
- data/spec/fixtures/script_builder_v2/simple.yml +85 -30
- data/spec/fixtures/test_key1 +27 -0
- data/spec/fixtures/test_key2 +27 -0
- data/spec/lib/builder/task_spec.rb +1 -1
- data/spec/support/create.rb +3 -1
- metadata +6 -38
- data/lib/vx/builder/script_builder/base.rb +0 -77
- data/lib/vx/builder/script_builder/cache.rb +0 -95
- data/lib/vx/builder/script_builder/clojure.rb +0 -34
- data/lib/vx/builder/script_builder/defaults.rb +0 -34
- data/lib/vx/builder/script_builder/deploy.rb +0 -34
- data/lib/vx/builder/script_builder/env.rb +0 -50
- data/lib/vx/builder/script_builder/go.rb +0 -60
- data/lib/vx/builder/script_builder/java.rb +0 -31
- data/lib/vx/builder/script_builder/nodejs.rb +0 -64
- data/lib/vx/builder/script_builder/parallel.rb +0 -19
- data/lib/vx/builder/script_builder/prepare.rb +0 -94
- data/lib/vx/builder/script_builder/python.rb +0 -82
- data/lib/vx/builder/script_builder/ruby.rb +0 -92
- data/lib/vx/builder/script_builder/rust.rb +0 -48
- data/lib/vx/builder/script_builder/scala.rb +0 -50
- data/lib/vx/builder/script_builder/services.rb +0 -26
- data/lib/vx/builder/script_builder/timeouts.rb +0 -21
- data/lib/vx/builder/script_builder.rb +0 -145
- data/spec/lib/builder/script_builder/cache_spec.rb +0 -12
- data/spec/lib/builder/script_builder/clojure_spec.rb +0 -34
- data/spec/lib/builder/script_builder/env_spec.rb +0 -22
- data/spec/lib/builder/script_builder/java_spec.rb +0 -23
- data/spec/lib/builder/script_builder/prepare_spec.rb +0 -46
- data/spec/lib/builder/script_builder/python_spec.rb +0 -32
- data/spec/lib/builder/script_builder/ruby_spec.rb +0 -39
- data/spec/lib/builder/script_builder/scala_spec.rb +0 -33
- data/spec/lib/builder/script_builder_spec.rb +0 -60
@@ -1,34 +0,0 @@
|
|
1
|
-
module Vx
|
2
|
-
module Builder
|
3
|
-
class ScriptBuilder
|
4
|
-
|
5
|
-
class Deploy < Base
|
6
|
-
|
7
|
-
def call(env)
|
8
|
-
do_before_deploy(env) do |e|
|
9
|
-
env.source.before_deploy.each do |c|
|
10
|
-
e << trace_sh_command(c)
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
do_deploy_script(env) do |e|
|
15
|
-
env.source.deploy_modules.each do |m|
|
16
|
-
m.to_commands.each do |c|
|
17
|
-
e << trace_sh_command(c)
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
do_after_deploy(env) do |e|
|
23
|
-
env.source.after_deploy.each do |c|
|
24
|
-
e << trace_sh_command(c)
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
app.call(env)
|
29
|
-
end
|
30
|
-
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
@@ -1,50 +0,0 @@
|
|
1
|
-
module Vx
|
2
|
-
module Builder
|
3
|
-
class ScriptBuilder
|
4
|
-
|
5
|
-
class Env < Base
|
6
|
-
|
7
|
-
def call(env)
|
8
|
-
env.init << "set -e"
|
9
|
-
env.init << "export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
|
10
|
-
env.init << 'export LC_ALL=en_US.UTF8'
|
11
|
-
env.init << 'export DEBIAN_FRONTEND=noninteractive'
|
12
|
-
|
13
|
-
export_vars(env, env.init)
|
14
|
-
export_vars(env, env.after_script_init)
|
15
|
-
|
16
|
-
env.source.env.global.each do |e|
|
17
|
-
env.init << trace_sh_command("export #{e}")
|
18
|
-
end
|
19
|
-
env.source.env.matrix.each do |e|
|
20
|
-
env.init << trace_sh_command("export #{e}")
|
21
|
-
end
|
22
|
-
app.call(env)
|
23
|
-
end
|
24
|
-
|
25
|
-
private
|
26
|
-
|
27
|
-
def export_vars(env, collection)
|
28
|
-
collection << "export CI=1"
|
29
|
-
collection << "export CI_JOB_ID=#{env.task.job_id}"
|
30
|
-
collection << "export CI_JOB_NUMBER=#{env.task.job_number}"
|
31
|
-
collection << "export CI_BUILD_ID=#{env.task.build_id}"
|
32
|
-
collection << "export CI_BUILD_NUMBER=#{env.task.build_number}"
|
33
|
-
collection << "export CI_PROJECT_NAME=#{env.task.name}"
|
34
|
-
collection << "export CI_BUILD_SHA=#{env.task.sha}"
|
35
|
-
collection << "export CI_PROJECT_TOKEN=#{env.task.project_token}" if env.task.project_token
|
36
|
-
collection << "export DISPLAY=:99"
|
37
|
-
|
38
|
-
if p = env.task.pull_request_id
|
39
|
-
collection << "export CI_PULL_REQUEST_ID=#{p}"
|
40
|
-
end
|
41
|
-
|
42
|
-
if b = env.task.branch
|
43
|
-
collection << "export CI_BRANCH=#{b}"
|
44
|
-
end
|
45
|
-
end
|
46
|
-
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
@@ -1,60 +0,0 @@
|
|
1
|
-
module Vx
|
2
|
-
module Builder
|
3
|
-
class ScriptBuilder
|
4
|
-
|
5
|
-
class Go < Base
|
6
|
-
|
7
|
-
DEFAULT_GO = '1.2'
|
8
|
-
|
9
|
-
def call(env)
|
10
|
-
if enabled?(env)
|
11
|
-
vxvm_install(env, 'go', go_version(env))
|
12
|
-
|
13
|
-
do_before_install(env) do |i|
|
14
|
-
i << trace_sh_command('export GOPATH=$VX_ROOT/gopath:$GOPATH')
|
15
|
-
i << trace_sh_command('export PATH=$VX_ROOT/gopath/bin:$PATH')
|
16
|
-
i << trace_sh_command('export VX_ORIG_CODE_ROOT=$(pwd)')
|
17
|
-
i << trace_sh_command("export VX_NEW_CODE_ROOT=$VX_ROOT/gopath/src/#{project_path env}")
|
18
|
-
|
19
|
-
i << trace_sh_command('mkdir -p $VX_NEW_CODE_ROOT')
|
20
|
-
i << trace_sh_command('rmdir $VX_NEW_CODE_ROOT')
|
21
|
-
i << trace_sh_command('mv $VX_ORIG_CODE_ROOT $VX_NEW_CODE_ROOT')
|
22
|
-
i << trace_sh_command('ln -s $VX_NEW_CODE_ROOT $VX_ORIG_CODE_ROOT')
|
23
|
-
i << trace_sh_command('cd $VX_NEW_CODE_ROOT')
|
24
|
-
end
|
25
|
-
|
26
|
-
do_announce(env) do |i|
|
27
|
-
i << trace_sh_command("go version")
|
28
|
-
i << trace_sh_command("go env")
|
29
|
-
end
|
30
|
-
|
31
|
-
do_install(env) do |i|
|
32
|
-
i << trace_sh_command("go get -v ./...")
|
33
|
-
end
|
34
|
-
|
35
|
-
do_script(env) do |i|
|
36
|
-
i << trace_sh_command("go test -v ./...")
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
app.call(env)
|
41
|
-
end
|
42
|
-
|
43
|
-
private
|
44
|
-
|
45
|
-
def project_path(env)
|
46
|
-
"#{env.task.project_host}/#{env.task.name}"
|
47
|
-
end
|
48
|
-
|
49
|
-
def enabled?(env)
|
50
|
-
env.source.go.first || env.source.language == 'go'
|
51
|
-
end
|
52
|
-
|
53
|
-
def go_version(env)
|
54
|
-
env.source.go.first || DEFAULT_GO
|
55
|
-
end
|
56
|
-
|
57
|
-
end
|
58
|
-
end
|
59
|
-
end
|
60
|
-
end
|
@@ -1,31 +0,0 @@
|
|
1
|
-
module Vx
|
2
|
-
module Builder
|
3
|
-
class ScriptBuilder
|
4
|
-
|
5
|
-
class Java < Base
|
6
|
-
|
7
|
-
def call(env)
|
8
|
-
if java(env)
|
9
|
-
do_cache_key(env) do |i|
|
10
|
-
i << "jdk-#{java env}"
|
11
|
-
end
|
12
|
-
|
13
|
-
do_before_install(env) do |i|
|
14
|
-
i << "source $(which jdk_switcher.sh)"
|
15
|
-
i << trace_sh_command("jdk_switcher use #{java env}")
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
app.call(env)
|
20
|
-
end
|
21
|
-
|
22
|
-
private
|
23
|
-
|
24
|
-
def java(env)
|
25
|
-
env.source.jdk.first
|
26
|
-
end
|
27
|
-
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
@@ -1,64 +0,0 @@
|
|
1
|
-
module Vx
|
2
|
-
module Builder
|
3
|
-
class ScriptBuilder
|
4
|
-
|
5
|
-
class Nodejs < Base
|
6
|
-
|
7
|
-
DEFAULT_NODE = '0.10'
|
8
|
-
NPM_PACKAGES = '~/.npm-packages'
|
9
|
-
BOWER_COMPONENTS = '~/.bower_components'
|
10
|
-
|
11
|
-
def call(env)
|
12
|
-
if enabled?(env)
|
13
|
-
|
14
|
-
vxvm_install(env, 'nodejs', node_version(env))
|
15
|
-
|
16
|
-
do_cache_key(env) do |i|
|
17
|
-
i << "nodejs-#{node_version env}"
|
18
|
-
end
|
19
|
-
|
20
|
-
do_announce(env) do |i|
|
21
|
-
i << trace_sh_command("node --version")
|
22
|
-
i << trace_sh_command("npm --version")
|
23
|
-
end
|
24
|
-
|
25
|
-
do_before_install(env) do |i|
|
26
|
-
i << "mkdir -p #{NPM_PACKAGES}"
|
27
|
-
i << "mkdir -p #{BOWER_COMPONENTS}"
|
28
|
-
i << trace_sh_command("npm config set prefix=#{NPM_PACKAGES}")
|
29
|
-
i << trace_sh_command("npm config set spin false")
|
30
|
-
i << "test -f .bowerrc || (" + trace_sh_command("export bower_directory=#{BOWER_COMPONENTS}") + ")"
|
31
|
-
i << "export PATH=$PATH:#{NPM_PACKAGES}/bin"
|
32
|
-
end
|
33
|
-
|
34
|
-
do_install(env) do |i|
|
35
|
-
i << trace_sh_command("npm install")
|
36
|
-
end
|
37
|
-
|
38
|
-
do_script(env) do |i|
|
39
|
-
i << trace_sh_command("npm test")
|
40
|
-
end
|
41
|
-
|
42
|
-
do_cached_directories(env) do |i|
|
43
|
-
i << NPM_PACKAGES
|
44
|
-
i << BOWER_COMPONENTS
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
app.call(env)
|
49
|
-
end
|
50
|
-
|
51
|
-
private
|
52
|
-
|
53
|
-
def enabled?(env)
|
54
|
-
env.source.node_js.first || env.source.language == 'node_js'
|
55
|
-
end
|
56
|
-
|
57
|
-
def node_version(env)
|
58
|
-
env.source.node_js.first || DEFAULT_NODE
|
59
|
-
end
|
60
|
-
|
61
|
-
end
|
62
|
-
end
|
63
|
-
end
|
64
|
-
end
|
@@ -1,19 +0,0 @@
|
|
1
|
-
module Vx
|
2
|
-
module Builder
|
3
|
-
class ScriptBuilder
|
4
|
-
|
5
|
-
class Parallel < Base
|
6
|
-
|
7
|
-
def call(env)
|
8
|
-
if env.source.parallel?
|
9
|
-
env.init << trace_sh_command("export CI_PARALLEL_JOBS=#{env.source.parallel}")
|
10
|
-
env.init << trace_sh_command("export CI_PARALLEL_JOB_NUMBER=#{env.source.parallel_job_number}")
|
11
|
-
end
|
12
|
-
|
13
|
-
app.call(env)
|
14
|
-
end
|
15
|
-
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
@@ -1,94 +0,0 @@
|
|
1
|
-
require 'vx/common'
|
2
|
-
|
3
|
-
module Vx
|
4
|
-
module Builder
|
5
|
-
class ScriptBuilder
|
6
|
-
|
7
|
-
Prepare = Struct.new(:app) do
|
8
|
-
|
9
|
-
include Helper::TraceShCommand
|
10
|
-
include Common::Helper::UploadShCommand
|
11
|
-
|
12
|
-
def call(env)
|
13
|
-
name = env.task.name
|
14
|
-
deploy_key = env.task.deploy_key
|
15
|
-
|
16
|
-
repo_path = "${VX_ROOT}/code/#{name}"
|
17
|
-
data_path = "${VX_ROOT}/data/#{name}"
|
18
|
-
key_file = "#{data_path}/key"
|
19
|
-
#git_ssh_file = "#{data_path}/git_ssh"
|
20
|
-
|
21
|
-
sha = env.task.sha
|
22
|
-
scm = build_scm(env, sha, repo_path)
|
23
|
-
#git_ssh = scm.git_ssh_content(deploy_key && "#{key_file}")
|
24
|
-
|
25
|
-
env.init.tap do |i|
|
26
|
-
i << 'export VX_ROOT=$(pwd)'
|
27
|
-
i << 'export PATH=$VX_ROOT/bin:$PATH'
|
28
|
-
|
29
|
-
i << "mkdir -p $VX_ROOT/bin"
|
30
|
-
i << "mkdir -p #{data_path}"
|
31
|
-
i << "mkdir -p #{repo_path}"
|
32
|
-
|
33
|
-
%w{ vx_parallel_rspec vx_parallel_spinach vx_builder }.each do |bin|
|
34
|
-
src = File.expand_path("../../../../../bin/#{bin}", __FILE__)
|
35
|
-
bin.sub!("vx_", '') unless bin == 'vx_builder'
|
36
|
-
dst = "$(pwd)/bin/#{bin}"
|
37
|
-
i << upload_sh_command(dst, File.read(src))
|
38
|
-
i << "chmod 0750 #{dst}"
|
39
|
-
end
|
40
|
-
|
41
|
-
i << 'echo "starting SSH Agent"'
|
42
|
-
i << 'eval "$(ssh-agent)" > /dev/null'
|
43
|
-
|
44
|
-
if deploy_key
|
45
|
-
i << upload_sh_command(key_file, deploy_key)
|
46
|
-
i << "chmod 0600 #{key_file}"
|
47
|
-
i << "export VX_PRIVATE_KEY=#{key_file}"
|
48
|
-
i << "ssh-add $VX_PRIVATE_KEY 2> /dev/null"
|
49
|
-
end
|
50
|
-
|
51
|
-
#i << upload_sh_command(git_ssh_file, git_ssh)
|
52
|
-
#i << "chmod 0750 #{git_ssh_file}"
|
53
|
-
|
54
|
-
#i << "export GIT_SSH=#{git_ssh_file}"
|
55
|
-
i << "#{scm.fetch_cmd} || exit 1"
|
56
|
-
#i << "unset GIT_SSH"
|
57
|
-
|
58
|
-
i << "cd #{repo_path}"
|
59
|
-
|
60
|
-
i << 'echo "download latest version of vxvm"'
|
61
|
-
i << "curl --tcp-nodelay --retry 3 --fail --silent --show-error -o $VX_ROOT/bin/vxvm https://raw.githubusercontent.com/vexor/vx-packages/master/vxvm"
|
62
|
-
i << "chmod +x $VX_ROOT/bin/vxvm"
|
63
|
-
end
|
64
|
-
|
65
|
-
env.after_script_init.tap do |i|
|
66
|
-
i << 'export VX_ROOT=$(pwd)'
|
67
|
-
i << "test -d #{repo_path} || exit 1"
|
68
|
-
i << "cd #{repo_path}"
|
69
|
-
end
|
70
|
-
|
71
|
-
app.call env
|
72
|
-
end
|
73
|
-
|
74
|
-
private
|
75
|
-
|
76
|
-
def build_scm(env, sha, path)
|
77
|
-
Common::Git.new(env.task.src,
|
78
|
-
sha,
|
79
|
-
path,
|
80
|
-
branch: branch_name(env),
|
81
|
-
pull_request_id: env.task.pull_request_id)
|
82
|
-
end
|
83
|
-
|
84
|
-
def branch_name(env)
|
85
|
-
b = env.task && env.task.branch
|
86
|
-
if b && b != 'HEAD'
|
87
|
-
b
|
88
|
-
end
|
89
|
-
end
|
90
|
-
|
91
|
-
end
|
92
|
-
end
|
93
|
-
end
|
94
|
-
end
|
@@ -1,82 +0,0 @@
|
|
1
|
-
module Vx
|
2
|
-
module Builder
|
3
|
-
class ScriptBuilder
|
4
|
-
|
5
|
-
class Python < Base
|
6
|
-
|
7
|
-
DEFAULT_PYTHON = '2.7'
|
8
|
-
VIRTUALENV_ROOT = "~/.python-virtualenv"
|
9
|
-
PIP_DOWNLOADS = "~/.pip-downloads"
|
10
|
-
PIP_OPTS = " --download-cache=#{PIP_DOWNLOADS}"
|
11
|
-
|
12
|
-
def call(env)
|
13
|
-
if enabled?(env)
|
14
|
-
|
15
|
-
py_v = python_version(env)
|
16
|
-
|
17
|
-
vxvm_install(env, 'python', py_v)
|
18
|
-
|
19
|
-
do_init(env) do |i|
|
20
|
-
i << "export TRAVIS_PYTHON_VERSION=#{py_v}" # for tornado
|
21
|
-
end
|
22
|
-
|
23
|
-
do_before_install(env) do |i|
|
24
|
-
i << trace_sh_command("virtualenv #{VIRTUALENV_ROOT}")
|
25
|
-
i << trace_sh_command("source #{VIRTUALENV_ROOT}/bin/activate")
|
26
|
-
end
|
27
|
-
|
28
|
-
do_announce(env) do |i|
|
29
|
-
i << trace_sh_command("python --version")
|
30
|
-
i << trace_sh_command("pip --version")
|
31
|
-
end
|
32
|
-
|
33
|
-
do_install(env) do |i|
|
34
|
-
i << "if [ -f Requirements.txt ] ; then \n #{trace_sh_command "pip install -r Requirements.txt #{PIP_OPTS}"}\nfi"
|
35
|
-
i << "if [ -f requirements.txt ] ; then \n #{trace_sh_command "pip install -r requirements.txt #{PIP_OPTS}"}\nfi"
|
36
|
-
i << "if [ -f setup.py ] ; then \n #{trace_sh_command "python setup.py install"}\nfi"
|
37
|
-
end
|
38
|
-
|
39
|
-
do_before_script(env) do |i|
|
40
|
-
i << trace_sh_command("vx_builder python:django:settings")
|
41
|
-
end
|
42
|
-
|
43
|
-
do_script(env) do |i|
|
44
|
-
script =<<EOF
|
45
|
-
if [[ -f manage.py ]] ; then
|
46
|
-
#{trace_sh_command 'python manage.py test'}
|
47
|
-
elif [[ -f setup.py ]] ; then
|
48
|
-
#{trace_sh_command 'python setup.py test'}
|
49
|
-
else
|
50
|
-
#{trace_sh_command 'nosetests'}
|
51
|
-
fi
|
52
|
-
EOF
|
53
|
-
i << script
|
54
|
-
end
|
55
|
-
|
56
|
-
do_cache_key(env) do |i|
|
57
|
-
i << "python-#{py_v}"
|
58
|
-
end
|
59
|
-
|
60
|
-
do_cached_directories(env) do |i|
|
61
|
-
i << PIP_DOWNLOADS
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|
65
|
-
app.call(env)
|
66
|
-
end
|
67
|
-
|
68
|
-
private
|
69
|
-
|
70
|
-
def enabled?(env)
|
71
|
-
env.source.python.first || env.source.language == 'python'
|
72
|
-
end
|
73
|
-
|
74
|
-
def python_version(env)
|
75
|
-
v = env.source.python.first
|
76
|
-
v || DEFAULT_PYTHON
|
77
|
-
end
|
78
|
-
|
79
|
-
end
|
80
|
-
end
|
81
|
-
end
|
82
|
-
end
|
@@ -1,92 +0,0 @@
|
|
1
|
-
module Vx
|
2
|
-
module Builder
|
3
|
-
class ScriptBuilder
|
4
|
-
|
5
|
-
class Ruby < Base
|
6
|
-
|
7
|
-
DEFAULT_RUBY = '2.0.0'
|
8
|
-
DEFAULT_BUNDLE_INSTALL_ARGS = "--clean --retry=3 --jobs=4"
|
9
|
-
|
10
|
-
ALIASES = {
|
11
|
-
'jruby-19mode' => 'jruby'
|
12
|
-
}
|
13
|
-
|
14
|
-
def call(env)
|
15
|
-
if enabled?(env)
|
16
|
-
|
17
|
-
do_cache_key(env) do |i|
|
18
|
-
ruby_v = ruby_version(env) || 'default'
|
19
|
-
i << "rvm-#{ruby_v}"
|
20
|
-
i << gemfile(env)
|
21
|
-
end
|
22
|
-
|
23
|
-
do_init(env) do |i|
|
24
|
-
if jruby?(env)
|
25
|
-
i << trace_sh_command('export JRUBY_OPTS="-Xcext.enabled=true"')
|
26
|
-
end
|
27
|
-
i << trace_sh_command("export RAILS_ENV=test")
|
28
|
-
i << trace_sh_command("export RACK_ENV=test")
|
29
|
-
i << trace_sh_command("export BUNDLE_GEMFILE=${PWD}/#{gemfile(env)}")
|
30
|
-
i << trace_sh_command('export GEM_HOME=~/.rubygems')
|
31
|
-
end
|
32
|
-
|
33
|
-
do_before_install(env) do |i|
|
34
|
-
i << trace_sh_command("vx_builder ruby:install #{ruby_version env}")
|
35
|
-
i << "source $(cat .ruby-activate)"
|
36
|
-
end
|
37
|
-
|
38
|
-
do_announce(env) do |i|
|
39
|
-
i << trace_sh_command("ruby --version")
|
40
|
-
i << trace_sh_command("gem --version")
|
41
|
-
i << trace_sh_command("bundle --version")
|
42
|
-
end
|
43
|
-
|
44
|
-
do_install(env) do |i|
|
45
|
-
bundler_args = env.source.bundler_args.first || DEFAULT_BUNDLE_INSTALL_ARGS
|
46
|
-
i << trace_sh_command("bundle install #{bundler_args}")
|
47
|
-
end
|
48
|
-
|
49
|
-
do_before_script(env) do |i|
|
50
|
-
i << trace_sh_command("vx_builder ruby:rails:install")
|
51
|
-
end
|
52
|
-
|
53
|
-
do_script(env) do |i|
|
54
|
-
script = "if [ -f Rakefile ] ; then \n #{trace_sh_command "bundle exec rake"}\nfi"
|
55
|
-
i << script
|
56
|
-
end
|
57
|
-
|
58
|
-
do_cached_directories(env) do |i|
|
59
|
-
i << "~/.rubygems"
|
60
|
-
end
|
61
|
-
end
|
62
|
-
|
63
|
-
app.call(env)
|
64
|
-
end
|
65
|
-
|
66
|
-
private
|
67
|
-
|
68
|
-
def auto_build?(env)
|
69
|
-
env.source.empty?
|
70
|
-
end
|
71
|
-
|
72
|
-
def enabled?(env)
|
73
|
-
env.source.rvm.first || env.source.language == 'ruby'
|
74
|
-
end
|
75
|
-
|
76
|
-
def ruby_version(env)
|
77
|
-
v = env.source.rvm.first
|
78
|
-
ALIASES[v] || v
|
79
|
-
end
|
80
|
-
|
81
|
-
def jruby?(env)
|
82
|
-
ruby_version(env) =~ /jruby/
|
83
|
-
end
|
84
|
-
|
85
|
-
def gemfile(env)
|
86
|
-
env.source.gemfile.first || "Gemfile"
|
87
|
-
end
|
88
|
-
|
89
|
-
end
|
90
|
-
end
|
91
|
-
end
|
92
|
-
end
|
@@ -1,48 +0,0 @@
|
|
1
|
-
module Vx
|
2
|
-
module Builder
|
3
|
-
class ScriptBuilder
|
4
|
-
|
5
|
-
class Rust < Base
|
6
|
-
|
7
|
-
DEFAULT_RUST = '0.11.0'
|
8
|
-
|
9
|
-
def call(env)
|
10
|
-
if enabled?(env)
|
11
|
-
|
12
|
-
vxvm_install(env, 'rust', rust_version(env))
|
13
|
-
|
14
|
-
do_cache_key(env) do |i|
|
15
|
-
i << "rust-#{rust_version env}"
|
16
|
-
end
|
17
|
-
|
18
|
-
do_install(env) do |i|
|
19
|
-
i << trace_sh_command("git submodule init")
|
20
|
-
i << trace_sh_command("git submodule update")
|
21
|
-
end
|
22
|
-
|
23
|
-
do_announce(env) do |i|
|
24
|
-
i << trace_sh_command("rustc --version")
|
25
|
-
end
|
26
|
-
|
27
|
-
do_script(env) do |i|
|
28
|
-
i << trace_sh_command("if [ -f Makefile ] ; then make ; fi", trace: "make")
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
app.call(env)
|
33
|
-
end
|
34
|
-
|
35
|
-
private
|
36
|
-
|
37
|
-
def enabled?(env)
|
38
|
-
env.source.rust.first || env.source.language == 'rust'
|
39
|
-
end
|
40
|
-
|
41
|
-
def rust_version(env)
|
42
|
-
env.source.rust.first || DEFAULT_RUST
|
43
|
-
end
|
44
|
-
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
48
|
-
end
|
@@ -1,50 +0,0 @@
|
|
1
|
-
module Vx
|
2
|
-
module Builder
|
3
|
-
class ScriptBuilder
|
4
|
-
|
5
|
-
class Scala < Base
|
6
|
-
|
7
|
-
DEFAULT_SCALA = '2.10.3'
|
8
|
-
|
9
|
-
def call(env)
|
10
|
-
if enabled?(env)
|
11
|
-
do_cache_key(env) do |i|
|
12
|
-
i << "scala-#{scala env}"
|
13
|
-
end
|
14
|
-
|
15
|
-
do_announce(env) do |i|
|
16
|
-
i << trace_sh_command("export SCALA_VERSION=#{scala env}")
|
17
|
-
end
|
18
|
-
|
19
|
-
do_install(env) do |i|
|
20
|
-
i << "if [[ -d project || -f build.sbt ]] ; then #{trace_sh_command "sbt ++#{scala env} update"} ; fi"
|
21
|
-
end
|
22
|
-
|
23
|
-
do_script(env) do |i|
|
24
|
-
i << "if [[ -d project || -f build.sbt ]] ; then #{trace_sh_command "sbt ++#{scala env} test"} ; fi"
|
25
|
-
end
|
26
|
-
|
27
|
-
do_cached_directories(env) do |i|
|
28
|
-
i << "~/.sbt"
|
29
|
-
i << "~/.ivy2"
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
app.call(env)
|
34
|
-
end
|
35
|
-
|
36
|
-
private
|
37
|
-
|
38
|
-
def enabled?(env)
|
39
|
-
env.source.scala.first || env.source.language == 'scala'
|
40
|
-
end
|
41
|
-
|
42
|
-
def scala(env)
|
43
|
-
env.source.scala.first || DEFAULT_SCALA
|
44
|
-
end
|
45
|
-
|
46
|
-
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
@@ -1,26 +0,0 @@
|
|
1
|
-
module Vx
|
2
|
-
module Builder
|
3
|
-
class ScriptBuilder
|
4
|
-
|
5
|
-
class Services < Base
|
6
|
-
|
7
|
-
ALIASES = {
|
8
|
-
'rabbitmq' => 'rabbitmq-server'
|
9
|
-
}
|
10
|
-
|
11
|
-
def call(env)
|
12
|
-
env.source.services.each do |srv|
|
13
|
-
srv = ALIASES[srv] || srv
|
14
|
-
env.init << trace_sh_command("sudo service #{srv} start")
|
15
|
-
end
|
16
|
-
unless env.source.services.empty?
|
17
|
-
env.init << trace_sh_command("sleep 3")
|
18
|
-
end
|
19
|
-
|
20
|
-
app.call(env)
|
21
|
-
end
|
22
|
-
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
@@ -1,21 +0,0 @@
|
|
1
|
-
module Vx
|
2
|
-
module Builder
|
3
|
-
class ScriptBuilder
|
4
|
-
|
5
|
-
class Timeouts < Base
|
6
|
-
|
7
|
-
def call(env)
|
8
|
-
if tm = env.source.vexor.read_timeout
|
9
|
-
env.init << "echo Vexor: set read timeout to #{tm} seconds"
|
10
|
-
end
|
11
|
-
if tm = env.source.vexor.timeout
|
12
|
-
env.init << "echo Vexor: set timeout to #{tm} seconds"
|
13
|
-
end
|
14
|
-
|
15
|
-
app.call(env)
|
16
|
-
end
|
17
|
-
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|