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.

Command icon 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

Grimreaper created an issue. See original summary.

grimreaper’s picture

Component: Miscellaneous » Code
grimreaper’s picture

Version: 2.0.x-dev » 3.0.x-dev
grimreaper’s picture

Ok to detect if a package is installed: https://blog.packagist.com/composer-2-0-is-now-available/

Runtime features -> Composer\InstalledVersions

If your code relies on any of these runtime features, you should require "composer-runtime-api": "^2.0" in your composer.json

=> need to create a 4.0.x because it will be a backward compatibility break.

grimreaper’s picture

Assigned: Unassigned » grimreaper
Status: Active » Needs work

grimreaper’s picture

Status: Needs work » Needs review
grimreaper’s picture

Version: 3.0.x-dev » 4.0.x-dev

  • Grimreaper authored 9b6c58b on 4.0.x
    Issue #3130629 by Grimreaper: Library dependency system. Use symfony/...
grimreaper’s picture

Assigned: grimreaper » Unassigned
Status: Needs review » Fixed

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.