create Builder instance for each build operation - close #88
This commit is contained in:
1 parent
12f1909d35
commit
aac32d20b0
28 files changed
+181
-147
No files matched your search
@@ -11,7 +11,7 @@ end
|
||||
|
||||
build do
|
||||
Environment.new do |env|
|
||||
env.add_builder(MySource.new)
|
||||
env.add_builder(MySource)
|
||||
env.MySource('inc.h', [])
|
||||
env.Program('program.exe', Dir['*.c'])
|
||||
end
|
||||
|
||||
@@ -13,7 +13,7 @@ build do
|
||||
env = Environment.new do |env|
|
||||
env["hdr"] = "inc.h"
|
||||
env["src"] = "program.c"
|
||||
env.add_builder(MySource.new)
|
||||
env.add_builder(MySource)
|
||||
env.MySource('${hdr}')
|
||||
env.Program('program.exe', "${src}")
|
||||
end
|
||||
|
||||
@@ -11,7 +11,7 @@ end
|
||||
|
||||
build do
|
||||
e1 = Environment.new do |env|
|
||||
env.add_builder(MySource.new)
|
||||
env.add_builder(MySource)
|
||||
env["one"] = "5"
|
||||
env[:cfg] = {val: "9"}
|
||||
env["two"] = lambda do |args|
|
||||
|
||||
@@ -14,7 +14,7 @@ end
|
||||
|
||||
build do
|
||||
Environment.new do |env|
|
||||
env.add_builder(CHGen.new)
|
||||
env.add_builder(CHGen)
|
||||
env.CHGen("inc.c", ["program.c"])
|
||||
env.Program("program.exe", %w[program.c inc.c])
|
||||
end
|
||||
|
||||
@@ -2,7 +2,8 @@ build do
|
||||
Environment.new do |env|
|
||||
require 'json'
|
||||
require 'yaml'
|
||||
env.add_builder(:JsonToYaml) do |target, sources, cache, env, vars|
|
||||
env.add_builder(:JsonToYaml) do |params|
|
||||
target, sources, cache, env, vars = params.values_at(:target, :sources, :cache, :env, :vars)
|
||||
unless cache.up_to_date?(target, :JsonToYaml, sources, env)
|
||||
cache.mkdir_p(File.dirname(target))
|
||||
File.open(target, 'w') do |f|
|
||||
|
||||
@@ -5,7 +5,7 @@ class TestBuilder < Rscons::Builder
|
||||
end
|
||||
build do
|
||||
Environment.new do |env|
|
||||
env.add_builder(TestBuilder.new)
|
||||
env.add_builder(TestBuilder)
|
||||
env.TestBuilder("file")
|
||||
end
|
||||
end
|
||||
@@ -30,7 +30,7 @@ end
|
||||
|
||||
build do
|
||||
Environment.new do |env|
|
||||
env.add_builder(DebugBuilder.new)
|
||||
env.add_builder(DebugBuilder)
|
||||
if Rscons.vars["new_user_dep"]
|
||||
env.depends("foo.o", "new_dep")
|
||||
end
|
||||
|
||||
@@ -16,7 +16,7 @@ end
|
||||
|
||||
build do
|
||||
Environment.new do |env|
|
||||
env.add_builder(TestBuilder.new)
|
||||
env.add_builder(TestBuilder)
|
||||
env.TestBuilder("foo")
|
||||
end
|
||||
end
|
||||
@@ -1,6 +1,7 @@
|
||||
build do
|
||||
Environment.new do |env|
|
||||
env.add_builder(:Checker) do |target, sources, cache, env, vars|
|
||||
env.add_builder(:Checker) do |params|
|
||||
target, sources, cache, env, vars = params.values_at(:target, :sources, :cache, :env, :vars)
|
||||
unless cache.up_to_date?(target, :Checker, sources, env)
|
||||
puts "Checker #{sources.first}" if env.echo != :off
|
||||
cache.register_build(target, :Checker, sources, env)
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
class MyObject < Rscons::Builder
|
||||
def run(options)
|
||||
target, sources, cache, env, vars = options.values_at(:target, :sources, :cache, :env, :vars)
|
||||
env.run_builder(env.builders["Object"], target, sources, cache, vars)
|
||||
env.run_builder(env.builders["Object"].new, target, sources, cache, vars)
|
||||
end
|
||||
end
|
||||
|
||||
build do
|
||||
Environment.new do |env|
|
||||
env.add_builder(MyObject.new)
|
||||
env.add_builder(MyObject)
|
||||
env.MyObject("simple.o", "simple.c")
|
||||
env.Program("simple.exe", "simple.o")
|
||||
end
|
||||
|
||||
@@ -20,8 +20,8 @@ end
|
||||
|
||||
build do
|
||||
Environment.new do |env|
|
||||
env.add_builder(ThreadedTestBuilder.new)
|
||||
env.add_builder(NonThreadedTestBuilder.new)
|
||||
env.add_builder(ThreadedTestBuilder)
|
||||
env.add_builder(NonThreadedTestBuilder)
|
||||
env.ThreadedTestBuilder("a")
|
||||
env.ThreadedTestBuilder("b")
|
||||
env.ThreadedTestBuilder("c")
|
||||
|
||||
@@ -16,7 +16,7 @@ end
|
||||
|
||||
build do
|
||||
Environment.new do |env|
|
||||
env.add_builder(TestBuilder.new)
|
||||
env.add_builder(TestBuilder)
|
||||
env.TestBuilder("one", [], "wait_time" => "3")
|
||||
env.TestBuilder("two", [], "wait_time" => "0")
|
||||
env.depends("two", "one")
|
||||
|
||||
@@ -13,7 +13,7 @@ end
|
||||
|
||||
build do
|
||||
Environment.new do |env|
|
||||
env.add_builder(Fail.new)
|
||||
env.add_builder(Fail)
|
||||
4.times do |i|
|
||||
wait_time = i + 1
|
||||
env.Fail("foo_#{wait_time}", [], "wait_time" => wait_time.to_s)
|
||||
|
||||
@@ -16,7 +16,7 @@ end
|
||||
|
||||
build do
|
||||
Environment.new(echo: :command) do |env|
|
||||
env.add_builder(StrictBuilder.new)
|
||||
env.add_builder(StrictBuilder)
|
||||
env.Object("one.o", "one.c", "CCFLAGS" => %w[-DONE])
|
||||
env.Object("two.o", "two.c")
|
||||
sources = File.read("sources", mode: "rb").split(" ")
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
class MyObject < Rscons::Builder
|
||||
def run(target, sources, cache, env, vars)
|
||||
env.run_builder(env.builders["Object"], target, sources, cache, vars)
|
||||
env.run_builder(env.builders["Object"].new, target, sources, cache, vars)
|
||||
end
|
||||
end
|
||||
|
||||
build do
|
||||
Environment.new(echo: :command) do |env|
|
||||
env.add_builder(MyObject.new)
|
||||
env.add_builder(MyObject)
|
||||
env.append('CPPPATH' => Rscons.glob('src/**'))
|
||||
env.add_build_hook do |build_op|
|
||||
if build_op[:builder].name == "MyObject" && build_op[:sources].first =~ %r{one\.c}
|
||||
|
||||
@@ -9,7 +9,7 @@ end
|
||||
build do
|
||||
Environment.new do |env|
|
||||
env.echo = :command
|
||||
env.add_builder(MyBuilder.new)
|
||||
env.add_builder(MyBuilder)
|
||||
env.MyBuilder("foo")
|
||||
end
|
||||
end
|
||||
Reference in new issue
Block a user