#!/usr/bin/env php
<?php

declare(strict_types=1);

require dirname(__DIR__) . '/vendor/autoload.php';
require __DIR__ . '/lib/HelpCatalogBuilder.php';

try {
    $builder = new \OctoPress\Build\HelpCatalogBuilder();
    $path = dirname(__DIR__) . '/help/catalog.json';
    $json = $builder->encode($builder->build(dirname(__DIR__) . '/help'));
    if (in_array('--check', $argv, true)) {
        if (!is_file($path) || file_get_contents($path) !== $json) {
            throw new RuntimeException('Help catalog is out of date. Run composer help:build.');
        }
    } elseif (file_put_contents($path, $json) === false) {
        throw new RuntimeException('Unable to write help catalog.');
    }
    fwrite(STDOUT, "Help catalog validated.\n");
} catch (Throwable $error) {
    fwrite(STDERR, $error->getMessage() . "\n");
    exit(1);
}
