Support from Acquia helps fund testing for Drupal Acquia logo

Comments

Status: Needs review » Needs work

The last submitted patch, remove-use-annotation-statements.patch, failed testing.

TR’s picture

Status: Needs work » Needs review
FileSize
168.62 KB

Rebased to current HEAD

dawehner’s picture

Status: Needs review » Needs work

I really like that diffstat:

 301 files changed, 492 deletions(-)

Sadly I could still find a couple of left use statements:

core/lib/Drupal/Core/Entity/Plugin/DataType/Entity.php:11:use Drupal\Core\Annotation\Translation;
core/lib/Drupal/Core/Entity/Plugin/DataType/LanguageReference.php:12:use Drupal\Core\Annotation\Translation;
core/lib/Drupal/Core/Entity/Plugin/DataType/EntityReference.php:12:use Drupal\Core\Annotation\Translation;
core/lib/Drupal/Core/Annotation/Translation.php:29: *   use Drupal\Core\Annotation\Translation;
core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/PrimitiveTypeConstraint.php:11:use Drupal\Core\Annotation\Translation;
core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/ComplexDataConstraint.php:11:use Drupal\Core\Annotation\Translation;
core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/EntityChangedConstraint.php:11:use Drupal\Core\Annotation\Translation;
core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/RangeConstraint.php:11:use Drupal\Core\Annotation\Translation;
core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/CountConstraint.php:11:use Drupal\Core\Annotation\Translation;
core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/AllowedValuesConstraint.php:12:use Drupal\Core\Annotation\Translation;
core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/ValidReferenceConstraint.php:11:use Drupal\Core\Annotation\Translation;
core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/LengthConstraint.php:11:use Drupal\Core\Annotation\Translation;
core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/EntityTypeConstraint.php:12:use Drupal\Core\Annotation\Translation;
core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/BundleConstraint.php:12:use Drupal\Core\Annotation\Translation;
core/lib/Drupal/Core/TypedData/Plugin/DataType/TimeSpan.php:11:use Drupal\Core\Annotation\Translation;
core/lib/Drupal/Core/TypedData/Plugin/DataType/Boolean.php:11:use Drupal\Core\Annotation\Translation;
core/lib/Drupal/Core/TypedData/Plugin/DataType/Map.php:11:use Drupal\Core\Annotation\Translation;
core/lib/Drupal/Core/TypedData/Plugin/DataType/Email.php:11:use Drupal\Core\Annotation\Translation;
core/lib/Drupal/Core/TypedData/Plugin/DataType/DateTimeIso8601.php:11:use Drupal\Core\Annotation\Translation;
core/lib/Drupal/Core/TypedData/Plugin/DataType/Any.php:11:use Drupal\Core\Annotation\Translation;
core/lib/Drupal/Core/TypedData/Plugin/DataType/String.php:11:use Drupal\Core\Annotation\Translation;
core/lib/Drupal/Core/TypedData/Plugin/DataType/Binary.php:13:use Drupal\Core\Annotation\Translation;
core/lib/Drupal/Core/TypedData/Plugin/DataType/Timestamp.php:11:use Drupal\Core\Annotation\Translation;
core/lib/Drupal/Core/TypedData/Plugin/DataType/Uri.php:11:use Drupal\Core\Annotation\Translation;
core/lib/Drupal/Core/TypedData/Plugin/DataType/Integer.php:11:use Drupal\Core\Annotation\Translation;
core/lib/Drupal/Core/TypedData/Plugin/DataType/Language.php:11:use Drupal\Core\Annotation\Translation;
core/lib/Drupal/Core/TypedData/Plugin/DataType/Float.php:11:use Drupal\Core\Annotation\Translation;
core/lib/Drupal/Core/TypedData/Plugin/DataType/DurationIso8601.php:11:use Drupal\Core\Annotation\Translation;
core/modules/image/lib/Drupal/image/Entity/ImageStyle.php:12:use Drupal\Core\Annotation\Translation;
core/modules/image/tests/modules/image_module_test/lib/Drupal/image_module_test/Plugin/ImageEffect/NullTestImageEffect.php:10:use Drupal\Core\Annotation\Translation;
core/modules/contact/lib/Drupal/contact/Entity/Category.php:13:use Drupal\Core\Annotation\Translation;
core/modules/aggregator/lib/Drupal/aggregator/Entity/Feed.php:14:use Drupal\Core\Annotation\Translation;
core/modules/aggregator/lib/Drupal/aggregator/Entity/Item.php:13:use Drupal\Core\Annotation\Translation;
core/modules/aggregator/tests/modules/aggregator_test/lib/Drupal/aggregator_test/Plugin/aggregator/fetcher/TestFetcher.php:14:use Drupal\Core\Annotation\Translation;
core/modules/aggregator/tests/modules/aggregator_test/lib/Drupal/aggregator_test/Plugin/aggregator/processor/TestProcessor.php:14:use Drupal\Core\Annotation\Translation;
core/modules/aggregator/tests/modules/aggregator_test/lib/Drupal/aggregator_test/Plugin/aggregator/parser/TestParser.php:14:use Drupal\Core\Annotation\Translation;
core/modules/search/tests/modules/search_extra_type/lib/Drupal/search_extra_type/Plugin/Search/SearchExtraTypeSearch.php:10:use Drupal\Core\Annotation\Translation;
core/modules/block/lib/Drupal/block/Entity/Block.php:12:use Drupal\Core\Annotation\Translation;
core/modules/block/custom_block/lib/Drupal/custom_block/Entity/CustomBlockType.php:12:use Drupal\Core\Annotation\Translation;
core/modules/block/custom_block/lib/Drupal/custom_block/Entity/CustomBlock.php:13:use Drupal\Core\Annotation\Translation;
core/modules/block/custom_block/lib/Drupal/custom_block/Plugin/Block/CustomBlockBlock.php:12:use Drupal\Core\Annotation\Translation;
core/modules/block/tests/modules/block_test/lib/Drupal/block_test/Plugin/Block/TestHtmlIdBlock.php:11:use Drupal\Core\Annotation\Translation;
core/modules/block/tests/modules/block_test/lib/Drupal/block_test/Plugin/Block/TestBlockInstantiation.php:12:use Drupal\Core\Annotation\Translation;
core/modules/block/tests/modules/block_test/lib/Drupal/block_test/Plugin/Block/TestCacheBlock.php:12:use Drupal\Core\Annotation\Translation;
core/modules/views/tests/modules/views_test_data/lib/Drupal/views_test_data/Plugin/views/style/StyleTest.php:11:use Drupal\Core\Annotation\Translation;
core/modules/views/tests/modules/views_test_data/lib/Drupal/views_test_data/Plugin/views/style/MappingTest.php:12:use Drupal\Core\Annotation\Translation;
core/modules/views/tests/modules/views_test_data/lib/Drupal/views_test_data/Plugin/views/access/StaticTest.php:10:use Drupal\Core\Annotation\Translation;
core/modules/views/tests/modules/views_test_data/lib/Drupal/views_test_data/Plugin/views/query/QueryTest.php:14:use Drupal\Core\Annotation\Translation;
core/modules/views/tests/modules/views_test_data/lib/Drupal/views_test_data/Plugin/views/row/RowTest.php:11:use Drupal\Core\Annotation\Translation;
core/modules/views/tests/modules/views_test_data/lib/Drupal/views_test_data/Plugin/views/argument_default/ArgumentDefaultTest.php:12:use Drupal\Core\Annotation\Translation;
core/modules/views/tests/modules/views_test_data/lib/Drupal/views_test_data/Plugin/views/display_extender/DisplayExtenderTest.php:12:use Drupal\Core\Annotation\Translation;
core/modules/views/tests/modules/views_test_data/lib/Drupal/views_test_data/Plugin/views/display_extender/DisplayExtenderTest2.php:11:use Drupal\Core\Annotation\Translation;
core/modules/views/tests/modules/views_test_data/lib/Drupal/views_test_data/Plugin/views/display/DisplayNoAreaTest.php:11:use Drupal\Core\Annotation\Translation;
core/modules/views/tests/modules/views_test_data/lib/Drupal/views_test_data/Plugin/views/display/DisplayTest.php:12:use Drupal\Core\Annotation\Translation;
core/modules/views/tests/modules/views_test_data/lib/Drupal/views_test_data/Plugin/views/style/StyleTemplateTest.php:11:use Drupal\Core\Annotation\Translation;
core/modules/views/tests/modules/views_test_data/lib/Drupal/views_test_data/Plugin/views/join/JoinTest.php:12:use Drupal\Core\Annotation\Translation;
core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/Validation/Constraint/TestFieldConstraint.php:12:use Drupal\Core\Annotation\Translation;
core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/Field/FieldType/TestItem.php:11:use Drupal\Core\Annotation\Translation;
core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/Field/FieldType/HiddenTestItem.php:11:use Drupal\Core\Annotation\Translation;
core/modules/file/lib/Drupal/file/Entity/File.php:13:use Drupal\Core\Annotation\Translation;
core/modules/system/lib/Drupal/system/Entity/Menu.php:12:use Drupal\Core\Annotation\Translation;
core/modules/system/lib/Drupal/system/Entity/Action.php:12:use Drupal\Core\Annotation\Translation;
core/modules/system/lib/Drupal/system/Entity/DateFormat.php:15:use Drupal\Core\Annotation\Translation;
core/modules/system/tests/modules/action_test/lib/Drupal/action_test/Plugin/Action/SaveEntity.php:11:use Drupal\Core\Annotation\Translation;
core/modules/system/tests/modules/action_test/lib/Drupal/action_test/Plugin/Action/NoType.php:11:use Drupal\Core\Annotation\Translation;
core/modules/system/tests/modules/entity_cache_test_dependency/lib/Drupal/entity_cache_test_dependency/Entity/EntityCacheTest.php:12:use Drupal\Core\Annotation\Translation;
core/modules/system/tests/modules/plugin_test/lib/Drupal/plugin_test/Plugin/plugin_test/fruit/Banana.php:11:use Drupal\Core\Annotation\Translation;
core/modules/system/tests/modules/entity_test/lib/Drupal/entity_test/Entity/EntityTestMulRev.php:12:use Drupal\Core\Annotation\Translation;
core/modules/system/tests/modules/entity_test/lib/Drupal/entity_test/Entity/EntityTestRev.php:12:use Drupal\Core\Annotation\Translation;
core/modules/system/tests/modules/entity_test/lib/Drupal/entity_test/Entity/EntityTestMul.php:12:use Drupal\Core\Annotation\Translation;
core/modules/system/tests/modules/entity_test/lib/Drupal/entity_test/Entity/EntityTestLabelCallback.php:11:use Drupal\Core\Annotation\Translation;
core/modules/system/tests/modules/entity_test/lib/Drupal/entity_test/Entity/EntityTestCache.php:11:use Drupal\Core\Annotation\Translation;
core/modules/system/tests/modules/entity_test/lib/Drupal/entity_test/Entity/EntityTestDefaultAccess.php:11:use Drupal\Core\Annotation\Translation;
core/modules/system/tests/modules/entity_test/lib/Drupal/entity_test/Entity/EntityTestLabel.php:11:use Drupal\Core\Annotation\Translation;
core/modules/system/tests/modules/entity_test/lib/Drupal/entity_test/Entity/EntityTestNoLabel.php:11:use Drupal\Core\Annotation\Translation;
core/modules/system/tests/modules/entity_test/lib/Drupal/entity_test/Entity/EntityTest.php:12:use Drupal\Core\Annotation\Translation;
core/modules/system/tests/modules/menu_test/lib/Drupal/menu_test/Plugin/Menu/LocalTask/TestTasksSettingsSub1.php:12:use Drupal\Core\Annotation\Translation;
core/modules/node/lib/Drupal/node/Entity/NodeType.php:14:use Drupal\Core\Annotation\Translation;
core/modules/taxonomy/lib/Drupal/taxonomy/Entity/Term.php:13:use Drupal\Core\Annotation\Translation;
core/modules/taxonomy/lib/Drupal/taxonomy/Entity/Vocabulary.php:13:use Drupal\Core\Annotation\Translation;
core/modules/entity/lib/Drupal/entity/Entity/EntityFormDisplay.php:11:use Drupal\Core\Annotation\Translation;
core/modules/entity/lib/Drupal/entity/Entity/EntityViewMode.php:11:use Drupal\Core\Annotation\Translation;
core/modules/entity/lib/Drupal/entity/Entity/EntityFormMode.php:11:use Drupal\Core\Annotation\Translation;
core/modules/entity/lib/Drupal/entity/Entity/EntityDisplay.php:11:use Drupal\Core\Annotation\Translation;
core/modules/tour/lib/Drupal/tour/Entity/Tour.php:12:use Drupal\Core\Annotation\Translation;
core/modules/tour/tests/tour_test/lib/Drupal/tour_test/Plugin/tour/tip/TipPluginImage.php:10:use Drupal\Core\Annotation\Translation;
core/modules/editor/lib/Drupal/editor/Entity/Editor.php:12:use Drupal\Core\Annotation\Translation;
core/modules/editor/tests/modules/lib/Drupal/editor_test/Plugin/Editor/UnicornEditor.php:12:use Drupal\Core\Annotation\Translation;
core/modules/picture/lib/Drupal/picture/Entity/PictureMapping.php:12:use Drupal\Core\Annotation\Translation;
core/modules/field_ui/tests/modules/field_ui_test/lib/Drupal/field_ui_test/Entity/FieldUITestNoBundle.php:12:use Drupal\Core\Annotation\Translation;
core/modules/ckeditor/tests/modules/lib/Drupal/ckeditor_test/Plugin/CKEditorPlugin/LlamaContextualAndButton.php:15:use Drupal\Core\Annotation\Translation;
core/modules/ckeditor/tests/modules/lib/Drupal/ckeditor_test/Plugin/CKEditorPlugin/LlamaButton.php:13:use Drupal\Core\Annotation\Translation;
core/modules/ckeditor/tests/modules/lib/Drupal/ckeditor_test/Plugin/CKEditorPlugin/LlamaContextual.php:13:use Drupal\Core\Annotation\Translation;
core/modules/ckeditor/tests/modules/lib/Drupal/ckeditor_test/Plugin/CKEditorPlugin/Llama.php:13:use Drupal\Core\Annotation\Translation;
core/modules/rdf/lib/Drupal/rdf/Entity/RdfMapping.php:12:use Drupal\Core\Annotation\Translation;
core/modules/config/tests/config_test/lib/Drupal/config_test/Entity/ConfigQueryTest.php:11:use Drupal\Core\Annotation\Translation;
core/modules/config/tests/config_test/lib/Drupal/config_test/Entity/ConfigTest.php:12:use Drupal\Core\Annotation\Translation;
core/modules/comment/lib/Drupal/comment/Entity/Comment.php:12:use Drupal\Core\Annotation\Translation;
core/modules/filter/lib/Drupal/filter/Entity/FilterFormat.php:12:use Drupal\Core\Annotation\Translation;
core/modules/filter/tests/filter_test/lib/Drupal/filter_test/Plugin/Filter/FilterTestReplace.php:11:use Drupal\Core\Annotation\Translation;
core/modules/filter/tests/filter_test/lib/Drupal/filter_test/Plugin/Filter/FilterTestUncacheable.php:11:use Drupal\Core\Annotation\Translation;
core/modules/filter/tests/filter_test/lib/Drupal/filter_test/Plugin/Filter/FilterTestRestrictTagsAndAttributes.php:11:use Drupal\Core\Annotation\Translation;
core/modules/language/lib/Drupal/language/Entity/Language.php:11:use Drupal\Core\Annotation\Translation;
core/modules/shortcut/lib/Drupal/shortcut/Entity/ShortcutSet.php:12:use Drupal\Core\Annotation\Translation;
core/modules/breakpoint/lib/Drupal/breakpoint/Entity/Breakpoint.php:18:use Drupal\Core\Annotation\Translation;
core/modules/breakpoint/lib/Drupal/breakpoint/Entity/BreakpointGroup.php:15:use Drupal\Core\Annotation\Translation;
TR’s picture

Yes, I only attempted to fix the 'use' statements in the core modules.

Part of the reason I did this was as a compromise: We can either fix this on a module-by-module basis (like #2094003: Remove use statements in formatters, widgets and field types plugins started to do), which imo is very inefficient and will take forever, or we can try to do it in big chunks like this patch.

But I'm concerned that already the patch is too big to have a chance of getting committed in a timely manner.

If you think a larger patch which includes those additional 100 files is preferable, I can roll the larger patch. Or we can commit this one and then do one more round of clean up to address everything outside of core/modules/*/lib.

TR’s picture

Status: Needs work » Needs review

Setting back to needs review to get some more feedback on the correct course of action for this patch.

TR’s picture

Title: Remove annotation 'use' statements from all core plugins » Remove annotation 'use' statements from all core classes
FileSize
244.94 KB

Here's a alternative patch; this one removes the 'use' statements from all of core.

Some notes:

I left in the use Drupal\Component\Annotation\Plugin; for classes that extend Plugin.
I left in the use Drupal\Component\Annotation\AnnotationInterface; for classes that implement AnnotationInterface.

Even though this may not be strictly necessary, I think in these cases it's very important to be explicit about, e.g., *which* "Plugin" class is being subclassed. For documentation, if nothing else.

Also, I removed four lines in the doxygen comments for the core/lib/Drupal/Core/Annotation/Translation.php class that instruct the reader to always use Drupal\Core\Annotation\Translation;. Because obviously we don't want them to do that.

And for those of you who are interested: 421 files changed, 0 insertions(+), 749 deletions(-)

Status: Needs review » Needs work

The last submitted patch, 6: remove-use-annotation-statement-complete.patch, failed testing.

dawehner’s picture

Status: Needs work » Needs review

Status: Needs review » Needs work

The last submitted patch, 6: remove-use-annotation-statement-complete.patch, failed testing.

TR’s picture

Failure is a testbot failure, not a patch failure: "Detect a Drupal installation failure"

There's something going on with the testbot right now. It took 13 hours for the test to run (all tests in the core queue were marked "Postponed" for those 13 hours) and now the tests are failing to run.

When the testbot is working properly again I'll retest the patch.

TR’s picture

Status: Needs work » Needs review

Status: Needs review » Needs work

The last submitted patch, 6: remove-use-annotation-statement-complete.patch, failed testing.

TR’s picture

2: remove-use-annotation-statements-2.patch queued for re-testing.

Retesting the first patch to test if it's the testbot or perhaps the second patch that's causing the Drupal installation failure.

TR’s picture

Status: Needs work » Needs review
FileSize
243.8 KB

Turns out the test fail was my fault, not the testbot's. The patch in #6 removed two 'use' statements which shouldn't have been removed, causing an installation failure. And for the nth time, I'm thankful we have tests to catch this sort of thing.

Here's a new patch. Only difference is that two fewer 'use' statements were removed.

dawehner’s picture

Status: Needs review » Patch (to be ported)

Nice, it passed!

longwave’s picture

Status: Patch (to be ported) » Reviewed & tested by the community
TR’s picture

Rebased against current HEAD.

I'd appreciate some movement on this issue - because of the size it's going to be difficult to keep this patch applicable to HEAD.

Status: Reviewed & tested by the community » Needs work

The last submitted patch, 17: remove-use-annotation-statement-rebase.patch, failed testing.

TR’s picture

Status: Needs work » Needs review
FileSize
243.05 KB

Another rebase.

TR’s picture

Status: Needs review » Reviewed & tested by the community

Resetting the status based on #15 and #16 - patch has only been rebased to keep it applying to HEAD, no other changes since the two reviews.

TR’s picture

Yet another rebase in a seemingly vain attempt to keep up with core changes ...

All this patch does is remove some 'use' statements, tests still run green without them.

EDIT: 2 tests failed. One fail was a testbot failure - out-of-memory error. The other was in a module not touched by these changes and was because D8 HEAD was broken at the time.

Status: Reviewed & tested by the community » Needs work

The last submitted patch, 21: remove-use-annotation-statement-rebase-21.patch, failed testing.

TR’s picture

Status: Needs work » Needs review
FileSize
238.06 KB

HEAD keeps moving.

dawehner’s picture

Status: Needs review » Reviewed & tested by the community

Let's try this time.

TR’s picture

Another rebase to keep pace with HEAD development.

Status: Reviewed & tested by the community » Needs work

The last submitted patch, 25: remove-use-annotation-statement-rebase-25.patch, failed testing.

TR’s picture

Status: Needs work » Reviewed & tested by the community
FileSize
236.45 KB

OK, this is getting ridiculous. Patch in #25 failed because a core file was removed in the space of time it took me to pull the new D8, rebase the patch, then post the new patch.

Perhaps I should file 406 different issues, one for each file that I'm changing? Otherwise it's WAY too much effort to keep re-rolling this. I'm leaving this at "RTBC" because there is no additional content to the patch since it was RTBC in #15 and #16 - it's just rebasing to keep up with file name changes and file removals.

webchick’s picture

This is a "normal" issue. It's simple clean-up, not blocking anything else. Core committers (rightly) spend their time on critical/major issues, as well as blocking issues, prior to spending time on refactoring patches like this. It's nothing to get upset about. It means the system is working. It's much better to break patches like this than critical/major bug fixes that get D8.0 to release faster.

Probably what makes the most sense here is to pick a day to do this and other types of "this is going to break tons of more important patches in the queue" and get them all in at once, similar to "SunDXay" we did the other month. Generally weekends are best, because activity is down. Is there a particular time that works best for you, TR?

webchick’s picture

Making up a tag to track this type of wide-scale refactoring. (as a corollary to the "Avoid commit conflicts" tag)

TR’s picture

I wasn't criticizing you webchick - you're doing a crazy amount of work. I know this issue is not high priority. It is a fragile patch and a lot of work because of the far-reaching scope of #2090353: Don't require to put the use statement into plugin classes, and it's frustrating to see other equally minor patches be submitted after this and get committed before this.

I don't mind doing the work, I just don't want to waste time I could be using for something else. So any suggestions you have for how to get things like this accomplished without a putting in a huge excess of work are appreciated.

My suggestion would be that issues like #2090353: Don't require to put the use statement into plugin classes need to fix core as part of the issue - i.e. this patch should have been part of the commit for that issue. I feel that way about change notices too - the issue summary should provide a complete change notice that should be committed as part of the issue, otherwise change notices lag way behind the core changes, which makes keeping up with D8 HEAD difficult (things break, no change notice to be found or way too sketchy, and issue queue searches still don't work since the site upgrade). longwave and I are trying to keep our 84,000 lines of D8 Ubercart code running against D8 HEAD while we're re-architecting the internals, so these suggestions are based on my experience porting and maintaining non-trivial code in the current D8 environment. If D8.0 is going to be developer-ready, these things have to take place in parallel with the core changes, not as afterthoughts.

Another suggestion is that patches that are "minor" should get *less* scrutiny, because they are much easier to revert if there's a problem. Documentation patches and the like.

Anyway, that's pretty far afield from the topic of this issue. I'm trying to keep the patch up-to-date for now, but I can't promise I'll do that forever.

Status: Reviewed & tested by the community » Needs work

The last submitted patch, 27: remove-use-annotation-statement-rebase-27.patch, failed testing.

TR’s picture

Status: Needs work » Needs review
webchick’s picture

Hm. The only other patch(es) along this lines are all the "unused variables" ones which I committed a rash of on Tuesday, just to finally get them out of my face. But previously a lot of them been just been sitting at RTBC for 3+ weeks, for the same reason I haven't prioritized this issue. I also tagged the meta issue for that as "Will cause commit conflicts," because you're right, it's very much the same: minor clean-up that potentially has far-reaching breakage. Fair point about committing patches like this along with the initial change itself, though. And I *do* really appreciate patches based on real-world contrib work in D8.

All I literally meant though was, let's pick a date, and then hold off on re-rolling efforts until then, so you don't waste your time, and I don't feel guilty. :) The next D8 alpha is due on Dec 16. How about we get this in right after, on late Dec 16/early Dec 17? Would that work for you?

TR’s picture

Sure, that works fine. Thanks. I'll make sure to have a rebased patch testing green waiting for you here next Monday.

TR’s picture

FileSize
237.01 KB

Rebased as of today. Let's see what the testbot says.

webchick’s picture

Assigned: Unassigned » webchick
Status: Needs review » Reviewed & tested by the community

Thanks, TR! Alpha7 still hasn't gone out (I think catch was busy today, but assigning this to me so I can get it in right after). If this patch ends up breaking a critical I might need to revert so we may go back and forth a couple of times, but hopefully we can get it done early this week. :) Thanks for your patience!

webchick’s picture

Status: Reviewed & tested by the community » Fixed

All right! Alpha7 is out and this still miraculously applied! :)

Committed and pushed to 8.x. Woohoo! Thanks, TR, for this nice DX clean-up.

Status: Fixed » Closed (fixed)

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