Change mock_pkg_resource to use rebar_test_utils:create_empty_app so
that an ebin directory is created which is a good expectation for a
package. Also revert the check in rebar_fetch:download_source to check
for an ebin directory before adding it to the code path for package
installs. If a package does not have an ebin directory it is probably
a good for an exception to be thrown.
Fix a bug where packages are not added to the code path after
installation. Dependent applications that build from source are not
affected by this issue since the build_apps function in
rebar_prv_compiler takes care of the code path changes for them. It is
only the precompiled packages that suffer from this issue.
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.
* 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.
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
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`