{"action":"created","issue":{"url":"https://api.github.com/repos/civicrm/civicrm-core/issues/8022","repository_url":"https://api.github.com/repos/civicrm/civicrm-core","labels_url":"https://api.github.com/repos/civicrm/civicrm-core/issues/8022/labels{/name}","comments_url":"https://api.github.com/repos/civicrm/civicrm-core/issues/8022/comments","events_url":"https://api.github.com/repos/civicrm/civicrm-core/issues/8022/events","html_url":"https://github.com/civicrm/civicrm-core/pull/8022","id":143418736,"number":8022,"title":"(WIP) CRM-16243 - Extension API - Automatically enable dependencies","user":{"login":"totten","id":1336047,"avatar_url":"https://avatars.githubusercontent.com/u/1336047?v=3","gravatar_id":"","url":"https://api.github.com/users/totten","html_url":"https://github.com/totten","followers_url":"https://api.github.com/users/totten/followers","following_url":"https://api.github.com/users/totten/following{/other_user}","gists_url":"https://api.github.com/users/totten/gists{/gist_id}","starred_url":"https://api.github.com/users/totten/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/totten/subscriptions","organizations_url":"https://api.github.com/users/totten/orgs","repos_url":"https://api.github.com/users/totten/repos","events_url":"https://api.github.com/users/totten/events{/privacy}","received_events_url":"https://api.github.com/users/totten/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/civicrm/civicrm-core/labels/master","name":"master","color":"0052cc"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2016-03-25T04:00:41Z","updated_at":"2016-03-25T14:41:13Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/civicrm/civicrm-core/pulls/8022","html_url":"https://github.com/civicrm/civicrm-core/pull/8022","diff_url":"https://github.com/civicrm/civicrm-core/pull/8022.diff","patch_url":"https://github.com/civicrm/civicrm-core/pull/8022.patch"},"body":"This applies to the `install` and `enable` actions.\n\nHandling `download` is a different task.  Ideally, we'd use `composer` for\ndownloading. But I'm not sure if that needs to block support for `install`/`enable`.\n\nThis consumes dependency data from `info.xml`, as in:\n\n```xml\n<extension key=\"org.civicrm.cvform\" type=\"module\">\n  <requires>\n    <ext>org.civicrm.api4</ext>\n  </requires>\n</extension>\n```\n\nConsequently, one would need to declare extension dependencies twice (once for\nthe download dependencies in\n\nIt has received very negligible acceptance testing.  Please feel free to\nnitpick away!\n\n---\n\n * [CRM-16243: Dependency management for extensions](https://issues.civicrm.org/jira/browse/CRM-16243)"},"comment":{"url":"https://api.github.com/repos/civicrm/civicrm-core/issues/comments/201317563","html_url":"https://github.com/civicrm/civicrm-core/pull/8022#issuecomment-201317563","issue_url":"https://api.github.com/repos/civicrm/civicrm-core/issues/8022","id":201317563,"user":{"login":"colemanw","id":2874912,"avatar_url":"https://avatars.githubusercontent.com/u/2874912?v=3","gravatar_id":"","url":"https://api.github.com/users/colemanw","html_url":"https://github.com/colemanw","followers_url":"https://api.github.com/users/colemanw/followers","following_url":"https://api.github.com/users/colemanw/following{/other_user}","gists_url":"https://api.github.com/users/colemanw/gists{/gist_id}","starred_url":"https://api.github.com/users/colemanw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/colemanw/subscriptions","organizations_url":"https://api.github.com/users/colemanw/orgs","repos_url":"https://api.github.com/users/colemanw/repos","events_url":"https://api.github.com/users/colemanw/events{/privacy}","received_events_url":"https://api.github.com/users/colemanw/received_events","type":"User","site_admin":false},"created_at":"2016-03-25T14:41:13Z","updated_at":"2016-03-25T14:41:13Z","body":"Not that this has to be implemented now, just want to make sure we're not painting ourselves into a corner with the proposed xml syntax. If we want to start supporting things like versioned dependencies, would it perhaps look like:\r\n\r\n```\r\n<extension key=\"org.civicrm.cvform\" type=\"module\">\r\n  <requires>\r\n    <ext>org.civicrm.api4</ext>\r\n    <min>1.0</min>\r\n    <max>1.2</max>\r\n  </requires>\r\n</extension>\r\n```"}}