{"action":"created","issue":{"url":"https://api.github.com/repos/rebar/rebar3/issues/695","labels_url":"https://api.github.com/repos/rebar/rebar3/issues/695/labels{/name}","comments_url":"https://api.github.com/repos/rebar/rebar3/issues/695/comments","events_url":"https://api.github.com/repos/rebar/rebar3/issues/695/events","html_url":"https://github.com/rebar/rebar3/pull/695","id":99551120,"number":695,"title":"Allow hooks to modify State","user":{"login":"tsloughter","id":36227,"avatar_url":"https://avatars.githubusercontent.com/u/36227?v=3","gravatar_id":"","url":"https://api.github.com/users/tsloughter","html_url":"https://github.com/tsloughter","followers_url":"https://api.github.com/users/tsloughter/followers","following_url":"https://api.github.com/users/tsloughter/following{/other_user}","gists_url":"https://api.github.com/users/tsloughter/gists{/gist_id}","starred_url":"https://api.github.com/users/tsloughter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tsloughter/subscriptions","organizations_url":"https://api.github.com/users/tsloughter/orgs","repos_url":"https://api.github.com/users/tsloughter/repos","events_url":"https://api.github.com/users/tsloughter/events{/privacy}","received_events_url":"https://api.github.com/users/tsloughter/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-08-07T00:27:12Z","updated_at":"2015-08-07T00:41:15Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/rebar/rebar3/pulls/695","html_url":"https://github.com/rebar/rebar3/pull/695","diff_url":"https://github.com/rebar/rebar3/pull/695.diff","patch_url":"https://github.com/rebar/rebar3/pull/695.patch"},"body":"Implements what we discussed in #680 \r\n\r\n1. umbrella project\r\n 1. top-level hooks run before and after the entire provider; these may impact the state of the full provider\r\n 2. per-app hooks run before and after the compile/clean/whatever for the app only; no impact on state\r\n 3. per-dep hooks run before and after the compile/clean/whatever step for the dep only; these only impact the local state for the dep\r\n2. single app project \r\n  1. per-app hooks run before and after the compile/clean/whatever for the app only; no impact on state\r\n  2. per-dep hooks run before and after the compile/clean/whatever step for the dep only; these only \r\n"},"comment":{"url":"https://api.github.com/repos/rebar/rebar3/issues/comments/128549366","html_url":"https://github.com/rebar/rebar3/pull/695#issuecomment-128549366","issue_url":"https://api.github.com/repos/rebar/rebar3/issues/695","id":128549366,"user":{"login":"ferd","id":111141,"avatar_url":"https://avatars.githubusercontent.com/u/111141?v=3","gravatar_id":"","url":"https://api.github.com/users/ferd","html_url":"https://github.com/ferd","followers_url":"https://api.github.com/users/ferd/followers","following_url":"https://api.github.com/users/ferd/following{/other_user}","gists_url":"https://api.github.com/users/ferd/gists{/gist_id}","starred_url":"https://api.github.com/users/ferd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ferd/subscriptions","organizations_url":"https://api.github.com/users/ferd/orgs","repos_url":"https://api.github.com/users/ferd/repos","events_url":"https://api.github.com/users/ferd/events{/privacy}","received_events_url":"https://api.github.com/users/ferd/received_events","type":"User","site_admin":false},"created_at":"2015-08-07T00:41:15Z","updated_at":"2015-08-07T00:41:15Z","body":"Note after discussion: The scenario 1.i (1.a for those reading emails) only triggers under an umbrella structure when a hook is added at the top-level rebar.config -- which, prior to this patch, does nothing.\r\n\r\nper-app (and per-dep) hooks (1.ii, 1.iii, 2.i, 2.ii) only work when defined in the per-app rebar.config.\r\n\r\nI wasn't properly aware of this and this caused confusion. I want to document that stuff on the website to make it clear to everyone."}}