1#!/usr/bin/env php
2<?php
3
4/*
5 * This file is part of the Symfony package.
6 *
7 * (c) Fabien Potencier <fabien@symfony.com>
8 *
9 * For the full copyright and license information, please view the LICENSE
10 * file that was distributed with this source code.
11 */
12
13if ('cli' !== \PHP_SAPI) {
14    throw new Exception('This script must be run from the command line.');
15}
16
17/**
18 * Runs the Yaml lint command.
19 *
20 * @author Jan Schädlich <jan.schaedlich@sensiolabs.de>
21 */
22
23use Symfony\Component\Console\Application;
24use Symfony\Component\Yaml\Command\LintCommand;
25
26function includeIfExists(string $file): bool
27{
28    return file_exists($file) && include $file;
29}
30
31if (
32    !includeIfExists(__DIR__ . '/../../../../autoload.php') &&
33    !includeIfExists(__DIR__ . '/../../vendor/autoload.php') &&
34    !includeIfExists(__DIR__ . '/../../../../../../vendor/autoload.php')
35) {
36    fwrite(STDERR, 'Install dependencies using Composer.'.PHP_EOL);
37    exit(1);
38}
39
40if (!class_exists(Application::class)) {
41    fwrite(STDERR, 'You need the "symfony/console" component in order to run the Yaml linter.'.PHP_EOL);
42    exit(1);
43}
44
45(new Application())->add($command = new LintCommand())
46    ->getApplication()
47    ->setDefaultCommand($command->getName(), true)
48    ->run()
49;
50