{"shas":[["0eecf62c9722878a3f97fd8edb5fcf6caa6c9955","14265bd1655a10906c223c8fc1327bd0817ab9dd@gmail.com","Add pre and post script support for all commands\n\nThis change makes it possible to assign pre/post scripts to all\nrebar commands, and optionally to specify which module execution\nthey're tied to. This allows users fine grained control over\nwhen scripts and/or shell commands should be executed, where such\nextensions are absolutely needed. No changes to existing modules\nare required, although for a command to run with an enhanced\nexecution environment (e.g., the port compiler providing the all\nimportant DRV_LDFLAGS environment variables and the like) then\nthe module should export a function setup_env/1, which the\npre/post hooks will take advantage of.\n\nAn example of the setup_env/1 function has been implemented in\nthe rebar_port_compiler module, refactoring the environment\nsetup to avoid any duplication. The rebar.config elements are\nprocessed as follows:\n\nAn {atom(), string()} tuple is processed once before or after\nthe current command, if the atom is prefixed with pre_ (or\npost_) and suffixed with the name of the current command. In\nthis case, the second element (string) is treated as the shell\ncommand.\n\nAn {atom(), [{atom(), string()}]} tuple is processed somewhat\ndifferently. The first element is matched as before, but the\nsecond element (proplist) is searched for each (plugin) module\nthat is executed. The \"rebar_\" prefix is stripped form the\nmodule name and matched against the first element. Where there\nis a match, the second element (string) is processed as the\nshell command.\n\nSeveral examples of this configuration have been added to the\nrebar.config.sample file.","Tim Watson"],["bed17fcba45ce3c823aee1645818808c1bc7fdf7","0bb14fc58da65081d0cb1348cd128d0459f603ba@gmail.com","Use erlang:nif_error","Tuncer Ayaz"],["ee52b9632e0437d944ada4f01561e88cf113f762","0bb14fc58da65081d0cb1348cd128d0459f603ba@gmail.com","Use ?assert instead of ?assertTrue","Tuncer Ayaz"],["8c711abe0dd43c52196b7219979bfc27b3e58f8e","0bb14fc58da65081d0cb1348cd128d0459f603ba@gmail.com","Use erlang:function_exported/3","Tuncer Ayaz"],["2acebf7045593955ee3fb86a15c5420d4e53a8d0","0bb14fc58da65081d0cb1348cd128d0459f603ba@gmail.com","Fix R14 compatibility in thooks NIF code","Tuncer Ayaz"],["da04003e811c4a839b3557c0e365d54ca81f740d","0bb14fc58da65081d0cb1348cd128d0459f603ba@gmail.com","Deprecate old hooks","Tuncer Ayaz"]],"repo":"basho/rebar","actor":"tuncer","ref":"refs/heads/tw-hooks","size":6,"head":"da04003e811c4a839b3557c0e365d54ca81f740d","actor_gravatar":"0451a5e57b4f03d81684de16f93e9f5b","push_id":26199915}