aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)Author
2019-05-20Merge pull request #667 from ElectronicRU/overlay-wildcardsTristan Sloughter
Support wildcards for copy/link to a directory.
2019-05-20Merge branch 'master' into goals_optionTristan Sloughter
2019-05-20Merge pull request #676 from velimir/providers-apiTristan Sloughter
allow specify additional providers via api and cli calls
2019-05-20Revert dependencies order in unit testsIvan Glushkov
The PR https://github.com/erlware/relx/pull/655 changed the behaviour, while the tests were not fixed. This commit fixes the unit tests.
2019-05-17add support for git ref and file content as app versionTristan Sloughter
2019-04-16Use recursive copy as last fallback on all platformsTino Breddin
2019-04-16Do not create a junction (soft link) for filesemtenet
When symlink_or_copy/2 cannot use file:make_symlink/2 on Windows due to the user lacking SeCreateSymbolicLinkPrivilege it tries a fall back. Detect the source type and use an appropriate fall back: * junction for directories and, * copy for files. Improve error detection in win32_make_junction/2 and make it repeatable when the target exists
2019-04-16Remove dead code of cp_r/2, xcopy_win32/2 and cp_r_win32/2.emtenet
The bulk of the code is hidden behind opposite checks: * os:type() /= {win32, _} in symlink_or_copy/2 * os:type() == {win32, _} in cp_r/2 symlink_or_copy/2 is always using win32_symlink/2 when file:make_symlink/2 fails.
2019-04-14add dist name and cookie to ERL_FLAGS for nodetool (#712)v3.31.0Tristan Sloughter
* remove deprecated hex field from .app.src * start nodetool dist node in erl flags
2019-04-01include vm.args.src file in tarball if it exists (#698)Tristan Sloughter
* include vm.args.src in tarball if it exists * only check sys.config.src in tar on otp-21+
2019-02-20don't create world writable executables (#687)Anthony Molinaro
2018-12-31fix handling of default_release in configAndrás Boroska
When no release specified in cli, prevent overwriting default_release in relx config.
2018-11-04allow specify additional providers via api and cli callsGrigory Starinkin
2018-10-05support tuples in overlay_vars so rebar3 can pass variables (#672)v3.27.0Tristan Sloughter
2018-07-31Make {goals, ...} option add goals to release depsolver.AlexSedov
Additionally, provides parsing for in-config goals, and better goal merging. Closes #571. This reverts commit 0ffe8cd1a2a4e039a48d1096fc250b3f6bd3dcd1.
2018-07-28I should really have some sleep, and probably not use GitHub Editor.Alex Es
2018-07-28Typo fix.Alex Es
2018-07-28More careful handling of source root.Alex Es
`from' directory should be excluded from the mask to avoid accidental expansion.
2018-07-27Support wildcards for copy/link to a directory.AlexSedov
Additionally, removes a lot of unnecessary conversions to binary in relx_prv_overlay (binary and string in Erlang are two different beasts for filenames), and factors out some common code.
2018-06-23only copy mode and time attributes when copying filesTristan Sloughter
2018-06-12support for OTP21's sys.config.src file in releases (#647)Tristan Sloughter
* support for OTP21's sys.config.src file in releases * always replace os vars in .src files if found * support vm_args_src to be consistent with sys_config_src * add newlines after warning logs * improve sys and vm src config tests
2018-06-03fix for #511 order of dependencies (#655)Tristan Sloughter
2017-11-01Maintain no_dot_erlang.boot file in releasesFred Hebert
Had a problem in OTP-21 (master) where escript calls in nodetool would fail since the file is not around and is being used by default there. The patch works by copying its equivalent file, which I belive to be just the start_clean file (their .rel.src are identical), into the same directories as we do for start_clean. Internal errors are renamed to be made neutral.
2017-11-01Support OTP-20 Unicode functionsFred Hebert
Use either optional compilation or version-safe variants of the string functions. Prevents warnings when the switch to OTP-21 will happen.
2017-10-19Merge pull request #465 from filmor/semver-prefixLuis Rascão
Pass prefix through
2017-10-18Add `erts_dir` overlay var (#614)Luis Rascão
Useful for copying custom files from an erts build such as a .kerl.config file.
2017-10-18Start script extensions (#613)Luis Rascão
* Extended start script command extensions Provide a mechanism that allows for the application to extend the list of commands available to be invoked from the start script. An application may be able to define a 'foo' extension that is associated with a 'foo_script' written and maintained by the applicationr, (this association is kept in rebar.config), upon invocation of bin/<release_name> foo the 'foo_script' will then be invoked. * Add test coverage for extension script * Ensure extended script usage argument
2017-10-19Pass prefix through, again.Benedikt Reinartz
2017-10-18Merge pull request #540 from obi458/masterLuis Rascão
win32 cross release on unix and vs
2017-09-06Start top-level applications as early as possible.Konstantin Tcepliaev
2017-07-24Don't use builtin status hook as defaultLuis Rascao
Let people define their own when they want to.
2017-06-08rename gb_tree:tree to gb_trees:treeYoshikazu Aoshima
2017-05-15Add custom status hook to extended scriptLuis Rascao
Provide a status command to start script which, by default, runs a builtin hook that simply prints which applications are running in the node. This hook can then be customized to print whatever the user wants by adding {status, [{custom, "path/to/hook"}]} to already existing extended_start_script_hooks.
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.