Kelly McLaughlin
212655c3ec
Add xref support for multi-app projects
Add xref support for multi-app projects. Instead of only adding the
top-level ebin directory to the xref server use
rebar_state:project_apps/1 to enumerate the applications for the
project and add the ebin directory for each one.
10 år sedan
Kelly McLaughlin
2abb55170e
Add xref provider for cross reference analysis
* Add a provider for the xref tool for running cross reference
analysis on a project. Most of the code has been ported directly
from the rebar2 rebar_xref module with some modification and cleanup
to support testing.
* Port over the eunit test suite from rebar2, but convert it to
common_test. The testing is the same, but now the
erlang term output is examined to determine if the test run is successful
instead of scanning the console output for the expected strings.
10 år sedan
Tristan Sloughter
d53fb93cc1
package dep names are binary, fix install deps and related tests
10 år sedan
Tristan Sloughter
c8d0aa46c4
clean up create_logic_providers function
10 år sedan
Tristan Sloughter
1e71b47817
fix find_apps when searching for invalid apps
10 år sedan
Tristan Sloughter
37b79ff2b7
support for provider_hooks in config
10 år sedan
Tristan Sloughter
ebcbe0071a
app_info:valid needs to return a boolean and not throw an exception
10 år sedan
Tristan Sloughter
f13804ffab
use processed app file for validation
10 år sedan
Tristan Sloughter
b1e886193d
fix typo in error tuple and throw error in install_deps
10 år sedan
Tristan Sloughter
2c86edab93
refactor rebar_otp_app for smaller/cleaner functions
10 år sedan
Tristan Sloughter
ebb713449e
check locks before locking a dep to not have duplicates
10 år sedan
Tristan Sloughter
4b7f55f79c
add warning that dep options like raw are being ignored
10 år sedan
Tristan Sloughter
07ec6b68c6
clean up and better error messages when validating apps
10 år sedan
Tristan Sloughter
d5552cfcd3
ignore opts list in src dep is it is there
10 år sedan
Tristan Sloughter
3a7490aa9f
fix for rebar deps dir path in hooks, making it absolute
10 år sedan
Tristan Sloughter
0533f9dddc
don't lose erl_opts when compiling for tests
10 år sedan
Tristan Sloughter
d1902404dc
error message for failing to parse a dep
10 år sedan
Tristan Sloughter
daf346a4d0
remove extra newline in clean
10 år sedan
Tristan Sloughter
fe4a10141b
do provider returns the error of the first provider to fail and stops
10 år sedan
Tristan Sloughter
f45387f795
no skip warning for seen dep that has locked version
10 år sedan
alisdair sullivan
00e03d70ef
use new `rebar_file_utils` functions in `eunit` and `ct` providers
10 år sedan
alisdair sullivan
0b21243eae
add functions `system_tmpdir/0,1` and `reset_dir/1`
(in `rebar_file_utils`)
10 år sedan
alisdair sullivan
10298a21b6
change more instances of mistyped `erl_first_modules` to
`erl_first_files`
fixes #99
10 år sedan
Tristan Sloughter
c298a713f0
don't mark dep as seen before calling handle_dep
10 år sedan
Tristan Sloughter
407362c074
replace single profile atom in providers with list of profiles
10 år sedan
alisdair sullivan
5e270a7456
when compiling `common_test` or `eunit` use the same tmp dir
from run to run
10 år sedan
alisdair sullivan
6029fca8ca
change `rebar_app_into` to `rebar_app_info` in typespecs
10 år sedan
alisdair sullivan
16c31097c2
add support for a bare `test` directory when using `apps` libdirs
10 år sedan
alisdair sullivan
853efc5077
exclude `_checkouts` from directories to be precompiled for
`common_test` and `eunit` providers
10 år sedan
alisdair sullivan
99732ae4f3
adjust handling of `common_test` `dir` option and refactor provider
option handling
10 år sedan
alisdair sullivan
fc2cd73955
add `eunit` and `common_test` to `applications` key of `rebar.app`
10 år sedan
alisdair sullivan
f4dafa4628
switch to `lists:ukeymerge` to merge `ct` opts for better behavior
in presence of keys defined multiple times
10 år sedan
alisdair sullivan
e5270da3d7
preserve rebar path when running `ct` and `eunit` tests
10 år sedan
Tristan Sloughter
f1ed8ed36c
do not include dir . in relx lib paths it will break lib discovery
10 år sedan
alisdair sullivan
84dc8c9357
reworked ct provider
compiles common test files in a temporary dir (or a user specified
dir) and runs tests without leaving artifacts in the source tree
precompile tests using `rebar.config` and disable autocompile so
project specific options are used
fixes #62
10 år sedan
alisdair sullivan
eb34901ab7
reworked eunit provider
compiles apps and eunit test files in a temporary dir (or a user
specified dir) and runs tests without leaving artifacts in the
source tree
automatically defines the 'TEST' macro if not already defined and
adds `test` to `src_dirs` to allow for eunit test files outside `src`
10 år sedan
Tristan Sloughter
37a2025906
don't allow locked transitive dep to override higher level dep
10 år sedan
Tristan Sloughter
872e741972
use level in lock file so changes to config don't change outcome of run
10 år sedan
alisdair sullivan
5885332e27
point compiler to the right config value for which files need to be
compiled first
10 år sedan
Tristan Sloughter
8168c1f4f9
overrides working with lock except in case of adding to config after lock
10 år sedan
Tristan Sloughter
d1692efdf5
overrides working except for transitive dep inheritance with lock file
10 år sedan
alisdair sullivan
5f0b86e36c
remove no longer relevant test machinery in rebar_erlc_compiler
10 år sedan
Tristan Sloughter
91d297cf8a
update plugin install code
10 år sedan
Tristan Sloughter
b4c579b80d
include providers listed in plugins env
10 år sedan
Tristan Sloughter
56b36a37fc
include project app dirs in release lib_dirs to search
10 år sedan
Fred Hebert
d25838ff69
Add support for custom templates in subdirectories
- Includes tests for templates and their application
10 år sedan
Tristan Sloughter
9a8b1b3290
update erlydtl provider to use namespaces
10 år sedan
Fred Hebert
54a41ca6c4
Tests and fixes for namespaces
10 år sedan
Fred Hebert
73676c80b0
Fix up programmatic interface to rebar3
Now supports arbitrary commands
10 år sedan
Fred Hebert
676f2487ad
Dynamic 'do' provider for namespaces
Using a namespace such as 'rebar3 lfe new' will look for the 'new'
command in 'lfe' namespace without the need for a 'do' provider to be
registered in that namespace.
Manually checked that 'rebar3 as <profile> <namespace> command' works,
as well with 'default' and 'do'.
Test suite still needed.
10 år sedan