Closed (fixed)
Project:
Drupal.org customizations
Version:
7.x-3.x-dev
Component:
Code
Priority:
Major
Category:
Task
Assigned:
Reporter:
Created:
15 Aug 2019 at 00:06 UTC
Updated:
14 Aug 2020 at 22:41 UTC
Jump to comment: Most recent
In #3074998-5: Add explicit information about core compatibility to update data tedbow found that the core key became a requirement for 8.x long ago with #2188661: Extension System, Part II: ExtensionDiscovery.
Assuming there aren’t significant projects, themes and modules, working just as a side-effect of packaging, we can remove setting it in packaging, https://git.drupalcode.org/project/drupalorg/blob/dev/drupalorg_project/...
Comments
Comment #3
drummComment #4
tedbow@drumm thanks for making this issue
I think this is a safe assumption. #2188661-69: Extension System, Part II: ExtensionDiscovery was committed in February 2014 and Drupal 8.0.0 was released in November 2015.
That means any developer that was actually creating or updating a module since Drupal 8 was released would run into this problem anytime they tried to enable a module or theme(via web or drush) or going to update.php. when a developer was working on their module/theme in git and i.e. not packaged from Drupal.org the core file has to be there.
Also this is not just message that they could ignore this throws an exception which stops /admin/modules, admin/appearance, and update.php from loading and stops drush from enabling modules or themes.
The only convienceable way you could have module or theme without a core file is if it has not been touched since Drupal 8.0-alpha10 was released in April 2014 or if the developer committed all changes to git without ever doing any testing either manual or via tests(I guess except unit).
core_dependency: ^8.8 || 9and intentionally does not provide a core key(the patch currently doesn't let them add a
corekey in this case) would have thecorekey added by Drupal.org packaging.Adding the
core:key back would actually make the module compatible with versions of Drupal before 8.8.0 since they don't take the newcore_dependencykey into account.Comment #5
drummProbably overkill, but I’m checking out the 5,501 contrib 8.x project branches to see how many have a
.info.ymlfile with a bad core value.Comment #6
drumm* 5,501 contrib 8.x project branches with non-zero reported usage
Good news, as far as I can tell, none of the
.info.ymlfiles with acorekey have a value other than8.x. Parsing was done with grep, not a real yaml parser.There are a few missing a core key:
The ones I spot-checked often have the result of packaging checked in, like https://git.drupalcode.org/project/persian_date/blob/8.x-4.x/persian_dat..., or they removed it thinking it was unnecessary, https://git.drupalcode.org/project/form_mode_control/commit/5a56d8207d41...
Drush make also does
.infofile rewriting for D7, I do not know if it also carried on the tradition to D8.info.ymlfiles.Comment #8
tedbowI checked few of these
Thoughts
core:.The problem is then we have really coordinate the time of core commit for #2313917 and the commit of this fix and the deployment to drupal.org.
It may just be easier to file issue with these project since it seems like only 25 unique projects and some like business_core may just have empty info.yml files.
core:would already have been added?If so it seems filing the issue would cover it. Because hopefully the developer would notice the new issue when making a new release.
Comment #9
drummYes, I think that is best. I am going ahead and deploying simply removing this logic in packaging. Anything already-packaged will remain as-is.
Hopefully maintainers will correct this before their next tagged release. I don’t think making the logic more-complex to support these without commits to improve them is worthwhile.
Comment #10
drummThis is now deployed.
https://www.drupal.org/project/saml_sp/releases/8.x-3.x-dev has
saml_sp.info.ymlpackaged asComment #11
drummI opened issues for each contrib project, except business_core. They all list this issue as the parent issue.
Comment #12
tedbow@drumm thanks for resolving this issue so quickly and filing the issue with the contrib projects!
Comment #13
wim leers🤯👏
Comment #15
volegerIs this still relevant for the child issues left?
Comment #16
drummThere is nothing actionable here, the packaging change is fully done. The contrib projects would only have been working when running packaged releases; they were already not fully working for development using a Git clone even before this change. It would be great if the maintainers all made the required changes; but abandonment happens.