Skip to content

Commit 47fa3f2

Browse files
Add composer as dependency (#1)
* add composer as dependency * add installer class * fix composer script to generate root_package.json file * add getPackage function to installer * refactor installer and remove overwritten installer
1 parent 29107f1 commit 47fa3f2

File tree

6 files changed

+19
-16
lines changed

6 files changed

+19
-16
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,4 @@
22
/vendor/
33
/src/Dflydev/EmbeddedComposer/*/vendor/
44
composer.lock
5+
.root_package.json

composer.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,17 +16,17 @@
1616
}
1717
],
1818
"require": {
19-
"php": ">=5.3.2",
20-
"composer/composer": "^1.0"
19+
"php": "^7.2.5",
20+
"composer/composer": "^2.0"
2121
},
2222
"require-dev": {
23-
"phpunit/phpunit": "~3.7.10",
24-
"symfony/console": "~2.3@dev",
25-
"symfony/http-kernel": "~2.1"
23+
"phpunit/phpunit": "~6.0",
24+
"symfony/console": "~5.2",
25+
"symfony/http-kernel": "~5.2"
2626
},
2727
"suggest": {
28-
"symfony/console": "~2.3",
29-
"symfony/http-kernel": "~2.1"
28+
"symfony/console": "~5.2",
29+
"symfony/http-kernel": "~5.2"
3030
},
3131
"replace": {
3232
"dflydev/embedded-composer-bundle": "self.version",

src/Dflydev/EmbeddedComposer/Core/EmbeddedComposer.php

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
namespace Dflydev\EmbeddedComposer\Core;
1313

1414
use Composer\Autoload\ClassLoader;
15+
use Composer\Composer;
1516
use Composer\Config;
1617
use Composer\Factory;
1718
use Composer\Installer;
@@ -146,13 +147,13 @@ public function createComposer(IOInterface $io)
146147
/**
147148
* {@inheritdoc}
148149
*/
149-
public function createInstaller(IOInterface $io)
150+
public function createInstaller(IOInterface $io, ?Composer $composer = null)
150151
{
151-
$composer = $this->createComposer($io);
152+
$composer = $composer ?: $this->createComposer($io);
152153
$installer = Installer::create($io, $composer);
153154

154155
if ($this->hasInternalRepository) {
155-
$installer->setAdditionalInstalledRepository(
156+
$installer->setAdditionalFixedRepository(
156157
$this->internalRepository
157158
);
158159
$pluginManager = $composer->getPluginManager();

src/Dflydev/EmbeddedComposer/Core/EmbeddedComposerBuilder.php

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
use Composer\Factory;
1717
use Composer\Json\JsonFile;
1818
use Composer\Repository\CompositeRepository;
19+
use Composer\Repository\FilterRepository;
1920
use Composer\Repository\InstalledFilesystemRepository;
2021
use Seld\JsonLint\ParsingException;
2122

@@ -125,7 +126,6 @@ public function build()
125126
$externalComposerConfig = Factory::createConfig();
126127

127128
$configJsonFile = new JsonFile($externalComposerFilename);
128-
129129
if ($configJsonFile->exists()) {
130130
try {
131131
$configJsonFile->validateSchema(JsonFile::LAX_SCHEMA);
@@ -189,7 +189,7 @@ public function build()
189189
)
190190
);
191191

192-
$internalRepository->addRepository($internalInstalledRepository);
192+
$internalRepository->addRepository(new FilterRepository($internalInstalledRepository, []));
193193
}
194194

195195
$rootPackageFilename = $this->internalVendorDirectory.'/dflydev/embedded-composer/.root_package.json';
@@ -198,7 +198,7 @@ public function build()
198198
new JsonFile($rootPackageFilename)
199199
);
200200

201-
$internalRepository->addRepository($rootPackageRepository);
201+
$internalRepository->addRepository(new FilterRepository($rootPackageRepository, []));
202202
}
203203

204204

@@ -211,7 +211,6 @@ public function build()
211211
$internalRepository
212212
));
213213

214-
215214
return new EmbeddedComposer(
216215
$this->classLoader,
217216
$this->externalRootDirectory,

src/Dflydev/EmbeddedComposer/Core/EmbeddedComposerInterface.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
namespace Dflydev\EmbeddedComposer\Core;
1313

14+
use Composer\Composer;
1415
use Composer\Installer;
1516
use Composer\IO\IOInterface;
1617

@@ -56,7 +57,7 @@ public function createComposer(IOInterface $io);
5657
*
5758
* @param IOInterface $io
5859
*/
59-
public function createInstaller(IOInterface $io);
60+
public function createInstaller(IOInterface $io, ?Composer $composer = null);
6061

6162
/**
6263
* Get a repository repository representing the external repository and

src/Dflydev/EmbeddedComposer/Core/Script.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
namespace Dflydev\EmbeddedComposer\Core;
1313

14+
use Composer\Installer\InstallationManager;
1415
use Composer\Json\JsonFile;
1516
use Composer\Repository\InstalledFilesystemRepository;
1617
use Composer\Script\Event;
@@ -33,6 +34,6 @@ public static function postAutoloadDump(Event $event)
3334
$jsonFile = new JsonFile($filename);
3435
$repository = new InstalledFilesystemRepository($jsonFile);
3536
$repository->addPackage(clone $package);
36-
$repository->write();
37+
$repository->write(false, $composer->getInstallationManager());
3738
}
3839
}

0 commit comments

Comments
 (0)