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

@@ -1,8 +1,11 @@
<?php
use StaticPHP\Skeleton\ArtifactGenerator;
use StaticPHP\Skeleton\PackageGenerator;
declare(strict_types=1);
use StaticPHP\Runtime\Executor\UnixCMakeExecutor;
use StaticPHP\Skeleton\ArtifactGenerator;
use StaticPHP\Skeleton\ExecutorGenerator;
use StaticPHP\Skeleton\PackageGenerator;
require_once 'vendor/autoload.php';
@@ -10,12 +13,16 @@ $package_generator = new PackageGenerator('foo', 'library')
->addDependency('bar')
->addStaticLib('libfoo.a', 'unix')
->addStaticLib('libfoo.a', 'unix')
->addArtifact($artifact_generator = new ArtifactGenerator('foo')->setSource(['type' => 'url', 'url' => 'https://example.com/foo.tar.gz']));
->addArtifact($artifact_generator = new ArtifactGenerator('foo')->setSource(['type' => 'url', 'url' => 'https://example.com/foo.tar.gz']))
->enableBuild(['Darwin', 'Linux'], 'build')
->addFunctionExecutorBinding('build', new ExecutorGenerator(UnixCMakeExecutor::class));
$pkg_config = $package_generator->generateConfig();
$artifact_config = $artifact_generator->generateConfig();
$pkg_config = $package_generator->generateConfigArray();
$artifact_config = $artifact_generator->generateConfigArray();
echo "===== pkg.json =====" . PHP_EOL;
echo json_encode($pkg_config, 64|128|256) . PHP_EOL;
echo "===== artifact.json =====" . PHP_EOL;
echo json_encode($artifact_config, 64|128|256) . PHP_EOL;
echo '===== pkg.json =====' . PHP_EOL;
echo json_encode($pkg_config, 64 | 128 | 256) . PHP_EOL;
echo '===== artifact.json =====' . PHP_EOL;
echo json_encode($artifact_config, 64 | 128 | 256) . PHP_EOL;
echo '===== php code for package =====' . PHP_EOL;
echo $package_generator->generatePackageClassFile('Package\Library');