| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
In order for newer clang tools to work, they require the presence of a
compilation database in the form of compile_commands.json. Therefore,
we adapt port_compiler to write such a file.
|
| |
|
|
|
|
|
|
|
|
| |
Example: {git, {appname, "git://something/something", {branch, master}}}
^
|
|---- Notice the lack of a version Regex
|
|\
| |
| | |
Look for ct .spec files in the ct_dir that was specified
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Allow to change existing behaviour which is to find all .spec
files recursively in the current working directory through a new
rebar.config option: {ct_search_specs_from_test_dir, true}
This is confusing since the user explicitly stated the
location for his spec files and negates the possibility
to have different spec'ed suites for different environment.
Also fix the node name generation on the ct test run, append
a random number that will reduce chances of name collisions
on epmd.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When REBAR_VSN_CACHE_FILE is set, then vsn cache is loaded from
this file on rebar start and updated when new data.
Under specific circumstances (i.e. in build environments),
full git tree may not be available, but only its snapshot.
We need a way to use preheat vsn cache instead of invocing
git command.
Signed-off-by: Matwey V. Kornilov <matwey.kornilov@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When REBAR_DEPS_PREFER_LIBS is set, dependencies with defined sources
are allowed to be searched for in system lib directory.
Under specific circumstances (i.e. in build environments without networking)
it is impossible to fetch deps locally. So, user needs a way to ask rebar to
search in system lib directory as well.
Signed-off-by: Matwey V. Kornilov <matwey.kornilov@gmail.com>
|
|/
|
|
|
|
|
| |
The test program used to determine the word size of a crosscompiler is
crafted to return an error, so this changes the logic to expect an
error exit. If the crosscompiler actually compiles the test program
successfully, that would be remarkable and worthy of investigation.
|
|\
| |
| | |
Treat port env vars as expandable only if they self reference
|
| |
| |
| |
| |
| | |
Provide additional port test case.
Also, update newest OS X versions build flags.
|
|\ \
| | |
| | | |
Fix/eunit tests surefire crash
|
| |/ |
|
|/
|
|
|
|
|
|
| |
One test that checks for a failed make, another
that detects a failed test run when only one of several
suites fails. The ct test fails is only applicable to OTP
versions older than R16 (inclusive), this is related to the way
older versions handle the test .spec files.
|
|
|
|
| |
Integration regression test that checks for correct generation of .erl files from .peg ones and that they are cleaned up.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use retest feature/rebar-windows-ci branch that adds Windows
tests support, test setup callback and additional touch command.
For all tests copy rebar and rebar.cmd using retest setup callback.
Port OS specific commands used in tests to Erlang
(eg. touch, rm, cp, stat..).
rebar_ct: do away with grep command line invocation (which doesn't
exist in Windows) and use instead plain Erlang parsing.
Increase timeout for rgen1 test to 4 minutes, Windows Appveyor
can take longer than the previous 2 minutes.
|
|\
| |
| | |
Allow behaviors defined inside xref_extra_path
|
| |
| |
| |
| |
| |
| | |
Use case: xref'ing a module that defined behavior ranch_protocol was
exiting with
{'EXIT',{undef,[{ranch_protocol,behaviour_info, [callbacks],[]}
|
|\ \
| |/
|/| |
Add regression test for covered common test
|
| |
| |
| |
| | |
Project has dependency that also contains a covered common test suite
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* do not use pdict
* do not enable color support by default. once we have the new
getopt version, we can add a new type of command line flag
for that.
* fix Dialyzer warnings
* use atom instead of boolean
* use better name for internal function
* do not try (and fail) to access rebar's app env in retest test
|
|/
|
|
|
|
| |
Fix verbose level in global rebar config
Replace application:set_env on erlang:put
|
|
|
|
|
|
|
| |
Reserved files such as ._do_not_compile.erl should be
generated automatically when running the regression
test and not added to the repo. .tar.gz source releases
are not correctly generated when handling such files.
|
| |
|
|
|
|
|
| |
A specific bad.proto file will cause the mock gpb compiler
to fail thus improving rebar's coverage of error scenarios
|
|
|
|
|
|
|
|
|
|
|
| |
Currently this option doesn't work very well because
given parse_transform is applied globally to all modules,
even to parse transform module itself which is not possible
because the module is not yet compiled.
So we just ensure that local parse transformations are not applied
to themselves and probably also to erl_first_files since they
are explicitly stated as to be compiled before anything else.
|
|
|
|
|
|
|
|
|
| |
Since process_attr/3 searches source code for attributes, it can
happen that it finds an attribute which is eventually not needed
by the compilation, e.g. hidden by ifdef macro - see enclosed test.
Such attribute can reference a file which is not in the path or
which even doesn't exist at all, and current code doesn't expect
such a situation. We fix things by simply ignoring such files.
|
|
|
|
|
|
|
|
|
| |
These times already contain max modified info of their
dependencies. Therefore we no longer have to check in
internal_erl_compile whether the file really needs
recompiling, which simplifies the flow somewhat, because
the work with dependency graph is now localized to much
smaller space then before.
|
|
|
|
|
|
|
| |
When the source file changes it could happen that some of its
dependecies get removed. In that case we should remove these
former dependencies from the graph, so that they don't influence
recompilation of the source file anymore.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Current separation of part of the logic into include_path
obscures the purpose of Dirs (see expand_file_names).
Moreover for each particular Erl its source file was included
twice in Dirs, which is now corrected.
Also InclDirs (specified in erl_opts) as part of erlcinfo
since they can affect resulting graph, which needs to be
therefore regenerated when InclDirs change. See added
test as an example.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Expand test cases to handle .appup.src with
empty upgrade from and downgrade to lists, lift
larger .appup.src file from OTP's
lib/dialyzer/test/r9c_SUITE_data/src/asn1/asn1.appup.src
|
|\
| |
| | |
Support .appup.src files
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Similar to how .app.src are being handled, all files in directory
.src ending with .appup.src are processed, checked for
correctness and copied to ebin without the .src extension.
By way of using rebar_config:consult_file/1, .appup.src.script
files are automatically supported in exactly the same manner
as in .app.src.script.
|
|\ \
| | |
| | | |
rebar doesn't respect the order of erl_first_files given in the rebar.conf file
|
| |/ |
|
|/
|
|
|
|
|
|
|
|
|
| |
proto_opts config option contains the compiler directive
that defines which proto compiler to use, also contains a
src_dirs entry that defines a list of locations for the
.proto files to be processed.
Add integration test that compiles .proto files from src
and from proto directory specified in separate rebar
config files
|
|\
| |
| | |
Gpb recompilation detection (using base compiler)
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
For protocol buffer files, when there were gpb options to alter the
module name with prefix or suffix, recompilation was not properly
detected. This is now fixed. (Issue #384).
Use the rebar_base_compiler's ability to specify both source and
target file names, to be able to also support prefixes.
This also introduces a call to gpb_compile:format_error, so the xref
recipe needs to be updated to ignore it, to avoid false errors.
|
|/
|
|
|
| |
Handle the case when both .app.src and .app.src.script exist;
the script takes precedence.
|
| |
|
|
|
|
|
|
|
|
| |
In the rebar.config files for the gpb and protobuffs inttests, use the
{Name, Version} dependency form instead of {Name, Version, Source},
since the Source is not really applicable; the mocks are copied into
place by the proto_gpb_rt:files/0 and proto_protobuffs_rt:files/0.
Idea and suggestion by Tuncer Ayaz.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Installation of the gpb and protobuffs mocks, in inttest, is now done
using copy in proto_{gpb,protobuffs}_rt:files/0. Previously, rebar
prepare-deps was used, the dependencies had an rsync source with a
relative path back to the inttest directory. This eliminates a
dependency in inttest to rsync, instead relying on retest's
functionality to copy files and directories. Also, it eliminates
hidden knowledge about the directory layout that retest chooses.
Idea and suggestion by Tuncer Ayaz.
Since the dependency sources in the inttest rebar.config files are no
longer used, they are now changed back from rsync paths to git urls,
to serve as examples.
|
|
|
|
|
|
|
|
| |
In inttest/proto_protobuffs, replace the external dependency to
erlang_protobuffs, a protocol buffer compiler, with a simple mock.
The mock provides enough of what is needed for inttest only,
which is to generate some dummy content, but with proper file names.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In inttest/proto_gpb, replace the external dependency to gpb, a
protocol buffer compiler, with a simple mock.
The mock provides enough of what is needed for inttest only,
which is to generate some dummy content, but with proper file names.
As a result, the increased timeout for the proto_gpb inttest should no
longer be needed (inttest/proto_gpb/retest.config), both since the
mock is now much faster to compile, and since any network bandwidth or
connectivity issues have now been eliminated.
|
|\
| |
| | |
Revert "Merge pull request #386 ... gpb-recompilation...detection"
|