Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
Problem/Motivation
"easyrdf/easyrdf": "0.9.*" is a required library but it only looks to be used in tests. Shouldn't it go under require-dev.
Proposed resolution
Move the dependency to the correct location
Remaining tasks
User interface changes
None
API changes
Contrib / custom modules using EasyRDF need to add the dependency to their composer.json
Contrib modules will need to be updated for this change - http://codcontrib.hank.vps-private.net/search?text=EasyRDF&filename=
Data model changes
Release notes snippet
The package easyrdf/easyrdf
is no longer a runtime dependency of Drupal and will not be included in tagged releases. Contributed or custom modules using EasyRDF need to add the dependency to their composer.json
.
Comment | File | Size | Author |
---|---|---|---|
#31 | 2901363-2-31.patch | 8.79 KB | alexpott |
#28 | 2901363-28.patch | 7.98 KB | shubham.prakash |
#26 | 2901363-26.patch | 8.32 KB | alexpott |
#22 | 2901363-22.patch | 6.58 KB | alexpott |
#9 | 2901363_9.patch | 5.52 KB | prithvi1972 |
Comments
Comment #2
Jaesin CreditAttribution: Jaesin at Chapter Three commentedComment #3
cilefen CreditAttribution: cilefen as a volunteer commentedComment #4
Jaesin CreditAttribution: Jaesin at Chapter Three commentedComment #5
Mile23easyrdf seems to be used as a reference implementation for RDF generated by Drupal in tests only.
So yes, we should move it to require-dev.
Unfortunately, running a test won't tell us whether we're right about this, but searching the codebase for 'easyrdf' seems to show that it's only being used in tests.
Comment #7
borisson_This needs a reroll, but this is right, this is only used in tests.
Comment #8
cilefen CreditAttribution: cilefen as a volunteer commentedEven so, we don't know who may be using it.
Comment #9
prithvi1972 CreditAttribution: prithvi1972 commentedRe-rolled patch in #5 for 8.6.x
Comment #10
Mile23@prithvi1972: When you upload a patch, it's good to set the issue status to 'Needs review,' so that the testbot CI system can test the patch.
Added change record: https://www.drupal.org/node/2955931
Comment #11
Mile23I'd RTBC but I wrote the patch being rerolled. :-)
Comment #12
runeasgar CreditAttribution: runeasgar as a volunteer commentedI am at Drupalcon Nashville 2018 mentor sprint. Going to review this.
Comment #13
runeasgar CreditAttribution: runeasgar as a volunteer commentedApplied the patch. The easyrdf line has moved as-is from require to require-dev in core/composer.json. The easyrdf segment in composer.lock appears to have moved, and the diff shows that as this massive section of green and red.. not sure if that matters. Doesn't seem like it would, but I could be wrong (composer is scurry). Marking this as RTBC with that caveat.
Comment #14
alexpottGiving @Jaesin credit for finding and opening this issue.
Giving @cilefen credit for requesting the change record.
Given @runeasgar credit for a through rtbc which outlines all the steps taken.
Comment #15
alexpottI was going to commit this and then I remembered that the tarball is packaged without dev dependencies. Therefore is possible a contrib or custom module is using easrdf without declaring a dependency or even being a composer acknowledging extension. That gives me pause. I think we need further release manager discussion.
Comment #16
cilefen CreditAttribution: cilefen as a volunteer commentedIndeed. I don’t remember a case like this one. It could WSOD sites. We should postpone this to D9 because of BC and there being no pain felt by its presence.
Comment #17
borisson_I'm not sure about this, without deprecating this first, we're not allowed to remove this in D9 either. Is there a simple way to deprecate this so we can remove this in a later release?
Removing the novice tag, because this question makes it a bit more complicated than what a novice issue is supposed to be.
Comment #18
cilefen CreditAttribution: cilefen at Institute for Advanced Study commentedThose are valid points.
Comment #22
alexpottRerolled on top of 9.0.x
Comment #23
alexpottChange record exists. Yay.
Comment #24
alexpottThis will affect existing contrib modules - see http://codcontrib.hank.vps-private.net/search?text=EasyRDF&filename=
Comment #25
catchLooks great as a 9.0.x-only change and the release note and change record are straightforward and done.
Comment #26
alexpottRerolled.
Comment #27
andypostComment #28
shubham.prakash CreditAttribution: shubham.prakash at OpenSense Labs commentedComment #29
alexpottThe reroll looks great. Thank you @shubham.prakash
Comment #31
alexpottAh rerolling composer changes is tricky... it's normally best to recreate the patch entirely.
Here it is.
The way to do it is to:
composer require --dev easyrdf/easyrdf "^0.9"
Comment #32
shubham.prakash CreditAttribution: shubham.prakash at OpenSense Labs commentedThanks for the information, will do that next time.
Comment #34
catch#3090017: Isolate test dependency on easyrdf/easyrdf to a single trait should remove this dependency altogether, but in the meantime this is a good change. (edit: and since I'd last looked, easyrdf had has added PHP 7.4 support so we probably in fact do not need to remove it).
Committed b11df2c and pushed to 9.0.x. Thanks!
Comment #35
alexpottI've published the CR and added the release notes tag.
Comment #37
xjm