class Xcmake::Cli
Public Instance Methods
group(name)
click to toggle source
# File lib/xcmake/cli.rb, line 29 def group(name) project_path = options[:project] || default_project! g = Xcmake::Generator.new(project_path) if options[:delete] g.delete_group(name) else g.create_group(name) end end
scaffold(name)
click to toggle source
# File lib/xcmake/cli.rb, line 57 def scaffold(name) project_path = options[:project] || default_project! g = Xcmake::Generator.new(project_path) structure = load_scaffold_structure(project_path) structure["sources"].each do |s| if s["target"]["name"] == s["group"] group_path = s["target"]["name"] elsif s["group"].to_s.empty? group_path = s["target"]["name"] else group_path = "#{s["target"]["name"]}/#{s["group"]}" end g.create_target(s["target"]["name"], s["target"]["type"].to_sym) g.create_group(group_path) unless s["group"].to_s.empty? g.create_source("#{group_path}/#{s['prefix']}#{name}#{s['suffix']}", nil) end end
source(name)
click to toggle source
# File lib/xcmake/cli.rb, line 44 def source(name) project_path = options[:project] || default_project! g = Xcmake::Generator.new(project_path) if options[:delete] else g.create_source(name) end end
target(name)
click to toggle source
# File lib/xcmake/cli.rb, line 13 def target(name) project_path = options[:project] || default_project! g = Xcmake::Generator.new(project_path) if options[:delete] g.delete_target(name) else type = options[:type] || "framework" g.create_target(name, type.to_sym) end end
Private Instance Methods
default_project!()
click to toggle source
# File lib/xcmake/cli.rb, line 81 def default_project! project_paths = Dir.glob("#{Dir.pwd}/*.xcodeproj") if project_paths.empty? log_error!("xcodeproj not found. please give option `-p [project path]` and try it.") end if project_paths.size > 1 log_error!("found many xcodeproj. please give option `-p [project path]` and try it.") end project_paths.first end
load_scaffold_structure(project_path, scaffold_config_file="scaffold.yml")
click to toggle source
# File lib/xcmake/cli.rb, line 95 def load_scaffold_structure(project_path, scaffold_config_file="scaffold.yml") scaffold_path = File.join(project_path, "..", scaffold_config_file) yaml_data = File.read(scaffold_path) YAML.load(yaml_data) end