Update build step accounting to only count within one environment process run
This commit is contained in:
1 parent
9d14cc7eb0
commit
1e5f1043d5
3 files changed
+27
-43
No files matched your search
@@ -31,7 +31,6 @@ module Rscons
|
||||
@build_dir = ENV["RSCONS_BUILD_DIR"] || "build"
|
||||
ENV.delete("RSCONS_BUILD_DIR")
|
||||
@n_threads = Util.determine_n_threads
|
||||
@build_step = 0
|
||||
end
|
||||
|
||||
# Run the application.
|
||||
@@ -71,25 +70,6 @@ module Rscons
|
||||
end
|
||||
end
|
||||
|
||||
# Get the next build step number.
|
||||
#
|
||||
# This is used internally by the {Environment} class.
|
||||
#
|
||||
# @api private
|
||||
def get_next_build_step
|
||||
@build_step += 1
|
||||
end
|
||||
|
||||
# Get the total number of build steps.
|
||||
#
|
||||
# @return [Integer]
|
||||
# The total number of build steps.
|
||||
def get_total_build_steps
|
||||
Environment.environments.reduce(@build_step) do |result, env|
|
||||
result + env.build_steps_remaining
|
||||
end
|
||||
end
|
||||
|
||||
# Remove all generated files.
|
||||
#
|
||||
# @api private
|
||||
|
||||
+16
-12
@@ -285,6 +285,10 @@ module Rscons
|
||||
@process_commands_waiting_to_run = []
|
||||
@process_builder_waits = {}
|
||||
@process_builders_to_run = []
|
||||
@build_step = 0
|
||||
@build_steps = @builder_sets.reduce(0) do |result, builder_set|
|
||||
result + builder_set.build_steps_remaining
|
||||
end
|
||||
begin
|
||||
while @builder_sets.size > 0 or @threads.size > 0 or @process_commands_waiting_to_run.size > 0
|
||||
process_step
|
||||
@@ -535,7 +539,7 @@ module Rscons
|
||||
message = short_description if short_description
|
||||
end
|
||||
if message
|
||||
total_build_steps = Rscons.application.get_total_build_steps.to_s
|
||||
total_build_steps = @build_steps.to_s
|
||||
this_build_step = sprintf("%#{total_build_steps.size}d", builder.build_step)
|
||||
progress = "[#{this_build_step}/#{total_build_steps}]"
|
||||
Ansi.write($stdout, *Util.colorize_markup("#{progress} #{message}"), "\n")
|
||||
@@ -560,16 +564,6 @@ module Rscons
|
||||
@builder_sets << build_builder_set
|
||||
end
|
||||
|
||||
# Get the number of build steps remaining.
|
||||
#
|
||||
# @return [Integer]
|
||||
# The number of build steps remaining.
|
||||
def build_steps_remaining
|
||||
@builder_sets.reduce(0) do |result, builder_set|
|
||||
result + builder_set.build_steps_remaining
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
# Build a BuilderSet.
|
||||
@@ -580,6 +574,16 @@ module Rscons
|
||||
BuilderSet.new(@registered_build_dependencies, @side_effects)
|
||||
end
|
||||
|
||||
# Get the next build step number.
|
||||
#
|
||||
# @api private
|
||||
#
|
||||
# @return [Integer]
|
||||
# Next build step number.
|
||||
def get_next_build_step
|
||||
@build_step += 1
|
||||
end
|
||||
|
||||
# Run a builder and process its return value.
|
||||
#
|
||||
# @param builder [Builder]
|
||||
@@ -587,7 +591,7 @@ module Rscons
|
||||
#
|
||||
# @return [void]
|
||||
def run_builder(builder)
|
||||
builder.build_step ||= Rscons.application.get_next_build_step
|
||||
builder.build_step ||= get_next_build_step
|
||||
case result = builder.run({})
|
||||
when Array
|
||||
result.each do |waititem|
|
||||
|
||||
Reference in new issue
Block a user