module Ninja
Constants
- DEFAULT_NINJA_FILENAME
Public Class Methods
Build(rule, target, explicit, implicit=nil)
click to toggle source
# File lib/ninja.rb, line 169 def self.Build(rule, target, explicit, implicit=nil) Ninja::Build.new(rule, target, explicit, implicit) end
Explicitly(*xs)
click to toggle source
# File lib/ninja.rb, line 177 def self.Explicitly(*xs) Ninja::Explicitly.new(xs) end
Implicitly(*xs)
click to toggle source
# File lib/ninja.rb, line 181 def self.Implicitly(*xs) Ninja::Implicitly.new(xs) end
Rule(rule, depfile="")
click to toggle source
Facade To Hide the implementation
# File lib/ninja.rb, line 165 def self.Rule(rule, depfile="") Ninja::Rule.new(rule, depfile) end
Target(*xs)
click to toggle source
# File lib/ninja.rb, line 173 def self.Target(*xs) Ninja::Target.new(xs) end
__to_ninja_format(xs)
click to toggle source
# File lib/ninja.rb, line 109 def self.__to_ninja_format(xs) xs.map{ |x| x.to_ninja_format }.join "\n\n" end
create_UUID()
click to toggle source
# File lib/ninja.rb, line 8 def self.create_UUID UUIDTools::UUID.random_create end
create_ninja_file(ninjas)
click to toggle source
# File lib/ninja.rb, line 123 def self.create_ninja_file(ninjas) namespace :ninja do desc("generate ninja file if ninja.rake is changed") file DEFAULT_NINJA_FILENAME => "ninja.rake" do puts "--- REGENERATING THE NINJA FILE NOW ---" f = File.new(DEFAULT_NINJA_FILENAME, "w") txt = to_ninja_format(ninjas) f.write(txt) f.close end end end
end_of_ninja(*ninjas)
click to toggle source
# File lib/ninja.rb, line 153 def self.end_of_ninja(*ninjas) create_ninja_file(ninjas.flatten) ninjas.each do |ninja| ninja.get_target_object.to_a.each do |target| make_ninja_task(target) end end end
make_ninja_task(target)
click to toggle source
# File lib/ninja.rb, line 136 def self.make_ninja_task(target) namespace :ninja do namespace :build do task target => DEFAULT_NINJA_FILENAME do sh "ninja #{target}" end task :all => target end namespace :clean do task target => DEFAULT_NINJA_FILENAME do sh "ninja -t clean #{target}" end task :all => target end end end
rules(ninjas)
click to toggle source
# File lib/ninja.rb, line 113 def self.rules(ninjas) __rules = ninjas.map{ |x| x.get_rule_object } Set.new(__rules).to_a end
to_ninja_format(ninjas)
click to toggle source
# File lib/ninja.rb, line 118 def self.to_ninja_format(ninjas) xs = (rules(ninjas) + ninjas).flatten __to_ninja_format(xs) end