304 Commits

Author SHA1 Message Date
Michael D. Lowis
92d4dd8396 Implemented SimpleBuilder and updated Environment#add_builder method to support it 2014-10-16 16:37:37 -04:00
Michael D. Lowis
e279959d79 Added a command builder to the list of default builders 2014-10-13 12:27:05 -04:00
a0874e7cf1 add tests for *SUFFIX variables containing Arrays - close #9 2014-09-25 11:12:11 -04:00
20f3da3b04 allow trailing slashes to be passed to env.build_dir() 2014-09-25 10:45:52 -04:00
a6a79b8ef1 test cloning post-build hooks 2014-09-23 12:44:02 -04:00
453295a49b add post-build hooks - close #14 2014-09-19 12:36:57 -04:00
dee2b98f6e allow build hooks to register new build targets - close #15 2014-09-19 11:10:59 -04:00
b186b3102c clear build targets after processing an Environment - close #17 2014-09-19 10:45:49 -04:00
df1e3be829 fix #12 - allow overriding dependency file suffix with DEPFILESUFFIX construction variable 2014-08-18 15:53:02 -04:00
851adae66f fix #13 - Environment#depends should expand its arguments for construction variables 2014-08-18 15:39:33 -04:00
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