Create packer with recursive inclusion and deduplication

This commit is contained in:
Tim
2025-03-18 23:31:28 +01:00
parent c4845ed7c6
commit 61a4dcd370
11 changed files with 108 additions and 11 deletions

33
packer.php Executable file
View File

@ -0,0 +1,33 @@
#!/usr/bin/env php
<?php
include 'includes/fileReader.php';
include 'includes/io.php';
include 'includes/includeBuilder.php';
include 'includes/includeParser.php';
if (count($argv) < 3) {
line('Usage: ' . __FILE__ . ' <inFile> <outFile>');
exit(1);
}
$fromFile = $argv[1];
if (!file_exists($fromFile)) {
line('File not found: ' . $fromFile);
exit(1);
}
$toFile = $argv[2];
if (file_exists($toFile)) {
line('File already exists: ' . $toFile);
unlink($toFile);
}
$includes = [];
buildIncludes($fromFile, $includes);
$lines = yieldIncludes($fromFile, $includes);
$toFileHandle = fopen($toFile, 'w');
foreach ($lines as $line) {
fwrite($toFileHandle, $line);
chmod($toFile, fileperms($fromFile));
}
fclose($toFileHandle);