Module: PodBuilder
- Defined in:
- lib/pod_builder/core.rb,
lib/pod_builder/analyze.rb,
lib/pod_builder/install.rb,
lib/pod_builder/podfile.rb,
lib/pod_builder/podspec.rb,
lib/pod_builder/version.rb,
lib/pod_builder/command/init.rb,
lib/pod_builder/command/none.rb,
lib/pod_builder/podfile_item.rb,
lib/pod_builder/command/build.rb,
lib/pod_builder/command/clean.rb,
lib/pod_builder/configuration.rb,
lib/pod_builder/command/switch.rb,
lib/pod_builder/command/build_all.rb,
lib/pod_builder/command/deintegrate.rb,
lib/pod_builder/command/restore_all.rb,
lib/pod_builder/command/generate_lfs.rb,
lib/pod_builder/podfile/post_actions.rb,
lib/pod_builder/command/synch_podfile.rb,
lib/pod_builder/command/install_sources.rb,
lib/pod_builder/command/generate_podspec.rb
Defined Under Namespace
Modules: Command
Classes: Analyze, Configuration, Install, Podfile, PodfileItem, Podspec
Constant Summary
collapse
- VERSION =
"0.2.2"
Class Method Summary
collapse
Class Method Details
.basepath(child = "") ⇒ Object
36
37
38
|
# File 'lib/pod_builder/core.rb', line 36
def self.basepath(child = "")
return "#{Configuration.base_path}/#{child}".gsub("//", "/").gsub(/\/$/, '')
end
|
.find_xcodeproj ⇒ Object
46
47
48
49
50
51
52
53
54
|
# File 'lib/pod_builder/core.rb', line 46
def self.find_xcodeproj
project_name = File.basename(find_xcodeworkspace, ".*")
xcodeprojects = Dir.glob("#{home}/**/#{project_name}.xcodeproj").select { |x| !x.include?("/Pods/") && !x.include?("/Sources/") && !x.include?(basepath) }
raise "xcodeproj not found!".red if xcodeprojects.count == 0
raise "Found multiple xcodeproj:\n#{xcodeprojects.join("\n")}".red if xcodeprojects.count > 1
return xcodeprojects.first
end
|
.find_xcodeworkspace ⇒ Object
56
57
58
59
60
61
62
|
# File 'lib/pod_builder/core.rb', line 56
def self.find_xcodeworkspace
xcworkspaces = Dir.glob("#{home}/**/#{Configuration.project_name}*.xcworkspace").select { |x| !x.include?("/Pods/") && !x.include?("/Sources/") && !x.include?(basepath) && !x.include?(".xcodeproj/") }
raise "xcworkspace not found!".red if xcworkspaces.count == 0
raise "Found multiple xcworkspaces:\n#{xcworkspaces.join("\n")}".red if xcworkspaces.count > 1
return xcworkspaces.first
end
|
.prepare_basepath ⇒ Object
64
65
66
67
68
69
70
71
72
73
|
# File 'lib/pod_builder/core.rb', line 64
def self.prepare_basepath
workspace_path = PodBuilder::find_xcodeworkspace
project_path = PodBuilder::find_xcodeproj
if workspace_path && project_path
FileUtils.mkdir_p(basepath("Pods/Target Support Files"))
FileUtils.cp_r(workspace_path, basepath)
FileUtils.cp_r(project_path, basepath)
FileUtils.rm_f(basepath("Podfile.lock"))
end
end
|
.project_path(child = "") ⇒ Object
40
41
42
43
44
|
# File 'lib/pod_builder/core.rb', line 40
def self.project_path(child = "")
project = PodBuilder::find_xcodeworkspace
return project ? "#{File.dirname(project)}/#{child}".gsub("//", "/").gsub(/\/$/, '') : nil
end
|
.safe_rm_rf(path) ⇒ Object
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
# File 'lib/pod_builder/core.rb', line 15
def self.safe_rm_rf(path)
unless File.exist?(path)
return
end
current_dir = Dir.pwd
Dir.chdir(path)
h = `git rev-parse --show-toplevel`.strip()
raise "\n\nNo git repository found, can't delete files!\n".red if h.empty?
FileUtils.rm_rf(path)
if File.exist?(current_dir)
Dir.chdir(current_dir)
else
Dir.chdir(basepath)
end
end
|