Add lib skeleton command and sort config, spc_mode suuport, etc...

This commit is contained in:
crazywhalecc
2025-12-18 15:43:58 +08:00
parent 1707c679e8
commit dd5762fbd3
19 changed files with 866 additions and 109 deletions

View File

@@ -11,26 +11,30 @@ class ArtifactConfig
{
private static array $artifact_configs = [];
public static function loadFromDir(string $dir, string $registry_name): void
public static function loadFromDir(string $dir, string $registry_name): array
{
if (!is_dir($dir)) {
throw new WrongUsageException("Directory {$dir} does not exist, cannot load artifact config.");
}
$loaded = [];
$files = glob("{$dir}/artifact.*.json");
if (is_array($files)) {
foreach ($files as $file) {
self::loadFromFile($file, $registry_name);
$loaded[] = $file;
}
}
if (file_exists("{$dir}/artifact.json")) {
self::loadFromFile("{$dir}/artifact.json", $registry_name);
$loaded[] = "{$dir}/artifact.json";
}
return $loaded;
}
/**
* Load artifact configurations from a specified JSON file.
*/
public static function loadFromFile(string $file, string $registry_name): void
public static function loadFromFile(string $file, string $registry_name): string
{
$content = file_get_contents($file);
if ($content === false) {
@@ -45,6 +49,7 @@ class ArtifactConfig
self::$artifact_configs[$artifact_name] = $config;
Registry::_bindArtifactConfigFile($artifact_name, $registry_name, $file);
}
return $file;
}
/**