chore: Update dependencies
This commit is contained in:
parent
27758c0f0a
commit
f6f67be46c
7 changed files with 660 additions and 172 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -4,3 +4,4 @@ bin/
|
||||||
!bin/dcv
|
!bin/dcv
|
||||||
!bin/entrypoint.sh
|
!bin/entrypoint.sh
|
||||||
.cache/
|
.cache/
|
||||||
|
.php_cs.cache
|
||||||
|
|
13
.php_cs
13
.php_cs
|
@ -1,12 +1,15 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
$finder = Symfony\CS\Finder\DefaultFinder::create()
|
use PhpCsFixer as CS;
|
||||||
->exclude('somedir')
|
|
||||||
|
$finder = CS\Finder::create()
|
||||||
->in(__DIR__.DIRECTORY_SEPARATOR.'src')
|
->in(__DIR__.DIRECTORY_SEPARATOR.'src')
|
||||||
->in(__DIR__.DIRECTORY_SEPARATOR.'spec')
|
->in(__DIR__.DIRECTORY_SEPARATOR.'spec')
|
||||||
;
|
;
|
||||||
|
|
||||||
return Symfony\CS\Config\Config::create()
|
return CS\Config::create()
|
||||||
->level(Symfony\CS\FixerInterface::SYMFONY_LEVEL)
|
->setRules([
|
||||||
->finder($finder)
|
'@Symfony' => true,
|
||||||
|
])
|
||||||
|
->setFinder($finder)
|
||||||
;
|
;
|
||||||
|
|
|
@ -8,12 +8,14 @@ services:
|
||||||
php:
|
php:
|
||||||
- 7.0
|
- 7.0
|
||||||
- 7.1
|
- 7.1
|
||||||
|
- 7.2
|
||||||
- nightly
|
- nightly
|
||||||
|
|
||||||
env:
|
env:
|
||||||
matrix:
|
matrix:
|
||||||
- COMPOSERFLAGS=
|
- COMPOSERFLAGS=
|
||||||
- COMPOSERFLAGS=--prefer-lowest
|
- COMPOSERFLAGS=--prefer-lowest
|
||||||
|
- COMPOSERFLAGS=--prefer-stable
|
||||||
|
|
||||||
global:
|
global:
|
||||||
# DOCKER_EMAIL
|
# DOCKER_EMAIL
|
||||||
|
@ -29,6 +31,8 @@ matrix:
|
||||||
env: COMPOSERFLAGS=
|
env: COMPOSERFLAGS=
|
||||||
- php: 7.1
|
- php: 7.1
|
||||||
env: COMPOSERFLAGS=--prefer-lowest
|
env: COMPOSERFLAGS=--prefer-lowest
|
||||||
|
- php: 7.2
|
||||||
|
env: COMPOSERFLAGS=--prefer-lowest
|
||||||
- php: nightly
|
- php: nightly
|
||||||
env: COMPOSERFLAGS=--prefer-lowest
|
env: COMPOSERFLAGS=--prefer-lowest
|
||||||
allow_failures:
|
allow_failures:
|
||||||
|
|
|
@ -2,14 +2,15 @@
|
||||||
"name": "pmsipilot/docker-compose-viz",
|
"name": "pmsipilot/docker-compose-viz",
|
||||||
"description": "Docker compose graph visualization",
|
"description": "Docker compose graph visualization",
|
||||||
"require": {
|
"require": {
|
||||||
"symfony/yaml": "^3.1 || ^4@dev",
|
"php": "^7",
|
||||||
|
"symfony/yaml": "^3.1 || ^4",
|
||||||
"symfony/console": "^3.1",
|
"symfony/console": "^3.1",
|
||||||
"clue/graph": "^0.9",
|
"clue/graph": "^0.9",
|
||||||
"graphp/graphviz": "^0.2"
|
"graphp/graphviz": "^0.2"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"crysalead/kahlan": "^2.5.4",
|
"crysalead/kahlan": "^2.5.4",
|
||||||
"friendsofphp/php-cs-fixer": "^1.11"
|
"friendsofphp/php-cs-fixer": "^2"
|
||||||
},
|
},
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"authors": [
|
"authors": [
|
||||||
|
|
731
composer.lock
generated
731
composer.lock
generated
File diff suppressed because it is too large
Load diff
|
@ -26,7 +26,7 @@ $application->register('render')
|
||||||
->setCode(function (Console\Input\InputInterface $input, Console\Output\OutputInterface $output) {
|
->setCode(function (Console\Input\InputInterface $input, Console\Output\OutputInterface $output) {
|
||||||
$backgroundColor = $input->getOption('background');
|
$backgroundColor = $input->getOption('background');
|
||||||
|
|
||||||
if (preg_match('/^#[a-fA-F0-9]{6}|transparent$/', $backgroundColor) === 0) {
|
if (0 === preg_match('/^#[a-fA-F0-9]{6}|transparent$/', $backgroundColor)) {
|
||||||
throw new Console\Exception\InvalidArgumentException(sprintf('Invalid background color "%s". It must be a valid hex color or "transparent".', $backgroundColor));
|
throw new Console\Exception\InvalidArgumentException(sprintf('Invalid background color "%s". It must be a valid hex color or "transparent".', $backgroundColor));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -36,19 +36,19 @@ $application->register('render')
|
||||||
$overrideFile = dirname($inputFile).DIRECTORY_SEPARATOR.basename($inputFile, '.'.$inputFileExtension).'.'.$input->getOption('override').'.'.$inputFileExtension;
|
$overrideFile = dirname($inputFile).DIRECTORY_SEPARATOR.basename($inputFile, '.'.$inputFileExtension).'.'.$input->getOption('override').'.'.$inputFileExtension;
|
||||||
|
|
||||||
$outputFormat = $input->getOption('output-format');
|
$outputFormat = $input->getOption('output-format');
|
||||||
$outputFile = $input->getOption('output-file') ?: getcwd().DIRECTORY_SEPARATOR.'docker-compose.'.($outputFormat === 'dot' ? $outputFormat : 'png');
|
$outputFile = $input->getOption('output-file') ?: getcwd().DIRECTORY_SEPARATOR.'docker-compose.'.('dot' === $outputFormat ? $outputFormat : 'png');
|
||||||
$onlyServices = $input->getOption('only');
|
$onlyServices = $input->getOption('only');
|
||||||
|
|
||||||
if (in_array($outputFormat, ['dot', 'image', 'display']) === false) {
|
if (false === in_array($outputFormat, ['dot', 'image', 'display'])) {
|
||||||
throw new Console\Exception\InvalidArgumentException(sprintf('Invalid output format "%s". It must be one of "dot", "image" or "display".', $outputFormat));
|
throw new Console\Exception\InvalidArgumentException(sprintf('Invalid output format "%s". It must be one of "dot", "image" or "display".', $outputFormat));
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($outputFormat === 'display') {
|
if ('display' === $outputFormat) {
|
||||||
if ($input->getOption('force') || $input->getOption('output-file')) {
|
if ($input->getOption('force') || $input->getOption('output-file')) {
|
||||||
$output->writeln('<comment>The following options are ignored with the "display" output format: "--force", "--output-file"</comment>');
|
$output->writeln('<comment>The following options are ignored with the "display" output format: "--force", "--output-file"</comment>');
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (file_exists($outputFile) === true && $input->getOption('force') === false) {
|
if (true === file_exists($outputFile) && false === $input->getOption('force')) {
|
||||||
throw new Console\Exception\InvalidArgumentException(sprintf('File "%s" already exists. Use the "--force" option to overwrite it.', $outputFile));
|
throw new Console\Exception\InvalidArgumentException(sprintf('File "%s" already exists. Use the "--force" option to overwrite it.', $outputFile));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -103,19 +103,19 @@ $application->register('render')
|
||||||
}
|
}
|
||||||
|
|
||||||
$flags = 0;
|
$flags = 0;
|
||||||
if ($input->getOption('no-volumes') === true) {
|
if (true === $input->getOption('no-volumes')) {
|
||||||
$logger('<comment>Volumes</comment> will not be displayed');
|
$logger('<comment>Volumes</comment> will not be displayed');
|
||||||
|
|
||||||
$flags |= WITHOUT_VOLUMES;
|
$flags |= WITHOUT_VOLUMES;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($input->getOption('no-networks') === true) {
|
if (true === $input->getOption('no-networks')) {
|
||||||
$logger('<comment>Networks</comment> will not be displayed');
|
$logger('<comment>Networks</comment> will not be displayed');
|
||||||
|
|
||||||
$flags |= WITHOUT_NETWORKS;
|
$flags |= WITHOUT_NETWORKS;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($input->getOption('no-ports') === true) {
|
if (true === $input->getOption('no-ports')) {
|
||||||
$logger('<comment>Ports</comment> will not be displayed');
|
$logger('<comment>Ports</comment> will not be displayed');
|
||||||
|
|
||||||
$flags |= WITHOUT_PORTS;
|
$flags |= WITHOUT_PORTS;
|
||||||
|
|
|
@ -36,7 +36,7 @@ function logger(OutputInterface $output) : callable
|
||||||
*/
|
*/
|
||||||
function readConfiguration(string $path): array
|
function readConfiguration(string $path): array
|
||||||
{
|
{
|
||||||
if (file_exists($path) === false) {
|
if (false === file_exists($path)) {
|
||||||
throw new \InvalidArgumentException(sprintf('File "%s" does not exist', $path));
|
throw new \InvalidArgumentException(sprintf('File "%s" does not exist', $path));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -56,7 +56,7 @@ function readConfiguration(string $path) : array
|
||||||
*/
|
*/
|
||||||
function fetchServices(array $configuration): array
|
function fetchServices(array $configuration): array
|
||||||
{
|
{
|
||||||
if (isset($configuration['version']) === false || (int) $configuration['version'] === 1) {
|
if (false === isset($configuration['version']) || 1 === (int) $configuration['version']) {
|
||||||
return $configuration;
|
return $configuration;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -72,7 +72,7 @@ function fetchServices(array $configuration) : array
|
||||||
*/
|
*/
|
||||||
function fetchVolumes(array $configuration): array
|
function fetchVolumes(array $configuration): array
|
||||||
{
|
{
|
||||||
if (isset($configuration['version']) === false || (int) $configuration['version'] === 1) {
|
if (false === isset($configuration['version']) || 1 === (int) $configuration['version']) {
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -88,7 +88,7 @@ function fetchVolumes(array $configuration) : array
|
||||||
*/
|
*/
|
||||||
function fetchNetworks(array $configuration): array
|
function fetchNetworks(array $configuration): array
|
||||||
{
|
{
|
||||||
if (isset($configuration['version']) === false || (int) $configuration['version'] === 1) {
|
if (false === isset($configuration['version']) || 1 === (int) $configuration['version']) {
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -127,7 +127,7 @@ function applyGraphvizStyle(Graph $graph, bool $horizontal, string $background)
|
||||||
$graph->setAttribute('graphviz.graph.pad', '0.5');
|
$graph->setAttribute('graphviz.graph.pad', '0.5');
|
||||||
$graph->setAttribute('graphviz.graph.ratio', 'fill');
|
$graph->setAttribute('graphviz.graph.ratio', 'fill');
|
||||||
|
|
||||||
if ($horizontal === true) {
|
if (true === $horizontal) {
|
||||||
$graph->setAttribute('graphviz.graph.rankdir', 'LR');
|
$graph->setAttribute('graphviz.graph.rankdir', 'LR');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -158,7 +158,7 @@ function applyGraphvizStyle(Graph $graph, bool $horizontal, string $background)
|
||||||
case 'port':
|
case 'port':
|
||||||
$vertex->setAttribute('graphviz.shape', 'circle');
|
$vertex->setAttribute('graphviz.shape', 'circle');
|
||||||
|
|
||||||
if (($proto = $vertex->getAttribute('docker_compose.proto')) === 'udp') {
|
if ('udp' === ($proto = $vertex->getAttribute('docker_compose.proto'))) {
|
||||||
$vertex->setAttribute('graphviz.style', 'dashed');
|
$vertex->setAttribute('graphviz.style', 'dashed');
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -193,10 +193,10 @@ function applyGraphvizStyle(Graph $graph, bool $horizontal, string $background)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (($alias = $edge->getAttribute('docker_compose.alias')) !== null) {
|
if (null !== ($alias = $edge->getAttribute('docker_compose.alias'))) {
|
||||||
$edge->setAttribute('graphviz.label', $alias);
|
$edge->setAttribute('graphviz.label', $alias);
|
||||||
|
|
||||||
if ($edge->getAttribute('docker_compose.condition') !== null) {
|
if (null !== $edge->getAttribute('docker_compose.condition')) {
|
||||||
$edge->setAttribute('graphviz.fontsize', '10');
|
$edge->setAttribute('graphviz.fontsize', '10');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -222,17 +222,17 @@ function applyGraphvizStyle(Graph $graph, bool $horizontal, string $background)
|
||||||
*/
|
*/
|
||||||
function makeVerticesAndEdges(Graph $graph, array $services, array $volumes, array $networks, string $path, int $flags): Graph
|
function makeVerticesAndEdges(Graph $graph, array $services, array $volumes, array $networks, string $path, int $flags): Graph
|
||||||
{
|
{
|
||||||
if (((bool) ($flags & WITHOUT_VOLUMES)) === false) {
|
if (false === ((bool) ($flags & WITHOUT_VOLUMES))) {
|
||||||
foreach (array_keys($volumes) as $volume) {
|
foreach (array_keys($volumes) as $volume) {
|
||||||
addVolume($graph, 'named: '.$volume);
|
addVolume($graph, 'named: '.$volume);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (((bool) ($flags & WITHOUT_NETWORKS)) === false) {
|
if (false === ((bool) ($flags & WITHOUT_NETWORKS))) {
|
||||||
foreach ($networks as $network => $definition) {
|
foreach ($networks as $network => $definition) {
|
||||||
addNetwork(
|
addNetwork(
|
||||||
$graph, 'net: '.$network,
|
$graph, 'net: '.$network,
|
||||||
isset($definition['external']) && $definition['external'] === true ? 'external_network' : 'network'
|
isset($definition['external']) && true === $definition['external'] ? 'external_network' : 'network'
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -302,7 +302,7 @@ function makeVerticesAndEdges(Graph $graph, array $services, array $volumes, arr
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (((bool) ($flags & WITHOUT_VOLUMES)) === false) {
|
if (false === ((bool) ($flags & WITHOUT_VOLUMES))) {
|
||||||
$serviceVolumes = [];
|
$serviceVolumes = [];
|
||||||
|
|
||||||
foreach ($definition['volumes'] ?? [] as $volume) {
|
foreach ($definition['volumes'] ?? [] as $volume) {
|
||||||
|
@ -314,7 +314,7 @@ function makeVerticesAndEdges(Graph $graph, array $services, array $volumes, arr
|
||||||
foreach ($serviceVolumes as $container => $volume) {
|
foreach ($serviceVolumes as $container => $volume) {
|
||||||
list($host, $attr) = $volume;
|
list($host, $attr) = $volume;
|
||||||
|
|
||||||
if ($host[0] !== '.' && $host[0] !== DIRECTORY_SEPARATOR) {
|
if ('.' !== $host[0] && DIRECTORY_SEPARATOR !== $host[0]) {
|
||||||
$host = 'named: '.$host;
|
$host = 'named: '.$host;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -323,12 +323,12 @@ function makeVerticesAndEdges(Graph $graph, array $services, array $volumes, arr
|
||||||
$graph->getVertex($service),
|
$graph->getVertex($service),
|
||||||
'volumes',
|
'volumes',
|
||||||
$host !== $container ? $container : null,
|
$host !== $container ? $container : null,
|
||||||
$attr !== 'ro'
|
'ro' !== $attr
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (((bool) ($flags & WITHOUT_PORTS)) === false) {
|
if (false === ((bool) ($flags & WITHOUT_PORTS))) {
|
||||||
foreach ($definition['ports'] ?? [] as $port) {
|
foreach ($definition['ports'] ?? [] as $port) {
|
||||||
list($host, $container, $proto) = explodeMapping($port);
|
list($host, $container, $proto) = explodeMapping($port);
|
||||||
|
|
||||||
|
@ -341,7 +341,7 @@ function makeVerticesAndEdges(Graph $graph, array $services, array $volumes, arr
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (((bool) ($flags & WITHOUT_NETWORKS)) === false) {
|
if (false === ((bool) ($flags & WITHOUT_NETWORKS))) {
|
||||||
foreach ($definition['networks'] ?? [] as $network => $config) {
|
foreach ($definition['networks'] ?? [] as $network => $config) {
|
||||||
$network = is_int($network) ? $config : $network;
|
$network = is_int($network) ? $config : $network;
|
||||||
$config = is_int($network) ? [] : $config;
|
$config = is_int($network) ? [] : $config;
|
||||||
|
@ -371,7 +371,7 @@ function makeVerticesAndEdges(Graph $graph, array $services, array $volumes, arr
|
||||||
*/
|
*/
|
||||||
function addService(Graph $graph, string $service, string $type = null)
|
function addService(Graph $graph, string $service, string $type = null)
|
||||||
{
|
{
|
||||||
if ($graph->hasVertex($service) === true) {
|
if (true === $graph->hasVertex($service)) {
|
||||||
return $graph->getVertex($service);
|
return $graph->getVertex($service);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -392,7 +392,7 @@ function addService(Graph $graph, string $service, string $type = null)
|
||||||
*/
|
*/
|
||||||
function addPort(Graph $graph, int $port, string $proto = null)
|
function addPort(Graph $graph, int $port, string $proto = null)
|
||||||
{
|
{
|
||||||
if ($graph->hasVertex($port) === true) {
|
if (true === $graph->hasVertex($port)) {
|
||||||
return $graph->getVertex($port);
|
return $graph->getVertex($port);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -413,7 +413,7 @@ function addPort(Graph $graph, int $port, string $proto = null)
|
||||||
*/
|
*/
|
||||||
function addVolume(Graph $graph, string $path)
|
function addVolume(Graph $graph, string $path)
|
||||||
{
|
{
|
||||||
if ($graph->hasVertex($path) === true) {
|
if (true === $graph->hasVertex($path)) {
|
||||||
return $graph->getVertex($path);
|
return $graph->getVertex($path);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -434,7 +434,7 @@ function addVolume(Graph $graph, string $path)
|
||||||
*/
|
*/
|
||||||
function addNetwork(Graph $graph, string $name, string $type = null)
|
function addNetwork(Graph $graph, string $name, string $type = null)
|
||||||
{
|
{
|
||||||
if ($graph->hasVertex($name) === true) {
|
if (true === $graph->hasVertex($name)) {
|
||||||
return $graph->getVertex($name);
|
return $graph->getVertex($name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -476,7 +476,7 @@ function addRelation(Vertex $from, Vertex $to, string $type, string $alias = nul
|
||||||
|
|
||||||
$edge->setAttribute('docker_compose.type', $type);
|
$edge->setAttribute('docker_compose.type', $type);
|
||||||
|
|
||||||
if ($alias !== null) {
|
if (null !== $alias) {
|
||||||
$edge->setAttribute('docker_compose.alias', $alias);
|
$edge->setAttribute('docker_compose.alias', $alias);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue