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?