From 5f90ffa8a5f150b1f39da828007833404d6ff7e8 Mon Sep 17 00:00:00 2001 From: jurgenhaas <juergen@paragon-es.de> Date: Mon, 22 Jun 2020 18:50:04 +0200 Subject: [PATCH] Turn off dorgflow by default and provide an ahoy command to turn it on and off --- ahoy.yml | 12 ++++++++++++ composer.json | 13 +++++++++++-- src/Handler.php | 7 +++++++ 3 files changed, 30 insertions(+), 2 deletions(-) diff --git a/ahoy.yml b/ahoy.yml index 13a258a..9bb3195 100644 --- a/ahoy.yml +++ b/ahoy.yml @@ -3,3 +3,15 @@ commands: update: cmd: composer dorgflow "$@" usage: Update DorgFlow setup in project + on: + cmd: | + echo "DORGFLOW=1" >>.env + env -i $(cat .env | xargs) >.env + composer dorgflow --no-interaction + usage: Turn on dorgflow + off: + cmd: | + echo "DORGFLOW=0" >>.env + env -i $(cat .env | xargs) >.env + composer dorgflow --no-interaction + usage: Turn off dorgflow diff --git a/composer.json b/composer.json index 17d0d4e..3531172 100644 --- a/composer.json +++ b/composer.json @@ -27,7 +27,8 @@ "php": ">=7.2", "composer-plugin-api": "^1.0.0", "cypresslab/gitelephant": "^2.0|^4.0", - "lakedrops/composer-json-utils": "^1.5" + "lakedrops/composer-json-utils": "^1.5", + "lakedrops/dotenv": "^1.3" }, "require-dev": { "composer/composer": "^1.10", @@ -41,6 +42,14 @@ } }, "extra": { - "class": "LakeDrops\\DorgFlow\\Plugin" + "class": "LakeDrops\\DorgFlow\\Plugin", + "lakedrops": { + "ahoy": { + "dorgflow": { + "usage": "Dorgflow settings and updates", + "imports": ["ahoy.yml"] + } + } + } } } diff --git a/src/Handler.php b/src/Handler.php index eabba98..5c32393 100644 --- a/src/Handler.php +++ b/src/Handler.php @@ -5,6 +5,7 @@ namespace LakeDrops\DorgFlow; use Exception; use GitElephant\Repository; use LakeDrops\Component\Composer\BaseHandler; +use LakeDrops\Component\Dotenv\Dotenv; use Symfony\Component\Filesystem\Filesystem; /** @@ -24,6 +25,12 @@ class Handler extends BaseHandler { return; } + $env = new Dotenv('dorgflow', $this->io); + $dorgflow = $env->receiveGlobal('DORGFLOW', 'Dorgflow', '0'); + if (empty($dorgflow)) { + return; + } + $installationManager = $this->composer->getInstallationManager(); $options = $this->getOptions(); foreach ([ -- GitLab