bundler/packer.php
2025-03-19 00:19:54 +01:00

48 lines
1.1 KiB
PHP
Executable File

#!/usr/bin/env php
<?php
include 'includes/fileReader.php';
include 'includes/io.php';
include 'includes/includeBuilder.php';
include 'includes/includeParser.php';
include 'includes/argvParser.php';
// php://stdout
$argvParser = new ArgvParser(
['d' => 'Delete outFile'],
['inFile' => 'Input file', 'outFile' => 'Output file']
);
$parsed = $argvParser->parseArgv($argv);
if ($parsed === false) {
line('Usage: ' . __FILE__ . ' ' . $argvParser->getOptionsHelp());
exit(1);
}
$inFile = $parsed['inFile'];
if (!file_exists($inFile)) {
line('File not found: ' . $inFile);
exit(1);
}
$outFile = $parsed['outFile'];
if (file_exists($outFile)) {
line('File already exists: ' . $outFile);
if ($parsed['d']) {
line('Deleting...');
unlink($outFile);
} else {
exit(1);
}
}
$includes = [];
buildIncludes($inFile, $includes);
var_dump($includes);
$lines = yieldIncludes($inFile, $includes);
$toFileHandle = fopen($outFile, 'w');
foreach ($lines as $line) {
fwrite($toFileHandle, $line);
}
chmod($outFile, fileperms($inFile));
fclose($toFileHandle);