-
Notifications
You must be signed in to change notification settings - Fork 29
/
build_cli.php
executable file
·45 lines (38 loc) · 1.13 KB
/
build_cli.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!php
<?php
/**
* Copyright (c) 2022 Yun Dou <[email protected]>
*
* lwmbs is licensed under Mulan PSL v2. You can use this
* software according to the terms and conditions of the
* Mulan PSL v2. You may obtain a copy of Mulan PSL v2 at:
*
* https://license.coscl.org.cn/MulanPSL2
*
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS,
* WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,
* INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
*
* See the Mulan PSL v2 for more details.
*/
require __DIR__ . '/autoload.php';
function build_cli($argv): int {
Util::setErrorHandler();
[$cmdArgs, $config] = Util::makeConfig($argv);
foreach ($config->makeLibArray() as $_ => $lib) {
$lib->prove(
forceBuild: $cmdArgs['named']['noSystem'] ?? false,
fresh: $cmdArgs['named']['fresh'] ?? false,
);
}
$build = new CliBuild($config);
$build->build(
fresh: $cmdArgs['named']['fresh'] ?? false,
bloat: $cmdArgs['named']['bloat'] ?? false,
);
return 0;
}
if (!isset($asLib)) {
exit(build_cli($argv));
}