aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)Author
2017-05-14Merge pull request #585 from lrascao/fix/rewrite_otp_appsLuis Rascão
Only ensure kernel,stdlib for empty dep apps
2017-05-08Add the ability to chmod files in the overlay.Anthony Molinaro
Two types are supported, direct chmoding, like {chmod, 8#00700, "path/to/file/maybe/with/{{templates}}" } or templating the permission where you have a template var like {file_perm, 8#00700} and an overlay {chmod, "{{file_perm}}","path/to/file/maybe/with/{{templates}}" }
2017-04-09Only ensure kernel,stdlib for empty dep appsLuis Rascao
Do not try and ensure them for every app, there are some OTP apps that only require kernel and there's really no point in rewriting those.
2017-03-20Ensure stdlib,kernel as application dependenciesLuis Rascao
Make this dependency explicit as it was causing apps with empty application lists to not be included in the generated release.
2017-02-27Drop use of export_all erlc directiveLuis Rascao
Starting from OTP20 this will trigger a warning, since we use the warnings_as_errors the build would fail when using this OTP release onwards.
2017-02-02Merge pull request #559 from lrascao/feature/fix_crash_on_relup_warningTristan Sloughter
Feature/fix crash on relup warning
2017-02-01Don't crash on warnings emitted during relupLuis Rascao
Make use of warnings_on_errors option to exit with error or proceed with just a warning.
2017-01-29Don't rewrite app files if contents are the sameLuis Rascao
When comparing .app files to check if a rewrite is necessary do so by comparing erlang terms instead of bytes, the original .app might contain comments for example and cause unnecessary rewrites. This proves a problem when dealing with erts .app files that might be read-only at the origin and thus cause a failed release on relx that is uncalled for since there might have been no changes at all.
2017-01-28Expose warnings as errors optionLuis Rascao
Obtained from command line and saved in the state to be used on situations where we want to error out on warnings explicitly.
2016-12-17Replace rebar_log calls to enable relx to build extended script with ↵Aleksandar Markovski
builders other then rebar(Erlang.mk)
2016-11-26Merge pull request #541 from lrascao/feature/exclude_modulesTristan Sloughter
Provide a new config directive that allows per-app module exclusion
2016-11-21Provide a new config directive that allows per-app module exclusionLuis Rascao
By introducing a new entry in the config file allow excluding specific modules from a given app, they will not be copied onto the final release and their reference removed from the .app file. The new entry takes on the following form: {exclude_modules, [ {App :: atom(), [Module :: atom()]} ]}
2016-11-12Add support for new relx directive that provides start/stop shell script hooksLuis Rascao
New 'extended_start_script_hooks' directive that allows the developer to define six different hook shell scripts to be invoked at pre/post start/stop/install upgrade phases. Besides these custom defined scripts, other types of builtin scripts are also available, these offer pre-packaged functionality that can be used directly, they are: pid - writes the beam pid to a configurable file location (/var/run/<rel_name>.pid by default). wait_for_vm_start - waits for the vm to start (ie. when it responds to pings) wait_for_process - waits for a configurable name to appear in the erlang process registry The hook scripts are invoked with the 'source' command, therefore they have access to all the variables in the start script.
2016-10-27Fix replace os vars functionalityLuis Rascao
The first run would correctly replace the environment variables, however it would also overwrite the original vm.args and sys.config thus preventing any further substitution in subsequent runs. Dev mode runs were also broken, all runs after the first were required to also define the RELX_REPLACE_OS_VARS variable in order not to overwrite the current vm.args with the original one, this prevented simply attaching to an already running node that was started this way. Add tests to exercise this functionality.
2016-10-26Revert "remove rlx_topo since all systools >=R15 have a working sort of apps"Tristan Sloughter
This reverts commit 701da7b9f2dfb872351b56938f7aed5bff0d79c7.
2016-10-25Merge pull request #529 from ↵Luis Rascão
lrascao/feature/include_nodetool_on_extended_start_script Always include nodetool when generating extended start script
2016-10-25Always include nodetool when generating extended start scriptLuis Rascao
Remove redundant check for extended_start_script. Add tests that enforce this invariant.
2016-10-18Fixed: #524. Erts src folder existence check addedAlexey Ovchinnikov
2016-10-07Silence remaining dialyzer errorsLuis Rascao
2016-10-06Merge pull request #515 from lrascao/feature/erts_include_srcTristan Sloughter
Don't include erts src when user requests src not be included
2016-10-06Fixed overlay_vars handling.Alexander Sedov
Overlay_vars obey order, you cannot just umerge them. Additionally, command line overrides should be more powerful than config values.
2016-10-03Don't include erts src when user requests src not be includedLuis Rascao
Using the include_src option
2016-09-25Silence dialyzer warningsLuis Rascao
Fix/add method specs, remove unreachable branches, make rlx_util:render/2 accept both iolists and binaries.
2016-09-16Fix typo in log printout when disable_rel_discovery is setSiri Hansen
Disbaled -> Disabled
2016-04-29Add a boot variable to Windows scriptsemtenet
Add missing -boot_var argument to Windows scripts when starting erlang. Use different boot variables on Windows vs non-Windows. The built-in $ROOT boot variable points to the erts directory on Windows (dictated by erl.ini [erlang] Rootdir=) and so a boot variable $RELEASE_DIR is made pointing to the release directory
2016-03-15Fixed template args order bugKozlov Yakov
2016-02-18allow 'false' to tell relx to not create a sys.config or vm.argsTristan Sloughter
2016-02-18fix bug building tarfile if vm.args doesn't existTristan Sloughter
2016-02-16Fix case for applicaiton:get_envHeinz N. Gies
2016-02-16Use an app_env to get color intensityHeinz N. Gies
2016-02-11Fix typoHeinz N. Gies
2016-02-09Add low / high color modeHeinz N. Gies
2016-02-05Merge pull request #443 from tsloughter/masterv3.15.0Jordan Wilberding
dammit, must split the path to use prefix to check for cycles
2016-02-05targetdir may be list not binary, convert before comparingTristan Sloughter
2016-02-04dammit, must split the path to use prefix to check for cyclesTristan Sloughter
2016-01-31Merge pull request #442 from tsloughter/masterJordan Wilberding
use list comp instead of ec_plists for copy directory
2016-01-30use list comp instead of ec_plists for copy directoryTristan Sloughter
2016-01-23replacing OS vars: use .orig files to prevent overwritingerlanger
2016-01-12format filename as string in warning messageTristan Sloughter
2016-01-12move missing beam and other app warnings to debug messagesTristan Sloughter
2016-01-11remove rlx_topo since all systools >=R15 have a working sort of appsTristan Sloughter
2016-01-06Include src/ in tarballs unless specified not toFred Hebert
By default, the `include_src` value is `true`, yet Relx disregards the value entirely when generating tarballs. This patch makes it so the value is used and respected when generating tarballs. Given the default value is `true`, this patch changes the default behaviour of relx to always include source files in tarballs, considering its omission a bug rather than a feature. Tests are added, verifying the impact on ERTS-included files.
2015-12-04replace last, not first when merging cli and config termsTristan Sloughter
2015-12-04don't reverse the config terms if there are cli argsTristan Sloughter
2015-11-22update hex metdata, switching contributors to maintainersTristan Sloughter
2015-11-21Merge pull request #415 from tsloughter/erl_inteface_libJordan Wilberding
include lib dir if it exists, erl_interface is an ex. with a lib
2015-11-21error out with useful message if the user provided sys.config isn't parseableTristan Sloughter
2015-11-21use the configured logging for error outputTristan Sloughter
2015-11-21include lib dir if it exists, erl_interface is an ex. with a libTristan Sloughter
2015-11-21support overriding config values with per-release config valuesTristan Sloughter