Commit graph

856 commits

Author SHA1 Message Date
Andrew Thompson
e74de95eeb Address review comments and add inttest for update-deps 2013-09-30 16:57:50 -04:00
Andrew Thompson
eae26a5c43 Fix skip check for deps not present 2013-09-24 12:07:41 -04:00
Andrew Thompson
d9aa65f118 Make update-deps honor apps= and skip_apps=
Because rebar_core handles skipping apps, we had to specialcase the
handling in the case of update-deps because it has to do its own dep
handling. The way this was done is not particularly clean, but there
currently does not exist another way for a command to signal rebar_core
that it doesn't want rebar_core to pay attention to skip_apps.

With this change, however, you can update-deps even with local
conflicting changes/commits by simply skipping the deps you don't wish
to update, or whitelisting he ones you do wish to update.
2013-09-23 15:19:51 -04:00
Andrew Thompson
f46e7b2e5c Change how update-deps updates a git branch
Previously, update-deps on a dep tagged as {branch, ...} would do the
following:

  git fetch
  git checkout -q origin/<branch>

If you were already on that branch, the repo would end up in detached
head state. This is kind of annoying if you're doing local development.

This patch changes the behaviour to be

  git fetch
  git checkout -q <branch>
  git pull --ff-only --no-rebase -q <branch>

The intent of this is to move the branch's HEAD forward to match
upstream without destroying any local commits or changes, and without
accidentally causing merges or rebases. It will fail if the operation
can not be performed without losing history, merging or rebasing.

The previous behaviour has been around a very long time:

064195dc5a (L0R308)

It also exactly mirrors the download_source case, which is not really
true. With git tags and SHAs, one can assume that they don't change, but
branches move all the time.
2013-09-23 15:13:26 -04:00
Andrew Thompson
0977d58361 Ignore skip_deps during update-deps as it has no meaning 2013-09-23 15:11:11 -04:00
Andrew Thompson
cb4599f828 Make update-deps traverse deps breadth-first, top-down
This ensures that deps of deps are updated AFTER the dep listing them
is, so that a complicated project with many layers of deps will be
updated correctly. Any new deps encountered along the way are also
cloned, and THEIR deps are also evaluated.

Also added was conflict detection, if a dep has differing versions or
source information, inherited from different places, that will be logged
at the end of update-deps, along with the origin of each conflicting
dep.
2013-09-20 01:24:07 -04:00
Dave Smith
620c4b01c6 Use REBAR_DEPS_DIR if set as location of DEPS dir 2013-07-02 10:59:26 -06:00
Dave Smith
d3c7be265d Merge pull request #108 from tuncer/dialyzer
dialyzer_reference plus one minor patch
2013-06-29 06:28:35 -07:00
Tuncer Ayaz
bd3338a0a7 Document 'rebar help <CMD1> <CMD2>' 2013-06-29 15:10:23 +02:00
Tuncer Ayaz
2faabf460d rebar_deps: fix overlong line introduced in 0b83339 2013-06-27 21:02:16 +02:00
Dave Smith
96c7bd7338 Make sure to run ct_run w/ -noshell 2013-06-25 16:33:34 -06:00
Dave Smith
9cf7cf7cb0 Use ct_run if available; fixes strange issues with getting erl/ct to stop 2013-06-25 15:59:19 -06:00
Dave Smith
490d00f0d6 Adding debug statements closer to open_port 2013-06-25 15:59:05 -06:00
Dave Smith
4b642bf916 Merge pull request #41 from exterm/cover_html_validity
change cover html generation to produce valid html
2013-06-25 05:57:55 -07:00
Tuncer Ayaz
09cd4e9be2 rebar_xref: regression fixes and updates for a5be40c96
- restore support for "rebar help xref"
- update rebar.config.sample
- update 'help xref' string
- simplify new/changed functions by breaking out code or
  using simpler syntax where applicable
2013-06-24 21:46:24 +02:00
Tuncer Ayaz
bdf957b201 rebar_core: fix consistency issues caused by 252b31f
- refactor plugin dirs code to be simpler and easier to read
- use erlang-mode's default (%%) comments for portability/consistency
- make sure erlang-mode's indenter is used so that a future whole
  buffer indent doesn't get messed up
2013-06-24 21:46:24 +02:00
Tuncer Ayaz
edd835510b rebar_ct: fix Dialyzer warning caused by bcc57e9b
Also fix a single line exceeding max column.
2013-06-24 21:46:24 +02:00
Dave Thomas
091405bce7 Fix crsh with Unicode in environment vars 2013-06-23 20:30:38 -05:00
Dave Thomas
dd277fd01a Fix crash when env vars contain utf8 chars 2013-06-22 21:41:04 -05:00
Dave Thomas
934ec7fdef Add one more "unicode" option in expand_env_variable—I have a bullet in my prompt that was blowing it up 2013-06-21 23:40:32 -05:00
Juan Jose Comellas
d4164c9606 When expanding lib_dirs, don't crash with 'volumerelative' paths 2013-06-18 19:19:41 -03:00
Juan Jose Comellas
708c190faa Allow the use of absolute paths in the lib_dirs configuration setting 2013-06-18 18:03:30 -03:00
Dave Smith
a5be40c969 Merge branch 'xref_20130130' of git://github.com/spilgames/rebar into spg-xref
Conflicts:
	src/rebar_xref.erl
2013-06-17 16:31:09 -06:00
Dave Smith
d3c125de27 Merge pull request #47 from uwiger/master
rebar_eunit:reset_after_eunit/1 mustn't remove 'included_applications'
2013-06-17 15:21:11 -07:00
José Valim
e467642476 External deps_dir should have higher priority than the config one
The external deps_dir should have higher priority because
it is used by scripts and other build tools to set up the
location of the dependencies. This commit ensures that,
even if a project has set deps_dir in its config file has
lower preference than the command line one.
2013-06-18 00:28:52 +03:00
Philip Mueller
c79314593d remove superfluous string concat operator usage 2013-06-16 16:15:14 +02:00
Dave Smith
16eed82ae4 Merge pull request #60 from jcomellas/jc-getopt-0.7.0
Add latest version getopt that automatically wraps usage output lines
2013-06-16 06:24:37 -07:00
Dave Smith
baf2655343 Merge pull request #44 from nevar/fix_neotoma
Correct ext of neotoma output file
2013-06-16 06:21:59 -07:00
Dave Smith
2f4de5359c Merge pull request #37 from nox/force-registered
Ensure we always have a `registered` value in `.app` files
2013-06-16 06:14:48 -07:00
Dave Smith
76405da6d7 Merge pull request #24 from legoscia/master
Allow specifying eunit suite run order in 'suites'
2013-06-16 06:07:55 -07:00
Dave Smith
547552b5c2 Merge pull request #74 from DeadZen/dz-merged-overlay
Implement merged overlays
2013-06-14 05:52:42 -07:00
Dave Smith
6cd982c897 Merge pull request #75 from rpt/master
Support for QuickCheck Mini
2013-06-12 06:18:16 -07:00
Dave Smith
638569acc2 Merge pull request #90 from Motiejus/dep_plugin
Fix searching for plugins
2013-05-21 05:22:43 -07:00
Motiejus Jakštys
252b31f2a4 Fix searching for plugins
If a plugin is in a dependency, rebar didn't search for it carefully
enough.
2013-05-19 16:33:29 +03:00
Dave Smith
ae3323728f Merge branch 'master' of git://github.com/ferd/rebar into ferd-master 2013-05-15 10:07:02 -06:00
Jeremie Lasalle Ratelle
c2fae0ca5c Add rebar-deps env to port compiler SharedEnv
REBAR_DEPS_DIR is often needed when a nif needs to be linked with a raw
dependency.
2013-05-06 11:15:06 -04:00
Fred Hebert
bcc57e9b04 Handle ct_run exit codes in R15B02 and later
Since R15B02, ct_run returns a non-zero exit code when some tests
failed or were auto-skipped. (See ticket OTP-9865.)

This fix makes it so a non-0 code doesn't cause an instant failure, but
still prompts for log verification before doing so. Given the behaviour
was acceptable for pre-R15B02, it should be valid with it with
post-R15B02.

The fix should also be backwards compatible.
2013-04-18 22:45:46 -04:00
mats cronqvist
63a69af04b More error logging
rebar throws away some error messages, e.g. the ones generated if the yecc compiler is broken.
2013-04-12 21:21:53 +03:00
Pedram Nimreezi
df7cfba71f Implement merged overlays
This allows overlay_vars to merge comma delimited var config files
2013-03-26 05:23:47 -04:00
Krzysztof Rutka
5dfb6d6351 Add support for QuickCheck Mini 2013-03-25 09:30:46 +01:00
Dave Smith
a9cb38e6d1 Merge pull request #68 from nevar/fix_unicode_promt
Fix unicode
2013-03-04 06:49:32 -08:00
Dave Smith
c77f8e13ca Fix missing call to cwd_predirs 2013-03-02 08:25:28 -07:00
Dave Smith
21038d537c Merge pull request #38 from tuncer/fix-sub_dir-association
rebar_core: fix sub dir association
2013-03-02 07:04:41 -08:00
Tuncer Ayaz
dc2f5c8c7b Update rebar repo urls 2013-03-02 14:16:33 +01:00
Tuncer Ayaz
1036277525 rebar_core: fix broken indentation 2013-02-26 18:24:50 +01:00
Tuncer Ayaz
9715c40386 rebar_core: remove useless return after ?ABORT call 2013-02-26 18:24:50 +01:00
Tuncer Ayaz
2b9241bd2b rebar_core: document pre-dirs association 2013-02-26 18:24:50 +01:00
Dave Smith
e36b9c1bff Merge pull request #59 from Vagabond/adt-read-lists-from-files
Support reading mustache 'lists' from files
2013-02-26 07:23:26 -08:00
Slava Yurin
fb77295a1f Fix handling of Unicode characters in env vars 2013-02-18 14:20:27 +07:00
Andrew Thompson
ee8919420d Support reading mustache 'lists' from files
This commit add support for reading mustache 'lists' from files, so you
can use the list section functionality when templating things.

An example of the list syntax is as follows:

{package_commands, {list, [[{name, "riak"}], [{name, "riak-admin"}], [{name, "search-cmd"}]]}}.

Then you can, for each of the list elements, render some text:

{{#package_commands}}
chmod +x bin/{{name}}
{{/package_commands}}
2013-01-30 16:43:29 -05:00