parse() public static method

public static parse ( string $input ) : array
$input string
return array
Beispiel #1
0
    // Prepare list.
    $list = array_map(function ($release) {
        return basename(rtrim($release, '/'));
    }, $list);
    $releases = [];
    // Releases list.
    // Collect releases based on .dep/releases info.
    // Other will be ignored.
    if (run('if [ -f .dep/releases ]; then echo "true"; fi')->toBool()) {
        $keepReleases = get('keep_releases');
        if ($keepReleases === -1) {
            $csv = run('cat .dep/releases');
        } else {
            $csv = run("tail -n " . ($keepReleases + 5) . " .dep/releases");
        }
        $metainfo = Csv::parse($csv);
        for ($i = count($metainfo) - 1; $i >= 0; --$i) {
            if (is_array($metainfo[$i]) && count($metainfo[$i]) >= 2) {
                list($date, $release) = $metainfo[$i];
                $index = array_search($release, $list, true);
                if ($index !== false) {
                    $releases[] = $release;
                    unset($list[$index]);
                }
            }
        }
    }
    return $releases;
});
/**
 * Return release path.