summaryrefslogtreecommitdiff
path: root/src/rebar_deps.erl
Commit message (Collapse)AuthorAgeFilesLines
* Add 'p4' (Perforce) as a dependency typeNathaniel Waisbrot2014-03-171-2/+47
| | | | | | | This calls the 'p4' command-line tool to checkout and sync Perforce trees. It involves significantly more special code in Rebar than using 'git p4', but it eliminates the indirection of Rebar->Git->Python->Perforce
* erlc: clean-up, enhance, and regression fix fd17693Tuncer Ayaz2014-03-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | * update files * fix Dialyzer warning * unconditionally enable info fil * clean-up inconsistencies * use term_to_binary compression * use try...catch instead of case...catch...of * do not write build info file if the graph is unmodified * store info file as <base_dir>/.rebarinfo * properly support list of compile directives * fix regressions: - Fix a bug in handling of files to compile first. - If a file that is depended upon itself depends on other files, make sure those are compiled first. While at it, rename variables for correctness. Reported-by: David Robakowski - Make sure that FirstFiles has no dupes and preserves the proper order. - headers referenced via -include_lib() were not properly resolved to absolute filenames - .erl files found in sub dirs of src_dirs were not properly resolved to absolute filenames
* deps: remove undocumented fossil syntaxTuncer Ayaz2013-11-261-4/+0
| | | | | As discussed with Martin Schut, remove support for {app_name, "vsn", {fossil, "url", latest}.
* Add missing dep examples and fix existing onesTuncer Ayaz2013-11-261-7/+21
|
* Merge pull request #155 from tuncer/fixesJared Morrow2013-11-261-56/+69
|\ | | | | Fixes for #137 and #142
| * rebar_deps: fix overly long linesTuncer Ayaz2013-10-161-39/+50
| |
| * rebar_deps: 'depowner' has to be stored in xconfTuncer Ayaz2013-10-161-7/+9
| |
| * rebar_deps: fix Dialyzer warningTuncer Ayaz2013-10-161-9/+9
| |
| * 'current_command' has to be stored in xconfTuncer Ayaz2013-10-161-1/+1
| |
* | Fix update-deps with certain forms of the {tag, ...} typeAndrew Thompson2013-10-161-1/+1
|/ | | | | | | Sometimes tags like 1.1-3-g3af5478 or d20b53f0 are encountered. The first is the output of 'git describe', and the second is just a regular git SHA. git fetch --tags will not pull these down, so do a full git fetch instead.
* Address review comments and add inttest for update-depsAndrew Thompson2013-09-301-1/+1
|
* Fix skip check for deps not presentAndrew Thompson2013-09-241-6/+10
|
* Make update-deps honor apps= and skip_apps=Andrew Thompson2013-09-231-1/+14
| | | | | | | | | | | | 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.
* Change how update-deps updates a git branchAndrew Thompson2013-09-231-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: https://github.com/rebar/rebar/commit/064195dc5a90f5b0cc3ae92e8373671b0043033f#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.
* Ignore skip_deps during update-deps as it has no meaningAndrew Thompson2013-09-231-28/+28
|
* Make update-deps traverse deps breadth-first, top-downAndrew Thompson2013-09-201-10/+88
| | | | | | | | | | | | 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.
* Use REBAR_DEPS_DIR if set as location of DEPS dirDave Smith2013-07-021-1/+7
|
* rebar_deps: fix overlong line introduced in 0b83339Tuncer Ayaz2013-06-271-1/+2
|
* External deps_dir should have higher priority than the config oneJosé Valim2013-06-181-2/+3
| | | | | | | 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.
* Update rebar repo urlsTuncer Ayaz2013-03-021-2/+2
|
* Implement 'rebar help CMD1 CMD2' and extend common 'rebar help' msgTuncer Ayaz2012-12-311-0/+36
| | | | | * allow plugins to print help message for implemented commands * append core rebar.config options to common 'rebar help' message
* Merge pull request #293 from Motiejus/skip_depsDave Smith2012-10-311-8/+20
|\ | | | | | | | | Add skip_deps=AppListSeparatedByCommas feature. I agree it's a bit of a weird thing, but it's a reasonable and safe extension. When time comes to properly overhaul stuff, skip_deps should disappear entirely.
| * Add skip_deps=AppListSeparatedByCommas featureMotiejus Jakštys2012-08-091-8/+20
| |
* | Add support for non-Erlang/OTP (raw) dependenciesAnton Lavrik2012-10-111-13/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce a new 'raw' option for dependency specs in rebar.config file. For example: {deps, {dependency_name, "1.0.*", {git, "<...>", {branch, "master"}}, [raw] } ]}. When this option is specified, rebar does not require the dependency to have a standard Erlang/OTP layout which assumes presence of either "src/dependency_name.app.src" or "ebin/dependency_name.app" files. 'raw' dependencies can still contain 'rebar.config' and even can have the proper OTP directory layout, but they won't be compiled. Only a subset of rebar commands will be executed on the 'raw' subdirectories: get-deps, update-deps, check-deps, list-deps and delete-deps.
* | Fix whitespace errorsTuncer Ayaz2012-09-281-1/+2
| |
* | deps: add fossil scm supportMartin Schut2012-09-281-9/+34
| |
* | rebar_deps: fix whitespace errorsTuncer Ayaz2012-09-151-3/+3
| |
* | Restore ability to specify deps_dir on the command lineYurii Rashkovskii2012-09-151-1/+2
|/ | | | | It was previously possible to run `rebar compile deps_dir=/path/to/deps`, but as of 70d27c5720331076f52e4fd7bcd1dc8045c8c86a, it was nixed.
* Fix R13B03 build (Reported-by: Sergey Nartimov)Tuncer Ayaz2012-07-281-1/+1
|
* rebar_deps: use xconf for deps_dirTuncer Ayaz2012-07-231-7/+9
|
* Do not use application:set_envTuncer Ayaz2012-07-231-39/+41
|
* Remove shared stateTuncer Ayaz2012-07-131-108/+123
|
* Remove ?FAIL in favor of ?ABORTDave Smith2012-06-081-1/+1
|
* Add rsync as another option to fetch dependenciesNick Vatamaniuc2012-05-141-8/+20
| | | | | | | | Newly added syntax: {deps, [ {<depname>, ".*", {rsync, "<rsync_url>"}}, ... ]} Where rsync_url is any URL accepted by the rsync command.
* Remove alt_url support in favor of new featuresTuncer Ayaz2012-05-131-16/+1
|
* Fix #209 (Reported-by: Bjorn Bylander)Tuncer Ayaz2012-04-041-1/+7
| | | | Use correct ERL_LIBS separator on Windows.
* Add support for alternate dependency urlsAdam Schepis2012-03-311-1/+16
| | | | | | 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
* Add missing newline for logging code path updateTuncer Ayaz2012-01-131-1/+1
|
* Treat HEAD as a branch to fix regressions caused by 3ef7db5Bob Ippolito2011-11-161-4/+4
|
* Remove gratuitous space in debug logTuncer Ayaz2011-11-091-1/+1
|
* Allow plugins to participate in pre and post processingTim Watson2011-10-201-0/+1
| | | | | | This patch modifies rebar_core to allow plugins to participate in the pre and post processing steps, giving plugin authors more flexibility and control.
* Export $REBAR_DEPS_DIR and $ERL_LIBS variablesAnton Lavrik2011-09-021-0/+13
| | | | | | | | | | | | 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.
* Clean up and fix vcs functions and loggingTuncer Ayaz2011-09-021-25/+32
|
* Add support for checking out specific git commitBen Ellis2011-09-011-3/+8
|
* Fix {git,Url} support (Reported-by: Garrett Smith)Tuncer Ayaz2011-07-081-1/+5
|
* Add list-deps commandDave Smith2011-04-211-1/+21
|
* Simplify find_dep_in_dirTuncer Ayaz2011-03-131-1/+1
|
* Fix commentsTuncer Ayaz2011-03-131-12/+12
|
* honor local deps before code pathChristopher Brown2011-03-021-26/+49
|
* Support 2 forms of implicit HEAD for gitDavid Reid2011-02-131-0/+8
| | | | | | | | In git origin/HEAD is a pointer to the default branch. This patch allows two alternatives to explicitly specifying "HEAD" in git VC specs. The first is a 2 arity form {git, Url} and the second is {git, Url, ""} which worked in pre-update-deps rebars.