b6f0e61052
ruby 2.7 compatibility - #117
2020-04-16 16:12:30 -04:00
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
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
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
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
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
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
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
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
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
2ffdf82d9a
add multi-threading build test
2017-05-23 14:24:14 -04:00
957fd8c86d
convert Library builder specs to integration tests
2017-05-22 16:54:10 -04:00
7e707e7e3b
convert Object builder specs to integration tests
2017-05-22 16:38:57 -04:00
06cb4b7a55
migrate some Cache tests to integration tests
2017-05-22 15:55:18 -04:00
bfbbc19728
fix simplecov setup to get coverage for integration build tests
2017-05-22 11:19:55 -04:00
28e56251dd
update build_tests_spec to invoke rscons in a subprocess for each test
2017-05-20 15:15:07 -04:00
6344692087
update Object builder to support parallelization; update Program and Library builders to register object builds from #setup
2017-05-19 10:49:16 -04:00
551b8fa365
add integration test to verify cache is written if a builder fails
2017-02-16 19:27:18 -05:00
3601359c08
process jobs from the JobSet
2017-02-16 19:27:18 -05:00