Commit graph

1627 commits

Author SHA1 Message Date
joewilliams
fb8732085e Better code path handling during upgrades
While building a upgrade package rebar will add new paths to the
internal erlang path, these paths and their order have effects on how
the package is built. This patch should fix some corner cases where a
user can receive a "undefined application" error.
2011-10-17 18:40:45 -07:00
joewilliams
644bb0a312 Copy sys.config into upgrade tarball
While building an upgrade the sys.config file should be copied into the
upgrade tarball so release_handler:install_releases/1 does not clobber
the existing configuration from the application environment.
2011-10-17 14:53:27 -07:00
joewilliams
f82028a544 More descriptive logging for upgrade systools cmds
In debugging upgrade issues it is sometimes difficult to know which
systools step a error ocurred at, a little extra logging to fix that.
2011-10-15 10:24:40 -07:00
Jon Meredith
5775746758 Remove modules that fail coverage from the list 2011-10-14 17:10:11 +02:00
Tim Watson
6dfcd8b9f2 Support for custom version commands
This patch adds support for customising the way in which rebar generates
version numbers for app.src files using the `{vsn,Spec}` approach.
Whilst the existing `{vsn,ScmName::atom()}` syntax will continue to
work, users can also pass `{vsn,{cmd,Cmd::string()}}` in which
case the provided *command* will be used. For example:

```erlang
{application, doodah,
 [
  {vsn, {cmd, "git rev-parse --short HEAD"}}]}.
```
2011-10-11 11:23:23 +02:00
Tuncer Ayaz
5a0aa04b20 Cleanup deprecations now that R14B04 is released 2011-10-06 17:06:08 +02:00
joewilliams
b7bcf5528b Handle vm.args properly while building upgrades
This patch corrects the vm.args behavior while building upgrade tarballs
by copying the file from the release into the upgrade. Additionally it
patches the dummy runner script in the upgrade test project to work
properly.
2011-10-05 20:23:07 -07:00
Tim Watson
30d1cdb31b Fix config handling in root_dir
Avoid overwriting custom config (passed with -C) when we are processing
the base_dir in rebar_core.
2011-10-05 13:49:27 +02:00
Joe Williams
0279cb2fb9 Merge pull request #139 from Mistagrooves/syntax_errors_start_erl_batch
@ characters causes windows start_erl error
2011-09-26 08:02:56 -07:00
Mistagrooves
8549db72d4 @ characters before elses were causing the script to not run 2011-09-26 10:37:23 -04:00
Joe Williams
4ddfb3d235 Merge pull request #135 from mokele/runner-vm-args-fix
fix vm.args checks by always using $VMARGS_PATH
2011-09-21 08:27:02 -07:00
Steven Gravell
fbd26143bb fix vm.args checks by always using $VMARGS_PATH 2011-09-21 16:09:56 +01:00
Matt Campbell
9bf31b7389 Update Windows runner script usage blurb 2011-09-20 19:45:52 +02:00
Joe Williams
6656ead035 Merge pull request #133 from joewilliams/sysconfig1
Get rid of app.config
2011-09-20 09:52:59 -07:00
joewilliams
cb5056b2e3 Get rid of app.config
app.config has been a long standing erroneous file in rebar. Erlang/OTP
documentation suggests a sys.config file instead. This file is stored in
the releases/VSN directory. This does a few things but most importantly
it ensures your config (contained in the application environment)
survives a hot upgrade. It also has the advantage of allowing the
configuration of the application to be versioned along side the
application code. This patch flips rebar to use sys.config rather than
app.config.

Additionally it makes this flip to vm.args as well, making them
versioned just like sys.config.

This patch also includes runner script changes to support the old
etc/app.config config file location and support for Windows.

Thanks to mokele for the initial work and kick in the pants to make this
finially happen.
2011-09-20 09:44:41 -07:00
Matt Campbell
5998c6c721 Add console command to windows runner script 2011-09-20 17:26:39 +02:00
Tim Watson
36a40d3351 Fix missing plugin warnings
This patch fixes the warning logging when the number of missing plugins
is greater than one. The current code only works by accident, when a
single plugin is all that is missing.
2011-09-20 13:15:03 +02:00
Tuncer Ayaz
fa1bbc6702 Fix regressions in rebar_file_utils 2011-09-15 18:39:14 +02:00
Tuncer Ayaz
317eeb72e0 Fix Dialyzer warning 2011-09-08 22:54:44 +02:00
Tuncer Ayaz
1cb1ae238a Fix regression in rebar_file_utils:cp_r/2 2011-09-04 23:04:55 +02:00
Tuncer Ayaz
6f3f234d34 Update Dialyzer options 2011-09-04 20:13:25 +02:00
Tuncer Ayaz
87d3fb5ae3 Update README 2011-09-04 14:11:51 +02:00
Tuncer Ayaz
613ae36d81 Add Jan Vincent Liwanag to THANKS file 2011-09-04 14:11:51 +02:00
Jan Vincent Liwanag
f16ebd13dc Move asn1 generated *.hrl to include 2011-09-04 14:11:50 +02:00
Tuncer Ayaz
e7ea53f724 Update README 2011-09-04 11:56:11 +02:00
Tuncer Ayaz
6a2fb52277 Fix spec for rebar_file_utils:rm_rf/1 2011-09-02 19:51:48 +02:00
Tuncer Ayaz
c2a5d286f0 Add check target to Makefile 2011-09-02 19:51:18 +02:00
Jan Klötzke
3fa6f6ab7c Quote paths before passing them to the shell 2011-09-02 19:40:30 +02:00
Tuncer Ayaz
3ceabfa47c Update THANKS file 2011-09-02 19:21:11 +02:00
Anton Lavrik
7b90cc4707 Export $REBAR_DEPS_DIR and $ERL_LIBS variables
Export two extra environment variables when executing shell commands.
These variables are useful for rebar hooks that rely on Erlang
applications installed as rebar dependencies.

$REBAR_DEPS_DIR contains a fully-qualified name of the directory where
rebar stores dependencies.

$ERL_LIBS is set to $REBAR_DEPS_DIR or to "$REBAR_DEPS_DIR:$ERL_LIBS",
if $ERL_LIBS was defined before.
2011-09-02 19:21:11 +02:00
Ignas Vyšniauskas
ed94237dde Ensure include dir exists in compile_mib/3 2011-09-02 17:53:55 +02:00
Tuncer Ayaz
c3a4ed292e Clean up and fix vcs functions and logging 2011-09-02 14:54:08 +02:00
Tuncer Ayaz
a337939e7a Add Ben Ellis to THANKS file 2011-09-01 22:30:21 +02:00
Ben Ellis
3ef7db59cb Add support for checking out specific git commit 2011-09-01 22:29:55 +02:00
Tuncer Ayaz
8997fe8bca Update THANKS file 2011-09-01 20:31:50 +02:00
Ben
9abc294947 Clean up windows batch scripts 2011-09-01 20:31:50 +02:00
Matt Campbell
a58f2c91e3 Add simple Windows batch scripts to node templates 2011-09-01 20:23:54 +02:00
Tuncer Ayaz
3e946a7d5c Fix cover_init call to use correct module list 2011-09-01 20:17:43 +02:00
Joseph Wayne Norton
b6f575c7fe Keep *_tests not automatically included by eunit 2011-09-01 19:23:46 +02:00
Tuncer Ayaz
0741157a11 Fix misspelling of accommodate 2011-08-31 15:29:23 +02:00
Tuncer Ayaz
475daf2c4a Comment git vsn cmd changes 2011-08-29 20:02:03 +02:00
Tuncer Ayaz
93128f2f6b Search plugin sources in base_dir and plugin_dir 2011-08-29 17:27:45 +02:00
Tuncer Ayaz
00b3d9d3cc Only compile relevant plugin sources 2011-08-29 17:27:45 +02:00
Tuncer Ayaz
4fe651cb5b Simplify check for empty list 2011-08-29 17:27:45 +02:00
Tim Watson
3b58935b86 Load plugins dynamically from source
This patch updates rebar_core to look for missing plugins (i.e. those
that aren't found on the code path at runtime) in a configurable
plugin directory, and dynamically compile and load them at runtime.

By default, the directory "plugins" is searched, although this can be
overriden by setting the plugin_dir in your rebar.config.
2011-08-29 17:27:45 +02:00
Tuncer Ayaz
7a1c88228b Add Alfonso De Gregorio to THANKS file 2011-08-28 14:02:42 +02:00
Alfonso De Gregorio
6f76d14499 Fix R13 compatibility (auto imported monitor/2) 2011-08-28 14:00:04 +02:00
Tuncer Ayaz
6254b341d6 Add Yurii Rashkovskii to THANKS file 2011-08-27 15:47:52 +02:00
Tuncer Ayaz
a53fc2d8f5 Document git vsn cmd and fix formatting 2011-08-27 15:45:50 +02:00
Yurii Rashkovskii
15b7798e46 Add precise git versioning of multiple apps
Allows using tools like git-subtree and still maintaining proper
git-based vsns for those "imported" subtrees. Also helps understanding
what was the last change introduced to a specific application within a
multi-application repository (at this moment, all applications that
reside in the same repository, will share the same autogenerated git
vsn)
2011-08-27 15:38:54 +02:00