94 Commits

Author SHA1 Message Date
28bedfce11 Support lambdas as construction variable values 2014-06-18 10:43:35 -04:00
d9eea10363 update D build test for Linux 2014-06-12 16:00:41 -04:00
5045e2e336 fix build test for Linux 2014-06-12 15:59:49 -04:00
31968e7e32 complete spec updates for RSpec 3 using only :expect syntax 2014-06-12 15:52:15 -04:00
5783ed993a update more rspec expectations 2014-06-12 15:43:50 -04:00
0778f043ee update many specs to RSpec 3 format 2014-06-12 15:39:20 -04:00
42597b2dac use new rspec expect syntax 2014-06-12 13:54:35 -04:00
7b13d51d23 environment spec updates for Windows 2014-06-12 13:41:46 -04:00
c2d4ece957 build test spec fix for running on Windows 2014-06-12 13:38:15 -04:00
3ab9c8723b fix a build test for MinGW 2014-06-12 13:35:11 -04:00
1b50a9dd3c add Rscons::BuildTarget
Return a BuildTarget object from Environment#method_missing when a build target is registered.
2014-06-12 13:31:17 -04:00
87b25d7bfd add PROGSUFFIX construction variable and default it to ".exe" for mingw/cygwin platforms 2014-06-12 13:02:53 -04:00
da457b9138 fix spec typo 2014-06-12 11:31:56 -04:00
0cbf05da49 retry directory removal to work around Windows' inability to remove directories when you ask 2014-06-12 11:31:17 -04:00
9f75ea9d21 add Rscons.command_executer to determine command executer
Use "env" to execute commands when in MSYS on Windows
2014-06-12 11:07:09 -04:00
ef18c9da35 Environment: add #parse_flags, #parse_flags!, and #merge_flags 2014-06-12 10:40:01 -04:00
ae9021a505 add Environment#shell - close #11 2014-06-11 14:59:31 -04:00
f5a3b448d3 test supported construction variable types when cloning 2014-05-15 15:54:02 -04:00
ab1ea34941 add specs testing construction variable overrides for built-in builders 2014-05-14 15:48:00 -04:00
08f2248ed7 fix up builders to properly use variable overrides 2014-05-14 15:15:08 -04:00
58b41df426 expand target and sources for construction variable references before invoking builder 2014-05-09 09:45:29 -04:00
6f20a1da3f bugfix: support invoking builders with no sources and a build root defined 2014-04-17 12:03:09 -04:00
d424facf7f Add Preprocess and Disassemble builders 2014-04-15 15:21:55 -04:00
ee5aca275d Write Cache to disk if an exception occurs while processing the Environment - fix #4 2014-04-15 14:20:30 -04:00
ea30b0b5ee Fix Cache#mkdir_p to handle absolute paths - fix #5 2014-04-15 14:15:32 -04:00
160434b903 Cache: change to a Singleton object so it is only loaded from disk once 2014-04-15 14:02:26 -04:00
1a5e9ddaa6 Implement copy-on-write semantics for VarSet, speeding up Environment cloning 2014-04-15 11:21:15 -04:00
fdc5c8773c Issue #7 - store MD5 of build command instead of the full command in the cache 2014-04-14 17:17:54 -04:00
c61380b354 Issue #7 - change .rsconscache from using YAML to JSON to speed up parsing 2014-04-14 16:52:21 -04:00
d8dda291a5 ensure that Dir[] results are predictable in build tests 2014-04-14 13:13:43 -04:00
1fe2c6401d expand ^/ in target paths to be relative to the build root 2014-03-27 13:30:11 -04:00
cbd5816b4b add VarSet#include? 2014-03-27 10:39:46 -04:00
b2c970c9ca add Environment#add_target and use it from Environment#method_missing 2014-03-26 11:29:02 -04:00
92a9982988 use #super from #method_missing instead of method aliasing 2014-03-26 11:23:32 -04:00
533ee9c16c add CFile builder to create C/C++ sources from lex/yacc input files 2014-03-18 21:57:53 -04:00
e3aeb7f4d7 Change Environment#execute() options Hash to contain :env and :options keys for Kernel#system() 2014-02-25 12:14:52 -05:00
0d8f661fd4 add :clone option to Environment#clone to control exactly which Environment attributes are cloned 2014-02-19 15:02:46 -05:00
1d47db3144 support passing multiple targets to Cache#up_to_date? and #register_build 2014-02-17 16:10:15 -05:00
5ff555cf6a add Environment#expand_varref() 2014-01-02 11:49:08 -05:00
e3aadc562f Rscons::Varset: remove unused type parameter to #[] 2014-01-02 11:05:15 -05:00
5362f761e6 move default builder classes into Rscons::Builders namespace module 2013-12-31 13:31:17 -05:00
cdb3352b4e remove module monkey-patching; add Builder#name() 2013-12-31 13:10:00 -05:00
f8af0630b0 pass env to Cache#up_to_date?() and #register_build() instead of user_deps 2013-12-31 12:46:30 -05:00
1868193b54 do not prepend build_root to source files that are already inside build_root 2013-12-31 10:15:19 -05:00
295324eafd add Environment#depends() to specify user dependencies for a build target 2013-12-27 14:31:46 -05:00
7330e74ab8 modify Cache to store user-specified extra dependencies 2013-12-27 14:20:32 -05:00
e667046da8 add Environment#clear_targets() 2013-12-27 13:35:16 -05:00
539a49fe90 do not allow construction variables as arguments to Environment#initialize() or Environment#clone() 2013-12-27 12:10:54 -05:00
d01767981c add Environment#build_root to be used if no build directories match 2013-11-08 14:52:39 -05:00
243eb9a4ab rename "tweakers" to "build hooks" 2013-11-06 13:32:56 -05:00