Commit graph

1054 commits

Author SHA1 Message Date
Tuncer Ayaz
1d20be707f Document recursive_cmds in -r help string as well
{recursive_cmds, []} was already documented as part of the core
rebar.config options that gets printed via 'rebar -h', but this wasn't
sufficiently informative.  To fix this, explain the use of
recursive_cmds as part of the -r help string.

Reported-by: Stefan Strigler
2015-01-14 20:23:05 +01:00
Tuncer Ayaz
838776326b Fix #415 (reltool vsn check)
* Refactor reltool version check to use vsn app key if ebin/reltool.app
  exists.

  OTP releases prior to R14 didn't install the app file, so we still
  have to support getting the version string from the lib_dir path. If
  you're using an R13B03 or R13B04 install that doesn't have version
  strings in lib_dir paths (lib/reltool vs lib/reltool-0.5.3), we won't
  be able to retrieve the version string. Given R13's age and that it's
  unusual to have vsn-less lib_dir paths, this shouldn't be a problem.

* While at it, delete trailing white space.
2014-12-30 21:38:41 +01:00
Fred Hebert
b8e0018782 Merge pull request #413 from tomas-abrahamsson/undo-386-merge
Revert "Merge pull request #386 ... gpb-recompilation...detection"
2014-12-30 13:27:02 -05:00
Tomas Abrahamsson
a7b7205d07 Revert "Merge pull request #386 from tomas-abrahamsson/gpb-recompilation-detection"
This reverts commit 81063d33f0, reversing
changes made to 6584defdda.

This was reverted because it changed the gpb compiler to
not use rebar_base_compiler.  That change was to add support for
target name prefixes, but it is better to add that support to
rebar_base_compiler.
2014-12-23 16:28:23 +01:00
Igor Savchuk
d5d691d7f7 Fix app.config argument passing when using ct_run (take 2)
ct_run has changed its config key from -ct_config to -config,
thus, -config key, used to specify app.config now must be
placed after -erl_args
2014-12-22 21:36:41 +03:00
Fred Hebert
94d568ad0e Merge branch 'fix_format_source' of https://github.com/irpab/rebar into irpab-fix_format_source
Conflicts:
	THANKS
2014-12-21 15:35:13 -05:00
Fred Hebert
ae7a7aae18 Revert "Merge branch 'kittee-ct_appconfig_fix'"
This reverts commit 3c0f420c2a, reversing
changes made to 8f64e13184.
2014-12-21 15:25:00 -05:00
Fred Hebert
440d73825b Merge branch 'ct_appconfig_fix' of https://github.com/kittee/rebar into kittee-ct_appconfig_fix
Conflicts:
	THANKS
2014-12-21 15:17:03 -05:00
Fred Hebert
8f64e13184 Merge pull request #408 from lrascao/fix/remove_duplicate_console_message
Fix/remove duplicate console message
2014-12-21 15:03:27 -05:00
Fred Hebert
81063d33f0 Merge pull request #386 from tomas-abrahamsson/gpb-recompilation-detection
Recompile .proto files with gpb also with prefix/suffix
2014-12-21 15:03:05 -05:00
Fred Hebert
6584defdda Merge pull request #406 from stwind/master
Fix deps path check in rebar_ct:collect_glob/3
2014-12-21 15:02:39 -05:00
Luis Rascao
5bb7b2963f gpb_compiler: remove duplicate compiling message
It's unnecessary to print "Compiling..." since base_compiler already prints a
message to the effect.
2014-12-21 16:08:04 +00:00
Fred Hebert
3900724cec Remove no longer valid comment 2014-12-16 13:03:44 -05:00
Fred Hebert
ede6666961 Merge branch 'fix-dtl-target-path' of https://github.com/coolchevy/rebar into coolchevy-fix-dtl-target-path 2014-12-16 12:49:47 -05:00
stwind
a83c80d4c0 Fix deps path check in rebar_ct:collect_glob/3
Since rebar_deps:get_deps_dir/1 returns an absolute path,
lists:member(Deps, Parts2) will always return false, thus .test.spec
files in deps/ will not be ignored.
2014-12-11 11:59:40 +08:00
Tuncer Ayaz
39ab4e13fb Generate cachegrind file if erlgrind is available 2014-12-08 23:09:20 +01:00
Fred Hebert
01ef314951 Merge pull request #404 from tuncer/consistent-export-attributes
Consistently format export attributes
2014-12-04 10:51:48 -05:00
Tuncer Ayaz
c7a611d22d Consistently format export attributes 2014-12-03 23:25:46 +01:00
Vlad Dumitrescu
7d55c9986f Fix detection and processing of .app.src.script
Loading .app, .app.src or .app.src.script returns now the value as per
the documentation (was wrapped in a list in some cases).

More places in the code detect .app.src.script and handle it.
2014-12-03 18:39:17 +01:00
Vitalii Kulchevych
34a713d88a fix target dir without subdir for erlydtl templates 2014-12-02 16:51:36 +02:00
Tuncer Ayaz
b44b4f4199 Fix detection of .app.src.script (Reported-by: Vlad Dumitrescu)
rebar_app_utils:is_app_dir/1 failed to search for .app.src.script when
looking for an app file in src/.

While at it, fix inconsistent module export list.
2014-12-02 10:00:50 +01:00
Igor Savchuk
bc46b501d0 Fix app.config argument passing when using ct_run
ct_run has changed its config key from -ct_config to -config,
thus, -config key, used to specify app.config now must be
placed after -erl_args
2014-11-28 16:48:47 +03:00
Fred Hebert
d42ed46835 Normalize log level as WARN to ERROR in new patch 2014-11-27 15:34:52 -05:00
Tuncer Ayaz
a4c5f3357f Treat vsn mismatch as warning if -k/--keep-going
Fixes #319.
2014-11-25 18:44:21 +01:00
Fred Hebert
c54d496030 Additional fixes and modification
- Updating documentation to be more accurate
- Style fixes
- More precise error messages
2014-11-21 10:11:13 -05:00
Fred Hebert
b41086ba98 Merge branch 'fix_upgrade_error' of https://github.com/terrencehan/rebar into terrencehan-fix_upgrade_error 2014-11-21 09:59:46 -05:00
Fred Hebert
4ba8f74787 Revert "Merge branch 'platinumthinker-color_in_logs'"
This reverts commit 49930fe566, reversing
changes made to 6e6b0fd43f.
2014-11-21 09:57:49 -05:00
Fred Hebert
733d3771fa Merge branch 'color_in_logs' of https://github.com/platinumthinker/rebar into platinumthinker-color_in_logs
Conflicts:
	THANKS
2014-11-21 09:46:10 -05:00
Andrey Teplyashin
cc3f54b008 Fix verbose level in global rebar config
Replace application:set_env on erlang:put
2014-11-20 00:22:26 +06:00
Andrey Teplyashin
c01cf5902b Add colored logs 2014-11-19 23:44:55 +06:00
Tomas Abrahamsson
51b34a6e52 Recompile .proto files with gpb also with prefix/suffix
For protocol buffer files, when there were gpb options to alter the
module name with prefix or suffix, recompilation was not properly
detected. This is now fixed. (Issue #384).

Properly detecting change meant moving from rebar_base_compiler, so it
also meant processing protocol buffer files in sequence instead of in
parallel.
2014-11-05 00:31:52 +01:00
Tuncer Ayaz
3cae9d83cd Fix Dialyzer warning introduced in 0caf047f 2014-11-03 20:39:19 +01:00
Fred Hebert
17e0b14d1d Merge pull request #203 from tomas-abrahamsson/pluggable-proto-compilers-gpb
Pluggable proto compilers gpb
2014-10-31 09:32:13 -04:00
Tomas Abrahamsson
1b367a8b24 Add support for compiling proto files using gpb
This adds the config option {proto_compiler,gpb} for selecting gpb
as the compiler for protocol buffer files. When gpb is used as
compiler, it reads the gpb_opts config item for options.
2014-10-29 23:45:35 +01:00
Tomas Abrahamsson
0caf047fc3 Introduce pluggable protocol buffer compilers
Make it possible for plug in alternative protocol buffer compilers.
The compilers are picked up based on if they export all of the
functions key/0, proto_compile/3, proto_clean/3 and proto_info/2.
The set of compiler modules to choose from, is fetched from the rebar
application environment, from the app_dir modules.

A new config option, {proto_compiler,Compiler}, specifies which of
the available protocol buffer compilers to use. The 'protobuffs'
compiler is now one such compiler (the only one), and it is also the
default, for backwards compatibility.
2014-10-29 23:45:35 +01:00
Tuncer Ayaz
631d74c00f Implement eflame -p/--profile support
When -p/--profile is enabled, you can select the profiler as follows:

generate flame graph (eflame.svg) from trace (eflame.trace)
$ rebar -p compile profiler=eflame

generate fprof.analysis
$ rebar -p compile

generate fprof.analysis
$ rebar -p compile profiler=fprof
2014-10-29 19:24:58 +01:00
Pavel Baturko
5d89a93db2 deps: add new clause of format_source function
Function format_source in rebar_deps.erl will fail on sources
like {rsync, Path} or {hg, URL} in rebar.config.
Add new function clause to match such source types.
2014-10-24 09:47:23 +04:00
Pavel Baturko
dfc3cc5ad2 Skip check for ebin directory when building edoc
edoc target fails if ebin directory does not exist.
ebin directory is not necessary for building edoc.
Skip check that ebin directory exist.
2014-10-24 00:40:50 +04:00
Fred Hebert
6f7e70edee Fix cover print truncation when coverage is 100%
When the option {cover_print_enabled, true} is set and that the code
coverage is 100%, the '%' will end up being truncated.

This patch makes it so that the truncation happens at 4 a characters
width so that instead of the following printouts:

    some_mod  : 99%
    some_other: 100

We instead show:

    some_mod  :  99%
    some_other: 100%

This solves issue #331 as reported by @lispking and @NineFX.
2014-10-16 12:00:54 -04:00
Adam Lindberg
ec6ff3597d Escape more characters in path (fix #367) 2014-10-14 12:29:40 +02:00
Fred Hebert
d5e3b4329c Merge pull request #293 from liskin/port-deps
Check C source dependencies in needs_compile
2014-09-11 09:53:30 -07:00
Evan Vigil-McClanahan
ba466e2d38 Manually clean up paths
Using code:set_path/1 with very large paths is very slow on larger
projects.  On my mid-sized project, it seems to take around .4s per
call.  Emulating the call with direct path removal (using
code:del_path/1) seems to be quite a lot faster.
2014-08-18 13:56:19 -07:00
Tuncer Ayaz
3fb4a7c540 Fix OS X resource fork handling (Reported-by: Richard O'Keefe)
If you happen to fetch a zip archive of the git repo and try to build
from that, you may, for example, ask erlc to build src/._rebar.erl.
._* are OS X resource forks and not real .erl files. This may also
happen with network filesystems on OS X. To fix that, limit the
files compiled by rebar to include only those which start with
a letter or a digit.
2014-07-25 20:52:30 +02:00
Tuncer Ayaz
e9fcd11ccc Remove experimental label from 'eunit tests=' 2014-07-18 18:54:18 +02:00
Tuncer Ayaz
38934da869 Follow-up typo fixes for #327 2014-07-17 22:20:51 +02:00
Tuncer Ayaz
9b060f2de9 rebar_utils:otp_release/0: handle vsn like x.y.z**
As mentioned in the OTP documentation, licensed customers may use
patched OTP installations where the otp_patch_apply tool adds a '**'
suffix as a flag saying the system consists of application versions from
multiple OTP versions. When we get such a version string, we drop the
suffix, as we cannot obtain relevant information from it as far as
tooling is concerned.
2014-07-17 21:18:43 +02:00
Tuncer Ayaz
873d236ce9 Adapt arch string to versioning scheme changes (>= 17.x) 2014-07-17 18:53:58 +02:00
Tuncer Ayaz
6f60256138 Fix minor whitespace and comment issues in rebar_utils 2014-07-17 18:49:57 +02:00
Fred Hebert
8b6a2a8c74 Merge branch 'minor-fixes' of https://github.com/tuncer/rebar into tuncer-minor-fixes 2014-07-15 08:45:36 -04:00
Fred Hebert
3824b52b89 Merge pull request #316 from talentdeficit/rebar_shell_314
fix for #314 (rebar shell somehow blocks using io:format in gen_server handle_call)
2014-07-15 08:21:27 -04:00