186 Commits

Author SHA1 Message Date
John Lindgren
24ed649982 Check that user dependencies exist before running builders.
IMHO it's more intuitive if env.depends("my-target", "invalid-dep")
causes the build to fail when "invalid-dep" does not exist, rather
than having no effect (i.e. the build still succeeds with no warning).

This will make it more obvious, earlier, if you made a mistake in
an env.depends() call.  Otherwise the mistake could sit latent for
a while until you happen to notice that a build used a out-of-date
copy of some file rather than rebuilding it.

I've only added the check for user dependencies, not for direct
sources.  Listing a source file that doesn't exist will probably
cause the builder to fail anyway, so I don't think the preliminary
check is needed in that case.
2020-03-03 17:32:52 -05:00
3733cb6114 Backport 2.x VarSet performance improvements to 1.x branch. 2019-10-04 15:01:32 -04:00
4967f89a76 fix inconsistent type handling in VarSet#expand_varref - #73 2019-04-14 14:10:13 -04:00
be058dd18b avoid mkdir() race conditions - close #75 2018-12-11 22:13:33 -05:00
ad703a5c84 call Bundler.setup in build_tests_spec.rb 2018-12-09 21:20:16 -05:00
ce47bd3599 remove makefile target name check when parsing dependencies - close #57 2018-11-02 14:23:47 -04:00
michael.metivier
f92dd62ebd Allow construction variable expansion on _true_ and _false_ literals 2018-11-02 00:03:54 -04:00
284312a21c support command-line variables - close #51 2018-08-23 14:58:08 -04:00
c7f66694ab add Rscons.glob - close #50 2018-08-23 11:26:20 -04:00
57de94a3fb improve debuggability of cache.up_to_date? - close #46 2018-08-23 10:10:05 -04:00
53ba7dad41 allow passing a VarSet into cache methods - close #47 2018-08-22 16:32:05 -04:00
8cb02a7e34 generate dependencies for D builds - close #49 2018-08-22 15:23:48 -04:00
099d26f33c Add Rscons::VarSet#values_at - close #45 2017-08-03 15:54:24 -04:00
89562c584a Environment#print_builder_run_message should support string commands - close #44 2017-08-03 14:10:53 -04:00
6d04500c13 Add ability to record side-effect file production - close #43 2017-07-14 16:17:01 -04:00
65c1bac4f9 be more colorful - close #41 2017-07-11 13:52:01 -04:00
775363ddbd cloned Environments should inherit n_threads - close #42 2017-07-11 10:29:25 -04:00
2a96495e83 wait for in-progress subcommands to complete on build failure - close #39 2017-06-26 22:44:49 -04:00
15e52e488c env.depends should imply env.build_after - close #40 2017-06-21 10:44:52 -04:00
7f7e6ef3da fix circular build dependency detection logic 2017-06-14 09:56:51 -04:00
8deb1eb6f8 Change default :clone option to :all to clone all Environment attributes 2017-06-14 08:53:28 -04:00
6dd70ff65e raise error when circular dependencies are found - close #38 2017-06-13 19:37:41 -04:00
Michael Metivier
387c40176b Pre-build hooks do not respect modified key values for old-style builders 2017-06-09 19:50:12 -04:00
20affc0e1d fix SHLD spec for Windows 2017-06-08 12:01:50 -04:00
010607d3b0 Rework builder features to be returned by Builder#features instead of taken into account by Builder#produces? 2017-06-08 11:07:01 -04:00
b7f609b7e8 add SHLIBPREFIX 2017-06-07 16:35:20 -04:00
10d4c647b9 add spec for building a shared library using D 2017-06-07 15:22:20 -04:00
db2ec82a25 Add more integration tests for SharedLibrary and backwards compatibility 2017-06-07 13:02:51 -04:00
df52a7e0e1 add SharedObject and SharedLibrary builders - close #8 2017-06-06 13:27:38 -04:00
c7e4e1ad9b Always use a build root and default it to "build" 2017-05-30 11:06:32 -04:00
43df46018c Support redirecting standard output using the Command builder - close #28 2017-05-29 12:50:34 -04:00
8cbb9fa30e Place object files for absolute source paths under build_root - close #30 2017-05-29 12:16:46 -04:00
1880e6650e fix PROGSUFFIX handling - close #29 2017-05-29 11:40:01 -04:00
c7943bc2cc ignore .bundle 2017-05-29 10:57:27 -04:00
05bbea6fa1 add Environment#build_after 2017-05-25 17:00:21 -04:00
68468b6422 fully parallelize the Command builder 2017-05-25 16:03:05 -04:00
80a80a7cb0 fully parallelize the Preprocess builder 2017-05-25 15:54:33 -04:00
178940cd5d fully parallelize the CFile builder 2017-05-25 15:28:01 -04:00
145d51c825 fully parallelize the Disassemble builder 2017-05-25 14:59:51 -04:00
a11fab43cb Update spec task to preserve simplecov coverage info for previous full spec runs when doing a partial spec run 2017-05-24 16:29:17 -04:00
83226e894d add backwards-compatibility test for Builder#standard_build 2017-05-24 16:16:53 -04:00
f3bf325c88 add a little more leeway in the multi-threading timing test 2017-05-24 15:58:11 -04:00
2655c119e4 add spec for Environment#find_finished_thread to fully cover 2017-05-23 16:47:00 -04:00
221cde7e5f update run_builder, build_sources integration tests for more coverage 2017-05-23 16:45:21 -04:00
adcee373df add integration test for Environment#build_sources 2017-05-23 16:28:13 -04:00
e58b8bd109 add integration test for Environment#run_builder 2017-05-23 16:25:03 -04:00
d315f86a36 remove unit tests for Environment#run_builder, #build_sources 2017-05-23 16:20:41 -04:00
032e6d5d0a add some integration tests for the CLI 2017-05-23 16:06:21 -04:00
c9946da193 integration tests: only pass -f when a specific rsconsfile is specified 2017-05-23 15:55:28 -04:00
599d10b50f add integration test for overriding PROGSUFFIX 2017-05-23 15:32:55 -04:00