Commit Graph
100 Commits
Author SHA1 Message Date
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
josh 9b4526b518 Environment: rename @variables -> @varset 2013-07-11 18:55:28 -04:00
josh cecb43a61c move expanding variable expansions from Environment.execute() to VarSet.expand_varref() 2013-07-11 17:37:02 -04:00
josh ff822155ea add VarSet class to keep track of construction variables 2013-07-10 17:18:33 -04:00
josh bbdd6e930f use default Environment.new, check block_given?() from initialize() 2013-07-09 20:11:15 -04:00
josh 25f0d4e36a add pending spec for cache 2013-07-07 20:38:46 -04:00
josh 2939dc8c74 rework the way the build tests examine the output 2013-07-07 20:01:35 -04:00
josh 2f907ab3eb test :short echo mode 2013-07-07 19:54:05 -04:00
josh 03f8f56858 test command echoing 2013-07-07 17:46:01 -04:00
josh 1eb9008885 test rebuilding C module when header changes 2013-07-07 17:41:47 -04:00
josh 06be9a812e test building with a header file 2013-07-07 17:34:44 -04:00
josh 760f698963 fill in CC, Program, Environment.process() to get simple builds working 2013-07-07 17:17:46 -04:00
josh 5634b8856d add initial Cache class 2013-07-05 11:07:02 -04:00
josh c008350d87 add_builder() takes an actual builder object instead of the builder class 2013-07-01 17:08:01 -04:00
josh 12d94997dc Begin on Program builder
monkey-patch String class for suffix checking/changing methods
2013-06-30 20:09:43 -04:00
josh 6cfba1c2fe create Builder constructor 2013-06-30 20:09:18 -04:00
josh ea5ff789f2 add index function to Environment for variable access 2013-06-30 19:30:22 -04:00
josh 3ba3111a45 add functionality to add builders to an Environment 2013-06-30 19:26:09 -04:00
josh 02f2f635bf properly invoke ruby subprocess and require rscons this time 2013-06-30 18:48:06 -04:00
josh 72b49afb43 add Builder class 2013-06-30 18:39:30 -04:00
josh 4dd5ce9262 require rscons when running build test in a ruby subprocess 2013-06-30 18:13:07 -04:00