Problem

  • Dependencies between required core modules are not clear at all.
  • Many tests needlessly install a full stack of modules providing functionality that is not required for the test at all.

Goal

  • Clarify module dependencies. Even if they are bidirectional currently.
  • Make web tests faster.

Proposed solution

  1. Replace required = TRUE with proper definitions of dependencies[] in .info files.

Required modules

  1. Filter
  2. Text
  3. Field
  4. Entity
  5. Menu Link
  6. System
  7. User
CommentFileSizeAuthor
#10 dep.gv_.png269.55 KBsun
#9 dep.gv_.png355 KBsun
drupal8.dependencies.0.patch3.7 KBsun
Support from Acquia helps fund testing for Drupal Acquia logo

Comments

Status: Needs review » Needs work
Issue tags: -Framework Initiative, -Testing system

The last submitted patch, drupal8.dependencies.0.patch, failed testing.

andypost’s picture

Status: Needs work » Needs review

drupal8.dependencies.0.patch queued for re-testing.

Status: Needs review » Needs work
Issue tags: +Framework Initiative, +Testing system

The last submitted patch, drupal8.dependencies.0.patch, failed testing.

sun’s picture

andypost’s picture

Suppose this one should in first

sun’s picture

Berdir’s picture

entity currently only exists because entity types must be provided by a module, see #2031717: Make entity module not required. The UI parts could be moved into field_ui, merged with field_ui into an entity_ui module or it could simply be made optional.

field is somewhat similar, although it provides a lot more API's for historical reasons. The plugin managers already moved to Core\Field, the field info stuff is supposed to be merged with the entity manager in #2116363: Unified repository of field definitions (cache + API), #597236: Add entity caching to core would move the field value cache to the entity system as well, invalidating most of the field cache clear calls (which makes up 50% of field.module now). Then it's just the field entities...

Menu link was kind of supposed to become optional eventually, although that will be a tough one ;)

sun’s picture

Title: Replace (most) required modules with proper dependencies » Replace required flag of modules with proper dependencies
Status: Needs work » Active
FileSize
355 KB

To give everyone else a better understanding of the current situation, here's a graph of the currently defined dependencies.

sun’s picture

FileSize
269.55 KB

Or perhaps the attached graph is a bit more clear. (Discovered some better options.)

This explains why #2199637: Replace "required" flag of Field module with proper dependencies passes all tests after making User module depend on Field module.

yched’s picture

In addition to what @Berdir said in #8, which is correct :

field.form.inc still contains functions that are needed for widgets (theme, after_build, ajax "add more", clustering of $form_state for forms with several nested entities). Widgets can now be used for base fields too, but still require that part of field.module to work.
Opened #2200355: Move functions in field.form.inc into Core/Field

Version: 8.0.x-dev » 8.1.x-dev

Drupal 8.0.6 was released on April 6 and is the final bugfix release for the Drupal 8.0.x series. Drupal 8.0.x will not receive any further development aside from security fixes. Drupal 8.1.0-rc1 is now available and sites should prepare to update to 8.1.0.

Bug reports should be targeted against the 8.1.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.2.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.1.x-dev » 8.2.x-dev

Drupal 8.1.9 was released on September 7 and is the final bugfix release for the Drupal 8.1.x series. Drupal 8.1.x will not receive any further development aside from security fixes. Drupal 8.2.0-rc1 is now available and sites should prepare to upgrade to 8.2.0.

Bug reports should be targeted against the 8.2.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.3.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.2.x-dev » 8.3.x-dev

Drupal 8.2.6 was released on February 1, 2017 and is the final full bugfix release for the Drupal 8.2.x series. Drupal 8.2.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.3.0 on April 5, 2017. (Drupal 8.3.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.3.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.4.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.3.x-dev » 8.4.x-dev

Drupal 8.3.6 was released on August 2, 2017 and is the final full bugfix release for the Drupal 8.3.x series. Drupal 8.3.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.4.0 on October 4, 2017. (Drupal 8.4.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.4.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.5.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.4.x-dev » 8.5.x-dev

Drupal 8.4.4 was released on January 3, 2018 and is the final full bugfix release for the Drupal 8.4.x series. Drupal 8.4.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.5.0 on March 7, 2018. (Drupal 8.5.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.5.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.6.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.5.x-dev » 8.6.x-dev

Drupal 8.5.6 was released on August 1, 2018 and is the final bugfix release for the Drupal 8.5.x series. Drupal 8.5.x will not receive any further development aside from security fixes. Sites should prepare to update to 8.6.0 on September 5, 2018. (Drupal 8.6.0-rc1 is available for testing.)

Bug reports should be targeted against the 8.6.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.7.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.6.x-dev » 8.8.x-dev

Drupal 8.6.x will not receive any further development aside from security fixes. Bug reports should be targeted against the 8.8.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.9.x-dev branch. For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 8.8.x-dev » 8.9.x-dev

Drupal 8.8.7 was released on June 3, 2020 and is the final full bugfix release for the Drupal 8.8.x series. Drupal 8.8.x will not receive any further development aside from security fixes. Sites should prepare to update to Drupal 8.9.0 or Drupal 9.0.0 for ongoing support.

Bug reports should be targeted against the 8.9.x-dev branch from now on, and new development or disruptive changes should be targeted against the 9.1.x-dev branch. For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 8.9.x-dev » 9.2.x-dev

Drupal 8 is end-of-life as of November 17, 2021. There will not be further changes made to Drupal 8. Bugfixes are now made to the 9.3.x and higher branches only. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.2.x-dev » 9.3.x-dev

Version: 9.3.x-dev » 9.4.x-dev

Drupal 9.3.15 was released on June 1st, 2022 and is the final full bugfix release for the Drupal 9.3.x series. Drupal 9.3.x will not receive any further development aside from security fixes. Drupal 9 bug reports should be targeted for the 9.4.x-dev branch from now on, and new development or disruptive changes should be targeted for the 9.5.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

quietone’s picture

Status: Active » Closed (duplicate)
Related issues: +#1793074: Convert .info files to YAML

I think this was fixed in #1793074: Convert .info files to YAML, closing as duplicate.