#!/usr/bin/env php
<?php
/**
 * This file is part of PHP Mess Detector.
 *
 * Copyright (c) Manuel Pichler <mapi@phpmd.org>.
 * All rights reserved.
 *
 * Licensed under BSD License
 * For full copyright and license information, please see the LICENSE file.
 * Redistributions of files must retain the above copyright notice.
 *
 * @author Manuel Pichler <mapi@phpmd.org>
 * @copyright Manuel Pichler. All rights reserved.
 * @license https://opensource.org/licenses/bsd-license.php BSD License
 * @link http://phpmd.org/
 */

use Composer\XdebugHandler\XdebugHandler;
use PHPMD\TextUI\Command;

if (file_exists(__DIR__ . '/../../../autoload.php')) {
    // phpmd is part of a composer installation
    require_once __DIR__ . '/../../../autoload.php';
} else {
    require_once __DIR__ . '/../vendor/autoload.php';
}

// Restart if xdebug is loading, unless the environment variable PHPMD_ALLOW_XDEBUG is set.
$xdebug = new XdebugHandler('PHPMD');
$xdebug->check();
unset($xdebug);

if (!ini_get('date.timezone')) {
    date_default_timezone_set('UTC');
}

ini_set('memory_limit', -1);

// Check php setup for cli arguments
if (!isset($_SERVER['argv']) && !isset($argv)) {
    fwrite(STDERR, 'Please enable the "register_argc_argv" directive in your php.ini' . PHP_EOL);
    exit(1);
} elseif (!isset($argv)) {
    $argv = $_SERVER['argv'];
}

// Run command line interface
exit(Command::main($argv)->value);
