aboutsummaryrefslogtreecommitdiffstats
path: root/src/rlx_prv_assembler.erl
AgeCommit message (Collapse)Author
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-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-18Merge pull request #540 from obi458/masterLuis Rascão
win32 cross release on unix and vs
2017-07-24Don't use builtin status hook as defaultLuis Rascao
Let people define their own when they want to.
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-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.
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-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-05win32 cross release on unixobi458
2016-10-03Don't include erts src when user requests src not be includedLuis Rascao
Using the include_src option
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-02-18allow 'false' to tell relx to not create a sys.config or vm.argsTristan Sloughter
2016-02-05targetdir may be list not binary, convert before comparingTristan 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
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-21include lib dir if it exists, erl_interface is an ex. with a libTristan Sloughter
2015-09-28Revert "Fix possible copy-paste bug in rlx_prv_assembler"Tristan Sloughter
2015-09-04Fix possible copy-paste bug in rlx_prv_assemblerDmitry Ivanov
2015-07-18Merge pull request #369 from tsloughter/masterJordan Wilberding
run overlay after release not before
2015-07-18fix console_clean in dev_mode by always creating start_clean.bootTristan Sloughter
2015-07-15run overlay after release not beforeTristan Sloughter
2015-06-17Fixing test for windows, changing symlink to symlink_or_copyDaniel Widgren
2015-06-01always include start_cleanTristan Sloughter
2015-06-01add include_nodetool option for including nodetool but not extended start scriptTristan Sloughter
2015-05-08use mustache instead of erlydtl for overlaysTristan Sloughter
2015-02-01cleanup: remove unused provider attributes to not complicate codeTristan Sloughter
2015-01-31add support for excluding applications from the releaseTristan Sloughter
2014-11-22if include_erts is false, do not include stdlibsTristan Sloughter
2014-11-09move back to using format_error/1Tristan Sloughter
2014-11-06add option to strip debug_info from beam files if not dev_modeTristan Sloughter
2014-10-23use providers PRV_ERROR and format_error/2Tristan Sloughter
2014-10-22include state in format_error/2Tristan Sloughter
2014-10-11provider task dependenciesTristan Sloughter
2014-07-09ensure assembler copies the contents of symlinked dirsJamie Winsor
2014-05-17Merge pull request #183 from jwilberding/fix_rlxv1.0.0Tristan Sloughter
Fix for #182, which requires we delete a read-only file before overwriti...
2014-05-17Fix for #182, which requires we delete a read-only file before overwriting itJordan Wilberding
2014-05-14refactor tar and relup commands to own providersTristan Sloughter
2014-05-14refactor cli args and config file var mergingTristan Sloughter
2014-05-04Cleanup whitespaceJordan Wilberding
2014-05-04remove mode change on nodetool and install upgrade escriptsTristan Sloughter