| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
Given the topological sort applied to top-level apps, we should be able
to carry the edoc values for paths configured when more than one app
exists.
This allows multiple disjoint app to have defined cross-linking in the
documentation.
Tests pending.
|
|
|
|
|
|
|
| |
Previously the help task would crash when given more than two
arguments. After this change it instead print a message:
Too many arguments given. Usage: rebar3 help [<namespace>] <task>
|
|
|
|
| |
This will allow to move and modify the generated files
|
|\
| |
| | |
Fix filtering of system libraries in escriptize
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
https://github.com/erlang/rebar3/pull/1249 introduced a mechanism by
which escript dependencies of applications only would be included; this
required adding a filter to skip system libraries in the OTP root
because that tends to break escripts in very nasty ways.
However, the problem came that some libraries are just not in the
escript path but may still be included; for these libraries the path
prefix check failed as they return `{error, bad_name}` from
`code:lib_dir(Dep)` rather than just the path they're in --
specifically, this happens with top level apps.
The issue was reported in https://github.com/erlang/rebar3/issues/1294
and the current patch fixes it by accepting a `bad_name` dep as valid,
since it is obviously not in the root path.
|
|\ \
| | |
| | | |
Typo fix.
|
| |/ |
|
|\ \
| | |
| | | |
template_dir option was forgotten in documentation plus recurse in di…
|
| | |
| | |
| | |
| | | |
added
|
| |/
|/|
| |
| |
| | |
When rebar.config contains a `escript_main_app` option, but the
specified app doesn't exist in the build directory, print an error.
|
|\ \
| | |
| | | |
ssl_verify_hostname was renamed to ssl_verify_fun
|
| | | |
|
|\ \ \
| |_|/
|/| | |
fix catching `not_valid` error on dialyzer
|
| | | |
|
| |/ |
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
rebar_base_compiler allows to be called with two types of options: a
dictionary, or a rebar_state record. In the later case, the options are
taken out with a call from rebar_opts, which fetches options that have
been inserted in the application via rebar_app_info as part of the
app_discovery phase, and are a list.
This yields a possibility that options used when formatting warnings can
either be a list of a dict, and we only used lists when making checks.
This ended up breaking 3rd party compiler users (i.e. LFE compile
plugin) since they were calling us with a dict rather than our own
internal records.
This patch supports both types of lookups to avoid issues.
|
| |
|
| |
|
| |
|
|\
| |
| | |
Escriptize based on configured apps only
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Prior to this patch, the escriptize command flat out selected all
declared dependencies.
This patch instead looks at the app files and only includes the
dependencies of the top level app and the extra ones, avoiding to
package more apps than required.
This required a version bump on cth_readable as it mistakenly included
'syntax_lib' instead of 'syntax_tools' as a dependency.
|
|/
|
|
| |
git occasionally has a refs directory with no files in it - if the directory is not present, then git does not believe it is a git repo) and 2) change order of git rev-parse arguments to match git docs
|
|\
| |
| | |
lock file contains expected hash for pkg dependencies
|
| |
| |
| |
| |
| | |
This uses the env variable as a global store for variables. It's not the
cleanest thing, but it sounded nicer than pdicts.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This reworks the version and hash printing in the lockfile to minimize
diff changes:
- the version is on its own line so that the locks are mostly the same
aside from the last line
- the hashes are each printed on one line with the package name for
simpler diffing too.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- the internal representation for package locks moves from `{Name, {pkg,
PkgName, Vsn}, Lvl}` to `{Name, {pkg, PkgName, Vsn, Hash}, Lvl}`
- the internal representation for packages moves from `{pkg, PkgName,
Vsn}` to `{pkg, PkgName, Vsn, Hash}`
- the hash can be `undefined`, meaning no check will be done
- no checking is done yet.
|
|\ \
| | |
| | | |
Let DEBUG="" and QUIET="" mean disable the option
|
| | |
| | |
| | |
| | |
| | | |
Setting DEBUG/QUIET environment variable to the empty string now acts
the same as unsetting it. Unsetting is not always easy/possible.
|
| | | |
|
| | | |
|
|/ / |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
changed include files were not properly picked up by `erlc_compiler`
in cases where they were in directories relative to the application
source and not the current working dir of rebar3
fixes #1199
|
|\ \
| | |
| | | |
REBAR-1184 always recompile if `ERL_COMPILER_OPTIONS` env var is set
|
| | |
| | |
| | |
| | | |
partially addresses #1184
|
|\ \ \
| | | |
| | | | |
Compiler source paths in output are now relative
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This required moving the reporting functions to rebar_base_compiler but
since this was already done for error_tuple, this seems to make sense.
Paths are also reformatted for warnings in erlc files.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
This will allow us to eventually change the default type without it
looking ridiculous.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
By default rebar3 displays compiler sources as absolute paths in their
original location, which is under the build dir.
This change introduces an option 'compiler_source_format' to format
sources in two alternative ways:
relative
absolute
When either 'relative' or 'absolute' are specified, the file is
resolved to its original location when it is a link. When 'relative'
is specified, the path is displayed relative to the current working
directory. When 'absolute' is specified, the path is absolute.
The default value is 'unchaged' which leaves the compiler source
unchanged.
This is arguably too flexible as I suspect most people would opt for
'relative' all the time - it's the most compact representation of the
file and is sufficient to find the source given cwd. The change
however is meant to introduce the change gradually, preserving
existing behavior and giving users a choice for formats.
In time perhaps the default can be changed to 'relative' - but still
allowing users to revert to the other two options ('absolutel' and
'unchanged') as needed.
|
| |/ /
|/| | |
|
| | |
| | |
| | |
| | |
| | | |
- The configured stuff in rebar3 takes precedence over the ENV
- The env is then chosen
|
|\ \ \
| | | |
| | | | |
Write rebar3.crashdump on errors
|
| | | | |
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Fix compile error case when cover compilation
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Dependent libs is required for some module when cover compiling.
So all dependencies should be available on code path.
This fixes #1148 issue.
|
|\ \ \ \
| | | | |
| | | | | |
Bugfix for upgrading deps of umbrella apps
|