As tests use symfony/process compoment, this component could also be used in extractor plugins to replace ExtractorPluginBase::execExtraction() method's code with modern OOP code and avoid calling shell_exec(), escapeshellcmd(), etc. functions.
But this will requires that symfony/process will be in the "require" section of the composer.json file and that would impose a dependency on some extractors, like "Search API Solr" or "Tika server" that will not be needed.
Currently there is a dependency system on Drupal modules. This should be extended to Composer libraries or something more global if needed before refactoring to use symfony/process.
Issue fork file_extractor-3130629
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #2
grimreaperComment #3
grimreaperComment #4
grimreaperOk to detect if a package is installed: https://blog.packagist.com/composer-2-0-is-now-available/
Runtime features -> Composer\InstalledVersions
=> need to create a 4.0.x because it will be a backward compatibility break.
Comment #5
grimreaperComment #7
grimreaperComment #8
grimreaperComment #10
grimreaper