create Builder instance for each build operation - close #88

This commit is contained in:
josh committed 2019-02-10 17:27:40 -05:00
1 parent 12f1909d35
commit aac32d20b0
28 files changed
+181 -147

No files matched your search

+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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 -1
View File
@@ -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|
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+2 -1
View File
@@ -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)
+2 -2
View File
@@ -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
+2 -2
View File
@@ -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")
+1 -1
View File
@@ -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)
+1 -1
View File
@@ -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}
+1 -1
View File
@@ -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