summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | Unquote templates, add a warning instead.Fred Hebert2016-01-101-0/+25
|/ / /
* | | install project app plugins after discovering them not beforeTristan Sloughter2016-01-103-4/+13
| | |
* | | Merge pull request #1006 from tsloughter/masterFred Hebert2016-01-092-4/+5
|\ \ \ | | | | | | | | only apply default and prod profile to dependencies
| * | | only apply default and prod profile to dependenciesTristan Sloughter2016-01-092-4/+5
| | | |
* | | | Merge pull request #999 from ferd/fix-windows-stuffTristan Sloughter2016-01-081-4/+12
|\ \ \ \ | |/ / / |/| | | Fix windows stuff
| * | | fix dirs robocopy and canonical paths in windowsFred Hebert2016-01-071-4/+12
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - robocopying a directory into another directory recursively expects the directory name to be properly mapped onto the destination, otherwise all the files are copied into the given path. This patches things so a directory-to-directory robocopy works as expected in a linux mindset so tests pass - the test for canonical paths didn't expect a windows environment at all; the test (and library) is modified to be consistent in that environment: always with a native format and with proper support of drive letters.
* | | only need to compare ref and not ref+url in git resourceTristan Sloughter2016-01-081-2/+2
| | |
* | | warn if the directories `eunit' or `ct' show up in `src_dirs'alisdair sullivan2016-01-051-2/+17
|/ / | | | | | | | | | | | | | | if these directories actually exist they'll be added to the path ahead of the release/standard distribution directories and they'll break eunit and/or ct execution fixes #950
* | Merge pull request #966 from talentdeficit/ct_root_suitesFred Hebert2016-01-052-3/+33
|\ \ | | | | | | allow ct suites to be specified at root of project (or root of app)
| * | put `extra' ct test suites in `extras/apps/APPNAME' rather than `extras'alisdair sullivan2015-12-201-1/+2
| | | | | | | | | | | | this allows repeated test suite names across apps without conflicts
| * | allow ct suites to be specified at the root of a project (or root of app)alisdair sullivan2015-12-202-2/+31
| | | | | | | | | | | | | | | | | | | | | | | | previously rebar3 dropped suites declared at the root of the project (via `--suite=whatever_SUITE' probably) and warned. this was because the compiler would recursively copy and compile everything in the directory indicated by the test suite. this changes the copy mechanism to only copy erl source files and directories that end with `_SUITE_data' into the `extras' dir in `_build'
| * | whitespace cleanupalisdair sullivan2015-12-201-1/+1
| | |
* | | convert ~> versions to highest matchingTristan Sloughter2015-12-261-24/+14
| | |
* | | Merge pull request #987 from ferd/plugin-templatesTristan Sloughter2015-12-213-7/+35
|\ \ \ | |/ / |/| | Plugin templates
| * | Plugin templates enabledFred Hebert2015-12-193-7/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This lets a plugin define templates to be loaded: $ rebar3 new ... proper (plugin): A basic PropEr suite for an OTP application ... $ rebar3 new help proper proper: plugin template (...) Description: A basic PropEr suite for an OTP application Variables: name="suite" (...) ... → rebar3 new proper fakesuite ===> Writing test/prop_fakesuite.erl In this case, proper is a fake template file I've put by hand in _build/default/plugins/rebar3_proper/priv/<somename>/, meaning it will only work as far as it's called from the project's root. The priority order of plugins is now .config > plugin > built-in, such that someone could ensure plugins do not crush their own private templates, but also that custom or plugin templates do overtake built-in ones. It used to be Built-in > .config only. Templates are searched for recursively in the priv/ directory of plugins.
* | | support temporary cdn change with HEX_CDN os varTristan Sloughter2015-12-196-46/+89
|/ /
* | Merge pull request #988 from ferd/schutm-wrong-pathsTristan Sloughter2015-12-191-1/+30
|\ \ | | | | | | Fix wrong relative path resolution
| * \ Merge branch 'master' of https://github.com/schutm/rebar3 into ↵Fred Hebert2015-12-191-1/+30
| |\ \ | | | | | | | | | | | | schutm-wrong-paths
| | * | Fix wrong relative path resolutionschutm2015-12-101-1/+30
| | | |
* | | | Merge pull request #986 from ferd/fix-bad-tpl-index-handlingTristan Sloughter2015-12-192-10/+28
|\ \ \ \ | |/ / / |/| | | A bad template index does not crash; shows warning
| * | | A bad template index does not crash; shows warningFred Hebert2015-12-182-10/+28
| |/ / | | | | | | | | | | | | | | | | | | | | | This should fix #955 The test is implicit as a bad index previously silently crashed rebar3. By adding the bad index to the `new` suite's files, we can show that things keep running.
* | | Account for division by zeroPanagiotis PJ Papadomitsos2015-12-161-0/+2
| | |
* | | Add support for total code coveragePanagiotis PJ Papadomitsos2015-12-161-0/+16
|/ /
* | Merge pull request #967 from talentdeficit/mib_include_fixFred Hebert2015-12-081-31/+33
|\ \ | | | | | | symlink mib hrl output in apps `include' directories
| * | remove mib header file in `priv/mibs/include'alisdair sullivan2015-12-081-7/+1
| | |
| * | symlink mib hrl output in apps `include' directoriesalisdair sullivan2015-12-061-31/+39
| | | | | | | | | | | | this restores compatibility with rebar2 and erlang.mk
* | | Actually fix tuple merging.Fred Hebert2015-12-061-30/+53
|/ / | | | | | | Full rewrite, code should be understandable now.
* | Fix tuple umergingFred Hebert2015-12-061-7/+18
| | | | | | | | | | | | | | | | | | | | | | | | - proper segregation of comparison between tuple terms and non-tuple terms. Guards weren't specific enough and that meant the wrong clauses of guards would be triggered - proper deduplication of entries in the list. An additional N passes are required (we co-opt the reverse step to be more efficient) because while the original lists:umerge easily removes dupes, this is requiring more logic here since `[a,{a,b},{a,b,c},a,{a,b,c}]` is a possible interleaving and we'd want `[a,{a,b},{a,b,c}]` -- comparison of direct neighbours isn't enough.
* | Merge pull request #948 from toland/fix_mib_compilerFred Hebert2015-12-011-4/+8
|\ \ | | | | | | Fix a small bug in the MIB compiler when building dependencies
| * | Added tests and fixed a bugPhil Toland2015-12-011-1/+1
| | |
| * | Fix a small bug in the MIB compiler when building dependenciesPhil Toland2015-11-301-4/+8
| | | | | | | | | | | | | | | | | | | | | When compiling a dependency with a MIB file the generated hrl file is left in the root project directory in a file called "include". This has the perverse effect of messing up the search path for include files causing any dependencies with files in their "include" directory to fail to build after that.
* | | Default to no eunit formatter if verbose specifiedJulian Squires2015-12-011-1/+2
| | | | | | | | | | | | The previous default meant that verbose output would not be emitted.
* | | fetch eunit_formatters config not from the command args but from the configTristan Sloughter2015-11-301-1/+1
|/ /
* | auto-update the registry if a pkg isn't found, fail if it still isn't foundTristan Sloughter2015-11-291-4/+28
| |
* | special handling of relx configs in profilesTristan Sloughter2015-11-262-22/+3
| | | | | | | | | | | | | | | | | | | | | | Relx config need new values at the end of the list and profile additions prepended. So now in apply_profile in the case it is a relx config we prepend the config list. This does, however, mean that a profile release can not 'extend' a release defined in the default profile since the one being extended would have its definition after the profile release and thus relx would not be able to use its values for extending.
* | preserve attributes when copying files in rebar_utils:cp_r for unixTristan Sloughter2015-11-251-1/+1
| |
* | if a provider of the same namespace and name already exists, skip adding new ↵Tristan Sloughter2015-11-232-1/+19
| | | | | | | | provider
* | Handle force flags in leading positionFred Hebert2015-11-191-1/+5
| | | | | | | | The checking of flags and the parsing of arguments is separated up.
* | only add package list of versions to registry if it has the right buildtool ↵Tristan Sloughter2015-11-171-2/+14
| | | | | | | | support
* | error on ct/eunit argument errors instead of warningalisdair sullivan2015-11-152-137/+186
| |
* | warn on incorrectly specified test options in `rebar.config`alisdair sullivan2015-11-142-14/+47
| | | | | | | | | | | | | | when `ct_opts`, `eunit_tests`, `eunit_first_files`, `ct_first_files`, `erl_first_files`, `eunit_compile_opts`, `ct_compile_opts` and `erl_opts` have values that are single non-list terms warn and try wrapping them in a list when processing them in the `eunit` and `ct` providers
* | Fix error reports on missing include pathsFred Hebert2015-11-141-1/+1
| | | | | | | | | | | | | | In some cases (nested includes?) paths end up in such a way that joining them breaks up and hard-crashes rebar3. This patch specifically handles this scenario to fix things by avoiding passing empty lists to filename:join.
* | Back to git versions for sourceFred Hebert2015-11-141-1/+1
| |
* | Bump to beta-4Fred Hebert2015-11-141-1/+1
| |
* | Fix IO locking up in shell appsFred Hebert2015-11-141-5/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Application masters are booted at the root of apps, and take over the group leader role to redirect IO. To cut the chain short and properly have their role inherited, they are their own leader, and keep a reference to the old leader in their internal state, which we cannot change. This is done so process ownership to a given application can be established, and allows to properly clean up resources outside the supervision tree when an app is shut down. This patch goes around and finds all processes whose group leaders are application masters older than the new `user' process booted by the shell providers, and swaps them with that new `user'. This lets the application masters survive, and fixes the blocking IO issue (resolving issue #899) This may mean an incomplete clean up is down on application shutdown, but that seems like a fair compromise.
* | Merge pull request #918 from tsloughter/eunit_formattersFred Hebert2015-11-132-4/+16
|\ \ | | | | | | include Sean Cribbs eunit formatter by default
| * | add space before end so eyes don't bleedTristan Sloughter2015-11-131-1/+1
| | |
| * | include Sean Cribbs eunit formatter by defaultTristan Sloughter2015-11-132-4/+16
| | |
* | | Feature: rebar shell [--script <FILE>]Geoff Cant2015-11-131-29/+131
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds the ability to run an escript before starting the apps and interactive shell for a project. This is intended to improve the local development experience for projects by providing an easy way to run companion services (mock rest APIs, databases etc) that the project relies on. This patch also adds {shell, Defaults} to the rebar config file so that a project can supply default values for many of the new or improved 'rebar3 shell' options: * {apps, OTPApps} * {script_file, EscriptFileName} * {config, ConfigFileName} The order of option precedence is command line, rebar.config, relx.
* | Merge pull request #917 from ferd/ct-readableFred Hebert2015-11-132-2/+36
|\ \ | | | | | | Prettify all of common test output.