From d7cef6b4c14419718eff5c11dd5b4e0d5de2d042 Mon Sep 17 00:00:00 2001 From: Tuncer Ayaz Date: Sun, 24 Nov 2013 15:36:54 +0100 Subject: [PATCH 1/2] Add missing dep examples and fix existing ones --- rebar.config.sample | 25 +++++++++++++++++++------ src/rebar_deps.erl | 28 +++++++++++++++++++++------- 2 files changed, 40 insertions(+), 13 deletions(-) diff --git a/rebar.config.sample b/rebar.config.sample index 97b5a02..e6071bd 100644 --- a/rebar.config.sample +++ b/rebar.config.sample @@ -152,11 +152,17 @@ %% name as an atom, eg. mochiweb, a name and a version (from the .app file), or %% an application name, a version and the SCM details on how to fetch it (SCM %% type, location and revision). -%% Rebar currently supports git, hg, bzr, svn, and rsync. -{deps, [application_name, - {application_name, "1.0.*"}, - {application_name, "1.0.*", +%% Rebar currently supports git, hg, bzr, svn, rsync, and fossil. +{deps, [app_name, + {rebar, "1.0.*"}, + {rebar, ".*", + {git, "git://github.com/rebar/rebar.git"}}, + {rebar, ".*", + {git, "git://github.com/rebar/rebar.git", "Rev"}}, + {rebar, "1.0.*", {git, "git://github.com/rebar/rebar.git", {branch, "master"}}}, + {rebar, "1.0.0", + {git, "git://github.com/rebar/rebar.git", {tag, "1.0.0"}}}, %% Dependencies can be marked as 'raw'. Rebar does not require %% such dependencies to have a standard Erlang/OTP layout %% which assumes the presence of either @@ -170,9 +176,16 @@ %% Only a subset of rebar commands will be executed on the %% 'raw' subdirectories: get-deps, update-deps, check-deps, %% list-deps and delete-deps. - {application_name, "", + {rebar, "", {git, "git://github.com/rebar/rebar.git", {branch, "master"}}, - [raw]}]}. + [raw]}, + {app_name, ".*", {hg, "https://www.example.org/url"}}, + {app_name, ".*", {rsync, "Url"}}, + {app_name, ".*", {svn, "https://www.example.org/url"}}, + {app_name, ".*", {svn, "svn://svn.example.org/url"}}, + {app_name, ".*", {bzr, "https://www.example.org/url", "Rev"}}, + {app_name, ".*", {fossil, "https://www.example.org/url"}}, + {app_name, ".*", {fossil, "https://www.example.org/url", "Vsn"}}]}. %% == Subdirectories == diff --git a/src/rebar_deps.erl b/src/rebar_deps.erl index 9911841..82716c5 100644 --- a/src/rebar_deps.erl +++ b/src/rebar_deps.erl @@ -257,13 +257,27 @@ info_help(Description) -> [ Description, {deps_dir, "deps"}, - {deps, [application_name, - {application_name, "1.0.*"}, - {application_name, "1.0.*", - {git, "git://github.com/rebar/rebar.git", {branch, "master"}}}, - {application_name, "", - {git, "git://github.com/rebar/rebar.git", {branch, "master"}}, - [raw]}]} + {deps, + [app_name, + {rebar, "1.0.*"}, + {rebar, ".*", + {git, "git://github.com/rebar/rebar.git"}}, + {rebar, ".*", + {git, "git://github.com/rebar/rebar.git", "Rev"}}, + {rebar, "1.0.*", + {git, "git://github.com/rebar/rebar.git", {branch, "master"}}}, + {rebar, "1.0.0", + {git, "git://github.com/rebar/rebar.git", {tag, "1.0.0"}}}, + {rebar, "", + {git, "git://github.com/rebar/rebar.git", {branch, "master"}}, + [raw]}, + {app_name, ".*", {hg, "https://www.example.org/url"}}, + {app_name, ".*", {rsync, "Url"}}, + {app_name, ".*", {svn, "https://www.example.org/url"}}, + {app_name, ".*", {svn, "svn://svn.example.org/url"}}, + {app_name, ".*", {bzr, "https://www.example.org/url", "Rev"}}, + {app_name, ".*", {fossil, "https://www.example.org/url"}}, + {app_name, ".*", {fossil, "https://www.example.org/url", "Vsn"}}]} ]). %% Added because of trans deps, From 79903b9eebe1c227a66d70329952e84a834467e9 Mon Sep 17 00:00:00 2001 From: Tuncer Ayaz Date: Tue, 26 Nov 2013 20:16:35 +0100 Subject: [PATCH 2/2] deps: remove undocumented fossil syntax As discussed with Martin Schut, remove support for {app_name, "vsn", {fossil, "url", latest}. --- src/rebar_deps.erl | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/rebar_deps.erl b/src/rebar_deps.erl index 82716c5..2e305d5 100644 --- a/src/rebar_deps.erl +++ b/src/rebar_deps.erl @@ -546,8 +546,6 @@ download_source(AppDir, {rsync, Url}) -> rebar_utils:sh(?FMT("rsync -az --delete ~s/ ~s", [Url, AppDir]), []); download_source(AppDir, {fossil, Url}) -> download_source(AppDir, {fossil, Url, ""}); -download_source(AppDir, {fossil, Url, latest}) -> - download_source(AppDir, {fossil, Url, ""}); download_source(AppDir, {fossil, Url, Version}) -> Repository = filename:join(AppDir, filename:basename(AppDir) ++ ".fossil"), ok = filelib:ensure_dir(Repository), @@ -603,8 +601,6 @@ update_source1(AppDir, {rsync, Url}) -> rebar_utils:sh(?FMT("rsync -az --delete ~s/ ~s",[Url,AppDir]),[]); update_source1(AppDir, {fossil, Url}) -> update_source1(AppDir, {fossil, Url, ""}); -update_source1(AppDir, {fossil, Url, latest}) -> - update_source1(AppDir, {fossil, Url, ""}); update_source1(AppDir, {fossil, _Url, Version}) -> ok = file:set_cwd(AppDir), rebar_utils:sh("fossil pull", [{cd, AppDir}]),