From c1d69ba38684f61088cf89a6504dd134ae7f2dc3 Mon Sep 17 00:00:00 2001 From: Shish Date: Sat, 31 Jan 2026 14:34:34 +0000 Subject: [PATCH] Deduplicate generated files If eg if `8.2/ftp.php` and `8.3/ftp.php` are identical, delete `8.3/ftp.php` and map `8.3 => 8.2` (This reduces package size by 50%) --- generated/8.2/apache.php | 135 -- generated/8.2/apcu.php | 95 -- generated/8.2/bzip2.php | 93 -- generated/8.2/calendar.php | 25 - generated/8.2/classobj.php | 21 - generated/8.2/com.php | 115 -- generated/8.2/cubrid.php | 997 ------------ generated/8.2/dir.php | 117 -- generated/8.2/eio.php | 809 ---------- generated/8.2/fileinfo.php | 58 - generated/8.2/filter.php | 42 - generated/8.2/ftp.php | 443 ----- generated/8.2/funchand.php | 24 - generated/8.2/gettext.php | 22 - generated/8.2/ibase.php | 498 ------ generated/8.2/ibmDb2.php | 236 --- generated/8.2/iconv.php | 120 -- generated/8.2/info.php | 333 ---- generated/8.2/inotify.php | 36 - generated/8.2/json.php | 23 - generated/8.2/libxml.php | 19 - generated/8.2/lzf.php | 38 - generated/8.2/mailparse.php | 92 -- generated/8.2/mbstring.php | 417 ----- generated/8.2/mysql.php | 553 ------- generated/8.2/opcache.php | 36 - generated/8.2/outcontrol.php | 131 -- generated/8.2/pcntl.php | 137 -- generated/8.2/pcre.php | 128 -- generated/8.2/pgsql.php | 774 --------- generated/8.2/posix.php | 343 ---- generated/8.2/ps.php | 1140 ------------- generated/8.2/pspell.php | 291 ---- generated/8.2/readline.php | 102 -- generated/8.2/rpminfo.php | 19 - generated/8.2/rrd.php | 160 -- generated/8.2/sem.php | 281 ---- generated/8.2/session.php | 294 ---- generated/8.2/shmop.php | 38 - generated/8.2/sockets.php | 474 ------ generated/8.2/solr.php | 20 - generated/8.2/spl.php | 98 -- generated/8.2/sqlsrv.php | 352 ---- generated/8.2/ssdeep.php | 56 - generated/8.2/strings.php | 74 - generated/8.2/swoole.php | 130 -- generated/8.2/uodbc.php | 659 -------- generated/8.2/uopz.php | 36 - generated/8.2/url.php | 81 - generated/8.2/var.php | 20 - generated/8.2/xdiff.php | 170 -- generated/8.2/xml.php | 180 --- generated/8.2/xmlrpc.php | 20 - generated/8.2/yaml.php | 76 - generated/8.2/yaz.php | 139 -- generated/8.2/zip.php | 122 -- generated/8.2/zlib.php | 423 ----- generated/8.3/apache.php | 135 -- generated/8.3/apcu.php | 95 -- generated/8.3/array.php | 103 -- generated/8.3/bzip2.php | 93 -- generated/8.3/calendar.php | 25 - generated/8.3/classobj.php | 21 - generated/8.3/com.php | 115 -- generated/8.3/cubrid.php | 997 ------------ generated/8.3/curl.php | 234 --- generated/8.3/datetime.php | 359 ----- generated/8.3/dir.php | 117 -- generated/8.3/eio.php | 809 ---------- generated/8.3/errorfunc.php | 28 - generated/8.3/exec.php | 120 -- generated/8.3/fileinfo.php | 58 - generated/8.3/filesystem.php | 895 ----------- generated/8.3/filter.php | 42 - generated/8.3/fpm.php | 34 - generated/8.3/ftp.php | 443 ----- generated/8.3/funchand.php | 24 - generated/8.3/functionsList.php | 1137 ------------- generated/8.3/gettext.php | 22 - generated/8.3/gmp.php | 15 - generated/8.3/gnupg.php | 152 -- generated/8.3/hash.php | 42 - generated/8.3/ibase.php | 498 ------ generated/8.3/ibmDb2.php | 236 --- generated/8.3/iconv.php | 120 -- generated/8.3/image.php | 1692 -------------------- generated/8.3/imap.php | 895 ----------- generated/8.3/info.php | 333 ---- generated/8.3/inotify.php | 36 - generated/8.3/json.php | 23 - generated/8.3/ldap.php | 670 -------- generated/8.3/libxml.php | 19 - generated/8.3/lzf.php | 38 - generated/8.3/mailparse.php | 92 -- generated/8.3/mbstring.php | 417 ----- generated/8.3/misc.php | 247 --- generated/8.3/mysql.php | 553 ------- generated/8.3/mysqli.php | 16 - generated/8.3/network.php | 272 ---- generated/8.3/oci8.php | 666 -------- generated/8.3/opcache.php | 36 - generated/8.3/openssl.php | 1006 ------------ generated/8.3/outcontrol.php | 131 -- generated/8.3/pcntl.php | 137 -- generated/8.3/pcre.php | 128 -- generated/8.3/pgsql.php | 774 --------- generated/8.3/posix.php | 343 ---- generated/8.3/ps.php | 1140 ------------- generated/8.3/pspell.php | 291 ---- generated/8.3/readline.php | 102 -- generated/8.3/rnp.php | 537 ------- generated/8.3/rpminfo.php | 19 - generated/8.3/rrd.php | 160 -- generated/8.3/sem.php | 281 ---- generated/8.3/session.php | 294 ---- generated/8.3/shmop.php | 38 - generated/8.3/sockets.php | 474 ------ generated/8.3/sodium.php | 288 ---- generated/8.3/solr.php | 20 - generated/8.3/spl.php | 98 -- generated/8.3/sqlsrv.php | 352 ---- generated/8.3/ssdeep.php | 56 - generated/8.3/ssh2.php | 463 ------ generated/8.3/stream.php | 473 ------ generated/8.3/strings.php | 74 - generated/8.3/swoole.php | 130 -- generated/8.3/uodbc.php | 659 -------- generated/8.3/uopz.php | 36 - generated/8.3/url.php | 81 - generated/8.3/var.php | 20 - generated/8.3/xdiff.php | 170 -- generated/8.3/xml.php | 180 --- generated/8.3/xmlrpc.php | 20 - generated/8.3/yaml.php | 76 - generated/8.3/yaz.php | 139 -- generated/8.3/zip.php | 122 -- generated/8.3/zlib.php | 423 ----- generated/8.4/apcu.php | 95 -- generated/8.4/bzip2.php | 93 -- generated/8.4/calendar.php | 25 - generated/8.4/classobj.php | 21 - generated/8.4/com.php | 115 -- generated/8.4/cubrid.php | 997 ------------ generated/8.4/dir.php | 117 -- generated/8.4/eio.php | 809 ---------- generated/8.4/errorfunc.php | 28 - generated/8.4/exec.php | 120 -- generated/8.4/fileinfo.php | 58 - generated/8.4/filesystem.php | 895 ----------- generated/8.4/filter.php | 42 - generated/8.4/fpm.php | 34 - generated/8.4/funchand.php | 24 - generated/8.4/gmp.php | 15 - generated/8.4/gnupg.php | 152 -- generated/8.4/hash.php | 42 - generated/8.4/ibase.php | 498 ------ generated/8.4/iconv.php | 120 -- generated/8.4/json.php | 23 - generated/8.4/libxml.php | 19 - generated/8.4/lzf.php | 38 - generated/8.4/mailparse.php | 92 -- generated/8.4/mysql.php | 553 ------- generated/8.4/mysqli.php | 16 - generated/8.4/oci8.php | 666 -------- generated/8.4/opcache.php | 36 - generated/8.4/pcntl.php | 137 -- generated/8.4/pcre.php | 128 -- generated/8.4/ps.php | 1140 ------------- generated/8.4/rnp.php | 537 ------- generated/8.4/rpminfo.php | 19 - generated/8.4/rrd.php | 160 -- generated/8.4/sem.php | 281 ---- generated/8.4/session.php | 294 ---- generated/8.4/shmop.php | 38 - generated/8.4/solr.php | 20 - generated/8.4/spl.php | 98 -- generated/8.4/sqlsrv.php | 352 ---- generated/8.4/ssdeep.php | 56 - generated/8.4/ssh2.php | 463 ------ generated/8.4/strings.php | 74 - generated/8.4/swoole.php | 130 -- generated/8.4/uopz.php | 36 - generated/8.4/url.php | 81 - generated/8.4/var.php | 20 - generated/8.4/xdiff.php | 170 -- generated/8.4/xmlrpc.php | 20 - generated/8.4/yaml.php | 76 - generated/8.4/yaz.php | 139 -- generated/8.4/zip.php | 122 -- generated/8.5/apache.php | 123 -- generated/8.5/apcu.php | 95 -- generated/8.5/array.php | 115 -- generated/8.5/bzip2.php | 93 -- generated/8.5/calendar.php | 25 - generated/8.5/classobj.php | 21 - generated/8.5/com.php | 115 -- generated/8.5/cubrid.php | 997 ------------ generated/8.5/curl.php | 226 --- generated/8.5/datetime.php | 369 ----- generated/8.5/dir.php | 117 -- generated/8.5/eio.php | 809 ---------- generated/8.5/errorfunc.php | 28 - generated/8.5/exec.php | 120 -- generated/8.5/fileinfo.php | 58 - generated/8.5/filesystem.php | 895 ----------- generated/8.5/filter.php | 42 - generated/8.5/fpm.php | 34 - generated/8.5/ftp.php | 464 ------ generated/8.5/funchand.php | 24 - generated/8.5/gettext.php | 26 - generated/8.5/gmp.php | 15 - generated/8.5/gnupg.php | 152 -- generated/8.5/hash.php | 42 - generated/8.5/ibase.php | 498 ------ generated/8.5/ibmDb2.php | 239 --- generated/8.5/iconv.php | 120 -- generated/8.5/image.php | 1683 ------------------- generated/8.5/imap.php | 881 ---------- generated/8.5/info.php | 325 ---- generated/8.5/inotify.php | 55 - generated/8.5/json.php | 23 - generated/8.5/ldap.php | 666 -------- generated/8.5/libxml.php | 19 - generated/8.5/lzf.php | 38 - generated/8.5/mailparse.php | 92 -- generated/8.5/mbstring.php | 413 ----- generated/8.5/misc.php | 239 --- generated/8.5/mysql.php | 553 ------- generated/8.5/mysqli.php | 16 - generated/8.5/network.php | 262 --- generated/8.5/oci8.php | 666 -------- generated/8.5/opcache.php | 36 - generated/8.5/openssl.php | 1009 ------------ generated/8.5/outcontrol.php | 147 -- generated/8.5/pcre.php | 128 -- generated/8.5/pgsql.php | 793 --------- generated/8.5/posix.php | 364 ----- generated/8.5/ps.php | 1140 ------------- generated/8.5/pspell.php | 287 ---- generated/8.5/readline.php | 96 -- generated/8.5/rnp.php | 537 ------- generated/8.5/rrd.php | 160 -- generated/8.5/sem.php | 281 ---- generated/8.5/session.php | 294 ---- generated/8.5/sockets.php | 489 ------ generated/8.5/sodium.php | 326 ---- generated/8.5/solr.php | 20 - generated/8.5/spl.php | 98 -- generated/8.5/sqlsrv.php | 352 ---- generated/8.5/ssdeep.php | 56 - generated/8.5/ssh2.php | 463 ------ generated/8.5/stream.php | 490 ------ generated/8.5/strings.php | 74 - generated/8.5/swoole.php | 130 -- generated/8.5/uopz.php | 36 - generated/8.5/url.php | 81 - generated/8.5/var.php | 20 - generated/8.5/xml.php | 177 -- generated/8.5/xmlrpc.php | 20 - generated/8.5/yaml.php | 76 - generated/8.5/yaz.php | 139 -- generated/8.5/zip.php | 122 -- generated/apache.php | 6 +- generated/apcu.php | 8 +- generated/array.php | 4 +- generated/bzip2.php | 8 +- generated/calendar.php | 8 +- generated/classobj.php | 8 +- generated/com.php | 8 +- generated/cubrid.php | 8 +- generated/curl.php | 4 +- generated/datetime.php | 4 +- generated/dir.php | 8 +- generated/eio.php | 8 +- generated/errorfunc.php | 6 +- generated/exec.php | 6 +- generated/fileinfo.php | 8 +- generated/filesystem.php | 6 +- generated/filter.php | 8 +- generated/fpm.php | 6 +- generated/ftp.php | 6 +- generated/funchand.php | 8 +- generated/functionsList.php | 2 +- generated/gettext.php | 6 +- generated/gmp.php | 6 +- generated/gnupg.php | 6 +- generated/hash.php | 6 +- generated/ibase.php | 8 +- generated/ibmDb2.php | 6 +- generated/iconv.php | 8 +- generated/image.php | 4 +- generated/imap.php | 4 +- generated/info.php | 6 +- generated/inotify.php | 6 +- generated/json.php | 8 +- generated/ldap.php | 4 +- generated/libxml.php | 8 +- generated/lzf.php | 8 +- generated/mailparse.php | 8 +- generated/mbstring.php | 6 +- generated/misc.php | 4 +- generated/mysql.php | 8 +- generated/mysqli.php | 6 +- generated/network.php | 4 +- generated/oci8.php | 6 +- generated/opcache.php | 8 +- generated/openssl.php | 4 +- generated/outcontrol.php | 6 +- generated/pcntl.php | 6 +- generated/pcre.php | 8 +- generated/pgsql.php | 6 +- generated/posix.php | 6 +- generated/ps.php | 8 +- generated/pspell.php | 6 +- generated/readline.php | 6 +- generated/rnp.php | 6 +- generated/rpminfo.php | 6 +- generated/rrd.php | 8 +- generated/sem.php | 8 +- generated/session.php | 8 +- generated/shmop.php | 6 +- generated/sockets.php | 6 +- generated/sodium.php | 4 +- generated/solr.php | 8 +- generated/spl.php | 8 +- generated/sqlsrv.php | 8 +- generated/ssdeep.php | 8 +- generated/ssh2.php | 6 +- generated/stream.php | 4 +- generated/strings.php | 8 +- generated/swoole.php | 8 +- generated/uodbc.php | 4 +- generated/uopz.php | 8 +- generated/url.php | 8 +- generated/var.php | 8 +- generated/xdiff.php | 6 +- generated/xml.php | 6 +- generated/xmlrpc.php | 8 +- generated/yaml.php | 8 +- generated/yaz.php | 8 +- generated/zip.php | 8 +- generated/zlib.php | 4 +- generator/src/Commands/GenerateCommand.php | 4 +- generator/src/Generator/FileCreator.php | 29 +- 344 files changed, 290 insertions(+), 65909 deletions(-) delete mode 100644 generated/8.2/apache.php delete mode 100644 generated/8.2/apcu.php delete mode 100644 generated/8.2/bzip2.php delete mode 100644 generated/8.2/calendar.php delete mode 100644 generated/8.2/classobj.php delete mode 100644 generated/8.2/com.php delete mode 100644 generated/8.2/cubrid.php delete mode 100644 generated/8.2/dir.php delete mode 100644 generated/8.2/eio.php delete mode 100644 generated/8.2/fileinfo.php delete mode 100644 generated/8.2/filter.php delete mode 100644 generated/8.2/ftp.php delete mode 100644 generated/8.2/funchand.php delete mode 100644 generated/8.2/gettext.php delete mode 100644 generated/8.2/ibase.php delete mode 100644 generated/8.2/ibmDb2.php delete mode 100644 generated/8.2/iconv.php delete mode 100644 generated/8.2/info.php delete mode 100644 generated/8.2/inotify.php delete mode 100644 generated/8.2/json.php delete mode 100644 generated/8.2/libxml.php delete mode 100644 generated/8.2/lzf.php delete mode 100644 generated/8.2/mailparse.php delete mode 100644 generated/8.2/mbstring.php delete mode 100644 generated/8.2/mysql.php delete mode 100644 generated/8.2/opcache.php delete mode 100644 generated/8.2/outcontrol.php delete mode 100644 generated/8.2/pcntl.php delete mode 100644 generated/8.2/pcre.php delete mode 100644 generated/8.2/pgsql.php delete mode 100644 generated/8.2/posix.php delete mode 100644 generated/8.2/ps.php delete mode 100644 generated/8.2/pspell.php delete mode 100644 generated/8.2/readline.php delete mode 100644 generated/8.2/rpminfo.php delete mode 100644 generated/8.2/rrd.php delete mode 100644 generated/8.2/sem.php delete mode 100644 generated/8.2/session.php delete mode 100644 generated/8.2/shmop.php delete mode 100644 generated/8.2/sockets.php delete mode 100644 generated/8.2/solr.php delete mode 100644 generated/8.2/spl.php delete mode 100644 generated/8.2/sqlsrv.php delete mode 100644 generated/8.2/ssdeep.php delete mode 100644 generated/8.2/strings.php delete mode 100644 generated/8.2/swoole.php delete mode 100644 generated/8.2/uodbc.php delete mode 100644 generated/8.2/uopz.php delete mode 100644 generated/8.2/url.php delete mode 100644 generated/8.2/var.php delete mode 100644 generated/8.2/xdiff.php delete mode 100644 generated/8.2/xml.php delete mode 100644 generated/8.2/xmlrpc.php delete mode 100644 generated/8.2/yaml.php delete mode 100644 generated/8.2/yaz.php delete mode 100644 generated/8.2/zip.php delete mode 100644 generated/8.2/zlib.php delete mode 100644 generated/8.3/apache.php delete mode 100644 generated/8.3/apcu.php delete mode 100644 generated/8.3/array.php delete mode 100644 generated/8.3/bzip2.php delete mode 100644 generated/8.3/calendar.php delete mode 100644 generated/8.3/classobj.php delete mode 100644 generated/8.3/com.php delete mode 100644 generated/8.3/cubrid.php delete mode 100644 generated/8.3/curl.php delete mode 100644 generated/8.3/datetime.php delete mode 100644 generated/8.3/dir.php delete mode 100644 generated/8.3/eio.php delete mode 100644 generated/8.3/errorfunc.php delete mode 100644 generated/8.3/exec.php delete mode 100644 generated/8.3/fileinfo.php delete mode 100644 generated/8.3/filesystem.php delete mode 100644 generated/8.3/filter.php delete mode 100644 generated/8.3/fpm.php delete mode 100644 generated/8.3/ftp.php delete mode 100644 generated/8.3/funchand.php delete mode 100644 generated/8.3/functionsList.php delete mode 100644 generated/8.3/gettext.php delete mode 100644 generated/8.3/gmp.php delete mode 100644 generated/8.3/gnupg.php delete mode 100644 generated/8.3/hash.php delete mode 100644 generated/8.3/ibase.php delete mode 100644 generated/8.3/ibmDb2.php delete mode 100644 generated/8.3/iconv.php delete mode 100644 generated/8.3/image.php delete mode 100644 generated/8.3/imap.php delete mode 100644 generated/8.3/info.php delete mode 100644 generated/8.3/inotify.php delete mode 100644 generated/8.3/json.php delete mode 100644 generated/8.3/ldap.php delete mode 100644 generated/8.3/libxml.php delete mode 100644 generated/8.3/lzf.php delete mode 100644 generated/8.3/mailparse.php delete mode 100644 generated/8.3/mbstring.php delete mode 100644 generated/8.3/misc.php delete mode 100644 generated/8.3/mysql.php delete mode 100644 generated/8.3/mysqli.php delete mode 100644 generated/8.3/network.php delete mode 100644 generated/8.3/oci8.php delete mode 100644 generated/8.3/opcache.php delete mode 100644 generated/8.3/openssl.php delete mode 100644 generated/8.3/outcontrol.php delete mode 100644 generated/8.3/pcntl.php delete mode 100644 generated/8.3/pcre.php delete mode 100644 generated/8.3/pgsql.php delete mode 100644 generated/8.3/posix.php delete mode 100644 generated/8.3/ps.php delete mode 100644 generated/8.3/pspell.php delete mode 100644 generated/8.3/readline.php delete mode 100644 generated/8.3/rnp.php delete mode 100644 generated/8.3/rpminfo.php delete mode 100644 generated/8.3/rrd.php delete mode 100644 generated/8.3/sem.php delete mode 100644 generated/8.3/session.php delete mode 100644 generated/8.3/shmop.php delete mode 100644 generated/8.3/sockets.php delete mode 100644 generated/8.3/sodium.php delete mode 100644 generated/8.3/solr.php delete mode 100644 generated/8.3/spl.php delete mode 100644 generated/8.3/sqlsrv.php delete mode 100644 generated/8.3/ssdeep.php delete mode 100644 generated/8.3/ssh2.php delete mode 100644 generated/8.3/stream.php delete mode 100644 generated/8.3/strings.php delete mode 100644 generated/8.3/swoole.php delete mode 100644 generated/8.3/uodbc.php delete mode 100644 generated/8.3/uopz.php delete mode 100644 generated/8.3/url.php delete mode 100644 generated/8.3/var.php delete mode 100644 generated/8.3/xdiff.php delete mode 100644 generated/8.3/xml.php delete mode 100644 generated/8.3/xmlrpc.php delete mode 100644 generated/8.3/yaml.php delete mode 100644 generated/8.3/yaz.php delete mode 100644 generated/8.3/zip.php delete mode 100644 generated/8.3/zlib.php delete mode 100644 generated/8.4/apcu.php delete mode 100644 generated/8.4/bzip2.php delete mode 100644 generated/8.4/calendar.php delete mode 100644 generated/8.4/classobj.php delete mode 100644 generated/8.4/com.php delete mode 100644 generated/8.4/cubrid.php delete mode 100644 generated/8.4/dir.php delete mode 100644 generated/8.4/eio.php delete mode 100644 generated/8.4/errorfunc.php delete mode 100644 generated/8.4/exec.php delete mode 100644 generated/8.4/fileinfo.php delete mode 100644 generated/8.4/filesystem.php delete mode 100644 generated/8.4/filter.php delete mode 100644 generated/8.4/fpm.php delete mode 100644 generated/8.4/funchand.php delete mode 100644 generated/8.4/gmp.php delete mode 100644 generated/8.4/gnupg.php delete mode 100644 generated/8.4/hash.php delete mode 100644 generated/8.4/ibase.php delete mode 100644 generated/8.4/iconv.php delete mode 100644 generated/8.4/json.php delete mode 100644 generated/8.4/libxml.php delete mode 100644 generated/8.4/lzf.php delete mode 100644 generated/8.4/mailparse.php delete mode 100644 generated/8.4/mysql.php delete mode 100644 generated/8.4/mysqli.php delete mode 100644 generated/8.4/oci8.php delete mode 100644 generated/8.4/opcache.php delete mode 100644 generated/8.4/pcntl.php delete mode 100644 generated/8.4/pcre.php delete mode 100644 generated/8.4/ps.php delete mode 100644 generated/8.4/rnp.php delete mode 100644 generated/8.4/rpminfo.php delete mode 100644 generated/8.4/rrd.php delete mode 100644 generated/8.4/sem.php delete mode 100644 generated/8.4/session.php delete mode 100644 generated/8.4/shmop.php delete mode 100644 generated/8.4/solr.php delete mode 100644 generated/8.4/spl.php delete mode 100644 generated/8.4/sqlsrv.php delete mode 100644 generated/8.4/ssdeep.php delete mode 100644 generated/8.4/ssh2.php delete mode 100644 generated/8.4/strings.php delete mode 100644 generated/8.4/swoole.php delete mode 100644 generated/8.4/uopz.php delete mode 100644 generated/8.4/url.php delete mode 100644 generated/8.4/var.php delete mode 100644 generated/8.4/xdiff.php delete mode 100644 generated/8.4/xmlrpc.php delete mode 100644 generated/8.4/yaml.php delete mode 100644 generated/8.4/yaz.php delete mode 100644 generated/8.4/zip.php delete mode 100644 generated/8.5/apache.php delete mode 100644 generated/8.5/apcu.php delete mode 100644 generated/8.5/array.php delete mode 100644 generated/8.5/bzip2.php delete mode 100644 generated/8.5/calendar.php delete mode 100644 generated/8.5/classobj.php delete mode 100644 generated/8.5/com.php delete mode 100644 generated/8.5/cubrid.php delete mode 100644 generated/8.5/curl.php delete mode 100644 generated/8.5/datetime.php delete mode 100644 generated/8.5/dir.php delete mode 100644 generated/8.5/eio.php delete mode 100644 generated/8.5/errorfunc.php delete mode 100644 generated/8.5/exec.php delete mode 100644 generated/8.5/fileinfo.php delete mode 100644 generated/8.5/filesystem.php delete mode 100644 generated/8.5/filter.php delete mode 100644 generated/8.5/fpm.php delete mode 100644 generated/8.5/ftp.php delete mode 100644 generated/8.5/funchand.php delete mode 100644 generated/8.5/gettext.php delete mode 100644 generated/8.5/gmp.php delete mode 100644 generated/8.5/gnupg.php delete mode 100644 generated/8.5/hash.php delete mode 100644 generated/8.5/ibase.php delete mode 100644 generated/8.5/ibmDb2.php delete mode 100644 generated/8.5/iconv.php delete mode 100644 generated/8.5/image.php delete mode 100644 generated/8.5/imap.php delete mode 100644 generated/8.5/info.php delete mode 100644 generated/8.5/inotify.php delete mode 100644 generated/8.5/json.php delete mode 100644 generated/8.5/ldap.php delete mode 100644 generated/8.5/libxml.php delete mode 100644 generated/8.5/lzf.php delete mode 100644 generated/8.5/mailparse.php delete mode 100644 generated/8.5/mbstring.php delete mode 100644 generated/8.5/misc.php delete mode 100644 generated/8.5/mysql.php delete mode 100644 generated/8.5/mysqli.php delete mode 100644 generated/8.5/network.php delete mode 100644 generated/8.5/oci8.php delete mode 100644 generated/8.5/opcache.php delete mode 100644 generated/8.5/openssl.php delete mode 100644 generated/8.5/outcontrol.php delete mode 100644 generated/8.5/pcre.php delete mode 100644 generated/8.5/pgsql.php delete mode 100644 generated/8.5/posix.php delete mode 100644 generated/8.5/ps.php delete mode 100644 generated/8.5/pspell.php delete mode 100644 generated/8.5/readline.php delete mode 100644 generated/8.5/rnp.php delete mode 100644 generated/8.5/rrd.php delete mode 100644 generated/8.5/sem.php delete mode 100644 generated/8.5/session.php delete mode 100644 generated/8.5/sockets.php delete mode 100644 generated/8.5/sodium.php delete mode 100644 generated/8.5/solr.php delete mode 100644 generated/8.5/spl.php delete mode 100644 generated/8.5/sqlsrv.php delete mode 100644 generated/8.5/ssdeep.php delete mode 100644 generated/8.5/ssh2.php delete mode 100644 generated/8.5/stream.php delete mode 100644 generated/8.5/strings.php delete mode 100644 generated/8.5/swoole.php delete mode 100644 generated/8.5/uopz.php delete mode 100644 generated/8.5/url.php delete mode 100644 generated/8.5/var.php delete mode 100644 generated/8.5/xml.php delete mode 100644 generated/8.5/xmlrpc.php delete mode 100644 generated/8.5/yaml.php delete mode 100644 generated/8.5/yaz.php delete mode 100644 generated/8.5/zip.php diff --git a/generated/8.2/apache.php b/generated/8.2/apache.php deleted file mode 100644 index 8f72116c..00000000 --- a/generated/8.2/apache.php +++ /dev/null @@ -1,135 +0,0 @@ -checkout(DocPage::referenceDir(), "master"); foreach (\array_keys($modules) as $moduleName) { - $fileCreator->generateVersionSplitters($moduleName, FileCreator::getSafeRootDir() . "/generated/", \array_keys($versions)); + $fileCreator->deduplicateAndGenerateVersionSplitters($moduleName, FileCreator::getSafeRootDir() . "/generated/", \array_keys($versions)); $fileCreator->createExceptionFile((string) $moduleName); } - $fileCreator->generateVersionSplitters("functionsList", FileCreator::getSafeRootDir() . "/generated/", \array_keys($versions), true); + $fileCreator->deduplicateAndGenerateVersionSplitters("functionsList", FileCreator::getSafeRootDir() . "/generated/", \array_keys($versions), true); $this->runCsFix($output); diff --git a/generator/src/Generator/FileCreator.php b/generator/src/Generator/FileCreator.php index 47935d0a..a8b703a3 100644 --- a/generator/src/Generator/FileCreator.php +++ b/generator/src/Generator/FileCreator.php @@ -60,19 +60,42 @@ public function generatePhpFile( /** * @param string[] $versions */ - public function generateVersionSplitters(string $module, string $path, array $versions, bool $return = false): void + public function deduplicateAndGenerateVersionSplitters(string $module, string $path, array $versions, bool $return = false): void { $lcModule = \lcfirst($module); + + // Create a map of [current_version => deduplicated_version] + // and delete duplicate files, eg if 8.2/ftp.php and 8.3/ftp.php + // are identical, delete 8.3/ftp.php and map 8.3 => 8.2 + $fileContents = []; + $versionFileMap = []; + foreach ($versions as $version) { + $filePath = "$path/$version/$lcModule.php"; + if (file_exists($filePath)) { + $content = file_get_contents($filePath); + if (isset($fileContents[$content])) { + unlink($filePath); + $versionFileMap[$version] = $fileContents[$content]; + } else { + $fileContents[$content] = $version; + $versionFileMap[$version] = $version; + } + } + } + + // Generate version splitter file $stream = \fopen($path.$lcModule.'.php', 'w'); if ($stream === false) { throw new \RuntimeException('Unable to write to '.$path); } $return = $return ? "return " : ""; \fwrite($stream, "