From fe52052a8bff0b49cdb5a1473b151bf50b3b555f Mon Sep 17 00:00:00 2001 From: jurgenhaas <juergen@paragon-es.de> Date: Mon, 6 Jul 2020 17:45:33 +0200 Subject: [PATCH] Further improvements around scripting Create .gitlab-ci.yml if not yet present --- prepareLocally.sh => bin/prepareLocally.sh | 0 bin/spoon | 6 ++++++ composer.json | 3 +++ src/Handler.php | 23 ++++++++++++++++++++++ 4 files changed, 32 insertions(+) rename prepareLocally.sh => bin/prepareLocally.sh (100%) create mode 100755 bin/spoon diff --git a/prepareLocally.sh b/bin/prepareLocally.sh similarity index 100% rename from prepareLocally.sh rename to bin/prepareLocally.sh diff --git a/bin/spoon b/bin/spoon new file mode 100755 index 0000000..79bb52d --- /dev/null +++ b/bin/spoon @@ -0,0 +1,6 @@ +#!/bin/bash + +COMPOSER=composer.spoons.json +export COMPOSER + +composer $@ diff --git a/composer.json b/composer.json index 7d7e72e..798dbf0 100644 --- a/composer.json +++ b/composer.json @@ -28,6 +28,9 @@ "LakeDrops\\DrupalSpoons\\": "src/" } }, + "bin": [ + "bin/spoon" + ], "extra": { "class": "LakeDrops\\DrupalSpoons\\Plugin" }, diff --git a/src/Handler.php b/src/Handler.php index dbff564..97b1be2 100644 --- a/src/Handler.php +++ b/src/Handler.php @@ -14,6 +14,8 @@ use Symfony\Component\Filesystem\Filesystem; */ class Handler { + const DRUPAL_SPOONS_VERSION = '1.7.0-rc1'; + /** * The composer object of this session. * @@ -98,6 +100,12 @@ class Handler { $fs->symlink($rel . $item, $moduleRoot . "/$item"); } } + + // Prepare GitLab CI file. + $gitlabCiFile = $projectRoot . '/.gitlab-ci.yml'; + if (!$fs->exists($gitlabCiFile)) { + $fs->dumpFile($gitlabCiFile, $this->defaultGitLabCi()); + } } /** @@ -187,4 +195,19 @@ class Handler { ]; } + /** + * Get default GitLab CI instructions for DrupalSpoons. + * + * @return string + */ + protected function defaultGitLabCi(): string { + $version = self::DRUPAL_SPOONS_VERSION; + return <<<gitlabci +include: + - project: 'drupalspoons/webmasters' + ref: $version + file: 'templates/.gitlab-ci.yml' +gitlabci; + } + } -- GitLab