Skip to content
Snippets Groups Projects
Commit 438b3db4 authored by jurgenhaas's avatar jurgenhaas
Browse files

Merge branch 'develop' into 'main'

Merging develop into main

See merge request !3
parents c182e405 ea7419c6
No related branches found
No related tags found
1 merge request!3Merging develop into main
Pipeline #548935 passed
...@@ -8,14 +8,20 @@ ...@@ -8,14 +8,20 @@
"authors": [ "authors": [
{ {
"name": "Jürgen Haas", "name": "Jürgen Haas",
"email": "juergen@paragon-es.de", "email": "juergen.haas@lakedrops.com",
"homepage": "https://www.paragon-es.de", "homepage": "https://www.lakedrops.com",
"role": "Drupal Expert"
},
{
"name": "Daniel Speicher",
"email": "daniel.speicher@lakedrops.com",
"homepage": "https://www.lakedrops.com",
"role": "Drupal Expert" "role": "Drupal Expert"
}, },
{ {
"name": "Richard Papp", "name": "Richard Papp",
"email": "richard.papp@boromino.com", "email": "richard.papp@lakedrops.com",
"homepage": "http://www.boromino.com", "homepage": "https://www.lakedrops.com",
"role": "Drupal Expert" "role": "Drupal Expert"
} }
], ],
...@@ -32,7 +38,15 @@ ...@@ -32,7 +38,15 @@
}, },
"require-dev": { "require-dev": {
"composer/composer": "^1||^2", "composer/composer": "^1||^2",
"phpunit/phpunit": "^8.4" "drupal/coder": "^8.3",
"phpunit/phpunit": "^9.5",
"roave/security-advisories": "dev-master",
"squizlabs/php_codesniffer": "^3.7"
},
"config": {
"allow-plugins": {
"dealerdirect/phpcodesniffer-composer-installer": true
}
}, },
"minimum-stability": "dev", "minimum-stability": "dev",
"prefer-stable": true, "prefer-stable": true,
......
...@@ -2,14 +2,12 @@ ...@@ -2,14 +2,12 @@
namespace LakeDrops\DorgFlow; namespace LakeDrops\DorgFlow;
use Exception;
use GitElephant\Command\ResetCommand;
use GitElephant\Repository; use GitElephant\Repository;
use LakeDrops\Component\Composer\BaseHandler; use LakeDrops\Component\Composer\BaseHandler;
use Symfony\Component\Filesystem\Filesystem; use Symfony\Component\Filesystem\Filesystem;
/** /**
* Class Handler. * Handler class for the Dorgflow plugin.
* *
* @package LakeDrops\DorgFlow * @package LakeDrops\DorgFlow
*/ */
...@@ -50,10 +48,10 @@ class Handler extends BaseHandler { ...@@ -50,10 +48,10 @@ class Handler extends BaseHandler {
$installationManager = $this->composer->getInstallationManager(); $installationManager = $this->composer->getInstallationManager();
foreach ([ foreach ([
'projects' => 'git.drupal.org:project', 'projects' => 'git.drupal.org:project',
'drupalspoons' => 'gitlab.com:drupalspoons', 'drupalspoons' => 'gitlab.com:drupalspoons',
'selfhosted' => FALSE, 'selfhosted' => FALSE,
] as $type => $url) { ] as $type => $url) {
if ($this->config->readValue($type) === NULL) { if ($this->config->readValue($type) === NULL) {
continue; continue;
} }
...@@ -86,7 +84,9 @@ class Handler extends BaseHandler { ...@@ -86,7 +84,9 @@ class Handler extends BaseHandler {
} }
$path = $installationManager->getInstallPath($package); $path = $installationManager->getInstallPath($package);
$this->io->write("- $project => $path", TRUE); $this->io->write("- $project => $path", TRUE);
$this->keepObjects($project);
$this->prepareWorkingDirectory($path, $projectname, $version, $fullUrl); $this->prepareWorkingDirectory($path, $projectname, $version, $fullUrl);
$this->restoreObjects($project);
} }
} }
} }
...@@ -112,11 +112,12 @@ class Handler extends BaseHandler { ...@@ -112,11 +112,12 @@ class Handler extends BaseHandler {
try { try {
$origin = $repository->getRemote('origin', FALSE); $origin = $repository->getRemote('origin', FALSE);
if ($origin && $origin->getFetchURL() === $uri) { if ($origin->getFetchURL() === $uri) {
// Already setup correctly. // Already setup correctly.
return; return;
} }
} catch (Exception $ex) { }
catch (\Exception $ex) {
// Ignore the exception and conitue setup. // Ignore the exception and conitue setup.
} }
...@@ -177,12 +178,13 @@ class Handler extends BaseHandler { ...@@ -177,12 +178,13 @@ class Handler extends BaseHandler {
$repository = Repository::open($path); $repository = Repository::open($path);
try { try {
$origin = $repository->getRemote($remote, FALSE); $origin = $repository->getRemote($remote, FALSE);
if ($origin && $origin->getFetchURL() === $uri) { if ($origin->getFetchURL() === $uri) {
// Already setup correctly. // Already setup correctly.
$this->io->write('Already available.'); $this->io->write('Already available.');
return; return;
} }
} catch (Exception $ex) { }
catch (\Exception $ex) {
// Ignore the exception and conitue setup. // Ignore the exception and conitue setup.
} }
$repository->addRemote($remote, $uri); $repository->addRemote($remote, $uri);
...@@ -190,4 +192,40 @@ class Handler extends BaseHandler { ...@@ -190,4 +192,40 @@ class Handler extends BaseHandler {
$this->io->write('Successfully added issue fork.'); $this->io->write('Successfully added issue fork.');
} }
/**
* Move files and directories to keep to the /tmp directory.
*
* @param string $project
* The project name.
*/
private function keepObjects(string $project): void {
if ($objects = $this->config->readValue(['keep', $project])) {
$fs = new Filesystem();
foreach ($objects as $id => $object) {
if (file_exists($object)) {
$this->io->write(' - keeping ' . $object);
$fs->rename($object, '/tmp/dorgflow-keep-' . $id, TRUE);
}
}
}
}
/**
* Move files and directories to keep from the /tmp directory.
*
* @param string $project
* The project name.
*/
private function restoreObjects(string $project): void {
if ($objects = $this->config->readValue(['keep', $project])) {
$fs = new Filesystem();
foreach ($objects as $id => $object) {
if (file_exists('/tmp/dorgflow-keep-' . $id)) {
$this->io->write(' - restoring ' . $object);
$fs->rename('/tmp/dorgflow-keep-' . $id, $object, TRUE);
}
}
}
}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment