summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
| * | Don't over-aggressively clean the code path in the presence of lib_dir ↵Andrew Thompson2013-10-161-4/+5
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | directives Rebar, when it encounters a lib_dir directive, caches the current code path, adds the libdir(s) and returns the cached copy of the path. When rebar has finished processing that directory, it restores the cached path. This is problematic in the below scenario: /(lib_dir)->G A -> B -> C -> D -> E \-> F -> D -> E When rebar is finished processing B, it restores the code path to what it was before it processed B, removing C, D, E and G from the code path. This means when it comes to process F, neither D or E are in the code path, so any header includes, rebar plugins or parse transforms will not be in the code path. Without the lib_dir directive, rebar does no code path cleanups, so everything works fine. This change makes rebar only remove the explicit lib_dir code paths it added and adds an inttest that replicates the above scenario.
* | 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.
* Merge pull request #142 from Vagabond/adt-update-depsDave Smith2013-10-142-37/+141
|\ | | | | Make update-deps traverse deps breadth-first, top-down
| * Address review comments and add inttest for update-depsAndrew Thompson2013-09-302-3/+3
| |
| * Fix skip check for deps not presentAndrew Thompson2013-09-241-6/+10
| |
| * Make update-deps honor apps= and skip_apps=Andrew Thompson2013-09-232-1/+21
| | | | | | | | | | | | | | | | | | | | | | | | 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-202-11/+90
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Merge pull request #111 from tuncer/nox-erlydtl-compileDave Smith2013-09-201-17/+15
|\ \ | | | | | | Always return the errors and warnings from erlydtl
| * | Always return the errors and warnings from erlydtlAnthony Ramine2013-09-201-17/+15
| | | | | | | | | | | | | | | | | | This allows us to use `rebar_base_compiler:ok_tuple/3` and `rebar_base_compiler:error_tuple/5` when returning from `rebar_erlydtl_compiler`.
* | | Fix eunit regression introduced in 2716d83a18Tuncer Ayaz2013-09-201-6/+6
|/ / | | | | | | | | Use alternative way to detect net_kernel:stop/0 has succeeded as suggested by Ulf Wiger.
* | Merge pull request #125 from lucafavatella/neotoma-doc-typoDave Smith2013-09-201-4/+4
|\ \ | | | | | | Fix typo in neotoma help message
| * | Fix typo in neotoma help messageLuca Favatella2013-08-301-4/+4
| |/
* | Merge pull request #132 from alexthornton1/mib_to_hrl_verbosityDave Smith2013-09-201-1/+9
|\ \ | | | | | | mib_to_hrl compilation verbosity via 'mib_opts'
| * | mib_to_hrl compilation verbosity via 'mib_opts'Alex Thornton2013-09-081-1/+9
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the configuration setting 'mib_opts' in rebar.config would affect the call to snmpc:compile/2, so that (for example) verbosity could be controlled. However, the subsequent call to snmpc:mib_to_hrl/1 did not include any of these options, so it did not appear to be possible to control the verbosity of the process of converting a MIB to a .hrl file. To make matters worse, the default was to dump a full trace -- including debug output and various logging -- so the act of compiling a large number of MIBs could result in a huge amount of "noisy" output that hid any signal (meaningful warnings, errors, etc.). This commit addresses that issue by replacing the call to snmpc:mib_to_hrl/1 with a call to snmpc:mib_to_hrl/3 instead, which includes an "options" argument that, at present, is only capable of setting verbosity. The verbosity setting is taken from the 'mib_opts' setting in rebar_config, if present, and the approriate kind of argument is passed to snmpc:mib_to_hrl/3. It should be noted that snmpc:mib_to_hrl/3 is not listed in Erlang's documentation, but does appear in the list of "API" exports at the top of snmpc.erl in R15B01 (and remains that way in R16B01), so this appears to be more of a documentation oversight than the use of a deep, dark function call that was not intended to be public. snmpc:mib_to_hrl/3 accepts an #options{} record (defined in lib/srdlib/include/erl_compile.hrl within Erlang's source distribution), though most of the fields in that record are ignored by snmpc:mib_to_hrl/3; only verbosity can be controlled this way.
* | Merge pull request #137 from bosqueviejo/masterDave Smith2013-09-201-6/+16
|\ \ | | | | | | let vm.args and sys.config as optional
| * | let vm.args and sys.config as optionalManuel Rubio2013-09-191-6/+16
| |/
* | Merge pull request #138 from evax/conditionalTemplateInstructionsDave Smith2013-09-201-0/+21
|\ \ | | | | | | Support conditional template instructions
| * | Support conditional template instructionsEvax Software2013-09-191-0/+21
| |/
* | Change rebar_ct:check_log/3 to use double quotesBjörn Bylander2013-09-201-1/+1
|/ | | | | | | | | | | | | | | | | The call to the grep program in rebar_ct:check_log/3 used single quotation marks around the strings grep should search for. This works well in most cases but fails on Windows 7 using GNU grep 2.5.4 as installed by the Chocolatey package GnuWin 0.6.3.1 with the follow message: ERROR: cmd /q /c grep -e 'TEST COMPLETE' -e '{error,make_failed}' ct/raw.log failed with error: 2 and output: grep: COMPLETE': No such file or directory This commit changes the single quotation marks to double quotation marks. I've tested this using GNU grep 2.5.3 on a Debian Linux machine and it works well.
* Use REBAR_DEPS_DIR if set as location of DEPS dirDave Smith2013-07-021-1/+7
|
* Merge pull request #108 from tuncer/dialyzerDave Smith2013-06-291-1/+2
|\ | | | | dialyzer_reference plus one minor patch
| * rebar_deps: fix overlong line introduced in 0b83339Tuncer Ayaz2013-06-271-1/+2
| |
* | Document 'rebar help <CMD1> <CMD2>'Tuncer Ayaz2013-06-291-0/+3
|/
* Make sure to run ct_run w/ -noshellDave Smith2013-06-251-1/+1
|
* Use ct_run if available; fixes strange issues with getting erl/ct to stopDave Smith2013-06-251-10/+21
|
* Adding debug statements closer to open_portDave Smith2013-06-251-0/+1
|
* Merge pull request #41 from exterm/cover_html_validityDave Smith2013-06-251-2/+5
|\ | | | | change cover html generation to produce valid html
| * remove superfluous string concat operator usagePhilip Mueller2013-06-161-3/+3
| |
| * break overlong linePhilip Mueller2013-01-301-1/+2
| |
| * change cover html generation to produce valid htmlPhilip Mueller2012-12-121-2/+4
| | | | | | | | | | | | - added missing doctype - added encoding statement - removed invalid additional opening <body> tag
* | rebar_xref: regression fixes and updates for a5be40c96Tuncer Ayaz2013-06-241-58/+78
| | | | | | | | | | | | | | | | - 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
* | rebar_core: fix consistency issues caused by 252b31fTuncer Ayaz2013-06-241-16/+22
| | | | | | | | | | | | | | - 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
* | rebar_ct: fix Dialyzer warning caused by bcc57e9bTuncer Ayaz2013-06-241-4/+10
| | | | | | | | Also fix a single line exceeding max column.
* | Fix crsh with Unicode in environment varsDave Thomas2013-06-231-2/+2
| |
* | Fix crash when env vars contain utf8 charsDave Thomas2013-06-221-3/+3
| |
* | Add one more "unicode" option in expand_env_variable—I have a bullet in my ↵Dave Thomas2013-06-211-1/+1
| | | | | | | | prompt that was blowing it up
* | When expanding lib_dirs, don't crash with 'volumerelative' pathsJuan Jose Comellas2013-06-181-1/+1
| |
* | Allow the use of absolute paths in the lib_dirs configuration settingJuan Jose Comellas2013-06-181-1/+4
| |
* | Merge branch 'xref_20130130' of git://github.com/spilgames/rebar into spg-xrefDave Smith2013-06-171-84/+112
|\ \ | | | | | | | | | | | | Conflicts: src/rebar_xref.erl
| * | Add standard xref checks and improved suppressionDennis Docter2013-01-301-65/+112
| |/ | | | | | | | | | | | | | | | | | | | | | | * Allow the following predefined analyses : undefined_function_calls, undefined_functions, locals_not_used, exports_not_used, deprecated_function_calls, deprecated_functions * Trap some possible errors in case module information is not available * ignore_xref works on all checks and can take {M,F,A} tuples. (Automatic behaviour export suppression still only works on exports_not_used)
* | Merge pull request #47 from uwiger/masterDave Smith2013-06-171-1/+2
|\ \ | | | | | | rebar_eunit:reset_after_eunit/1 mustn't remove 'included_applications'
| * | rebar_eunit:reset_after_eunit/1 mustn't remove 'included_applications'Ulf Wiger2012-12-161-1/+2
| |/ | | | | | | | | | | | | | | | | | | | | | | One could argue that rebar_eunit does some pretty dangerous stuff when trying to clean up after a test run, but specifically, it tells the Application Controller to delete everything returned by application:get_all_env(App). Unfortunately, included_applications also goes, which can lead to a crash in application_controller, if the application is subsequently unloaded. This patch attempts the smallest possible fix: remove all env variables except included_applications.
* | 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.
* | Merge pull request #60 from jcomellas/jc-getopt-0.7.0Dave Smith2013-06-161-156/+377
|\ \ | | | | | | Add latest version getopt that automatically wraps usage output lines
| * | Add latest version getopt that automatically wraps usage output linesJuan Jose Comellas2013-01-251-156/+377
| | |
* | | Merge pull request #44 from nevar/fix_neotomaDave Smith2013-06-161-2/+2
|\ \ \ | | | | | | | | Correct ext of neotoma output file
| * | | Correct ext of neotoma output fileSlava Yurin2012-12-311-2/+2
| |/ /
* | | Merge pull request #37 from nox/force-registeredDave Smith2013-06-161-1/+14
|\ \ \ | | | | | | | | Ensure we always have a `registered` value in `.app` files