Add pre-built lib feature

This commit is contained in:
crazywhalecc
2024-07-07 20:45:18 +08:00
committed by Jerry Ma
parent 522d8b4890
commit 3c0eb68c70
27 changed files with 355 additions and 80 deletions

View File

@@ -45,20 +45,21 @@ abstract class BuilderBase
abstract public function proveLibs(array $sorted_libraries);
/**
* Build libraries
* Set-Up libraries
*
* @throws FileSystemException
* @throws RuntimeException
* @throws WrongUsageException
*/
public function buildLibs(): void
public function setupLibs(): void
{
// build all libs
foreach ($this->libs as $lib) {
match ($lib->tryBuild($this->getOption('rebuild', false))) {
BUILD_STATUS_OK => logger()->info('lib [' . $lib::NAME . '] build success'),
BUILD_STATUS_ALREADY => logger()->notice('lib [' . $lib::NAME . '] already built'),
BUILD_STATUS_FAILED => logger()->error('lib [' . $lib::NAME . '] build failed'),
match ($lib->setup($this->getOption('rebuild', false))) {
LIB_STATUS_OK => logger()->info('lib [' . $lib::NAME . '] setup success'),
LIB_STATUS_ALREADY => logger()->notice('lib [' . $lib::NAME . '] already built'),
LIB_STATUS_BUILD_FAILED => logger()->error('lib [' . $lib::NAME . '] build failed'),
LIB_STATUS_INSTALL_FAILED => logger()->error('lib [' . $lib::NAME . '] install failed'),
default => logger()->warning('lib [' . $lib::NAME . '] build status unknown'),
};
}