Added plugins and build tools
This commit is contained in:
54
plugins/com.noccy.docker/sparkplug.php
Normal file
54
plugins/com.noccy.docker/sparkplug.php
Normal file
@ -0,0 +1,54 @@
|
||||
<?php // "name":"Docker plugin for SparkPlug", "author":"Noccy"
|
||||
|
||||
namespace SparkPlug\Com\Noccy\Docker;
|
||||
|
||||
use Spark\Commands\Command;
|
||||
use SparkPlug;
|
||||
use SparkPlug\Com\Noccy\Docker\DockerCompose\Stack;
|
||||
use Symfony\Component\Console\Input\InputInterface;
|
||||
use Symfony\Component\Console\Output\OutputInterface;
|
||||
|
||||
class DockerPlug extends SparkPlug
|
||||
{
|
||||
private array $compose = [];
|
||||
|
||||
private Stack $composeStack;
|
||||
|
||||
public function load()
|
||||
{
|
||||
$config = read_config("docker.json");
|
||||
$docker = $config['docker']??[];
|
||||
|
||||
$hasCompose = array_key_exists('compose', $docker);
|
||||
$hasBuild = array_key_exists('build', $docker);
|
||||
|
||||
if ($hasCompose) {
|
||||
$this->compose = $docker['compose'];
|
||||
}
|
||||
|
||||
if ($hasCompose || $hasBuild) {
|
||||
register_command(new DockerUpCommand);
|
||||
register_command(new DockerDownCommand);
|
||||
register_command(new DockerStatusCommand);
|
||||
}
|
||||
if ($hasBuild) {
|
||||
register_command(new DockerBuildCommand);
|
||||
register_command(new DockerExecCommand);
|
||||
}
|
||||
register_command(new DockerDbExportCommand);
|
||||
}
|
||||
|
||||
public function getComposeStack(): ?Stack
|
||||
{
|
||||
$base = $this->getProjectDirectory();
|
||||
if (empty($this->composeStack)) {
|
||||
$composeFile = $base . "/" . ($this->compose['file']??'docker-compose.yml');
|
||||
$this->composeStack = new Stack($composeFile);
|
||||
}
|
||||
return $this->composeStack;
|
||||
}
|
||||
}
|
||||
|
||||
//if (file_exists(get_environment()->getConfigDirectory()."/maker.json")) {
|
||||
register_plugin("com.noccy.docker", new DockerPlug());
|
||||
//}
|
Reference in New Issue
Block a user