dply 0.2.19 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.rspec +4 -0
- data/Rakefile +0 -14
- data/TODO +0 -1
- data/code_dump/old_remote_task.rb +2 -0
- data/{dev_bin → dev_exe}/dplyr +0 -0
- data/{dev_bin → dev_exe}/drake +1 -1
- data/dply.gemspec +2 -2
- data/{bin → exe}/dplyr +0 -0
- data/{bin → exe}/drake +12 -14
- data/lib/dply/TEST_TODO +50 -0
- data/lib/dply/app_config.rb +108 -0
- data/lib/dply/base_config.rb +110 -0
- data/lib/dply/build.rb +17 -11
- data/lib/dply/build_config.rb +28 -96
- data/lib/dply/bundle.rb +7 -30
- data/lib/dply/cli/build.rb +5 -12
- data/lib/dply/cli/ctl.rb +7 -8
- data/lib/dply/cli/deploy.rb +6 -10
- data/lib/dply/cli/devbuild.rb +6 -10
- data/lib/dply/cli/install_pkgs.rb +2 -3
- data/lib/dply/cli/run.rb +27 -0
- data/lib/dply/cli/status.rb +1 -2
- data/lib/dply/cli/task.rb +6 -12
- data/lib/dply/code_archive.rb +123 -0
- data/lib/dply/command.rb +57 -0
- data/lib/dply/config_downloader.rb +3 -2
- data/lib/dply/curl.rb +1 -5
- data/lib/dply/custom_logger.rb +18 -1
- data/lib/dply/deplist.rb +16 -48
- data/lib/dply/deploy_config.rb +34 -0
- data/lib/dply/elf.rb +60 -0
- data/lib/dply/env.rb +9 -0
- data/lib/dply/git.rb +15 -8
- data/lib/dply/helper.rb +21 -33
- data/lib/dply/linker.rb +27 -27
- data/lib/dply/lock.rb +2 -9
- data/lib/dply/logger.rb +1 -1
- data/lib/dply/pkgs.rb +9 -11
- data/lib/dply/release.rb +2 -2
- data/lib/dply/{archive.rb → remote_archive.rb} +1 -1
- data/lib/dply/repo.rb +3 -3
- data/lib/dply/rpm.rb +12 -20
- data/lib/dply/scripts/depcheck.rb +4 -0
- data/lib/dply/shared_dirs.rb +1 -1
- data/lib/dply/strategy/archive.rb +15 -22
- data/lib/dply/strategy/base.rb +82 -0
- data/lib/dply/strategy/git.rb +18 -19
- data/lib/dply/task_dsl.rb +101 -0
- data/lib/dply/util.rb +75 -0
- data/lib/dply/venv.rb +53 -0
- data/lib/dply/version.rb +1 -1
- data/lib/dply/yum.rb +21 -31
- data/lib/dplyr/consul.rb +1 -1
- data/spec/dply/base_config_spec.rb +178 -0
- data/spec/dply/bundle_spec.rb +100 -0
- data/spec/dply/command_spec.rb +190 -0
- data/spec/dply/curl_spec.rb +41 -0
- data/spec/dply/deplist_spec.rb +48 -0
- data/spec/dply/elf_spec.rb +64 -0
- data/spec/dply/env_spec.rb +57 -0
- data/spec/dply/git_spec.rb +136 -0
- data/spec/dply/helper_spec.rb +168 -0
- data/spec/dply/linker_spec.rb +81 -0
- data/spec/dply/lock_spec.rb +24 -0
- data/spec/dply/pkgs_spec.rb +105 -0
- data/spec/dply/repo_spec.rb +58 -0
- data/spec/dply/rpm_spec.rb +32 -0
- data/spec/dply/yum_spec.rb +29 -0
- data/spec/integration/archive_flow_spec.rb +87 -0
- data/spec/integration/git_flow_spec.rb +63 -0
- data/spec/repo.rb +27 -0
- data/spec/spec_helper.rb +44 -0
- data/spec/test_data/build.tar.gz +0 -0
- data/spec/test_data/build.tar.gz.md5 +1 -0
- data/spec/test_data/bundle/gems_installed/Gemfile +1 -0
- data/spec/test_data/bundle/gems_not_installed/Gemfile +2 -0
- data/spec/test_data/bundle/no_gemfile/.gitkeep +0 -0
- data/spec/test_data/command/test.rb +7 -0
- data/spec/test_data/elf/elf +0 -0
- data/spec/test_data/elf/libpgtypes.so.3 +0 -0
- data/spec/test_data/elf/not_elf +1 -0
- data/spec/test_data/sample_repo/.dply.lock +0 -0
- data/spec/test_data/sample_repo/Gemfile +2 -0
- data/spec/test_data/sample_repo/Rakefile +3 -0
- data/spec/test_data/sample_repo/app.rb +1 -0
- data/spec/test_data/sample_repo/dply/app.rb +33 -0
- data/spec/test_data/sample_repo/lib/libacl.so.1 +0 -0
- data/spec/test_data/sample_repo/pkgs.yml +2 -0
- data/spec/webserver.rb +21 -0
- metadata +96 -28
- data/lib/dply/cli/app_task.rb +0 -38
- data/lib/dply/config.rb +0 -120
- data/lib/dply/config_struct.rb +0 -52
- data/lib/dply/rakelib/drake.rake +0 -33
- data/lib/dply/tasks.rb +0 -136
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: ffaa634a168cfe8ccaab138bff92455a00ea17fab5ed722046add3e4ad9107f1
|
4
|
+
data.tar.gz: 9890f68e334f77d50bcef82fb1b508c137c52f26b5a39b4ff872cd4180f2e6ce
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3a2991743833049bb2ec714dbc3da301affae32812e0f8f806a9a96104b920291df9a1ee8563b2e71e304df89d5e1e8b68b426ec2a79e3033e315d46c9b2e7be
|
7
|
+
data.tar.gz: 2c99051eec06e0dbb9e25cd1c9d0ea804073db65f0355bf1931b13a8749911e51080e49008564b905202944b0e232afd3bbdade973ab80da3d413a782df3ed8f
|
data/.rspec
ADDED
data/Rakefile
CHANGED
@@ -7,17 +7,3 @@ Rake::TestTask.new do |t|
|
|
7
7
|
t.pattern = "test/unit/*_test.rb"
|
8
8
|
end
|
9
9
|
|
10
|
-
task :dev_install do
|
11
|
-
load './lib/dply/version.rb'
|
12
|
-
version = Dply::VERSION
|
13
|
-
sh "gem build dply.gemspec"
|
14
|
-
sh "gem install dply-#{version}.gem"
|
15
|
-
end
|
16
|
-
|
17
|
-
|
18
|
-
file "wtf" do |t|
|
19
|
-
cp "dply.gemspec", t.name
|
20
|
-
end
|
21
|
-
|
22
|
-
task :lol => :wtf
|
23
|
-
|
data/TODO
CHANGED
@@ -78,6 +78,8 @@ module Dply
|
|
78
78
|
|
79
79
|
def handle_ready_stream(stream)
|
80
80
|
host_string = "#{@io_names[stream]}"
|
81
|
+
#readline is bad here...will block
|
82
|
+
#should use read_nonblock to read full lines and keep partial lines in fd specific old buffer...then concatenate old_buffer and new lines
|
81
83
|
printf @job_output_template, host_string, stream.readline
|
82
84
|
return false
|
83
85
|
rescue EOFError,Errno::ECONNRESET, Errno::EPIPE, Errno::EIO => e
|
data/{dev_bin → dev_exe}/dplyr
RENAMED
File without changes
|
data/{dev_bin → dev_exe}/drake
RENAMED
data/dply.gemspec
CHANGED
@@ -13,11 +13,11 @@ Gem::Specification.new do |spec|
|
|
13
13
|
spec.license = "MIT"
|
14
14
|
|
15
15
|
spec.files = `git ls-files -z`.split("\x0")
|
16
|
-
spec.
|
16
|
+
spec.bindir = "exe"
|
17
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
17
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
18
19
|
spec.require_paths = ["lib"]
|
19
20
|
spec.add_dependency "ruby-elf", "~> 1.0"
|
20
|
-
spec.add_dependency "ruby-filemagic", "~> 0.7"
|
21
21
|
|
22
22
|
spec.add_development_dependency "bundler", "~> 1.6"
|
23
23
|
spec.add_development_dependency "rake"
|
data/{bin → exe}/dplyr
RENAMED
File without changes
|
data/{bin → exe}/drake
RENAMED
@@ -5,9 +5,7 @@ $stdout.sync = true
|
|
5
5
|
|
6
6
|
require 'optparse'
|
7
7
|
require 'dply/error'
|
8
|
-
require 'dply/version'
|
9
8
|
require 'dply/logger'
|
10
|
-
require 'dply/config'
|
11
9
|
require 'pathname'
|
12
10
|
|
13
11
|
File.umask 0022
|
@@ -15,16 +13,16 @@ File.umask 0022
|
|
15
13
|
logger = ::Dply::Logger.logger
|
16
14
|
|
17
15
|
options = {}
|
18
|
-
opts_parser = OptionParser.new do |opts|
|
19
|
-
|
20
|
-
banner = []
|
16
|
+
opts_parser = OptionParser.new do |opts|
|
17
|
+
|
18
|
+
banner = []
|
21
19
|
banner << "Usage: drake [global options] command [options] args"
|
22
20
|
banner << "Commands: deploy reload task"
|
23
|
-
|
21
|
+
|
24
22
|
banner << "Options: "
|
25
23
|
opts.banner = banner.join("\n")
|
26
24
|
|
27
|
-
opts.on("-d", "--dir [DEPLOY DIR]" , "Set dir") do |d|
|
25
|
+
opts.on("-d", "--dir [DEPLOY DIR]" , "Set dir") do |d|
|
28
26
|
path = Pathname.new(d)
|
29
27
|
raise ::Dply::Error, "dir path must be absolute" if path.relative?
|
30
28
|
options[:dir] = path
|
@@ -35,6 +33,7 @@ opts_parser = OptionParser.new do |opts|
|
|
35
33
|
end
|
36
34
|
|
37
35
|
opts.on("-v", "--version", "Show version") do |v|
|
36
|
+
require 'dply/version'
|
38
37
|
puts ::Dply::VERSION
|
39
38
|
exit
|
40
39
|
end
|
@@ -51,10 +50,10 @@ opts_parser = OptionParser.new do |opts|
|
|
51
50
|
logger.trace_mode = true
|
52
51
|
end
|
53
52
|
|
54
|
-
opts.on_tail("-h", "--help", "Show this message") do
|
53
|
+
opts.on_tail("-h", "--help", "Show this message") do
|
55
54
|
puts opts
|
56
55
|
exit
|
57
|
-
end
|
56
|
+
end
|
58
57
|
end
|
59
58
|
|
60
59
|
def run_cli(command, argv)
|
@@ -75,15 +74,15 @@ begin
|
|
75
74
|
case command
|
76
75
|
when :deploy, :task, :app_task,
|
77
76
|
:build, :depcheck, :"install-pkgs",
|
78
|
-
:status, :devbuild, :setup
|
77
|
+
:status, :devbuild, :setup, :run
|
79
78
|
run_cli command, ARGV
|
80
79
|
when :reload, :stop, :start, :reopen_logs
|
81
80
|
require 'dply/cli/ctl'
|
82
81
|
ctl = Dply::Cli::Ctl.new
|
83
82
|
ctl.run command
|
84
|
-
when
|
85
|
-
require '
|
86
|
-
|
83
|
+
when :console
|
84
|
+
require 'pry'
|
85
|
+
binding.pry
|
87
86
|
when :''
|
88
87
|
puts opts_parser
|
89
88
|
else
|
@@ -101,4 +100,3 @@ rescue OptionParser::InvalidOption, OptionParser::MissingArgument, ::Dply::Error
|
|
101
100
|
abort
|
102
101
|
end
|
103
102
|
end
|
104
|
-
|
data/lib/dply/TEST_TODO
ADDED
@@ -0,0 +1,50 @@
|
|
1
|
+
NN: version.rb
|
2
|
+
NN: error.rb
|
3
|
+
NN: custom_logger.rb
|
4
|
+
NN: logger.rb
|
5
|
+
|
6
|
+
D: bundle.rb
|
7
|
+
D: command.rb
|
8
|
+
D: elf.rb
|
9
|
+
D: env.rb
|
10
|
+
D: linker.rb
|
11
|
+
D: rpm.rb
|
12
|
+
D: yum.rb
|
13
|
+
D: pkgs.rb
|
14
|
+
D: curl.rb
|
15
|
+
|
16
|
+
E: repo.rb
|
17
|
+
E: git.rb
|
18
|
+
E: deplist.rb
|
19
|
+
E: helper.rb
|
20
|
+
E: config_downloader.rb
|
21
|
+
E: remote_archive.rb
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
?: code_archive.rb
|
26
|
+
?: config.rb
|
27
|
+
?: release.rb
|
28
|
+
?: task_dsl.rb
|
29
|
+
?: tasklib.rb
|
30
|
+
?: tasks_config.rb
|
31
|
+
DSL: build.rb
|
32
|
+
E: config_struct.rb
|
33
|
+
E: jenkins.rb
|
34
|
+
E: lock.rb
|
35
|
+
E: release_helper.rb
|
36
|
+
E: setup.rb
|
37
|
+
E: tasks.rb
|
38
|
+
H: build_config.rb
|
39
|
+
TEST_TODO
|
40
|
+
WTF: shared_dirs.rb
|
41
|
+
strategy
|
42
|
+
strategy.rb
|
43
|
+
templates
|
44
|
+
todo
|
45
|
+
|
46
|
+
write integration tests first
|
47
|
+
|
48
|
+
tasks: refactor....remove sudo/useless functions
|
49
|
+
config_downloader : remove skip download
|
50
|
+
git: issue with checkout....currently no way to distinguish if a branch is being checked out or a file; pull maybe wrongly worded
|
@@ -0,0 +1,108 @@
|
|
1
|
+
require_relative 'task_dsl'
|
2
|
+
require_relative 'error'
|
3
|
+
require_relative 'logger'
|
4
|
+
|
5
|
+
module Dply
|
6
|
+
class AppConfig
|
7
|
+
|
8
|
+
include Logger
|
9
|
+
|
10
|
+
def initialize
|
11
|
+
@tasks = {}
|
12
|
+
@namespace = nil
|
13
|
+
@inside_namespace = false
|
14
|
+
@config_read = false
|
15
|
+
end
|
16
|
+
|
17
|
+
def run_task(name, optional: false)
|
18
|
+
load_config
|
19
|
+
name = name.to_s
|
20
|
+
task_proc = @tasks[name]
|
21
|
+
if task_proc
|
22
|
+
task_dsl = TaskDsl.new(self)
|
23
|
+
task_dsl.instance_eval &task_proc
|
24
|
+
elsif optional
|
25
|
+
logger.warn "task #{name} not found: skipping"
|
26
|
+
else
|
27
|
+
raise Error, "task '#{name}' not defined"
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def load_config
|
32
|
+
return if @config_read
|
33
|
+
bundler_setup
|
34
|
+
check_config_exists
|
35
|
+
read_config "drakefile.rb", optional: true
|
36
|
+
Dir["dply/*.rb"].each do |i|
|
37
|
+
read_config i
|
38
|
+
end
|
39
|
+
@config_read = true
|
40
|
+
end
|
41
|
+
|
42
|
+
private
|
43
|
+
|
44
|
+
[:build, :test, :reload, :stop, :reopen_logs].each do |i|
|
45
|
+
define_method i do |&block|
|
46
|
+
task i, &block
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
def deploy(kind, &block)
|
51
|
+
name = "deploy:#{kind}"
|
52
|
+
task name, &block
|
53
|
+
end
|
54
|
+
|
55
|
+
def task(name, &block)
|
56
|
+
task_name = @namespace ? "#{@namespace}:#{name}" : name
|
57
|
+
@tasks[task_name.to_s] = block
|
58
|
+
end
|
59
|
+
|
60
|
+
def namespace(name, &block)
|
61
|
+
raise "nested namespaces not allowed" if @inside_namespace
|
62
|
+
@namespace = name
|
63
|
+
@inside_namespace = true
|
64
|
+
instance_eval &block
|
65
|
+
@namespace = nil
|
66
|
+
@inside_namespace = false
|
67
|
+
end
|
68
|
+
|
69
|
+
def read_config(file, optional: false)
|
70
|
+
if not File.readable? file
|
71
|
+
raise Error, "#{file} not found" if not optional
|
72
|
+
return
|
73
|
+
end
|
74
|
+
instance_eval(File.read(file), file)
|
75
|
+
rescue NoMethodError => e
|
76
|
+
raise Error, "invalid option used in config: #{e.name}"
|
77
|
+
end
|
78
|
+
|
79
|
+
def bundler_setup
|
80
|
+
return if not File.exist? "Gemfile"
|
81
|
+
require 'bundler'
|
82
|
+
deactivate_gem 'ruby-elf' # in case gemfile contains another version of ruby-elf
|
83
|
+
Bundler.setup
|
84
|
+
reactivate_gem 'dply'
|
85
|
+
logger.debug { "LOAD_PATH: #{$LOAD_PATH.inspect}" }
|
86
|
+
end
|
87
|
+
|
88
|
+
def reactivate_gem(name)
|
89
|
+
spec = Gem.loaded_specs[name]
|
90
|
+
return if not spec
|
91
|
+
lib = "#{spec.gem_dir}/lib"
|
92
|
+
$LOAD_PATH.unshift lib if File.directory?(lib) && !$LOAD_PATH.include?(lib)
|
93
|
+
end
|
94
|
+
|
95
|
+
def deactivate_gem(name)
|
96
|
+
spec = Gem.loaded_specs[name]
|
97
|
+
return if not spec
|
98
|
+
$LOAD_PATH.delete "#{spec.gem_dir}/lib"
|
99
|
+
Gem.loaded_specs.delete name
|
100
|
+
end
|
101
|
+
|
102
|
+
def check_config_exists
|
103
|
+
exists = File.exist?("drakefile.rb") || File.directory?("dply")
|
104
|
+
raise Error, "drakefile.rb or dply/ dir not present" if not exists
|
105
|
+
end
|
106
|
+
|
107
|
+
end
|
108
|
+
end
|
@@ -0,0 +1,110 @@
|
|
1
|
+
require 'dply/error'
|
2
|
+
module Dply
|
3
|
+
class BaseConfig
|
4
|
+
|
5
|
+
def self.define_opts(&block)
|
6
|
+
opts = {}
|
7
|
+
define_opt(opts)
|
8
|
+
opts.instance_eval(&block)
|
9
|
+
@struct_klass = new_struct_klass(opts)
|
10
|
+
opts.each do |opt, _|
|
11
|
+
define_opt_setter(opt)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def self.define_opt(opts)
|
16
|
+
opts.define_singleton_method(:opt) do |name, type: Object|
|
17
|
+
self[name] = type
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def self.new_struct_klass(opts)
|
22
|
+
Class.new do
|
23
|
+
|
24
|
+
def initialize
|
25
|
+
@proc_map = {}
|
26
|
+
end
|
27
|
+
|
28
|
+
def set_proc(opt, pr)
|
29
|
+
@proc_map[opt] = pr
|
30
|
+
ivar = "@#{opt}"
|
31
|
+
remove_instance_variable(ivar) if instance_variable_defined?(ivar)
|
32
|
+
end
|
33
|
+
|
34
|
+
opts.each do |opt, type|
|
35
|
+
|
36
|
+
define_method "#{opt}=" do |value|
|
37
|
+
assert_type(opt, value, type)
|
38
|
+
instance_variable_set("@#{opt}", value)
|
39
|
+
end
|
40
|
+
|
41
|
+
define_method opt do
|
42
|
+
if instance_variable_defined?("@#{opt}")
|
43
|
+
instance_variable_get("@#{opt}")
|
44
|
+
elsif @proc_map.key?(opt)
|
45
|
+
value = instance_eval(&@proc_map.fetch(opt))
|
46
|
+
public_send("#{opt}=", value)
|
47
|
+
else
|
48
|
+
instance_variable_set("@#{opt}", nil)
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
opts = nil
|
54
|
+
|
55
|
+
private def assert_type(opt, value, type)
|
56
|
+
if not value.is_a?(type)
|
57
|
+
raise Error, "opt(#{opt}) has value '#{value}' of type '#{value.class}' (Expected: '#{type}')"
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
def self.define_opt_setter(opt)
|
64
|
+
define_method(opt) do |value = nil, &block|
|
65
|
+
set opt, value, &block
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
def self.struct_klass
|
70
|
+
@struct_klass
|
71
|
+
end
|
72
|
+
|
73
|
+
def self.build(path = nil, &block)
|
74
|
+
i = new
|
75
|
+
i.read(path) if path
|
76
|
+
i.instance_eval(&block) if block_given?
|
77
|
+
i.opts_struct
|
78
|
+
end
|
79
|
+
|
80
|
+
private_class_method :new
|
81
|
+
|
82
|
+
attr_reader :opts_struct
|
83
|
+
|
84
|
+
def initialize
|
85
|
+
@opts_struct = self.class.struct_klass.new
|
86
|
+
default_config
|
87
|
+
end
|
88
|
+
|
89
|
+
def default_config
|
90
|
+
end
|
91
|
+
|
92
|
+
def set(opt, value, &block)
|
93
|
+
if block
|
94
|
+
@opts_struct.set_proc(opt, block)
|
95
|
+
else
|
96
|
+
@opts_struct.public_send("#{opt}=", value)
|
97
|
+
end
|
98
|
+
end
|
99
|
+
|
100
|
+
def read(path, optional: false)
|
101
|
+
if not File.readable?(path)
|
102
|
+
return if optional
|
103
|
+
raise Error, "config #{path} not readable"
|
104
|
+
end
|
105
|
+
instance_eval(File.read(path), path)
|
106
|
+
rescue NoMethodError => e
|
107
|
+
raise Error, "invalid option used in config: #{e.name}"
|
108
|
+
end
|
109
|
+
end
|
110
|
+
end
|
data/lib/dply/build.rb
CHANGED
@@ -2,7 +2,7 @@ require 'dply/helper'
|
|
2
2
|
require 'dply/setup'
|
3
3
|
require 'dply/config_downloader'
|
4
4
|
require 'dply/yum'
|
5
|
-
require 'dply/
|
5
|
+
require 'dply/util'
|
6
6
|
require 'forwardable'
|
7
7
|
require 'digest'
|
8
8
|
|
@@ -31,12 +31,14 @@ module Dply
|
|
31
31
|
install_pkgs
|
32
32
|
clean_build_dir
|
33
33
|
link_build_dir
|
34
|
-
|
34
|
+
bundle.install
|
35
|
+
bundle.clean
|
36
|
+
util.run config.task
|
35
37
|
generate_checksum
|
36
38
|
end
|
37
39
|
end
|
38
40
|
|
39
|
-
private
|
41
|
+
private
|
40
42
|
|
41
43
|
def setup
|
42
44
|
setup = Setup.new(@config)
|
@@ -46,10 +48,10 @@ module Dply
|
|
46
48
|
def download_configs
|
47
49
|
files = config_map.values.uniq
|
48
50
|
downloader = ConfigDownloader.new(files, config_download_url)
|
49
|
-
downloader.skip_download = config_skip_download
|
51
|
+
downloader.skip_download = config_skip_download
|
50
52
|
downloader.download_all
|
51
53
|
end
|
52
|
-
|
54
|
+
|
53
55
|
def git_step
|
54
56
|
return unless config.git
|
55
57
|
if config.no_pull
|
@@ -60,12 +62,12 @@ module Dply
|
|
60
62
|
end
|
61
63
|
|
62
64
|
def link_all
|
63
|
-
|
64
|
-
|
65
|
+
util.link "#{config.dir}/shared", dir_map
|
66
|
+
util.link "#{config.dir}/config", config_map
|
65
67
|
end
|
66
68
|
|
67
69
|
def install_pkgs
|
68
|
-
|
70
|
+
util.install_pkgs(build_mode: true)
|
69
71
|
end
|
70
72
|
|
71
73
|
def clean_build_dir
|
@@ -79,7 +81,7 @@ module Dply
|
|
79
81
|
FileUtils.rm_rf build_artifacts if File.exists? build_artifacts
|
80
82
|
symlink build_dir, build_artifacts
|
81
83
|
end
|
82
|
-
|
84
|
+
|
83
85
|
def repo_dir
|
84
86
|
@repo_dir ||= "#{config.dir}/repo"
|
85
87
|
end
|
@@ -96,8 +98,12 @@ module Dply
|
|
96
98
|
end
|
97
99
|
end
|
98
100
|
|
99
|
-
def
|
100
|
-
@
|
101
|
+
def util
|
102
|
+
@util ||= Util.new
|
103
|
+
end
|
104
|
+
|
105
|
+
def bundle
|
106
|
+
@bundle ||= Bundle.new
|
101
107
|
end
|
102
108
|
|
103
109
|
end
|