Commit Graph
100 Commits
Author SHA1 Message Date
josh 49be46199f define our own clean/clobber tasks 2013-11-06 13:29:24 -05:00
josh c9b670ae5c change default "echo" setting to :short 2013-11-06 13:22:30 -05:00
josh 6bcb984e8e README: add gem version badge 2013-11-06 13:18:09 -05:00
josh b377940252 begin expanding README documentation 2013-11-06 12:45:50 -05:00
josh 2e0c2688aa VarSet#expand_varref(): fix recursive expansion 2013-11-05 17:06:09 -05:00
josh 66f53a23f6 change construction variable reference format to ${var}
this change is backwards-incompatible
2013-11-05 16:54:01 -05:00
josh 545b893ef4 clean up a couple YARD warnings 2013-11-05 16:37:18 -05:00
josh 30564af558 add build test for D 2013-11-05 16:29:15 -05:00
josh cc2c2733fc move build_tests_spec.rb back into spec, remove build_tests rake task 2013-11-05 16:22:09 -05:00
josh ddb5357b02 explicitly set LD construction variable in one build test 2013-11-05 16:19:02 -05:00
josh b805e5379f execute all build tests in the top-level rake context instead of spawning subprocesses 2013-11-05 16:11:08 -05:00
josh 71344b4782 Program: do not check env.build_sources() return value (it will raise an exception if something was wrong) 2013-11-05 15:41:47 -05:00
josh b1cdd3d1db Object: simplify handling of known suffixes 2013-11-05 15:25:10 -05:00
josh ed11b05b97 add rscons_spec.rb 2013-11-05 14:37:26 -05:00
josh a418d31000 finish up Environment specs 2013-11-05 14:28:43 -05:00
josh 797580e937 Environment: remove support for specifying :builders key in constructor 2013-11-05 14:18:02 -05:00
josh 8b852bd2fd Environment: more specs 2013-11-05 14:14:03 -05:00
josh e863c9a564 Environment: rework process()
- improve efficiency
- give errors for the dependency that failed instead of the top-level target
2013-11-05 12:43:50 -05:00
josh 7ce5a8f9d9 working on Environment specs 2013-11-05 12:26:42 -05:00
josh 1280cfb465 change Environment#parse_makefile_deps() to a class method 2013-11-05 11:44:07 -05:00
josh 0cd9dbd1bd add separate spec_helper.rb for build_tests directory 2013-11-05 11:36:30 -05:00
josh b38c56d446 move build_tests_spec.rb to build_tests directory; add build_tests task 2013-11-05 11:05:45 -05:00
josh d2b7c93f53 rename Rakefile -> Rakefile.rb 2013-11-05 10:52:56 -05:00
josh 67922b887d remove Environment#targets() and Environment#target_sources() which didn't seem to be used 2013-11-05 10:42:01 -05:00
josh 8100830c16 spec Cache 2013-11-05 10:25:36 -05:00
josh cb629bf7ec do not include spec files in simplecov report 2013-11-05 10:25:34 -05:00
josh 65a5838605 Cache: set :version when writing to file 2013-11-05 09:22:46 -05:00
josh 338a49ba9c v0.0.14 2013-10-29 16:18:14 -04:00
josh c23bb8c5e0 add support for building D sources (defaulting to gdc) 2013-10-29 16:17:51 -04:00
josh 31abeed3d5 v0.0.13 2013-10-15 16:29:54 -04:00
josh 446fef931f add "tweakers" functionality
tweakers allow the user to modify construction variables before any build is performed
2013-10-15 16:15:37 -04:00
josh 4a2997feec VarSet: make a deep copy of values passed to VarSet#append() 2013-10-15 16:10:56 -04:00
josh 013995bbc0 refactor into Environment#run_builder() 2013-10-15 13:36:25 -04:00
josh cd266c511e v0.0.12 2013-10-08 11:54:38 -04:00
josh 0f5fee359d cloning an Environment should make a deep copy of its construction variables 2013-10-08 11:54:24 -04:00
josh dc6bac2895 change build_dir build test to test build_dir specified as a Regexp 2013-10-04 21:40:11 -04:00
josh e50aac31c9 tweak custom_builder build test for additional coverage 2013-10-04 21:26:51 -04:00
josh e788f6ec25 claim simplecov coverage from build_tests 2013-10-04 21:05:44 -04:00
josh 8d893d7b72 rspec Module monkey-patching 2013-10-04 20:22:37 -04:00
josh c258dc379f rspec VarSet 2013-10-04 20:18:40 -04:00
josh 0facfb274d turn on simplecov 2013-10-04 19:37:56 -04:00
josh 3339cf5280 Cache: re-encode file names in default encoding 2013-09-20 15:58:55 -04:00
josh e041ea6612 v0.0.11 2013-09-19 17:06:37 -04:00
josh ab51ddcc1b do not try to clean directories that have already been removed 2013-09-19 17:06:20 -04:00
josh 3e4e9cce1c v0.0.10 2013-09-19 16:48:15 -04:00
josh 32d19489cb Cache: encode directory names in __ENCODING__ - close #3 2013-09-19 16:45:35 -04:00
josh 45a0d56c54 recover from, and warn when, .rsconscache loads something other than a Hash 2013-09-19 16:18:07 -04:00
josh 9b954d9d98 v0.0.9 2013-09-19 09:43:17 -04:00
josh e63b4c932f Cache: create missing hash entries from previous versions of the cache file 2013-09-19 09:43:00 -04:00
josh 97e11f45e5 v0.0.8 2013-09-18 21:18:00 -04:00
josh 5c6239ea6d Rscons.clean() removes any directories it created if they are empty 2013-09-18 21:17:42 -04:00
josh 770a22250a add Rscons.clear() class method 2013-09-17 21:48:50 -04:00
josh 983cb7cf21 v0.0.7 2013-09-16 23:03:14 -04:00
josh 986b8f08cc prepend builder-temporary construction variables with "_"; reserve lowercase string variables for user 2013-09-16 22:30:16 -04:00
josh f13664331f create requisite output directories for build targets; refactor common buile functionality into Builder#standard_build() 2013-09-15 15:27:16 -04:00
josh 17c7bf1d31 v0.0.6 2013-09-12 23:37:37 -04:00
josh 64d15602cc add Library default builder 2013-09-12 23:35:34 -04:00
josh e04e67698a add rspec test for overridding construction variables for an individual builer 2013-09-12 23:05:04 -04:00
josh 837dff9374 pass extra construction variables to Builder#run() 2013-09-12 22:57:22 -04:00
josh 75f2418570 refactor some Program functionality into Environment#build_sources() 2013-09-12 22:38:52 -04:00
josh 711e96cec8 write out cache file when raising a build error exception 2013-08-12 14:40:46 -04:00
josh 289d27d41d raise Rscons::BuildError on a build failure 2013-08-12 13:13:22 -04:00
josh 052b1afe19 v0.0.3 2013-08-05 17:19:22 -04:00
josh 72976be765 fix verifying a target's checksum 2013-08-05 17:19:08 -04:00
josh ad2424007f v0.0.2 2013-08-05 14:56:20 -04:00
josh c3c6385068 String#has_suffix?(): allow nested arrays of suffixes 2013-08-05 14:51:07 -04:00
josh 13b9499fbf Environment#build_dir(): allow src_dir to be a regex 2013-08-05 14:48:47 -04:00
josh 4286925f95 Environment#clone(): do not clone build directories 2013-08-05 14:48:31 -04:00
josh 0db5614555 rename LIBPATHS default construction variable to LIBPATH 2013-08-05 14:34:59 -04:00
josh 5d0bbf73ab specify gem homepage and license - close #1 2013-08-05 14:31:48 -04:00
josh 75977981c0 fix parsing Makefile dependencies when they spanned multiple lines 2013-08-05 14:27:57 -04:00
josh 3f33336fff document block syntax for Environment 2013-08-04 15:46:13 -04:00
josh 5f4c6dffbc update README and give some usage examples 2013-08-04 15:44:22 -04:00
josh 8d4be1b51a add/update YARD documentation 2013-08-04 15:39:01 -04:00
josh c0a69a5055 add "yard" rake task 2013-08-04 10:13:43 -04:00
josh 6fa4a8556a support compiling C++ objects with Object builder 2013-08-03 14:47:41 -04:00
josh e6a12ac57b fix checking file suffixes 2013-08-03 14:20:33 -04:00
josh 50ea3a501e Cache: add :targets layer to hash 2013-07-22 20:30:24 -04:00
josh ad676ff138 comment update 2013-07-17 22:18:46 -04:00
josh cb30d2dda8 add optional options argument to Cache#up_to_date?() 2013-07-17 22:12:26 -04:00
josh c4dfb60a08 guard for nil suffix in String#has_suffix?() 2013-07-17 22:03:43 -04:00
josh 0c0c8f734f add optional options argument to Environment#execute() 2013-07-17 21:22:52 -04:00
josh 136ad0f29a default AS construction variable to $CC 2013-07-17 20:48:18 -04:00
josh 44e28fdc1c always print command that failed 2013-07-17 20:47:05 -04:00
josh 1b6c74bfd5 expand variable references recursively 2013-07-17 20:40:29 -04:00
josh 2f2de3b709 rename CC builder to Object
begin supporting compiling things other than C
2013-07-17 19:37:14 -04:00
josh b8acc74b5d add Environment#clone() and a build test for it 2013-07-15 21:44:07 -04:00
josh c9f6bdb2e2 pass environment to builder functions instead of as an initialization parameter 2013-07-15 21:41:33 -04:00
josh bcfeadeebf Environment: change @build_dirs to be a Hash 2013-07-15 20:48:17 -04:00
josh 5dee51b21c add build test for custom builders 2013-07-15 20:46:00 -04:00
josh 2cb584312e add build test using a build directory 2013-07-15 19:14:52 -04:00
josh 741f5cfe5e add initial support for build directories 2013-07-15 19:11:33 -04:00
josh 97ce9bb3e3 add Environment#append() for adding construction variables 2013-07-15 19:10:14 -04:00
josh 5eb914fb76 add default CPPPATH construction variable to CC builder 2013-07-15 19:07:59 -04:00
josh 493bbbe017 add default Builder#produces?() method 2013-07-15 19:07:06 -04:00
josh 141f8ad5ac test re-invoking a builder if the command-line options change 2013-07-14 23:24:46 -04:00
josh 82cdca77f1 test not rebuilding for only a timestamp change 2013-07-14 23:17:02 -04:00
josh 833cc5915e fix Cache#up_to_date?() checking dependency subset - initial rebuilding only when necessary working 2013-07-14 23:14:59 -04:00
josh 0bf71ae4d1 implement Cache to store info about target dependencies and checksums across invocations 2013-07-14 21:51:31 -04:00
josh 9c69a45f77 Environment: slight syntax cleanup 2013-07-11 19:10:31 -04:00