From 61a4dcd370cb9457e4fef9aee5403a7fba21c63f Mon Sep 17 00:00:00 2001 From: Tim Date: Tue, 18 Mar 2025 23:31:28 +0100 Subject: [PATCH] Create packer with recursive inclusion and deduplication --- bundle.php | 6 ++++- includes/fileReader.php | 10 +++++++ includes/includeBuilder.php | 18 +++++++++++++ includes/includeParser.php | 21 +++++++++++++++ includes/io.php | 6 +++++ packer.php | 33 +++++++++++++++++++++++ test.php | 6 ----- test.include.php => test/test.include.php | 2 +- test/test.include2.php | 3 +++ test/test.php | 11 ++++++++ test2.include.php | 3 --- 11 files changed, 108 insertions(+), 11 deletions(-) create mode 100644 includes/fileReader.php create mode 100644 includes/includeBuilder.php create mode 100644 includes/includeParser.php create mode 100644 includes/io.php create mode 100755 packer.php delete mode 100755 test.php rename test.include.php => test/test.include.php (53%) create mode 100644 test/test.include2.php create mode 100644 test/test.php delete mode 100644 test2.include.php diff --git a/bundle.php b/bundle.php index a88f3a9..00cc515 100755 --- a/bundle.php +++ b/bundle.php @@ -1,6 +1,10 @@ #!/usr/bin/env php 0 && str_starts_with($line, ' '); + 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); diff --git a/test.php b/test.php deleted file mode 100755 index 01adc3c..0000000 --- a/test.php +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env php -