Commit graph

831 commits

Author SHA1 Message Date
Tuncer Ayaz
9dd8e7f2ee Fix #295 (consider *_SUITE.beam in ct skip check) 2012-08-19 15:25:13 +02:00
Tuncer Ayaz
6c1694980c Fix whitespace error 2012-08-18 17:19:42 +02:00
Joe DeVivo
991e2ce8e1 Add erlc override from erl_opts: outdir 2012-08-18 17:19:23 +02:00
Tuncer Ayaz
fc7df16e31 Clarify comments 2012-08-12 14:03:44 +02:00
Tuncer Ayaz
bdee72fae8 rebar_eunit: add tests= TODO item 2012-08-11 23:10:06 +02:00
Roberto Ostinelli
69dc9ec933 Add experimental tests= filter for eunit suites 2012-08-11 23:08:21 +02:00
Tuncer Ayaz
563607bc02 Change escript zip archive creation as suggested by Siri Hansen
1. manually insert directory entries to work around issues fixed in
   R15B02 erl_prim_loader
2. put the escript archive's beams in appname/appname/ebin

Tested with R13B03 and R15B01.
2012-08-11 18:47:25 +02:00
Tuncer Ayaz
795f9345a7 New upstream mustache.erl 2012-08-11 15:04:09 +02:00
Tuncer Ayaz
5d6b82390f rebar_eunit: fix typo 2012-08-10 16:05:00 +02:00
Tuncer Ayaz
8f3873e061 rebar_utils: refactor get_experimental and get_deprecated funs 2012-08-10 14:28:42 +02:00
Tuncer Ayaz
75a6de27e7 rebar_qc: ensure_dir/1 the same way as in rebar_eunit 2012-08-09 18:44:08 +02:00
Tuncer Ayaz
e47d643ea3 Use separate dirs for eunit and qc 2012-08-09 18:37:26 +02:00
Tuncer Ayaz
b5e0d6d5db Fix rebar_core:restore_code_path (Reported-by: Siri Hansen)
Use erl_prim_loader:read_file_info instead of filelib:is_file to make
sure paths inside the escript archive are handled properly.
2012-08-09 16:15:10 +02:00
Tuncer Ayaz
16091f9934 rebar_utils: fix whitespace error 2012-08-09 16:14:42 +02:00
Tuncer Ayaz
99b645e4a3 Separate eunit and qc compile options 2012-08-09 14:04:53 +02:00
Tuncer Ayaz
803f6e8ecd Replace test-compile with compile_only=true option 2012-08-09 14:04:53 +02:00
Motiejus Jakštys
8f01d0de60 Add skip_deps=AppListSeparatedByCommas feature 2012-08-09 09:48:16 +02:00
Tuncer Ayaz
e5569e6862 rebar_qc: use lists:flatmap/2 2012-08-08 23:28:00 +02:00
Tuncer Ayaz
3f2ad54ebc rebar_qc: fix #292 (Reported-by: Brian L. Troutwine) 2012-08-08 23:27:47 +02:00
Lev Walkin
f2f294d812 Do not rewrite .app file if it didn't change 2012-08-08 00:52:54 +02:00
Edwin Fine
ca8d7cc95d Ensure edocs are also built if only overview.edoc changes 2012-08-08 00:52:42 +02:00
DeadZen
f1d35f9d06 Add ct_log_dir option, skip test dir with no SUITE
When rebar ct executes with its default common test directory of "test",
it will generate a hardcoded "logs" directory in every application with
a test directory present, causing an overlap with eunit's test framework
so even test directories with only eunit tests will be processed by ct.
2012-08-07 14:22:59 +02:00
Tuncer Ayaz
888bbc8ee2 Fix whitespace error 2012-08-07 14:03:58 +02:00
Tuncer Ayaz
fdc1425a3b Use rebar_utils:test_dir/0 for coverdata export file 2012-08-07 14:02:13 +02:00
David Åberg
43d5b6257e Enable export of cover data from eunit testrun 2012-08-07 13:44:40 +02:00
Tuncer Ayaz
aec71f93cb Clean up specs 2012-08-06 19:52:09 +02:00
Tuncer Ayaz
1b9f2a5981 rebar_utils: fix whitespace error 2012-08-06 19:35:46 +02:00
Tuncer Ayaz
491d52298e Re-use rebar_utils:ebin_dir() 2012-08-06 19:00:18 +02:00
Tuncer Ayaz
e2492eb37f rebar_utils: call get_cwd/1 locally 2012-08-06 19:00:03 +02:00
Tuncer Ayaz
870f8cfbb4 rebar_utils: clean up specs 2012-08-06 18:52:33 +02:00
Tuncer Ayaz
70c82ba1c1 Fix arg order in rebar_erlc_compiler:compile_mib/3 2012-08-06 17:44:13 +02:00
Tuncer Ayaz
0b18b208e2 Only print absolute filename if not in base_dir 2012-08-05 19:56:27 +02:00
Tuncer Ayaz
4f19572ff9 Remove two comments 2012-08-04 14:04:59 +02:00
Tuncer Ayaz
392adcf967 Refactor setup_env rebar_config funs 2012-08-04 14:04:27 +02:00
Tuncer Ayaz
c9ddb8325a Quote EUnit User's guide about _tests.beam handling 2012-07-31 16:39:25 +02:00
Tuncer Ayaz
ad2e94b96b Add experimental notice to test-compile and shell 2012-07-31 15:39:36 +02:00
Tuncer Ayaz
636c02f0be Fix R13B03 build (Reported-by: Sergey Nartimov) 2012-07-28 19:51:57 +02:00
Joseph Wayne Norton
2d62896de0 Fix -D handling 2012-07-28 19:36:46 +02:00
Tuncer Ayaz
74a82fa104 Fix -c typo (Noticed-by: Joe Norton) 2012-07-28 11:48:54 +02:00
Tuncer Ayaz
64972a0be5 Fix trivial comment typo 2012-07-26 18:36:59 +02:00
Tuncer Ayaz
228f39efa1 Rename old eunit compile options for consistency with test-compile 2012-07-26 17:15:01 +02:00
Steven Gravell
093f160be5 relative libs in RELEASES file 2012-07-26 13:40:36 +02:00
Daniel Luna
d496be2871 rebar_rel_utils: remove two lines of noop 2012-07-24 20:34:02 +02:00
Tuncer Ayaz
70d27c5720 rebar_deps: use xconf for deps_dir 2012-07-23 20:53:43 +02:00
Tuncer Ayaz
f6cfc74dc0 Fix indenting 2012-07-23 20:41:22 +02:00
Tuncer Ayaz
c648af3697 Finalize port_compiler deprecations 2012-07-23 20:41:22 +02:00
Tuncer Ayaz
c0644dc195 Finalize app=, skip_app=, suite= deprecations 2012-07-23 16:48:15 +02:00
Tuncer Ayaz
e75a97ad33 Add 'qc' cmd and rename eunit-compile to test-compile 2012-07-23 16:22:06 +02:00
Tuncer Ayaz
902dcdf3ff Add 'eunit-compile' cmd (Suggested-by: Joe Norton) 2012-07-23 13:28:38 +02:00
Tuncer Ayaz
252757c753 Do not use application:set_env 2012-07-23 13:17:11 +02:00
Tuncer Ayaz
3c56fbab6f Restore old reltool vsn check
reltool is missing an app resource file before R14A.
Therefore, restore the old check and add TODO.
2012-07-22 12:41:55 +02:00
Tuncer Ayaz
86c69bc253 Fix Dialyzer warning 2012-07-21 17:56:53 +02:00
Ulf Wiger
6996cd4fcc Use a more appropriate method to check reltool's vsn
If running e.g. rebar generate using an OTP development build,
rebar will complain that reltool has the version "", which is
less than the required "0.5.2". This is because rebar_reltool
simply checks the path returned by code:which(reltool), which
doesn't yield version information if used in a development build.

This patch substitutes a more robust method (load reltool and
fetch the info from application:loaded_applications()).

As it happens, this will not be enough to make things work,
but now Reltool will explain that it cannot generate a spec
from a system that is not installed, giving a better hint
as to what needs to be done.
2012-07-21 17:52:01 +02:00
Tuncer Ayaz
5a4ddd5524 Do not keep eunit config 2012-07-13 22:48:20 +02:00
Tuncer Ayaz
e1c9d69d1d Do not use rebar_config:set_global in rebar_templater 2012-07-13 21:43:30 +02:00
Tuncer Ayaz
d9e6cc3d90 Do not use process dict in rebar_templater 2012-07-13 21:43:14 +02:00
Tuncer Ayaz
4fe3306d99 Document rebar_config TODOs 2012-07-13 15:22:01 +02:00
Tuncer Ayaz
db78956295 Make sure cached setup_envs are reset 2012-07-13 15:22:01 +02:00
Tuncer Ayaz
e185e86bff Remove shared state 2012-07-13 15:21:56 +02:00
Tuncer Ayaz
1948eb4a47 Re-word comment 2012-07-12 00:39:30 +02:00
Tuncer Ayaz
94958d05d5 Add missing comment in rebar_erlc_compiler 2012-07-12 00:37:10 +02:00
Tuncer Ayaz
e4fb80799b Remove debug log 2012-07-11 23:40:28 +02:00
Tuncer Ayaz
015858b2d3 Simplify eunit 2012-07-11 20:36:41 +02:00
Tuncer Ayaz
990e60f120 Use filename:join 2012-07-11 18:44:48 +02:00
Dave Smith
ce39b1d8bd Merge pull request #157 from dch/dch-windows-msvc-support
add native Windows compiler support
2012-07-11 07:58:51 -07:00
Kresten Krab Thorup
4541f8f5db Fix crazy indentation :-) 2012-07-11 08:42:48 -06:00
Kresten Krab Thorup
b890421cae Allow crypto to already be loaded when starting rebar 2012-07-11 08:42:48 -06:00
Kresten Krab Thorup
c71bbf6a0d untabify and add some comments 2012-07-11 08:42:48 -06:00
Kresten Krab Thorup
5b765e028f Initial version of "rebar shell" command
For now, this is just a proof of concept; would make sense to add a lot
of things, such as quick access to invoking rebar itself (with approproate 
code reloading), as well as an eunit-aware version so that tests could be 
run interactively.
2012-07-11 08:42:47 -06:00
Fred Hebert
57fc7f6474 Change escriptize archive permissions to a+x
By default, executables in paths such as /bin and /usr/local/bin have
the mode saying they can be executed by all.

The current version of escriptize only sets u+x, which creates problems
when copied directly in repositories and requiring other programs to
interact with them.

This change makes rebar follow the standard of linuxes and unixes by
setting the permission flag to a+x, allowing users, the group and others
to execute it.
2012-07-10 10:42:41 +02:00
Eric B Merritt
ec3927f9b0 Fix eunit testing of apps that have no erl files
'Erlang' projects that do not contain any erlang files (Joxa, LFE,
Elixir, etc) break the eunit task. It attempts to copy an empty list
of source files to the .eunit directory. This change makes copying an
empty list a simple no-op.
2012-07-03 15:18:09 +02:00
Tuncer Ayaz
f5af9d6c21 Fix rebar_eunit whitespace issues 2012-07-02 19:23:25 +02:00
Tuncer Ayaz
9521d3fd86 Clean up rebar_utils exports 2012-07-02 19:13:11 +02:00
Tuncer Ayaz
df9b77633a Move erl_opts/1 and src_dirs/1 to proper place 2012-07-02 18:47:06 +02:00
Motiejus Jakštys
ad2f30ccb9 Fix cover crash if src_dirs is not default
Make sure files from erl_opts->src_dirs are copied to .eunit for cover
inspection.

Without this patch cover failed to find source files which were in
src_dirs, and threw the following exception:

ERROR: eunit failed while processing
/path/to/project:
{'EXIT',{{badmatch,{error,no_source_code_found}},
         [{rebar_eunit,'-cover_analyze/3-fun-0-',1,
                       [{file,"src/rebar_eunit.erl"},{line,280}]},
          {lists,foreach,2,[{file,"lists.erl"},{line,1262}]},
          {rebar_eunit,cover_analyze,3,
                       [{file,"src/rebar_eunit.erl"},{line,279}]},
          {rebar_eunit,eunit,2,[{file,"src/rebar_eunit.erl"},{line,140}]},
          {rebar_core,run_modules,4,[{file,"src/rebar_core.erl"},{line,425}]},
          {rebar_core,execute,5,[{file,"src/rebar_core.erl"},{line,359}]},
          {rebar_core,process_dir0,6,[{file,"src/rebar_core.erl"},{line,223}]},
          {rebar_core,process_dir,4,
                      [{file,"src/rebar_core.erl"},{line,130}]}]}}

Now all source files are copied to .eunit.
2012-07-02 18:46:00 +02:00
Motiejus Jakštys
394c0f43f8 Move erl_opts/1 and src_dirs/1 to rebar_utils.erl
These functions will be necessary in rebar_eunit.erl, too.
2012-07-02 18:46:00 +02:00
Tuncer Ayaz
fd0697239d Use lists:foreach because result is ignored 2012-06-30 23:17:22 +02:00
Tuncer Ayaz
385e3f09ba Decrease indentation in list-templates printout 2012-06-30 22:28:30 +02:00
Tuncer Ayaz
49f3cc4108 Fix crash introduced in 4414f65 via pull/245 2012-06-30 22:14:08 +02:00
Tuncer Ayaz
0c27fd4f7f rebar_templater: fix comment 2012-06-30 22:13:26 +02:00
Daniel Luna
d560ccda0d Use ~p for file:consult/1 {error, Reason} printout 2012-06-29 21:39:20 +02:00
Tuncer Ayaz
4e9e89bd0d Append os family to arch string 2012-06-23 22:05:43 +02:00
Tuncer Ayaz
c41fda6a2f rebar_utils: move internal fun to proper place 2012-06-23 22:00:38 +02:00
Evan Vigil-McClanahan
a78e6cd740 Add support for minimum OTP versions.
Since you can't really do math with regexps and it's a pain to
repeatedly update the config for each new version or erlang, I wanted
to add support for minium OTP versions.  This is a fix for
https://github.com/basho/riaknostic/issues/38
2012-06-21 14:44:51 -07:00
Tuncer Ayaz
4fc3e9bfb6 Add missing comment 2012-06-21 23:01:32 +02:00
Tuncer Ayaz
8bb62032a0 Update -c string 2012-06-21 21:28:34 +02:00
Tuncer Ayaz
e6165c7146 Fix #252 (Reported-by: Maxim-Vladimirsky) 2012-06-21 00:08:51 +02:00
Tuncer Ayaz
b9c6888883 rebar_ct: rename function for clarity 2012-06-21 00:06:40 +02:00
Yurin Slava
7bef458163 Add support for errors without line number 2012-06-18 12:09:58 +02:00
Tuncer Ayaz
3dce05314b Fix rebar_eunit comments 2012-06-18 00:55:51 +02:00
Tuncer Ayaz
c91250d2df Use [{File,Bin}, ...] in escriptize zip:create 2012-06-17 23:03:29 +02:00
Tuncer Ayaz
83879c22e1 Add missing escriptize comments 2012-06-17 22:57:33 +02:00
Tuncer Ayaz
0f961d86c6 Fix #247 (Reported-by: Uvarov Michael) 2012-06-17 16:11:59 +02:00
Tuncer Ayaz
d7037165fd Remove debug log 2012-06-15 19:42:11 +02:00
Tuncer Ayaz
e65455b6ef Simplify temp dir creation 2012-06-14 23:59:36 +02:00
Tuncer Ayaz
1e980859e2 Extend escriptize and reuse in bootstrap 2012-06-14 23:46:55 +02:00
Tuncer Ayaz
8fb552b73f Sync rebar_escripter with bootstrap escript 2012-06-14 23:46:55 +02:00
Tuncer Ayaz
c1a891ce33 Remove gratuitous lists:append/1 2012-06-12 23:40:42 +02:00
Tuncer Ayaz
8e66225e06 Fix error/warning newlines (Reported-by: Tim Watson) 2012-06-12 15:13:20 +02:00
Tuncer Ayaz
8a2274b8b4 Refactor shared error reporting code 2012-06-11 19:42:00 +02:00
Tuncer Ayaz
0716cf708c Add support for {Line,Column} in error reports 2012-06-11 19:42:00 +02:00
Tuncer Ayaz
c3fc279ff9 Manually format lfe errors/warnings 2012-06-11 19:42:00 +02:00
Tuncer Ayaz
658f4847a2 Report warnings as errors if -Werror is enabled 2012-06-11 19:41:51 +02:00
Tuncer Ayaz
dff60918cb Share format_errors/format_warnings functions 2012-06-11 19:40:59 +02:00
Tuncer Ayaz
4e64e0c675 Manually format port_compiler errors with absolute path 2012-06-11 19:40:59 +02:00
Tuncer Ayaz
4b9fcda7ab Manually format leex/yecc errors/warnings 2012-06-11 19:40:59 +02:00
Tuncer Ayaz
50fbabda68 Manually report errors/warnings with absolute path 2012-06-11 19:40:59 +02:00
Tuncer Ayaz
8d81b322ed Fix whitespace errors 2012-06-11 19:33:16 +02:00
hirschen
4414f6548a List substitution variable names in 'list-templates' command. 2012-06-11 15:01:12 +02:00
Tuncer Ayaz
b1d06a4d14 Fix unsafe use of var 2012-06-08 22:14:32 +02:00
Tuncer Ayaz
8a046d898a Fix whitespace errors 2012-06-08 21:56:18 +02:00
Dave Smith
9ec6f37444 Merge pull request #230 from hyperthunk/ct-name
Support ct_run using short name
2012-06-08 07:11:00 -07:00
Dave Cottlehuber
83509e9982 Windows: add native SDK support
- compatible with rebar 2.0.0
2012-06-08 15:47:39 +02:00
Dave Smith
a7d64deb43 Introduce -k flag 2012-06-08 07:06:15 -06:00
Dave Smith
ebdb25c5cc Use delayed_halt everywhere 2012-06-08 07:06:15 -06:00
Dave Smith
c86c99940d Remove ?FAIL in favor of ?ABORT 2012-06-08 07:06:15 -06:00
Tuncer Ayaz
c122eeec75 Fix whitespace errors 2012-06-07 15:34:36 +02:00
Dave Smith
2f0e545ce0 Prefer edoc-info as determining file; overview-summary.html may not
always be generated
2012-06-06 11:56:49 -06:00
Dave Smith
81112cbd07 Only regenerate edocs if a source file is newer than
overview-summary.html
2012-06-06 10:00:56 -06:00
Dave Smith
0f24d93256 Move to major.minor.patch release version; add OTP build version
version info
2012-06-04 08:46:17 -06:00
Tuncer Ayaz
f7d9a9bf8b Fix whitespace errors 2012-06-01 11:45:56 +02:00
Yurin Slava
e4bc95500c Fix #232 (rebar_reltool:mk_target_dir) 2012-06-01 11:38:23 +02:00
Tim Watson
bebd9d2ae6 Support ct_run using short name
Not every system under test can be run with long names, and this makes
rebar's common_test support useless in those environments, as it
currently uses long names (test@hostname.domain) by default, without
recourse to change them.

This patch adds support for a {ct_use_short_names, boolean()} config
variable, which allows the user to specify whether short or long names
are required.
2012-05-22 15:50:26 +01:00
Tuncer Ayaz
15d1c275f8 Simplify and fix check if enter/leaving should be printed 2012-05-18 20:14:33 +02:00
Tuncer Ayaz
4f6ea2fd11 Do not print entering/leaving message if skip_dir 2012-05-18 19:56:02 +02:00
Tuncer Ayaz
635d1a9456 Fix file extension bug (Reported-by: Tony Rogvall) 2012-05-14 22:26:42 +02:00
Nick Vatamaniuc
8d82330802 Add rsync as another option to fetch dependencies
Newly added syntax:

{deps, [ {<depname>, ".*", {rsync, "<rsync_url>"}}, ... ]}

Where rsync_url is any URL accepted by the rsync command.
2012-05-14 10:04:41 +02:00
Tuncer Ayaz
32ddef7158 Remove alt_url support in favor of new features 2012-05-13 19:30:38 +02:00
Tuncer Ayaz
e6d5a494b0 Clarify use of git describe 2012-05-11 23:57:38 +02:00
Tuncer Ayaz
dc472bd958 Do not use inherited port options 2012-04-23 23:14:03 +02:00
Tuncer Ayaz
b2fdce8879 Use dict() instead of proplist() for shared env 2012-04-23 23:13:55 +02:00
Ulf Wiger
afffb4895a Use correct value for file:script SCRIPT binding 2012-04-17 20:36:03 +02:00
Tuncer Ayaz
9c1a877bbe Remove gratuitous blank line 2012-04-17 19:15:47 +02:00
Ulf Wiger
c3c64c1d70 Fix file:script support 2012-04-17 00:14:33 +02:00
Tuncer Ayaz
7c418ed2b4 Add support for target-specific port options
{port_specs, [{".*", "priv/foo.so", ["c_src/foo.c"], [{env, []}]}]}.
2012-04-16 23:17:24 +02:00
Ulf Wiger
b3e9e76f57 Use file:script if a .config.script file present 2012-04-16 22:44:48 +02:00
Tuncer Ayaz
fc83f4b961 Apply Tidier suggestion 2012-04-16 22:09:20 +02:00
Tuncer Ayaz
aeb3081111 Update getopt.erl 2012-04-16 18:02:48 +02:00
Tuncer Ayaz
0e7defaf64 Fix typo in comment (thanks Michael Santos) 2012-04-16 17:42:48 +02:00
Tuncer Ayaz
7864b81e2d Update getopt.erl 2012-04-09 14:36:05 +02:00
Tuncer Ayaz
ae178b851b Fix #209 (Reported-by: Bjorn Bylander)
Use correct ERL_LIBS separator on Windows.
2012-04-04 17:44:36 +02:00
Tuncer Ayaz
4a9dae76a4 Fix #197 by printing 'Entering/Leaving directory' 2012-04-03 20:54:34 +02:00
Amit Kapoor
63f1b1d9d5 Use lists:member/2 to check xref results 2012-04-02 19:14:37 +02:00
Amit Kapoor
0191806f92 Add support for custom xref queries
The custom queries are configured in rebar.config via the tuple
{xref_queries, [{query(), query_result()},...]}.  The implementation
passes the query() string to xref:q and compares the return value with
query_result(). It will result in an error if they do not match.

The following configuration, for example, is the same as running the
xref check undefined_function_calls. It additionally filters
ejabberd_logger:*_msg/4 from the result as these functions are generated
on execution by ejabberd and not available at compile time.

{xref_queries, [{"(XC - UC) || (XU - X - B -
                 (\"ejabberd_logger\":\".*_msg\"/\"4\"))",[]}]}.

This patch also modifies the build process of this package by running a
custom query instead of doing a diff against a static xref_warning file.
2012-04-02 19:14:37 +02:00
Tuncer Ayaz
7bd8cbd8d9 Make error message more descriptive 2012-03-31 19:21:41 +02:00
Adam Schepis
03a026f38f Add support for alternate dependency urls
This change adds the ability to use alternate urls for downloading
dependencies. To make use of alternate urls run:
rebar get-deps alt_urls=true
2012-03-31 19:21:25 +02:00
Ali Yakout
e0d9ca0773 asn1_compiler: only move hrl file if it exists 2012-03-30 16:58:07 +02:00
Tuncer Ayaz
3f14c1c092 Skip erlang:halt/1 workaround if >=R15B01 2012-03-27 14:19:54 +02:00
Tuncer Ayaz
b6fadef5d3 Fix whitespace errors 2012-03-18 18:51:08 +01:00
Loïc Hoguin
2c37270f52 Fix badarg crashes on missing dependency errors 2012-03-18 18:46:04 +01:00