Class: Xcmake::Cli

Inherits:
Thor
  • Object
show all
Includes:
Logger
Defined in:
lib/xcmake/cli.rb

Instance Method Summary collapse

Methods included from Logger

#log_error, #log_error!, #log_info

Instance Method Details

#group(name) ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
# 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) ⇒ Object



57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# 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) ⇒ Object



44
45
46
47
48
49
50
51
52
53
# 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) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
# 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