pod-builder 2.0.0.beta.19 ā 2.0.0.beta.25
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/.gitignore +2 -2
- data/README.md +13 -13
- data/exe/pod_builder +27 -16
- data/lib/pod_builder/command/build.rb +28 -159
- data/lib/pod_builder/command/build_all.rb +2 -2
- data/lib/pod_builder/command/clean.rb +34 -53
- data/lib/pod_builder/command/clear_lldbinit.rb +6 -2
- data/lib/pod_builder/command/deintegrate.rb +27 -6
- data/lib/pod_builder/command/generate_lfs.rb +1 -1
- data/lib/pod_builder/command/generate_podspec.rb +3 -2
- data/lib/pod_builder/command/info.rb +1 -1
- data/lib/pod_builder/command/init.rb +39 -14
- data/lib/pod_builder/command/install_sources.rb +20 -13
- data/lib/pod_builder/command/none.rb +2 -2
- data/lib/pod_builder/command/restore_all.rb +4 -4
- data/lib/pod_builder/command/switch.rb +56 -14
- data/lib/pod_builder/command/sync_podfile.rb +3 -2
- data/lib/pod_builder/command/update.rb +5 -6
- data/lib/pod_builder/command/update_lldbinit.rb +10 -8
- data/lib/pod_builder/configuration.rb +27 -7
- data/lib/pod_builder/core.rb +52 -16
- data/lib/pod_builder/info.rb +11 -11
- data/lib/pod_builder/install.rb +200 -186
- data/lib/pod_builder/licenses.rb +4 -4
- data/lib/pod_builder/podfile.rb +245 -86
- data/lib/pod_builder/podfile/post_actions.rb +9 -14
- data/lib/pod_builder/podfile_cp.rb +93 -0
- data/lib/pod_builder/podfile_item.rb +41 -20
- data/lib/pod_builder/podspec.rb +33 -16
- data/lib/pod_builder/rome/post_install.rb +285 -130
- data/lib/pod_builder/rome/pre_install.rb +1 -1
- data/lib/pod_builder/templates/build_podfile.template +3 -3
- data/lib/pod_builder/version.rb +1 -1
- data/pod-builder.gemspec +2 -2
- metadata +4 -25
- data/Example/Frameworks/.gitignore +0 -6
- data/Example/Frameworks/.pod_builder/pod_builder +0 -0
- data/Example/Frameworks/PodBuilder.json +0 -38
- data/Example/Frameworks/Podfile +0 -23
- data/Example/Frameworks/Podfile.restore +0 -40
- data/Example/PodBuilderExample.xcodeproj/project.pbxproj +0 -411
- data/Example/PodBuilderExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
- data/Example/PodBuilderExample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
- data/Example/PodBuilderExample.xcodeproj/project.xcworkspace/xcuserdata/tomas.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- data/Example/PodBuilderExample.xcworkspace/contents.xcworkspacedata +0 -10
- data/Example/PodBuilderExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
- data/Example/PodBuilderExample/AppDelegate.swift +0 -51
- data/Example/PodBuilderExample/Assets.xcassets/AppIcon.appiconset/Contents.json +0 -98
- data/Example/PodBuilderExample/Assets.xcassets/Contents.json +0 -6
- data/Example/PodBuilderExample/Base.lproj/LaunchScreen.storyboard +0 -25
- data/Example/PodBuilderExample/Base.lproj/Main.storyboard +0 -24
- data/Example/PodBuilderExample/Info.plist +0 -45
- data/Example/PodBuilderExample/ViewController.swift +0 -25
- data/Example/Podfile +0 -51
- data/Example/Podfile.lock +0 -435
- data/Example/Pods-acknowledgements.md +0 -210
- data/Example/Pods-acknowledgements.plist +0 -206
@@ -3,12 +3,12 @@ require 'pod_builder/core'
|
|
3
3
|
module PodBuilder
|
4
4
|
module Command
|
5
5
|
class BuildAll
|
6
|
-
def self.call
|
6
|
+
def self.call
|
7
7
|
Configuration.check_inited
|
8
8
|
PodBuilder::prepare_basepath
|
9
9
|
|
10
10
|
ARGV << "*"
|
11
|
-
return Command::Build::call
|
11
|
+
return Command::Build::call
|
12
12
|
end
|
13
13
|
end
|
14
14
|
end
|
@@ -4,90 +4,71 @@ require 'highline/import'
|
|
4
4
|
module PodBuilder
|
5
5
|
module Command
|
6
6
|
class Clean
|
7
|
-
def self.call
|
7
|
+
def self.call
|
8
8
|
Configuration.check_inited
|
9
9
|
PodBuilder::prepare_basepath
|
10
10
|
|
11
|
-
install_update_repo =
|
11
|
+
install_update_repo = OPTIONS.fetch(:update_repos, true)
|
12
12
|
installer, analyzer = Analyze.installer_at(PodBuilder::basepath, install_update_repo)
|
13
13
|
all_buildable_items = Analyze.podfile_items(installer, analyzer)
|
14
14
|
|
15
|
-
|
16
|
-
|
17
|
-
rel_paths.uniq!
|
18
|
-
|
19
|
-
base_path = PodBuilder::prebuiltpath
|
20
|
-
framework_files = Dir.glob("#{base_path}/**/*.framework")
|
21
|
-
puts "Looking for unused frameworks".yellow
|
22
|
-
clean(framework_files, base_path, rel_paths)
|
23
|
-
|
24
|
-
rel_paths.map! { |x| "#{x}.dSYM"}
|
25
|
-
|
26
|
-
Configuration.supported_platforms.each do |platform|
|
27
|
-
base_path = PodBuilder::dsympath(platform)
|
28
|
-
dSYM_files = Dir.glob("#{base_path}/**/*.dSYM")
|
29
|
-
puts "Looking for #{platform} unused dSYMs".yellow
|
30
|
-
clean(dSYM_files, base_path, rel_paths)
|
31
|
-
end
|
32
|
-
|
33
|
-
puts "Looking for unused sources".yellow
|
34
|
-
clean_sources(podspec_names)
|
15
|
+
prebuilt_items(all_buildable_items)
|
16
|
+
install_sources(all_buildable_items)
|
35
17
|
|
36
18
|
puts "\n\nš done!\n".green
|
37
19
|
return 0
|
38
20
|
end
|
39
|
-
|
40
|
-
def self.
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
unless !podspec_names.include?(podspec_name)
|
50
|
-
next
|
21
|
+
|
22
|
+
def self.prebuilt_items(buildable_items)
|
23
|
+
puts "Cleaning prebuilt folder".yellow
|
24
|
+
|
25
|
+
root_names = buildable_items.map(&:root_name).uniq
|
26
|
+
Dir.glob(File.join(PodBuilder::prebuiltpath, "*")).each do |path|
|
27
|
+
basename = File.basename(path)
|
28
|
+
unless root_names.include?(basename)
|
29
|
+
puts "Cleanining up `#{basename}`, no longer found among dependencies".blue
|
30
|
+
PodBuilder::safe_rm_rf(path)
|
51
31
|
end
|
52
|
-
|
53
|
-
paths_to_delete.push(path)
|
54
32
|
end
|
55
33
|
|
56
|
-
|
57
|
-
|
58
|
-
|
34
|
+
puts "Cleaning dSYM folder".yellow
|
35
|
+
module_names = buildable_items.map(&:module_name).uniq
|
36
|
+
Dir.glob(File.join(PodBuilder::dsympath, "**/*.dSYM")).each do |path|
|
37
|
+
dsym_basename = File.basename(path, ".*")
|
38
|
+
dsym_basename.gsub!(/\.framework$/, "")
|
39
|
+
unless module_names.include?(dsym_basename)
|
40
|
+
puts "Cleanining up `#{dsym_basename}`, no longer found among dependencies".blue
|
59
41
|
PodBuilder::safe_rm_rf(path)
|
60
42
|
end
|
61
43
|
end
|
44
|
+
|
62
45
|
end
|
63
46
|
|
64
|
-
|
47
|
+
def self.install_sources(buildable_items)
|
48
|
+
puts "Looking for unused sources".yellow
|
49
|
+
|
50
|
+
podspec_names = buildable_items.map(&:root_name).uniq
|
65
51
|
|
66
|
-
|
67
|
-
files = files.map { |x| [Pathname.new(x).relative_path_from(Pathname.new(base_path)).to_s, x] }.to_h
|
52
|
+
base_path = PodBuilder::basepath("Sources")
|
68
53
|
|
69
54
|
paths_to_delete = []
|
70
|
-
|
71
|
-
|
55
|
+
repo_paths = Dir.glob("#{base_path}/*")
|
56
|
+
repo_paths.each do |path|
|
57
|
+
podspec_name = File.basename(path)
|
58
|
+
|
59
|
+
if podspec_names.include?(podspec_name)
|
72
60
|
next
|
73
61
|
end
|
74
62
|
|
75
63
|
paths_to_delete.push(path)
|
76
64
|
end
|
77
65
|
|
78
|
-
paths_to_delete.each do |path|
|
79
|
-
confirm = ask("
|
66
|
+
paths_to_delete.flatten.each do |path|
|
67
|
+
confirm = ask("#{path} unused.\nDelete it? [Y/N] ") { |yn| yn.limit = 1, yn.validate = /[yn]/i }
|
80
68
|
if confirm.downcase == 'y'
|
81
69
|
PodBuilder::safe_rm_rf(path)
|
82
70
|
end
|
83
71
|
end
|
84
|
-
|
85
|
-
Dir.chdir(base_path) do
|
86
|
-
# Before deleting anything be sure we're in a git repo
|
87
|
-
h = `git rev-parse --show-toplevel`.strip()
|
88
|
-
raise "\n\nNo git repository found in current folder `#{Dir.pwd}`!\n".red if h.empty?
|
89
|
-
system("find . -type d -empty -delete") # delete empty folders
|
90
|
-
end
|
91
72
|
end
|
92
73
|
end
|
93
74
|
end
|
@@ -4,7 +4,11 @@ require 'digest'
|
|
4
4
|
module PodBuilder
|
5
5
|
module Command
|
6
6
|
class ClearLldbInit
|
7
|
-
def self.call
|
7
|
+
def self.call
|
8
|
+
Configuration.check_inited
|
9
|
+
if Configuration.build_using_repo_paths
|
10
|
+
raise "\n\nlldb shenanigans not supported when 'build_using_repo_paths' is enabled".red
|
11
|
+
end
|
8
12
|
|
9
13
|
argument_pods = ARGV.dup
|
10
14
|
|
@@ -34,7 +38,7 @@ module PodBuilder
|
|
34
38
|
|
35
39
|
File.write(lldbinit_path, lldbinit_lines.join())
|
36
40
|
|
37
|
-
if
|
41
|
+
if OPTIONS.nil? == false
|
38
42
|
puts "\n\nš done!\n".green
|
39
43
|
end
|
40
44
|
return 0
|
@@ -3,11 +3,11 @@ require 'pod_builder/core'
|
|
3
3
|
module PodBuilder
|
4
4
|
module Command
|
5
5
|
class Deintegrate
|
6
|
-
def self.call
|
6
|
+
def self.call
|
7
7
|
raise "\n\nPodBuilder not initialized!\n".red if !Configuration.exists
|
8
8
|
|
9
|
-
prebuilt_podfile =
|
10
|
-
restored_podfile =
|
9
|
+
prebuilt_podfile = PodBuilder::basepath("Podfile")
|
10
|
+
restored_podfile = PodBuilder::project_path("Podfile")
|
11
11
|
|
12
12
|
FileUtils.cp(prebuilt_podfile, restored_podfile)
|
13
13
|
|
@@ -32,9 +32,14 @@ module PodBuilder
|
|
32
32
|
end
|
33
33
|
|
34
34
|
FileUtils.rm_f(restored_podfile)
|
35
|
-
|
36
|
-
|
37
|
-
|
35
|
+
|
36
|
+
podfile_content = podfile_lines.join
|
37
|
+
|
38
|
+
podfile_content = Podfile.update_path_entries(podfile_content, Deintegrate.method(:podfile_path_transform))
|
39
|
+
podfile_content = Podfile.update_project_entries(podfile_content, Deintegrate.method(:podfile_path_transform))
|
40
|
+
podfile_content = Podfile.update_require_entries(podfile_content, Deintegrate.method(:podfile_path_transform))
|
41
|
+
|
42
|
+
File.write(restored_podfile, podfile_content)
|
38
43
|
|
39
44
|
PodBuilder::safe_rm_rf(Configuration.base_path)
|
40
45
|
|
@@ -54,6 +59,22 @@ module PodBuilder
|
|
54
59
|
|
55
60
|
private
|
56
61
|
|
62
|
+
def self.podfile_path_transform(path)
|
63
|
+
use_absolute_paths = false
|
64
|
+
podfile_path = PodBuilder::project_path("Podfile")
|
65
|
+
original_basepath = PodBuilder::basepath
|
66
|
+
|
67
|
+
podfile_base_path = Pathname.new(File.dirname(podfile_path))
|
68
|
+
|
69
|
+
original_path = Pathname.new(File.join(original_basepath, path))
|
70
|
+
replace_path = original_path.relative_path_from(podfile_base_path)
|
71
|
+
if use_absolute_paths
|
72
|
+
replace_path = replace_path.expand_path(podfile_base_path)
|
73
|
+
end
|
74
|
+
|
75
|
+
return replace_path
|
76
|
+
end
|
77
|
+
|
57
78
|
def self.update_gemfile
|
58
79
|
gemfile_path = File.join(PodBuilder::home, "Gemfile")
|
59
80
|
unless File.exist?(gemfile_path)
|
@@ -3,13 +3,14 @@ require 'pod_builder/core'
|
|
3
3
|
module PodBuilder
|
4
4
|
module Command
|
5
5
|
class GeneratePodspec
|
6
|
-
def self.call
|
6
|
+
def self.call
|
7
7
|
Configuration.check_inited
|
8
8
|
PodBuilder::prepare_basepath
|
9
9
|
|
10
10
|
installer, analyzer = Analyze.installer_at(PodBuilder::basepath, false)
|
11
|
+
all_buildable_items = Analyze.podfile_items(installer, analyzer)
|
11
12
|
|
12
|
-
Podspec::generate(analyzer)
|
13
|
+
Podspec::generate(all_buildable_items, analyzer)
|
13
14
|
|
14
15
|
puts "\n\nš done!\n".green
|
15
16
|
return 0
|
@@ -3,24 +3,24 @@ require 'pod_builder/core'
|
|
3
3
|
module PodBuilder
|
4
4
|
module Command
|
5
5
|
class Init
|
6
|
-
def self.call
|
6
|
+
def self.call
|
7
7
|
raise "\n\nAlready initialized\n".red if Configuration.exists
|
8
8
|
|
9
9
|
xcworkspace = Dir.glob("*.xcworkspace")
|
10
|
-
raise "\n\nNo xcworkspace found in current folder\n" if xcworkspace.count == 0
|
11
|
-
raise "\n\nToo many xcworkspaces found in current folder\n#{xcworkspace}\n" if xcworkspace.count > 1
|
10
|
+
raise "\n\nNo xcworkspace found in current folder\n".red if xcworkspace.count == 0
|
11
|
+
raise "\n\nToo many xcworkspaces found in current folder\n#{xcworkspace}\n".red if xcworkspace.count > 1
|
12
12
|
|
13
13
|
Configuration.project_name = File.basename(xcworkspace.first, ".*")
|
14
14
|
|
15
|
-
|
15
|
+
OPTIONS[:prebuild_path] ||= Configuration.base_path
|
16
16
|
|
17
|
-
if File.expand_path(
|
18
|
-
|
17
|
+
if File.expand_path(OPTIONS[:prebuild_path]) != OPTIONS[:prebuild_path] # if not absolute
|
18
|
+
OPTIONS[:prebuild_path] = File.expand_path(PodBuilder::project_path(OPTIONS[:prebuild_path]))
|
19
19
|
end
|
20
20
|
|
21
|
-
FileUtils.mkdir_p(
|
22
|
-
FileUtils.mkdir_p("#{
|
23
|
-
FileUtils.touch("#{
|
21
|
+
FileUtils.mkdir_p(OPTIONS[:prebuild_path])
|
22
|
+
FileUtils.mkdir_p("#{OPTIONS[:prebuild_path]}/.pod_builder")
|
23
|
+
FileUtils.touch("#{OPTIONS[:prebuild_path]}/.pod_builder/pod_builder")
|
24
24
|
|
25
25
|
source_path_rel_path = "Sources"
|
26
26
|
development_pods_config_rel_path = Configuration.dev_pods_configuration_filename
|
@@ -32,15 +32,24 @@ module PodBuilder
|
|
32
32
|
source_path_rel_path,
|
33
33
|
development_pods_config_rel_path]
|
34
34
|
|
35
|
-
File.write("#{
|
35
|
+
File.write("#{OPTIONS[:prebuild_path]}/.gitignore", git_ignores.join("\n"))
|
36
36
|
|
37
37
|
project_podfile_path = PodBuilder::project_path("Podfile")
|
38
|
-
prebuilt_podfile_path = File.join(
|
38
|
+
prebuilt_podfile_path = File.join(OPTIONS[:prebuild_path], "Podfile")
|
39
39
|
FileUtils.cp(project_podfile_path, prebuilt_podfile_path)
|
40
|
+
|
41
|
+
podfile_content = File.read(prebuilt_podfile_path)
|
40
42
|
|
41
|
-
Podfile.add_install_block(
|
42
|
-
Podfile.
|
43
|
-
Podfile.update_project_entries(
|
43
|
+
podfile_content = Podfile.add_install_block(podfile_content)
|
44
|
+
podfile_content = Podfile.update_path_entries(podfile_content, Init.method(:podfile_path_transform))
|
45
|
+
podfile_content = Podfile.update_project_entries(podfile_content, Init.method(:podfile_path_transform))
|
46
|
+
podfile_content = Podfile.update_require_entries(podfile_content, Init.method(:podfile_path_transform))
|
47
|
+
|
48
|
+
if podfile_content.include?("/node_modules/react-native/")
|
49
|
+
podfile_content = Podfile.prepare_for_react_native(podfile_content)
|
50
|
+
end
|
51
|
+
|
52
|
+
File.write(prebuilt_podfile_path, podfile_content)
|
44
53
|
|
45
54
|
Configuration.write
|
46
55
|
|
@@ -52,6 +61,22 @@ module PodBuilder
|
|
52
61
|
|
53
62
|
private
|
54
63
|
|
64
|
+
def self.podfile_path_transform(path)
|
65
|
+
use_absolute_paths = false
|
66
|
+
podfile_path = File.join(OPTIONS[:prebuild_path], "Podfile")
|
67
|
+
original_basepath = PodBuilder::project_path
|
68
|
+
|
69
|
+
podfile_base_path = Pathname.new(File.dirname(podfile_path))
|
70
|
+
|
71
|
+
original_path = Pathname.new(File.join(original_basepath, path))
|
72
|
+
replace_path = original_path.relative_path_from(podfile_base_path)
|
73
|
+
if use_absolute_paths
|
74
|
+
replace_path = replace_path.expand_path(podfile_base_path)
|
75
|
+
end
|
76
|
+
|
77
|
+
return replace_path
|
78
|
+
end
|
79
|
+
|
55
80
|
def self.update_gemfile
|
56
81
|
gemfile_path = File.join(PodBuilder::home, "Gemfile")
|
57
82
|
unless File.exist?(gemfile_path)
|
@@ -3,14 +3,18 @@ require 'pod_builder/core'
|
|
3
3
|
module PodBuilder
|
4
4
|
module Command
|
5
5
|
class InstallSources
|
6
|
-
def self.call
|
6
|
+
def self.call
|
7
7
|
Configuration.check_inited
|
8
|
+
if Configuration.build_using_repo_paths
|
9
|
+
raise "\n\nSource cannot be installed because lldb shenanigans not supported when 'build_using_repo_paths' is enabled".red
|
10
|
+
end
|
11
|
+
|
8
12
|
PodBuilder::prepare_basepath
|
9
13
|
|
10
|
-
install_update_repo =
|
14
|
+
install_update_repo = OPTIONS.fetch(:update_repos, true)
|
11
15
|
installer, analyzer = Analyze.installer_at(PodBuilder::basepath, install_update_repo)
|
12
|
-
|
13
|
-
podspec_names =
|
16
|
+
podfile_items = Analyze.podfile_items(installer, analyzer).select { |x| !x.is_prebuilt }
|
17
|
+
podspec_names = podfile_items.map(&:podspec_name)
|
14
18
|
|
15
19
|
base_path = PodBuilder::prebuiltpath
|
16
20
|
framework_files = Dir.glob("#{base_path}/**/*.framework")
|
@@ -18,15 +22,14 @@ module PodBuilder
|
|
18
22
|
framework_files.each do |path|
|
19
23
|
rel_path = Pathname.new(path).relative_path_from(Pathname.new(base_path)).to_s
|
20
24
|
|
21
|
-
if
|
22
|
-
update_repo(
|
25
|
+
if podfile_spec = podfile_items.detect { |x| x.prebuilt_rel_path == rel_path }
|
26
|
+
update_repo(podfile_spec)
|
23
27
|
end
|
24
28
|
end
|
25
29
|
|
26
|
-
Command::Clean::clean_sources()
|
30
|
+
Command::Clean::clean_sources(podspec_names)
|
27
31
|
|
28
32
|
ARGV << PodBuilder::basepath("Sources")
|
29
|
-
Command::UpdateLldbInit::call(options)
|
30
33
|
|
31
34
|
puts "\n\nš done!\n".green
|
32
35
|
return 0
|
@@ -35,6 +38,10 @@ module PodBuilder
|
|
35
38
|
private
|
36
39
|
|
37
40
|
def self.update_repo(spec)
|
41
|
+
if spec.path != nil || spec.podspec_path != nil
|
42
|
+
return
|
43
|
+
end
|
44
|
+
|
38
45
|
dest_path = PodBuilder::basepath("Sources")
|
39
46
|
FileUtils.mkdir_p(dest_path)
|
40
47
|
|
@@ -43,25 +50,25 @@ module PodBuilder
|
|
43
50
|
|
44
51
|
repo_dir = File.join(dest_path, spec.podspec_name)
|
45
52
|
if !File.directory?(repo_dir)
|
46
|
-
raise "
|
53
|
+
raise "\n\nFailed cloning #{spec.name}".red if !system("git clone #{spec.repo} #{spec.podspec_name}")
|
47
54
|
end
|
48
55
|
|
49
56
|
Dir.chdir(repo_dir)
|
50
57
|
puts "Checking out #{spec.podspec_name}".yellow
|
51
|
-
raise "
|
58
|
+
raise "\n\nFailed cheking out #{spec.name}".red if !system(git_hard_checkout_cmd(spec))
|
52
59
|
|
53
60
|
Dir.chdir(current_dir)
|
54
61
|
end
|
55
62
|
|
56
63
|
def self.git_hard_checkout_cmd(spec)
|
57
64
|
prefix = "git fetch --all --tags --prune; git reset --hard"
|
58
|
-
if
|
65
|
+
if spec.tag
|
59
66
|
return "#{prefix} tags/#{spec.tag}"
|
60
67
|
end
|
61
|
-
if
|
68
|
+
if spec.commit
|
62
69
|
return "#{prefix} #{spec.commit}"
|
63
70
|
end
|
64
|
-
if
|
71
|
+
if spec.branch
|
65
72
|
return "#{prefix} origin/#{spec.branch}"
|
66
73
|
end
|
67
74
|
|
@@ -3,9 +3,9 @@ require 'pod_builder/core'
|
|
3
3
|
module PodBuilder
|
4
4
|
module Command
|
5
5
|
class RestoreAll
|
6
|
-
def self.call
|
6
|
+
def self.call
|
7
7
|
unless Configuration.restore_enabled
|
8
|
-
raise "
|
8
|
+
raise "\n\nRestore not enabled!".red
|
9
9
|
end
|
10
10
|
|
11
11
|
Configuration.check_inited
|
@@ -16,8 +16,8 @@ module PodBuilder
|
|
16
16
|
File.rename(PodBuilder::basepath("Podfile.restore"), PodBuilder::basepath("Podfile"))
|
17
17
|
|
18
18
|
ARGV << "*"
|
19
|
-
|
20
|
-
return Command::Build::call
|
19
|
+
OPTIONS[:skip_prebuild_update] = true
|
20
|
+
return Command::Build::call
|
21
21
|
rescue Exception => e
|
22
22
|
raise e
|
23
23
|
ensure
|