Commit Graph
100 Commits
Author SHA1 Message Date
josh 178940cd5d fully parallelize the CFile builder 2017-05-25 15:28:01 -04:00
josh 145d51c825 fully parallelize the Disassemble builder 2017-05-25 14:59:51 -04:00
josh 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
josh 83226e894d add backwards-compatibility test for Builder#standard_build 2017-05-24 16:16:53 -04:00
josh b454208117 fully parallelize the Library builder 2017-05-24 16:10:58 -04:00
josh df420fdf5c use ThreadsWait (only for blocking thread waits) 2017-05-24 16:02:25 -04:00
josh f3bf325c88 add a little more leeway in the multi-threading timing test 2017-05-24 15:58:11 -04:00
josh f815952ab3 add Builder#standard_threaded_build, #standard_finalize
parallelize Program builder command
2017-05-24 15:41:39 -04:00
josh 1af3c5c9a4 pass Builder#run options into Builder#finalize also 2017-05-24 15:13:59 -04:00
josh dce88ece14 pass entire build_operation Hash to Builder#run 2017-05-24 14:32:43 -04:00
josh 2655c119e4 add spec for Environment#find_finished_thread to fully cover 2017-05-23 16:47:00 -04:00
josh 221cde7e5f update run_builder, build_sources integration tests for more coverage 2017-05-23 16:45:21 -04:00
josh adcee373df add integration test for Environment#build_sources 2017-05-23 16:28:13 -04:00
josh e58b8bd109 add integration test for Environment#run_builder 2017-05-23 16:25:03 -04:00
josh 8a1dfb0785 do not catch NameError when looking up Builder#run method 2017-05-23 16:24:45 -04:00
josh d315f86a36 remove unit tests for Environment#run_builder, #build_sources 2017-05-23 16:20:41 -04:00
josh 0d46d616dd change user dependency test to use BuildTarget#depends 2017-05-23 16:09:29 -04:00
josh 032e6d5d0a add some integration tests for the CLI 2017-05-23 16:06:21 -04:00
josh c9946da193 integration tests: only pass -f when a specific rsconsfile is specified 2017-05-23 15:55:28 -04:00
josh 599d10b50f add integration test for overriding PROGSUFFIX 2017-05-23 15:32:55 -04:00
josh 18c6c69871 do not use ThreadsWait to wait for threads; it does not work properly 2017-05-23 15:24:52 -04:00
josh 2ffdf82d9a add multi-threading build test 2017-05-23 14:24:14 -04:00
josh 15e5d15424 Avoid Environment#process race condition
Race condition could have occurred if the last threaded command
was gathered in the non-blocking wait and then a blocking wait was
started because there was no job to run. Do not do a blocking wait
in this case.
2017-05-23 14:12:38 -04:00
josh a99e6e81b2 simplify Environment#process looping 2017-05-23 14:10:45 -04:00
josh 1509c95176 remove Cache.reset! 2017-05-23 14:05:29 -04:00
josh c7bba77581 remove Program builder non-integration specs 2017-05-22 16:57:35 -04:00
josh 957fd8c86d convert Library builder specs to integration tests 2017-05-22 16:54:10 -04:00
josh 7e707e7e3b convert Object builder specs to integration tests 2017-05-22 16:38:57 -04:00
josh 2be738be4f Including trailing newline when printing failed command 2017-05-22 16:26:12 -04:00
josh 7b3bffd329 update some non-integration-test specs 2017-05-22 16:25:49 -04:00
josh 06cb4b7a55 migrate some Cache tests to integration tests 2017-05-22 15:55:18 -04:00
josh bfbbc19728 fix simplecov setup to get coverage for integration build tests 2017-05-22 11:19:55 -04:00
josh 28e56251dd update build_tests_spec to invoke rscons in a subprocess for each test 2017-05-20 15:15:07 -04:00
josh 2d8e08b493 add -j command-line option to set number of threads 2017-05-19 11:38:42 -04:00
josh 5cef9896ac consistently print failed build command if a builder fails 2017-05-19 10:57:30 -04:00
josh 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
josh 267fc7124d process threaded commands until they are all complete 2017-05-17 15:52:34 -04:00
josh e694199f33 delay building targets that depend on builds registered with Environment#register_builds 2017-05-17 15:45:04 -04:00
josh 4ed584701a pass setup_info to the builder's #run method 2017-05-17 13:50:31 -04:00
josh 5de52620e4 JobSet#get_next_job_to_run: take into account targets still building 2017-05-17 10:19:43 -04:00
josh 9cc59a35f0 handle threaded commands in Environment#process 2017-05-17 10:07:15 -04:00
josh ca445f5733 add JobSet#size 2017-05-17 09:36:27 -04:00
josh 7534b29e26 add Environment#wait_for_threaded_commands, use from #run_builder if delayed execution is not allowed 2017-05-17 09:34:19 -04:00
josh 800e7a51a4 add Environment#start_threaded_command 2017-05-17 09:14:42 -04:00
josh 5d36aa74a0 add more fields to ThreadedCommand 2017-05-17 09:07:51 -04:00
josh 01851c2872 refactor into new Environment#command_to_s 2017-05-17 09:04:05 -04:00
josh 5fe55a584e add short description field to ThreadedCommand 2017-05-17 08:49:53 -04:00
josh 9c13634eaf start adding support for threaded commands in Environment#run_builder 2017-05-17 08:47:17 -04:00
josh e4adaab003 add Builder#finalize 2017-05-16 09:18:08 -04:00
josh 6b8fda706d add ThreadedCommand class 2017-05-15 10:57:34 -04:00
josh ef4f9882cd change Builder#run base class method to new signature 2017-05-12 21:08:14 -04:00
josh 7a31039e35 add @since tags for new methods 2017-05-12 21:07:25 -04:00
josh 3e4897c04b store setup_info in the job 2017-05-12 16:30:30 -04:00
josh d46dc2014c update JobSet interface to just take a Hash of job parameters 2017-05-12 16:30:02 -04:00
josh 9cfc0c20b7 call Builder#setup 2017-05-12 16:27:43 -04:00
josh 19a00a7b84 prepare to call new Builder#run interface 2017-05-12 16:25:34 -04:00
josh 9b6d2c5111 add Environment#register_builds 2017-05-12 16:16:25 -04:00
josh 6a0ccad804 add Builder#setup; add new Builder#run signature 2017-05-12 16:16:07 -04:00
josh dab870854a add Rscons.n_threads 2017-05-12 14:38:18 -04:00
josh 695bf84092 expand target and source paths when registering a builder 2017-05-10 15:06:16 -04:00
josh 7cba8c8424 JobSet: target is already stored in job info 2017-05-10 14:57:04 -04:00
josh 551b8fa365 add integration test to verify cache is written if a builder fails 2017-02-16 19:27:18 -05:00
josh 3601359c08 process jobs from the JobSet 2017-02-16 19:27:18 -05:00
josh e1d8dfbab6 add JobSet class 2017-02-16 19:27:18 -05:00
josh c69da1044d update README for v1.9.3 2016-09-30 14:04:58 -04:00
josh f33be07a15 v1.9.3 2016-09-30 14:03:35 -04:00
josh c4c2d5c128 Environment#parse_flags should put -std=XXX flags in CCFLAGS, not CFLAGS 2016-09-30 14:02:30 -04:00
josh 3065dc48ec document passing multiple dependencies to env.depends() 2016-05-02 09:10:14 -04:00
josh 9ca2934695 document explicit dependencies 2016-03-02 13:33:00 -05:00
josh 3af6b6be1b v1.9.2 2016-01-12 10:16:00 -05:00
josh 0442b876a5 allow phony targets in conjunction with a build root 2016-01-12 10:14:10 -05:00
josh bab4641b6e v1.9.1 2015-12-10 15:25:29 -05:00
josh 4698fc41b9 add v1.9.1 release notes 2015-12-10 15:25:16 -05:00
josh 952f423860 use ${INCPREFIX} instead of hard-coded "-I" in Preprocess builder 2015-12-10 15:19:41 -05:00
josh d2da5f7b0d bundle update 2015-12-10 15:18:59 -05:00
josh ab14dc16ed change *SUFFIX defaults to arrays; add various C++ file suffixes 2015-06-15 21:58:37 -04:00
josh aa795eea85 v1.9.0 2015-03-15 20:56:37 -04:00
josh 7dffef6bd0 update README.md 2015-02-15 19:52:33 -05:00
josh dce2114733 document Copy builder class 2015-02-15 18:42:37 -05:00
josh 0bbdda2d41 fix Command builder default short description 2015-02-15 18:41:41 -05:00
josh 3b8910075a use class instance variables instead of class variables 2015-02-15 18:38:09 -05:00
josh 34beda844e reorganize Rscons module class methods 2015-02-15 18:33:00 -05:00
josh 7a04bec2ff support phony targets - close #25 2015-02-15 18:29:33 -05:00
josh 7698fbf618 add "rscons" binary - close #24 2015-02-08 18:04:37 -05:00
josh 4eedea2563 add Copy builder as a copy of Install 2015-02-07 09:57:44 -05:00
josh f678803a5d add Install builder - close #6 2015-02-07 09:49:29 -05:00
josh 9c49a09f69 update :spec rake task to allow example pattern as an argument 2015-01-29 09:58:09 -05:00
josh 859f87ddee add a Directory builder - close #27 2015-01-29 09:31:00 -05:00
josh 73bc71a656 test expanding paths after a build target is registered from within a build hook 2015-01-28 17:15:55 -05:00
josh 29a8684f90 support registering multiple build targets with the same path - close #26 2015-01-28 17:10:36 -05:00
josh 02aff35222 allow overriding Command builder short description with CMD_DESC variable -- close #22 2015-01-24 09:40:07 -05:00
josh 897d31ebe0 fix Command builder example invocation 2015-01-21 14:07:28 -05:00
josh 76610a07a9 fix variable references that expand to arrays in build target sources - fix #20 2015-01-20 21:26:45 -05:00
josh cb3cc9a0de update 1.9.0 release notes 2015-01-20 21:18:19 -05:00
josh 0ea842fffe rework Preprocess builder to consider deep dependencies - fix #21 2015-01-20 21:16:21 -05:00
josh d28722a4bb fix Rscons.set_suffix to append the given suffix if the filename has none 2015-01-20 21:13:27 -05:00
josh 8142d0bbc8 add v1.8.1 release notes 2015-01-20 21:12:57 -05:00
josh a8023ae03c v1.8.1 2014-10-22 14:30:32 -04:00
josh 99ba015630 fix Environment#dump when construction variables are Symbols 2014-10-22 14:30:14 -04:00
josh dcf90cc12b v1.8.0 2014-10-22 10:36:28 -04:00