Add env.expand() shortcut method to expand paths and construction variables - close #150
This commit is contained in:
parent
b745ae1153
commit
df120af953
@ -224,7 +224,7 @@ task "build" do
|
|||||||
end
|
end
|
||||||
|
|
||||||
task "flash", deps: "build" do
|
task "flash", deps: "build" do
|
||||||
sh "nrfjprog", "-f", "NRF52", "--program", env.expand_path("^^/proj.elf")
|
sh "nrfjprog", "-f", "NRF52", "--program", env.expand("^^/proj.elf")
|
||||||
end
|
end
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -103,7 +103,7 @@ module Rscons
|
|||||||
# @return [void]
|
# @return [void]
|
||||||
def produces(*side_effects)
|
def produces(*side_effects)
|
||||||
side_effects.each do |side_effect|
|
side_effects.each do |side_effect|
|
||||||
side_effect_expanded = @env.expand_path(@env.expand_varref(side_effect))
|
side_effect_expanded = @env.expand(side_effect)
|
||||||
@env.register_side_effect(side_effect_expanded)
|
@env.register_side_effect(side_effect_expanded)
|
||||||
@side_effects << side_effect_expanded
|
@side_effects << side_effect_expanded
|
||||||
end
|
end
|
||||||
|
@ -337,10 +337,10 @@ module Rscons
|
|||||||
unless vars.is_a?(Hash) or vars.is_a?(VarSet)
|
unless vars.is_a?(Hash) or vars.is_a?(VarSet)
|
||||||
raise "Unexpected construction variable set: #{vars.inspect}"
|
raise "Unexpected construction variable set: #{vars.inspect}"
|
||||||
end
|
end
|
||||||
target = expand_path(expand_varref(target))
|
target = expand(target)
|
||||||
sources = Array(sources).map do |source|
|
sources = Array(sources).map do |source|
|
||||||
source = source.target if source.is_a?(Builder)
|
source = source.target if source.is_a?(Builder)
|
||||||
expand_path(expand_varref(source))
|
expand(source)
|
||||||
end.flatten
|
end.flatten
|
||||||
builder = @builders[method.to_s].new(
|
builder = @builders[method.to_s].new(
|
||||||
target: target,
|
target: target,
|
||||||
@ -369,12 +369,12 @@ module Rscons
|
|||||||
if target.is_a?(Builder)
|
if target.is_a?(Builder)
|
||||||
target = target.target
|
target = target.target
|
||||||
end
|
end
|
||||||
target = expand_path(expand_varref(target.to_s))
|
target = expand(target.to_s)
|
||||||
user_deps = user_deps.map do |ud|
|
user_deps = user_deps.map do |ud|
|
||||||
if ud.is_a?(Builder)
|
if ud.is_a?(Builder)
|
||||||
ud = ud.target
|
ud = ud.target
|
||||||
end
|
end
|
||||||
expand_path(expand_varref(ud))
|
expand(ud)
|
||||||
end
|
end
|
||||||
@user_deps[target] ||= []
|
@user_deps[target] ||= []
|
||||||
@user_deps[target] = (@user_deps[target] + user_deps).uniq
|
@user_deps[target] = (@user_deps[target] + user_deps).uniq
|
||||||
@ -408,13 +408,13 @@ module Rscons
|
|||||||
targets = Array(targets)
|
targets = Array(targets)
|
||||||
prerequisites = Array(prerequisites)
|
prerequisites = Array(prerequisites)
|
||||||
targets.each do |target|
|
targets.each do |target|
|
||||||
target = expand_path(expand_varref(target))
|
target = expand(target)
|
||||||
@registered_build_dependencies[target] ||= Set.new
|
@registered_build_dependencies[target] ||= Set.new
|
||||||
prerequisites.each do |prerequisite|
|
prerequisites.each do |prerequisite|
|
||||||
if prerequisite.is_a?(Builder)
|
if prerequisite.is_a?(Builder)
|
||||||
prerequisite = prerequisite.target
|
prerequisite = prerequisite.target
|
||||||
end
|
end
|
||||||
prerequisite = expand_path(expand_varref(prerequisite))
|
prerequisite = expand(prerequisite)
|
||||||
@registered_build_dependencies[target] << prerequisite
|
@registered_build_dependencies[target] << prerequisite
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -430,7 +430,7 @@ module Rscons
|
|||||||
#
|
#
|
||||||
# @return [void]
|
# @return [void]
|
||||||
def produces(target, *side_effects)
|
def produces(target, *side_effects)
|
||||||
target = expand_path(expand_varref(target))
|
target = expand(target)
|
||||||
@builder_sets.reverse.each do |builder_set|
|
@builder_sets.reverse.each do |builder_set|
|
||||||
if builders = builder_set[target]
|
if builders = builder_set[target]
|
||||||
builders.last.produces(*side_effects)
|
builders.last.produces(*side_effects)
|
||||||
@ -514,6 +514,18 @@ module Rscons
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Expand construction variable references and paths.
|
||||||
|
#
|
||||||
|
# @param expr [String]
|
||||||
|
# Expression to expand. Can contain construction variable references and
|
||||||
|
# a path.
|
||||||
|
#
|
||||||
|
# @return [String, Array<String>]
|
||||||
|
# Expanded value.
|
||||||
|
def expand(expr)
|
||||||
|
expand_path(expand_varref(expr))
|
||||||
|
end
|
||||||
|
|
||||||
# Print the builder run message, depending on the Environment's echo mode.
|
# Print the builder run message, depending on the Environment's echo mode.
|
||||||
#
|
#
|
||||||
# @param builder [Builder]
|
# @param builder [Builder]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user