You've already forked qlg.tsgz.moe
							
							
		
			
				
	
	
		
			78 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			78 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/env php
 | 
						|
<?php
 | 
						|
define('BASE_DIR', dirname(__DIR__));
 | 
						|
if (empty($argv[1]))
 | 
						|
{
 | 
						|
    $DIR = BASE_DIR . '/tests';
 | 
						|
}
 | 
						|
else
 | 
						|
{
 | 
						|
    $DIR = BASE_DIR . '/' . $argv[1];
 | 
						|
}
 | 
						|
 | 
						|
$role = empty($argv[2]) ? 'test' : 'src';
 | 
						|
$cmd = empty($argv[3]) ? 'list' : 'check';
 | 
						|
 | 
						|
$_files = [];
 | 
						|
search($DIR, $_files);
 | 
						|
 | 
						|
foreach ($_files as $f)
 | 
						|
{
 | 
						|
    $filename = str_replace($DIR . '/', '', $f);
 | 
						|
    if ($cmd == 'list')
 | 
						|
    {
 | 
						|
        echo '<file name="' . $filename . '" role="' . $role . '" />' . "\n";
 | 
						|
    }
 | 
						|
    elseif ($cmd == 'check')
 | 
						|
    {
 | 
						|
        if (!inPackage($filename))
 | 
						|
        {
 | 
						|
            echo "$filename\n";
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
function search($path, &$_files)
 | 
						|
{
 | 
						|
    $dirs = _scandir($path);
 | 
						|
    foreach ($dirs as $d)
 | 
						|
    {
 | 
						|
        $_path = $path . '/' . $d;
 | 
						|
        if (!is_dir($_path))
 | 
						|
        {
 | 
						|
            $_files[] = $_path;
 | 
						|
            continue;
 | 
						|
        }
 | 
						|
        else
 | 
						|
        {
 | 
						|
            search($_path, $_files);
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
function _scandir($dir)
 | 
						|
{
 | 
						|
    $list = scandir($dir);
 | 
						|
    return array_filter($list, function ($f)
 | 
						|
    {
 | 
						|
        return $f[0] !== '.';
 | 
						|
    });
 | 
						|
}
 | 
						|
 | 
						|
function inPackage($file)
 | 
						|
{
 | 
						|
    static $content = null;
 | 
						|
    if (!$content)
 | 
						|
    {
 | 
						|
        $content = file_get_contents(BASE_DIR . '/package.xml');
 | 
						|
    }
 | 
						|
    if (strpos($content, $file) === false)
 | 
						|
    {
 | 
						|
        return false;
 | 
						|
    }
 | 
						|
    else
 | 
						|
    {
 | 
						|
        return true;
 | 
						|
    }
 | 
						|
}
 |