{"action":"created","issue":{"url":"https://api.github.com/repos/bolt/bolt/issues/4154","labels_url":"https://api.github.com/repos/bolt/bolt/issues/4154/labels{/name}","comments_url":"https://api.github.com/repos/bolt/bolt/issues/4154/comments","events_url":"https://api.github.com/repos/bolt/bolt/issues/4154/events","html_url":"https://github.com/bolt/bolt/issues/4154","id":108633906,"number":4154,"title":"Cannot install third party composer packages as dependencies for extension","user":{"login":"dennschu","id":4938268,"avatar_url":"https://avatars.githubusercontent.com/u/4938268?v=3","gravatar_id":"","url":"https://api.github.com/users/dennschu","html_url":"https://github.com/dennschu","followers_url":"https://api.github.com/users/dennschu/followers","following_url":"https://api.github.com/users/dennschu/following{/other_user}","gists_url":"https://api.github.com/users/dennschu/gists{/gist_id}","starred_url":"https://api.github.com/users/dennschu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dennschu/subscriptions","organizations_url":"https://api.github.com/users/dennschu/orgs","repos_url":"https://api.github.com/users/dennschu/repos","events_url":"https://api.github.com/users/dennschu/events{/privacy}","received_events_url":"https://api.github.com/users/dennschu/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-09-28T10:54:19Z","updated_at":"2015-09-28T16:28:02Z","closed_at":null,"body":"1. **Bug summary**:\r\n\tThird party composer packages cannot be installed through composer *(inside extensions directory)* when they are registered as a *single* extension dependency.\r\n\r\n2. **Specifics**: I created a private non-local extension (delivered through private satis registry that is added to extensions composer.json) which reads the projects git repository and provides the actual (HEAD) version hash through a twig function. Bolt has the version `2.2.10` and composer `1.0-dev (afd98b74f13b9def1b2447f16fd0bfd4d96dff94)`. Bolt and composer work as expected except in case of third party extension dependencies.\r\n\r\n3. **Steps to reproduce**:\r\n\t4. Add dependency e.g. `cypresslab/gitelephant` to extensions composer.json file *(`[project_root]/extensions/vendor/org/extension_name/composer.json]`)*\r\n\t5. update private registry\r\n\t6. install the extension through `composer install` \r\n\r\n4. **Expected result**: \r\n\t- extension should be installed with all required dependencies\r\n\t- version conflicts should be resolved (don't try to install e.g. symfony command twice)\r\n\r\n5. **Actual result**:\r\n\t- extension got installed but third party dependencies like `cypresslab/gitelephant` are skipped toggling `\"packagist\": false` to `true` inside `[project_root]/extensions/composer.json` does not solve the issue\r\n\r\n### composer config files that are used\r\n\r\n**`[project_root]/extensions/vendor/organisation/composer.json`**\r\n\r\n\t\t{\r\n\t\t  \"name\": \"organisation/bolt-nut-backup-command\",\r\n\t\t  \"description\": \"\",\r\n\t\t  \"type\": \"bolt-extension\",\r\n\t\t  \"require\": {\r\n\t\t    \"bolt/bolt\": \">=2.0.0,<3.0.0\"\r\n\t\t  },\r\n\t\t  \"license\": \"MIT\",\r\n\t\t  \"authors\": [],\r\n\t\t  \"autoload\": {\r\n\t\t    \"files\": [\r\n\t\t      \"init.php\"\r\n\t\t    ],\r\n\t\t    \"psr-4\": {\r\n\t\t      \"Bolt\\\\Extension\\\\Organisation\\\\GitVersion\\\\\": [ \"\", \"src\" ]\r\n\t\t    }\r\n\t\t  }\r\n\t\t}\r\n\r\n\r\n\r\n**`[project_root]/extensions/composer.json`**\r\n\r\n\t\t{\r\n\t\t  \"repositories\": {\r\n\t\t    \"packagist\": false,\r\n\t\t    \"organisation\": {\r\n\t\t      \"type\": \"composer\",\r\n\t\t      \"url\": \"http://packages.organisation.de/private/\"\r\n\t\t    },\r\n\t\t    \"bolt\": {\r\n\t\t      \"type\": \"composer\",\r\n\t\t      \"url\": \"https://extensions.bolt.cm/satis/\"\r\n\t\t    }\r\n\t\t  },\r\n\t\t  \"minimum-stability\": \"stable\",\r\n\t\t  \"prefer-stable\": true,\r\n\t\t  \"config\": {\r\n\t\t    \"discard-changes\": true,\r\n\t\t    \"preferred-install\": \"dist\"\r\n\t\t  },\r\n\t\t  \"provide\": {\r\n\t\t    \"bolt/bolt\": \"2.2.10\"\r\n\t\t  },\r\n\t\t  \"extra\": {\r\n\t\t    \"bolt-web-path\": \".././\"\r\n\t\t  },\r\n\t\t  \"autoload\": {\r\n\t\t    \"psr-4\": {}\r\n\t\t  },\r\n\t\t  \"scripts\": {\r\n\t\t    \"post-package-install\": \"Bolt\\\\Composer\\\\ExtensionInstaller::handle\",\r\n\t\t    \"post-package-update\": \"Bolt\\\\Composer\\\\ExtensionInstaller::handle\"\r\n\t\t  },\r\n\t\t  \"require\": {\r\n\t\t    \"organisation/bolt-starter-theme\": \"~0.1\",\r\n\t\t    \"organisation/bolt-git-version\": \"~0.1.0\"\r\n\t\t  }\r\n\t\t}\r\n\r\n**`[project_root]/composer.json`**\r\n\r\n\t\t{\r\n\t\t  \"name\": \"organisation/bolt-composer-install\",\r\n\t\t  \"description\": \"\",\r\n\t\t  \"license\": \"MIT\",\r\n\t\t  \"repositories\": [\r\n\t\t    {\r\n\t\t      \"type\": \"composer\",\r\n\t\t      \"url\": \"http://packages.organisation.de/private/\"\r\n\t\t    }\r\n\t\t  ],\r\n\t\t  \"require\": {\r\n\t\t    \"bolt/bolt\": \"~2.2.8\",\r\n\t\t    \"composer/composer\": \"1.0.*@dev\",\r\n\t\t    \"ircmaxell/random-lib\": \"dev-master\",\r\n\t\t    \"league/fractal\": \"^0.12.0\",\r\n\t\t    \"neomerx/json-api\": \"~0.5.0\",\r\n\t\t    \"deployer/deployer\": \"^3.0\",\r\n\t\t    \"maknz/slack\": \"^1.7\"\r\n\t\t  },\r\n\t\t  \"config\": {\r\n\t\t    \"vendor-dir\": \"vendor\",\r\n\t\t    \"bin-dir\": \"bin\"\r\n\t\t  },\r\n\t\t  \"authors\": [],\r\n\t\t  \"autoload\": {\r\n\t\t    \"psr-4\": {}\r\n\t\t  },\r\n\t\t  \"minimum-stability\": \"beta\",\r\n\t\t  \"prefer-stable\": true,\r\n\t\t  \"scripts\": {\r\n\t\t    \"post-create-project-cmd\": [\r\n\t\t      \"Bolt\\\\Composer\\\\ScriptHandler::bootstrap\",\r\n\t\t      \"Organisation\\\\Bolt\\\\Installer\\\\InstallerScriptHandler::postInstallCmd\"\r\n\t\t    ],\r\n\t\t    \"post-install-cmd\": [\r\n\t\t      \"Organisation\\\\Bolt\\\\Installer\\\\InstallerScriptHandler::postInstallCmd\"\r\n\t\t    ],\r\n\t\t    \"post-update-cmd\": [\r\n\t\t      \"Organisation\\\\Bolt\\\\Installer\\\\InstallerScriptHandler::postInstallCmd\"\r\n\t\t    ]\r\n\t\t  },\r\n\t\t  \"extra\": {\r\n\t\t    \"branch-alias\": {\r\n\t\t      \"dev-master\": \"2.3-dev\"\r\n\t\t    },\r\n\t\t    \"bolt-web-dir\": \"./\",\r\n\t\t    \"bolt-app-dir\": \"./app\"\r\n\t\t  }\r\n\t\t}\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/bolt/bolt/issues/comments/143796969","html_url":"https://github.com/bolt/bolt/issues/4154#issuecomment-143796969","issue_url":"https://api.github.com/repos/bolt/bolt/issues/4154","id":143796969,"user":{"login":"dennschu","id":4938268,"avatar_url":"https://avatars.githubusercontent.com/u/4938268?v=3","gravatar_id":"","url":"https://api.github.com/users/dennschu","html_url":"https://github.com/dennschu","followers_url":"https://api.github.com/users/dennschu/followers","following_url":"https://api.github.com/users/dennschu/following{/other_user}","gists_url":"https://api.github.com/users/dennschu/gists{/gist_id}","starred_url":"https://api.github.com/users/dennschu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dennschu/subscriptions","organizations_url":"https://api.github.com/users/dennschu/orgs","repos_url":"https://api.github.com/users/dennschu/repos","events_url":"https://api.github.com/users/dennschu/events{/privacy}","received_events_url":"https://api.github.com/users/dennschu/received_events","type":"User","site_admin":false},"created_at":"2015-09-28T16:28:02Z","updated_at":"2015-09-28T16:28:02Z","body":"@GawainLynch You are right i had to add `cypresslab/gitelephant` package to our satis registry because the extensions composer.json does not use packagist. But then it starts to fail on sub dependencies. Ok i added these. Installation went fine but now it fails because monolog class gets redeclared... \r\n\r\nI got the feeling working against your extension system and composer – am I right?"}}