Do not configure for clean tasks when not yet configured - close #158
This commit is contained in:
parent
1bf1c30242
commit
b3df37e9ea
@ -81,8 +81,10 @@ module Rscons
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
@script = Script.new
|
@script = Script.new
|
||||||
|
if should_load_script
|
||||||
@script.load(rsconscript)
|
@script.load(rsconscript)
|
||||||
enable_variants
|
enable_variants
|
||||||
|
end
|
||||||
if show_tasks
|
if show_tasks
|
||||||
show_script_tasks(all_tasks)
|
show_script_tasks(all_tasks)
|
||||||
return 0
|
return 0
|
||||||
@ -170,8 +172,8 @@ module Rscons
|
|||||||
def distclean
|
def distclean
|
||||||
cache = Cache.instance
|
cache = Cache.instance
|
||||||
clean
|
clean
|
||||||
FileUtils.rm_rf(@build_dir)
|
|
||||||
cache.clear
|
cache.clear
|
||||||
|
FileUtils.rm_rf(@build_dir)
|
||||||
end
|
end
|
||||||
|
|
||||||
# Check if the project needs to be configured.
|
# Check if the project needs to be configured.
|
||||||
@ -394,6 +396,13 @@ module Rscons
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def should_load_script
|
||||||
|
return true if @tasks_and_params.empty?
|
||||||
|
return true if Cache.instance["configuration_data"]["configured"]
|
||||||
|
return false if (@tasks_and_params.keys - %w[distclean clean uninstall]).empty?
|
||||||
|
true
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
@ -101,6 +101,7 @@ module Rscons
|
|||||||
#
|
#
|
||||||
# @return [void]
|
# @return [void]
|
||||||
def write
|
def write
|
||||||
|
return unless Dir.exist?(File.dirname(cache_file))
|
||||||
@cache["version"] = VERSION
|
@cache["version"] = VERSION
|
||||||
File.open(cache_file, "w") do |fh|
|
File.open(cache_file, "w") do |fh|
|
||||||
fh.puts(JSON.dump(@cache))
|
fh.puts(JSON.dump(@cache))
|
||||||
|
@ -1854,6 +1854,33 @@ EOF
|
|||||||
expect(result.stdout).to match "Prefix is /yodabob"
|
expect(result.stdout).to match "Prefix is /yodabob"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it "does not configure for distclean operation" do
|
||||||
|
test_dir "configure"
|
||||||
|
|
||||||
|
result = run_rscons(args: %w[-f configure_with_top_level_env.rb distclean])
|
||||||
|
expect(result.stderr).to eq ""
|
||||||
|
expect(result.status).to eq 0
|
||||||
|
expect(result.stdout).to_not match %r{Configuring project}
|
||||||
|
end
|
||||||
|
|
||||||
|
it "does not configure for clean operation" do
|
||||||
|
test_dir "configure"
|
||||||
|
|
||||||
|
result = run_rscons(args: %w[-f configure_with_top_level_env.rb clean])
|
||||||
|
expect(result.stderr).to eq ""
|
||||||
|
expect(result.status).to eq 0
|
||||||
|
expect(result.stdout).to_not match %r{Configuring project}
|
||||||
|
end
|
||||||
|
|
||||||
|
it "does not configure for uninstall operation" do
|
||||||
|
test_dir "configure"
|
||||||
|
|
||||||
|
result = run_rscons(args: %w[-f configure_with_top_level_env.rb uninstall])
|
||||||
|
expect(result.stderr).to eq ""
|
||||||
|
expect(result.status).to eq 0
|
||||||
|
expect(result.stdout).to_not match %r{Configuring project}
|
||||||
|
end
|
||||||
|
|
||||||
it "automatically runs the configure task if the project is not yet configured in the given build directory" do
|
it "automatically runs the configure task if the project is not yet configured in the given build directory" do
|
||||||
test_dir "configure"
|
test_dir "configure"
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user