Commit graph

251 commits

Author SHA1 Message Date
Chris Bernard
4825353a23 Fix incorrect coverage count when prod modules include EUnit header.
Modules that include the EUnit header get an implicit test/0 fun,
which cover considers a runnable line, but eunit:(TestRepresentation)
never calls.  Result: prod modules with tests can never reach 100%
coverage.  Ironic.  In this case, fix it by decrementing the NotCovered
counter returned by cover:analyze/3.
2010-05-15 15:09:45 -04:00
Bob Ippolito
35a928ecf2 merge ssh://hg@bitbucket.org/basho/rebar 2010-05-15 13:59:33 -07:00
Bob Ippolito
9dd9585d5b include source path in compiler errors, process commands separately (to make get-deps compile work), ensure ebin dir, process iteratively to support transitive deps 2010-05-15 13:57:07 -07:00
Bob Ippolito
fc58d12820 fix hg and git clone commands for when repo does not exactly match application name 2010-05-11 14:46:20 -07:00
Bob Ippolito
124897e937 run plugins once, do not run as a preprocessor, add ebin to path early 2010-05-11 13:07:13 -07:00
Bob Ippolito
89b57e3aa4 when using plugin_modules, add ebin to path 2010-05-11 12:33:52 -07:00
Bob Ippolito
66f44c6362 fix backwards match for debugging print 2010-05-11 12:07:19 -07:00
Bob Ippolito
92be7a38bf rebar_plugins in rebar_config to allow extensions 2010-05-11 08:35:47 -07:00
Bob Ippolito
59ab113f3b Run the preprocess again if subdirs were compiled, fixes http://bitbucket.org/basho/rebar/issue/5 2010-05-08 07:07:28 -07:00
Bob Ippolito
100f277192 comment typo 2010-05-08 04:52:52 -07:00
Jeremy Raymond
8e195e5337 Make 'command does not apply' warning into a warning 2010-05-11 12:22:12 -04:00
Bob Ippolito
317655f724 comment typo 2010-05-08 04:52:52 -07:00
Bob Ippolito
f436d7cd3c add variables for create-app and create-node to help 2010-05-08 03:49:10 -07:00
Dave Smith
2af6dc84ae Complete implementation for simplistic .app.src processing. 2010-05-07 12:01:48 -06:00
Dave Smith
902e00fb93 Add support for requiring a specific ERTS or OTP version via a regex 2010-05-03 19:47:07 -06:00
David Reid
b85c0b4515 Add a global config option skip_deps which when present will cause dependencies not to be added to the list of directories to process, useful for ./rebar skip_deps=true eunit so that you don't run the tests of every dependency. 2010-04-29 14:40:37 -07:00
Jon Meredith
bf3dfcb34b Taught eunit/coverage to split the src module coverage stats from any test code. 2010-05-03 11:37:14 -06:00
Dave Smith
ff1cf0365b Make sure that the so_specs stuff is properly backwards compatible 2010-05-03 10:27:00 -06:00
Dave Smith
1826e62069 Copy all source files for eunit to .eunit directory so that cover works properly (ick!) 2010-05-03 09:45:21 -06:00
Tuncer Ayaz
914e5fbf68 New commands and opts (-V/--version/version/help) 2010-05-03 11:38:27 +02:00
Tuncer Ayaz
c319662849 Correct comment 2010-05-03 04:15:16 +02:00
Tuncer Ayaz
56b801b2c9 Add new erl_opts option to specify platform-specific defines 2010-05-03 04:03:38 +02:00
Tuncer Ayaz
60c649bc4e Add missing CXXFLAGS equivalents of CFLAGS 2010-04-29 15:34:14 +02:00
Cliff Moon
939c36e527 merged from basho 2010-04-28 19:37:46 -07:00
Cliff Moon
c3fe43a0ba add new configuration option so_specs which allows multiple drivers to be built in the same project. 2010-04-28 16:27:54 -07:00
Dave Smith
c28a16258c Add caching of app file 2010-04-28 13:02:51 -06:00
Dave Smith
f81cf34bb9 Add default CFLAGS for platforms where there can be variation of 32/64 bit Erlang VMs 2010-04-28 09:31:38 -06:00
Dave Smith
c19b8ac003 Refactoring app file access to be via rebar_app_utils in prep for supporting .app.src 2010-04-28 08:44:06 -06:00
Jeremy Raymond
87bca27644 Copy src files to .eunit so that cover can always find them 2010-04-22 22:35:16 -04:00
Dave Smith
dbfd2a08cd Merging w/ mainline 2010-04-23 10:10:11 -06:00
Dave Smith
0add7acdbf Make sure to add ebin/ to the code path as well so that xref can properly determine source/line of code. 2010-04-23 09:27:50 -06:00
Tuncer Ayaz
99bf0f3918 Reuse rebar_utils:get_cwd/0 2010-04-21 21:36:47 +02:00
Dave Smith
8f85d70897 Verify that we work with minimal git of 1.5 2010-04-19 08:06:07 -06:00
Dave Smith
29a3d7267c Merging w/ mainline 2010-04-17 07:35:40 -06:00
Dave Smith
266d82f871 Add simple warning if no modules are interested in handling a command for a given directory 2010-04-17 07:34:54 -06:00
Dave Smith
66906bc39e Make sure to add .eunit as an absolute directory so that we avoid weirdness with code loading stuffs. 2010-04-16 12:58:10 -06:00
Tuncer Ayaz
1e8916ba87 Document xref command
Also add a sleep after printing so that the io server has
written all output before exiting. It's a work around.
2010-04-15 20:20:20 +02:00
Dave Smith
aea6f66939 Tested mercurial checkout down to 1.1 2010-04-14 12:51:52 -06:00
Dave Smith
7218213d1c Support older, more deployed version of mercurial 2010-04-14 10:39:46 -06:00
Dave Smith
ab817cd020 Merging w/ mainline 2010-04-09 09:26:04 -06:00
Dave Smith
fcf4507a80 Add stub for xref support; not yet done 2010-04-09 09:25:00 -06:00
Bryan Fink
4f470fcddd clean up .yrl and .xrl handling 2010-03-31 15:21:13 -04:00
Bryan Fink
e6e36834f9 add leex .xrl handling as well 2010-03-31 15:03:29 -04:00
Bryan Fink
cf820007fc add handling for yecc's .yrl files to erlc compiler 2010-03-31 11:35:06 -04:00
Tuncer Ayaz
0f494c2a14 Add check-deps to shell completion and commands info 2010-03-26 19:28:01 +01:00
Dave Smith
84f5108e17 Adding check-deps and helper target for compilation 2010-03-25 13:34:19 -06:00
Tuncer Ayaz
5f98b6b65a Add ASN.1 support (via Ruslan Babayev)
Add support for compiling ASN.1 files with asn1ct.
Patch from Ruslan Babayev.
2010-03-22 18:31:01 +01:00
Tuncer Ayaz
3dfc7a8486 Add get-deps and delete-deps to commands info and shell completion
Add get-deps and delete-deps to commands info string and
bash completion script.
2010-03-17 01:26:32 +01:00
Dave Smith
c71ec1d68f Merging w/ mainline 2010-03-16 13:30:52 -06:00
Dave Smith
be6bb20c59 Revamp deps system to NOT pull down deps automatically. You must now use pull-deps explicitly 2010-03-16 13:30:22 -06:00
Dave Smith
a12778ba65 Removing overly verbose debug message (yes, I realize the irony) 2010-03-16 13:29:49 -06:00
Tuncer Ayaz
faf21694fe Make sure zip module is loaded
Before we check for zip:foldl/3 make sure zip module is loaded.
2010-03-11 01:27:46 +01:00
Tuncer Ayaz
ebfb1dc40d Add option to show available commands
Implement new option -c/--commands to print available
commands and its variables.
2010-03-08 21:14:06 +01:00
Tuncer Ayaz
aeabfb6fe9 Add escript_foldl/3 TODO
Comment what has to be done when the new OTP release is out
and the time is right.
2010-03-06 00:04:50 +01:00
Tuncer Ayaz
dfb5af4049 Add forward-compatible escript_foldl function
escript:foldl/3 was undocumented and has been replaced with
better APIs post-R13B04. The new exported funs are officially
documented.
2010-03-05 22:56:31 +01:00
Dave Smith
a49d257412 Merging eunit fixes + some UNIT TESTS!! from cebernard 2010-03-05 13:27:45 -07:00
Dave Smith
95227cf6ef Merging changes from vagabond 2010-03-05 10:25:47 -07:00
David Reid
a29da71aac Support for downloading deps via bzr. 2010-03-05 00:06:39 -08:00
David Reid
92a5a326d5 Support downloading deps via SVN. 2010-03-04 23:50:57 -08:00
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