Commit graph

342 commits

Author SHA1 Message Date
Chris Bernard
25538e071f Fixed 3 bugs in rebar_eunit. Added EUnit tests to capture them.
1.  When running the eunit command with the convention of putting
tests in "*_tests" modules, eunit would run those tests twice.  This
is because: 1) eunit:test/1 will naturally look for foo's tests both
in foo, and in foo_tests, and 2) eunit:test/1 was being folded over
all project modules.  The fix is to filter "*_tests" modules from the
list passed to eunit:test/1.

2.  When running the eunit command with cover enabled and tests in a
'test' directory, cover would error because it couldn't find the
source code for those tests.  This is because cover:analyze/3 will
only find module source in "." and "../src".  This is hard-coded in
cover :-(.  Since cover shouldn't be calculating code coverage on test
code anyway, the fix is to not fold cover:analyze/3 over
non-production code.

3.  When running the eunit command with cover enabled and a test suite
defined, cover would only attempt to calculate coverage on the the
test suite itself.  This was because only the suite was passed to
cover:analyze/3.  The fix is to fold cover:analyze/3 over all the
production code, filtering out the suite module if it is defined.
2010-03-04 20:53:12 -05:00
Vagabond
50832a1a14 Don't detect the source file as an include of itself 2010-03-02 18:04:08 -05:00
Vagabond
a3f8489340 Move the .erl sorting to the right place 2010-03-02 17:58:05 -05:00
Vagabond
c4d3f0ea65 Fix dependancy checking for headers by ensuring "include" is always in the eep IncludePath 2010-03-02 17:34:12 -05:00
Vagabond
4ce01860e9 Compile parse transform and custom behaviours first 2010-03-02 17:13:58 -05:00
Tuncer Ayaz
23781ae460 Fix unused var warning 2010-02-25 19:57:02 +01:00
theiw
8a3ad89f7c Refactor eunit and cover 2010-02-19 22:37:48 +00:00
Dave Smith
872076be3f Adding cleaner module to permit users to specify their own set of files to delete 2010-02-21 05:39:12 -07:00
Dave Smith
28d3b75641 Fix bug in templater where escript was not found in subdirs were specified in rebar.config; minor formatting cleanups 2010-02-20 20:15:07 -07:00
Dave Smith
496851cefd Add support for installing to a target directory as alternative to Erlang base dir 2010-02-20 13:42:44 -07:00
Tuncer Ayaz
00c855d030 Update comment for filelib:ensure_dir/1 wrapper.
The wrapper can now be removed as I've fixed the problem in R13B04.
2010-02-17 23:38:06 +01:00
Dave Smith
b0dfd233ae Make sure to add ebin/ to current path when compiling doterl files; found by @sj_mackenzie 2010-02-16 15:16:19 -07:00
Dave Smith
6714d47efb Deal properly with env vars that have multiple = in the value 2010-02-16 11:00:14 -07:00
Dave Smith
1f6d861aba Overhaul env expansion so that rebar fully expands env refs prior to invoking the shell script. Also now using DRV_* env vars for compilation/linking of files found in c_src; this frees up "normal" CFLAGS/LDFLAGS for usage in sub build scripts. 2010-02-16 07:05:29 -07:00
Dave Smith
7bfa2405db Merging w/ http://bitbucket.org/bryan/rebar 2010-02-14 09:24:47 -07:00
Bryan Fink
f6feac493d provide separate 'file' and 'template' directives, instead of one 'file' directive with a boolean Render flag 2010-02-13 14:14:29 -05:00
Dave Smith
0f7b47ce7b Merging w/ mainline 2010-02-13 10:18:18 -07:00
Dave Smith
d486dff6e8 Merging with OJ's branch 2010-02-13 10:17:44 -07:00
Dave Smith
96c1ceba60 Break out arch string function; update ERLANG_TARGET to include bitness of the Erlang target 2010-02-12 15:05:32 -07:00
Dave Smith
a0732e9e78 Make sure to cover all edge cases when parsing module names 2010-02-12 11:57:50 -07:00
Dave Smith
1def586e39 Merging w/ mainline 2010-02-12 11:33:32 -07:00
Dave Smith
22d21f63d0 Append wordsize to the architecture string 2010-02-10 14:05:52 -07:00
Ryan Tilder
f502bb09dd I'm a moron. Make it a string. 2010-02-10 11:23:53 -08:00
Dave Smith
268405d0dc Adding new vars for scripts to determine architecture (32/64 bit) and target platform of Erlang VM; courtesy of rtilder 2010-02-10 11:15:55 -07:00
theiw
788bd3df72 Provide package support for eunit; build_plt now includes listed applications; begin including -spec annotations 2010-02-05 17:34:38 +00:00
Bryan Fink
60629e8516 add chmod template directive for changing file file permission
usage: {chmod, Mode, File}
where: Mode is an integer, as specified by the 'mode' field of the file_info record
       (see docs for file:write_file_info/2)
2010-02-04 17:45:05 -05:00
Bryan Fink
4c2dade0f4 add Render flag to 'file' template directive
{file,In,Out,true} = render with mustache
{file,In,Out,false} = do not render with mustache (leave as-is)

old-form {file,In,Out} is equivalent to {file,In,Out,true}
2010-02-04 15:52:44 -05:00
Bryan Fink
4e01b32d5d look for templates in local directory as well 2010-02-04 14:30:10 -05:00
OJ Reeves
71c974e341 Added support for the speficiation of test suite names
eg.  rebar eunit              -- runs all tests in all modules
     rebar eunit suite=foo    -- only runs tests in foo.erl/foo_tests.erl

Added an entry to .hgignore to avoid .swp files (created by VIM).
2010-02-03 22:27:09 +10:00
Tuncer Ayaz
2734f2bcc2 Do not print dynamic escript name in usage info 2010-02-02 12:56:16 +01:00
Dave Smith
bd510dea20 Tweaking order of defaults so that -shared is default across platforms unless explicitly overridden 2010-02-01 10:56:47 -07:00
Dave Smith
f333bc2a92 Removing useless debug message and extraneous newline 2010-02-01 09:29:13 -07:00
Dave Smith
b9e78d6722 Add support for passing addt'l list of sources to erlc_compiler 2010-02-01 08:37:52 -07:00
Dave Smith
47e70f308a Add support for forcibly overwriting output files; courtesy of OJ Reeves 2010-01-30 09:56:06 -07:00
Dave Smith
12420ee43c Fix typo; courtesy of OJ Reeves 2010-01-30 09:48:28 -07:00
Dave Smith
7bcbe026d4 Merging support from asonge for custom_tags_dir 2010-01-29 22:02:47 -07:00
Dave Smith
1582f2e243 Tweak support for controlling so_name 2010-01-26 13:50:17 -07:00
Alex Songe
73ee6e442b Added support for custom_tags_dir compile option to rebar_erlydtl_compiler 2010-01-16 13:58:34 -06:00
Dave Smith
96e9a2a521 Look for dirs named erts-vsn when setting up spec for copying files 2010-01-14 07:46:00 -05:00
Dave Smith
66fa90ce6c Try previous commit again; make sure include/ directory exists 2010-01-14 07:08:12 -05:00
Dave Smith
dce1673fdb Make sure include/ directory exists 2010-01-14 07:02:14 -05:00
Dave Smith
407486bc62 Merging mainline 2010-01-09 05:35:04 -07:00
OJ Reeves
49aef70f9b [mq]: eunit-fix 2010-01-09 22:19:55 +10:00
Tuncer Ayaz
e9ddd08e2a Simplified usage info printing with getopt v0.2 2010-01-09 00:36:29 +01:00
Tuncer Ayaz
4ac1f3efe9 Fixed issue 1 "priv/mibs/ is not automatically created" 2010-01-08 23:06:29 +01:00
Dave Smith
ec4e805898 Adding sketch of functionality for creating a reltool node from template 2010-01-08 12:16:57 -07:00
Dave Smith
8c4f35a294 Basic implementation of templater is complete 2010-01-08 10:54:43 -07:00
Dave Smith
2d9af6cf48 Sketching out templating system 2010-01-07 22:18:55 -07:00
Dave Smith
3ed1b99438 Adding mustache.erl from http://github.com/mojombo/mustache.erl 2010-01-07 21:22:19 -07:00
iw
39907904e8 Include support for dialyzer 2010-01-07 15:10:20 +00:00
Dave Smith
47a430c3b8 A bit of consolidation of version checking for scm clients; adding support for git 2010-01-07 07:46:06 -07:00
iw
864d4b74d6 Ensure we have the correct hg version 2010-01-06 22:22:05 +00:00
Tuncer Ayaz
fb0cee2afb Implemented option to specify number of concurrent workers a command may use 2010-01-06 17:31:14 +01:00
Kevin Smith
c9d175a30d Merging 2010-01-05 10:41:15 -05:00
Kevin Smith
bfcb54cbc9 Added so_name entry to rebar.config so linked-in drivers can specify custom .so names 2010-01-05 10:39:08 -05:00
Dave Smith
93111bfcf7 Merging w/ bitbucket 2010-01-04 09:53:50 -07:00
iw
73d2073ed8 Preserve non-empty folders when performing clean 2010-01-04 16:39:52 +00:00
Bryan Fink
abd535d081 rework elrydtl_compiler to do dependency checking correctly in refactored rebar 2010-01-04 11:24:28 -05:00
Dave Smith
21f60bff74 Take 323 on cleaning package dirs from ebin 2010-01-04 06:17:35 -07:00
Dave Smith
51f6906da9 Make sure to create dir structure for output bams 2010-01-04 05:47:45 -07:00
Dave Smith
42647f4c22 Tweak regex to properly match extension and not just .erl anywhere in filename 2010-01-04 05:40:39 -07:00
Dave Smith
fa2a58261a Another round of refactoring to yield better flexiblity in the base_compiler system 2010-01-03 22:53:04 -07:00
Dave Smith
9c15d63191 Refactor of compilation logic to enable support for package modules and provide better modularity/reusability for other systems 2010-01-02 14:17:59 -07:00
Dave Smith
18e1b37e6f Break out command line argument parsing to a dedicated routine 2010-01-01 06:22:25 -07:00
Dave Smith
48c2c169ab Merging w/ bitbucket 2009-12-31 19:31:00 -07:00
Dave Smith
9f83329a3c Adding basic distclean functionality to deps 2009-12-31 19:29:48 -07:00
Dave Smith
02fa5f6f42 Make sure to reset CWD after processing subdirs; also filter out missing dirs when restoring code path 2009-12-31 19:29:33 -07:00
Dave Smith
a46be8cec1 Use new rebar_config API to avoid having to actually delete/change the config any 2009-12-31 19:28:53 -07:00
Dave Smith
bd090f0db2 Refactor of rebar_config to facilitate identification of "local" config settings 2009-12-31 19:28:20 -07:00
Tuncer Ayaz
0817dec7ca Rolled back getopt to restore custom variables 2010-01-01 00:08:00 +01:00
Tuncer Ayaz
9a8015f2d7 Added vi modeline/emacs local variables to file headers 2009-12-31 19:42:53 +01:00
Tuncer Ayaz
940f9c232b Enhanced option parsing with new getopt and made rebar more user friendly 2009-12-31 18:00:02 +01:00
Tuncer Ayaz
8c85021c1e Deleted trailing whitespace 2009-12-30 13:13:39 +01:00
Dave Smith
5cd5870f32 Got basic retrieval of deps from hg sorta working; minor refactoring of rebar_utils:sh interface 2009-12-30 20:03:27 -07:00
Dave Smith
1fe4d13e25 First basic pass at deps 2009-12-29 22:05:32 -07:00
Tuncer Ayaz
b1b29e0858 Implemented getopt option support 2009-12-29 20:09:28 +01:00
Dave Smith
fe03778678 Silence warnings, courtesy of Tuncer Ayaz 2009-12-28 07:24:15 -07:00
Dave Smith
c99e6da250 Adding placeholder for dep mgmt 2009-12-25 23:19:47 -07:00
Dave Smith
2f64f0e6b2 Refactoring core logic in preparation for dependency mgmt; breaking out sub_dir determination into dedicated module 2009-12-25 23:19:09 -07:00
Bryan Fink
299f45623f rebar can now compile ErlyDTL files (if erlydtl is installed)
defaults to compiling from templates/*.dtl to ebin/*_dtl.beam
see top of rebar_erlydtl_compiler for configuration options
2009-12-22 09:57:42 -05:00
Dave Smith
b14eaa0dc6 Adding rudimentary escript generator 2009-12-22 06:45:01 -07:00
Bryan Fink
badcc228bd add hrl-triggered recompiling to 'eunit' build as well 2009-12-21 12:48:36 -05:00
Bryan Fink
1fa659b5b3 recompile files if their "includes" have changed
added parameter to do_compile for passing a function that can extra the list of includes from a file
2009-12-21 12:15:21 -05:00
Dave Smith
a0b665360a Adding some addt'l logging to make it easier to diagnose probs 2009-12-20 20:43:45 -07:00
Dave Smith
d051534b97 Minor formatting fix 2009-12-20 06:20:05 -07:00
Tim Dysinger
5fe24a8c97 Added optional LFE compilation abilities to rebar 2009-12-18 19:00:15 -10:00
Dave Smith
2f1d415a70 Revert change to linking order arguments 2009-12-18 15:08:36 -07:00
Dave Smith
f02c48a909 Adding simple checks for necessary version of ERTS + Reltool 2009-12-17 07:26:54 -07:00
Dave Smith
ee0c6ad086 Reorder arguments to CC for linking and fix needs_link to function properly 2009-12-16 10:27:14 -05:00
Dave Smith
4d3c7e60d6 Make sure to append overlay files to end of spec; otherwise might be overwritten by canonical install 2009-12-16 10:26:50 -05:00
Dave Smith
c3f0f2565b Adding support for overlays 2009-12-14 19:30:51 -05:00
Dave Smith
be754bb6ef Make sure to fail if run_modules generates ANY error. Thanks, Rusty. :) 2009-12-14 17:11:25 -05:00
Dave Smith
537eaa3bba Run eunit in .eunit dir to ensure any created/temporary files are created there 2009-12-14 09:59:00 -05:00
Dave Smith
e86f82f10d Fixing warning 2009-12-14 09:29:24 -05:00
Dave Smith
417ff3ad76 Adding fail_on_warning support 2009-12-14 09:27:47 -05:00
Dave Smith
d6600ab506 Fixing number of warnings and buglets 2009-12-14 08:58:22 -05:00
Dave Smith
2b7971cc6b Merging from bitbucket 2009-12-12 07:45:24 -07:00
Dave Smith
5618198eeb Merging mainline 2009-12-12 07:43:12 -07:00
Dave Smith
3990f0a076 Refactor of core logic to provide better control over recursion and code path mgmt 2009-12-12 07:34:29 -07:00
Dave Smith
3685c4fd4e Adding rudimentary support for creating empty dirs in reltool target 2009-12-11 07:20:59 -07:00
Dave Smith
9e618f79c5 Merge 2009-12-10 12:16:47 -07:00
Dave Smith
849078026e Add ability to forcibly overwrite existing release 2009-12-10 12:16:15 -07:00
Dave Smith
588337e78b Add support for coverage generation 2009-12-09 22:00:28 -07:00
Dave Smith
d894dc5448 Make sure crypto is running as lots of things use it 2009-12-09 21:59:58 -07:00
Dave Smith
b088139ed0 Remove unnecessary debug in _core; adding EQC flag for eunit builds 2009-12-08 15:52:53 -07:00
Dave Smith
ffa0cda467 Updating bootstrap to embed the build time into a macro that we can pull via "version" command 2009-12-07 16:03:56 -07:00
Dave Smith
95d52f860d Refactoring eunit to support in-module tests 2009-12-07 15:17:24 -07:00
Dave Smith
cb1899b818 Adding convenience method for determing verbosity of run 2009-12-07 15:17:03 -07:00
Dave Smith
b5eded43d8 Merging 2009-12-07 10:08:20 -07:00
Dave Smith
af5096b6f0 Make sure to bail w/ return code of 1 when error has occurred 2009-12-07 10:07:01 -07:00
Jon Meredith
726f8e6946 Added support for eunit tests as test/*_tests.erl 2009-12-05 15:18:09 -07:00
Dave Smith
e7277e69f0 Adding rebar.erl -- not sure how that got missed, yet worked!? 2009-12-04 15:42:12 -07:00
Dave Smith
b491898690 Refactor rebar to build a self-contained script 2009-12-04 13:48:57 -07:00
Jon Meredith
63d4968e36 Added check for suite compilation failures to rebar_ct. 2009-12-04 07:58:21 -07:00
Jon Meredith
a0d48d89ae Added rebar_ct to support common_test targets test, int_test and perf_test. 2009-12-03 22:49:52 -07:00
jmeredith@jons-macbook.local
bed9ab10aa Added now_str to return the local time as a string. 2009-12-03 22:46:37 -07:00
Dave Smith
89dc8095b0 Ongoing reltool integration work; now better able to identify issues with missing apps in code path 2009-12-03 16:06:06 -07:00
Dave Smith
a979f4f575 If failure is controlled (i.e. via ?FAIL macro), don't print out that it failed (expectation is that the caller already did that) 2009-12-03 09:41:10 -07:00
Dave Smith
4f980767f8 Fix up installation problems that occurred when priv/include dirs don't exist (they are optional) 2009-12-02 12:12:53 -07:00
Dave Smith
a01e7dcd30 Adding first crack at reltool support 2009-12-02 05:15:35 -07:00
Dave Smith
a8fd5bc56f Add hooks for getting list of release modules 2009-12-02 04:54:55 -07:00
Dave Smith
eb84f4f443 Make sure reason for crash is available for debug logging 2009-12-02 04:54:23 -07:00
Dave Smith
a658e970db Adding support for parallel compilation; use 3 workers by default 2009-12-01 20:34:40 -07:00
Dave Smith
3765b86653 Adding support for subdirs 2009-12-01 20:34:18 -07:00
Dave Smith
d885b1c04c Basic implementation of port compiler is now complete 2009-12-01 10:38:30 -07:00
Dave Smith
dbd576fc33 Adding more flexible arch check; adding sh command 2009-12-01 10:38:20 -07:00
Dave Smith
cf6738928d Adding generic get/3; still need some cleanup 2009-12-01 10:37:46 -07:00
Dave Smith
b3909cc9dc Adding delete_each/1 2009-12-01 10:37:19 -07:00
Dave Smith
667dd16bf9 Merging 2009-11-30 16:07:51 -07:00
Dave Smith
c7c1001012 Slowly working out port driver implementation 2009-11-30 16:03:45 -07:00
Jon Meredith
8e91e1014e Connected up symlinking the list of progs in rebar.config/app_bin
to the OTP bin dir.
2009-11-30 12:02:09 -07:00
Jon Meredith
c5d877a934 Renamed app_installer to otp_app.
Added compile check for app name.
Added compile check for app modules

--HG--
rename : src/rebar_app_installer.erl => src/rebar_otp_app.erl
2009-11-30 11:12:25 -07:00
Dave Smith
961c95b419 Add protobuffs compiler module 2009-11-30 09:57:28 -07:00
Dave Smith
be2a9096f6 More work 2009-11-30 07:00:48 -07:00
Dave Smith
c828f59056 Fix some minor typos; create simple install/bootstrapping script 2009-11-29 16:53:53 -07:00
Dave Smith
28fe3bfd54 More gross structural work; now has log levels and broken out log level control 2009-11-29 16:44:30 -07:00
Dave Smith
0151f63239 Fix options to be more consistent 2009-11-25 22:27:07 -07:00
Dave Smith
e4a9310a97 Adding support for basic compilation ordering 2009-11-25 21:55:47 -07:00
Dave Smith
fd8794dae7 Renaming compiler module
--HG--
rename : src/rebar_doterl_compiler.erl => src/rebar_erlc_compiler.erl
2009-11-25 21:00:22 -07:00
Dave Smith
620867d5d5 More work on getting compilation and clean working properly 2009-11-25 20:24:51 -07:00
Dave Smith
e52bb6783c Getting basic erlang compilation working 2009-11-25 16:03:14 -07:00
Dave Smith
b7e2088c27 Initial commit 2009-11-25 15:23:42 -07:00