In the following commit I try to require phpoffice/phpspreadsheet in the composer.json to enable xsl export of statistics:
https://gerrit.wikimedia.org/r/#/c/mediawiki/extensions/BlueSpiceExtendedStatistics/+/545543/
composer.json
"require": { "composer/installers": "~1.0", "phpoffice/phpspreadsheet": "~1.6" },
I also added the platform section to extension.json with all the php extensions phpspreadsheet reqires:
"requires": { "MediaWiki": ">= 1.35.0", "extensions": { "BlueSpiceFoundation": ">= 3.3", "BlueSpiceExtendedSearch": ">= 3.3" }, "platform": { "php": ">= 7.2", "ext-ctype": "*", "ext-dom": "*", "ext-gd": "*", "ext-iconv": "*", "ext-fileinfo": "*", "ext-libxml": "*", "ext-mbstring": "*", "ext-SimpleXML": "*", "ext-xml": "*", "ext-xmlreader": "*", "ext-xmlwriter": "*", "ext-zip": "*", "ext-zlib": "*" } },
But the tests fail due to missing the php-gd extension
mwgate-composer-php72-docker https://integration.wikimedia.org/ci/job/mwgate-composer-php72-docker/397/console
15:02:04 Your requirements could not be resolved to an installable set of packages. 15:02:04 15:02:04 Problem 1 15:02:04 - phpoffice/phpspreadsheet 1.9.0 requires ext-gd * -> the requested PHP extension gd is missing from your system. 15:02:04 - phpoffice/phpspreadsheet 1.8.2 requires ext-gd * -> the requested PHP extension gd is missing from your system. 15:02:04 - phpoffice/phpspreadsheet 1.8.1 requires ext-gd * -> the requested PHP extension gd is missing from your system. 15:02:04 - phpoffice/phpspreadsheet 1.8.0 requires ext-gd * -> the requested PHP extension gd is missing from your system. 15:02:04 - phpoffice/phpspreadsheet 1.7.0 requires ext-gd * -> the requested PHP extension gd is missing from your system. 15:02:04 - phpoffice/phpspreadsheet 1.6.0 requires ext-gd * -> the requested PHP extension gd is missing from your system. 15:02:04 - Installation request for phpoffice/phpspreadsheet ~1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0]. 15:02:04 15:02:04 To enable extensions, verify that they are enabled in your .ini files: 15:02:04 - /etc/php/7.2/cli/php.ini 15:02:04 - /etc/php/7.2/cli/conf.d/10-opcache.ini 15:02:04 - /etc/php/7.2/cli/conf.d/10-pdo.ini 15:02:04 - /etc/php/7.2/cli/conf.d/15-xml.ini 15:02:04 - /etc/php/7.2/cli/conf.d/20-bcmath.ini 15:02:04 - /etc/php/7.2/cli/conf.d/20-calendar.ini 15:02:04 - /etc/php/7.2/cli/conf.d/20-ctype.ini 15:02:04 - /etc/php/7.2/cli/conf.d/20-curl.ini 15:02:04 - /etc/php/7.2/cli/conf.d/20-dba.ini 15:02:04 - /etc/php/7.2/cli/conf.d/20-dom.ini 15:02:04 - /etc/php/7.2/cli/conf.d/20-exif.ini 15:02:04 - /etc/php/7.2/cli/conf.d/20-fileinfo.ini 15:02:04 - /etc/php/7.2/cli/conf.d/20-ftp.ini 15:02:04 - /etc/php/7.2/cli/conf.d/20-gettext.ini 15:02:04 - /etc/php/7.2/cli/conf.d/20-gmp.ini 15:02:04 - /etc/php/7.2/cli/conf.d/20-iconv.ini 15:02:04 - /etc/php/7.2/cli/conf.d/20-igbinary.ini 15:02:04 - /etc/php/7.2/cli/conf.d/20-json.ini 15:02:04 - /etc/php/7.2/cli/conf.d/20-mbstring.ini 15:02:04 - /etc/php/7.2/cli/conf.d/20-pdo_sqlite.ini 15:02:04 - /etc/php/7.2/cli/conf.d/20-phar.ini 15:02:04 - /etc/php/7.2/cli/conf.d/20-posix.ini 15:02:04 - /etc/php/7.2/cli/conf.d/20-readline.ini 15:02:04 - /etc/php/7.2/cli/conf.d/20-redis.ini 15:02:04 - /etc/php/7.2/cli/conf.d/20-shmop.ini 15:02:04 - /etc/php/7.2/cli/conf.d/20-simplexml.ini 15:02:04 - /etc/php/7.2/cli/conf.d/20-sockets.ini 15:02:04 - /etc/php/7.2/cli/conf.d/20-sqlite3.ini 15:02:04 - /etc/php/7.2/cli/conf.d/20-sysvmsg.ini 15:02:04 - /etc/php/7.2/cli/conf.d/20-sysvsem.ini 15:02:04 - /etc/php/7.2/cli/conf.d/20-sysvshm.ini 15:02:04 - /etc/php/7.2/cli/conf.d/20-tokenizer.ini 15:02:04 - /etc/php/7.2/cli/conf.d/20-wddx.ini 15:02:04 - /etc/php/7.2/cli/conf.d/20-xmlreader.ini 15:02:04 - /etc/php/7.2/cli/conf.d/20-xmlwriter.ini 15:02:04 - /etc/php/7.2/cli/conf.d/20-xsl.ini 15:02:04 - /etc/php/7.2/cli/conf.d/20-zip.ini 15:02:04 You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.
Is there a way to make php-gd available?