Skip to content

Commit c47df1d

Browse files
committed
Add more tests and don't support Laravel outside of root of Git repo
1 parent 52b7bbf commit c47df1d

18 files changed

+55
-56
lines changed

src/Commands/DockerCiCommand.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
namespace BlameButton\LaravelDockerBuilder\Commands;
44

55
use BlameButton\LaravelDockerBuilder\Commands\GenerateQuestions\Choices\CiPlatform;
6-
use BlameButton\LaravelDockerBuilder\Detector\CiPlatformDetector;
6+
use BlameButton\LaravelDockerBuilder\Detectors\CiPlatformDetector;
77

88
class DockerCiCommand extends BaseCommand
99
{
@@ -19,9 +19,13 @@ public function handle(): int
1919
$output = base_path('.gitlab-ci.yml');
2020

2121
if (file_exists($output)) {
22+
$this->info('Detected GitLab, but [.gitlab-ci.yml] file already exists.');
23+
2224
return self::SUCCESS;
2325
}
2426

27+
$this->info(sprintf('Detected GitLab, copying [.gitlab-ci.yml] to [%s].', dirname($output)));
28+
2529
copy(package_path('resources/templates/.gitlab-ci.yml'), $output);
2630
}
2731

src/Commands/GenerateQuestions/NodeBuildToolQuestion.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
use BlameButton\LaravelDockerBuilder\Commands\BaseCommand;
66
use BlameButton\LaravelDockerBuilder\Commands\GenerateQuestions\Choices\NodeBuildTool;
7-
use BlameButton\LaravelDockerBuilder\Detector\NodeBuildToolDetector;
7+
use BlameButton\LaravelDockerBuilder\Detectors\NodeBuildToolDetector;
88
use BlameButton\LaravelDockerBuilder\Exceptions\InvalidOptionValueException;
99

1010
class NodeBuildToolQuestion extends BaseQuestion

src/Commands/GenerateQuestions/NodePackageManagerQuestion.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
use BlameButton\LaravelDockerBuilder\Commands\BaseCommand;
66
use BlameButton\LaravelDockerBuilder\Commands\GenerateQuestions\Choices\NodePackageManager;
7-
use BlameButton\LaravelDockerBuilder\Detector\NodePackageManagerDetector;
7+
use BlameButton\LaravelDockerBuilder\Detectors\NodePackageManagerDetector;
88
use BlameButton\LaravelDockerBuilder\Exceptions\InvalidOptionValueException;
99

1010
class NodePackageManagerQuestion extends BaseQuestion

src/Commands/GenerateQuestions/PhpExtensionsQuestion.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
use BlameButton\LaravelDockerBuilder\Commands\BaseCommand;
66
use BlameButton\LaravelDockerBuilder\Commands\GenerateQuestions\Choices\PhpExtensions;
7-
use BlameButton\LaravelDockerBuilder\Detector\PhpExtensionsDetector;
7+
use BlameButton\LaravelDockerBuilder\Detectors\PhpExtensionsDetector;
88
use BlameButton\LaravelDockerBuilder\Exceptions\InvalidOptionValueException;
99

1010
class PhpExtensionsQuestion extends BaseQuestion

src/Commands/GenerateQuestions/PhpVersionQuestion.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
use BlameButton\LaravelDockerBuilder\Commands\BaseCommand;
66
use BlameButton\LaravelDockerBuilder\Commands\GenerateQuestions\Choices\PhpVersion;
7-
use BlameButton\LaravelDockerBuilder\Detector\PhpVersionDetector;
7+
use BlameButton\LaravelDockerBuilder\Detectors\PhpVersionDetector;
88
use BlameButton\LaravelDockerBuilder\Exceptions\InvalidOptionValueException;
99

1010
class PhpVersionQuestion extends BaseQuestion

src/Detector/CiPlatformDetector.php

Lines changed: 0 additions & 36 deletions
This file was deleted.

src/Detectors/CiPlatformDetector.php

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<?php
2+
3+
namespace BlameButton\LaravelDockerBuilder\Detectors;
4+
5+
use BlameButton\LaravelDockerBuilder\Commands\GenerateQuestions\Choices\CiPlatform;
6+
use Illuminate\Support\Str;
7+
8+
class CiPlatformDetector implements DetectorContract
9+
{
10+
public function detect(): string|false
11+
{
12+
$config = base_path('.git/config');
13+
14+
if (! file_exists($config)) {
15+
return false;
16+
}
17+
18+
$config = file_get_contents($config);
19+
20+
if (Str::contains($config, 'gitlab')) {
21+
return CiPlatform::GITLAB_CI;
22+
}
23+
24+
if (Str::contains($config, 'github')) {
25+
return CiPlatform::GITHUB_ACTIONS;
26+
}
27+
28+
return false;
29+
}
30+
}

src/Detector/DetectorContract.php renamed to src/Detectors/DetectorContract.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?php
22

3-
namespace BlameButton\LaravelDockerBuilder\Detector;
3+
namespace BlameButton\LaravelDockerBuilder\Detectors;
44

55
interface DetectorContract
66
{

src/Detector/FileDetector.php renamed to src/Detectors/FileDetector.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?php
22

3-
namespace BlameButton\LaravelDockerBuilder\Detector;
3+
namespace BlameButton\LaravelDockerBuilder\Detectors;
44

55
abstract class FileDetector implements DetectorContract
66
{

src/Detector/NodeBuildToolDetector.php renamed to src/Detectors/NodeBuildToolDetector.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?php
22

3-
namespace BlameButton\LaravelDockerBuilder\Detector;
3+
namespace BlameButton\LaravelDockerBuilder\Detectors;
44

55
use BlameButton\LaravelDockerBuilder\Commands\GenerateQuestions\Choices\NodeBuildTool;
66

0 commit comments

Comments
 (0)