Page MenuHomePhabricator

Clean up, merge, and share code between Cite legacy and Cite Parsoid
Closed, ResolvedPublic

Description

Continuing what was started in T386452 this task aims to …

  • Get rid of as much unnecessary and duplicate code as possible, in both parsers.
  • Bring the two parser implementations closer together so reappearing concepts can be recognized easier by someone looking at the code.
  • Make the two actually share code. A notable example is what's currently called the "Validator" in the legacy parser.

Details

Related Changes in Gerrit:
SubjectRepoBranchLines +/-
mediawiki/extensions/Citemaster+28 -56
mediawiki/extensions/Citemaster+43 -28
mediawiki/extensions/Citemaster+26 -5
mediawiki/extensions/Citemaster+26 -64
mediawiki/extensions/Citemaster+9 -6
mediawiki/extensions/Citemaster+7 -6
mediawiki/extensions/Citemaster+11 -13
mediawiki/extensions/Citemaster+142 -77
mediawiki/extensions/Citemaster+6 -10
mediawiki/extensions/Citemaster+66 -74
mediawiki/extensions/Citemaster+45 -41
mediawiki/extensions/Citemaster+28 -15
mediawiki/extensions/Citemaster+47 -60
mediawiki/extensions/Citemaster+6 -11
mediawiki/extensions/Citemaster+30 -40
mediawiki/extensions/Citemaster+21 -22
mediawiki/extensions/Citemaster+40 -33
mediawiki/extensions/Citemaster+17 -13
Show related patches Customize query in gerrit

Event Timeline

Change #1124794 had a related patch set uploaded (by Thiemo Kreuz (WMDE); author: Thiemo Kreuz (WMDE)):

[mediawiki/extensions/Cite@master] Rename ambiguous "index" and make it behave the same

https://gerrit.wikimedia.org/r/1124794

Change #1121323 had a related patch set uploaded (by Thiemo Kreuz (WMDE); author: Thiemo Kreuz (WMDE)):

[mediawiki/extensions/Cite@master] Never accept "0" as the name of a reference

https://gerrit.wikimedia.org/r/1121323

Change #1124794 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] Rename ambiguous "index" and make it behave the same

https://gerrit.wikimedia.org/r/1124794

Change #1125121 had a related patch set uploaded (by Thiemo Kreuz (WMDE); author: Thiemo Kreuz (WMDE)):

[mediawiki/extensions/Cite@master] [POC] Don't pre-generate but dynamically generate link ids

https://gerrit.wikimedia.org/r/1125121

Change #1121323 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] Never accept "0" as the name of a reference

https://gerrit.wikimedia.org/r/1121323

Change #1121586 had a related patch set uploaded (by Thiemo Kreuz (WMDE); author: Thiemo Kreuz (WMDE)):

[mediawiki/extensions/Cite@master] Drop not needed "assign" action from ReferenceStack

https://gerrit.wikimedia.org/r/1121586

Change #1123691 had a related patch set uploaded (by Thiemo Kreuz (WMDE); author: Thiemo Kreuz (WMDE)):

[mediawiki/extensions/Cite@master] Drop now obsolete parameter in internal rollback stack

https://gerrit.wikimedia.org/r/1123691

Change #1125385 had a related patch set uploaded (by Thiemo Kreuz (WMDE); author: Thiemo Kreuz (WMDE)):

[mediawiki/extensions/Cite@master] Store proper, usable parent reference in sub-reference

https://gerrit.wikimedia.org/r/1125385

Change #1125977 had a related patch set uploaded (by Thiemo Kreuz (WMDE); author: Thiemo Kreuz (WMDE)):

[mediawiki/extensions/Cite@master] Extract another private method in RefTagHandler

https://gerrit.wikimedia.org/r/1125977

Change #1126540 had a related patch set uploaded (by Thiemo Kreuz (WMDE); author: Thiemo Kreuz (WMDE)):

[mediawiki/extensions/Cite@master] [WIP] De-couple Validator from the old parser

https://gerrit.wikimedia.org/r/1126540

Change #1126544 had a related patch set uploaded (by Thiemo Kreuz (WMDE); author: Thiemo Kreuz (WMDE)):

[mediawiki/extensions/Cite@master] Turn rollback stack into an actual call stack of callables

https://gerrit.wikimedia.org/r/1126544

Change #1126923 had a related patch set uploaded (by Thiemo Kreuz (WMDE); author: Thiemo Kreuz (WMDE)):

[mediawiki/extensions/Cite@master] Store direct reference to ReferenceStackItem in rollback stack

https://gerrit.wikimedia.org/r/1126923

Change #1125977 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] Extract another private method in RefTagHandler

https://gerrit.wikimedia.org/r/1125977

Change #1126923 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] Store direct reference to ReferenceStackItem in rollback stack

https://gerrit.wikimedia.org/r/1126923

Change #1123275 had a related patch set uploaded (by Thiemo Kreuz (WMDE); author: Thiemo Kreuz (WMDE)):

[mediawiki/extensions/Cite@master] [WIP] Turn many more Validator fatals into warnings

https://gerrit.wikimedia.org/r/1123275

Change #1121586 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] Drop not needed "assign" action from ReferenceStack

https://gerrit.wikimedia.org/r/1121586

Change #1127908 had a related patch set uploaded (by Thiemo Kreuz (WMDE); author: Thiemo Kreuz (WMDE)):

[mediawiki/extensions/Cite@master] Move first argument validation step into the validator

https://gerrit.wikimedia.org/r/1127908

Change #1128426 had a related patch set uploaded (by Thiemo Kreuz (WMDE); author: Thiemo Kreuz (WMDE)):

[mediawiki/extensions/Cite@master] Drop one more special case how errors can be reported

https://gerrit.wikimedia.org/r/1128426

Change #1128810 had a related patch set uploaded (by Thiemo Kreuz (WMDE); author: Thiemo Kreuz (WMDE)):

[mediawiki/extensions/Cite@master] Move all (back)link generator logic into AnchorFormatter

https://gerrit.wikimedia.org/r/1128810

Change #1127908 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] Move first argument validation step into the validator

https://gerrit.wikimedia.org/r/1127908

Change #1128426 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] Drop one more special case how errors can be reported

https://gerrit.wikimedia.org/r/1128426

Change #1126540 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] De-couple Validator from the old parser

https://gerrit.wikimedia.org/r/1126540

Change #1128810 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] Move all (back)link generator logic into AnchorFormatter

https://gerrit.wikimedia.org/r/1128810

Change #1130986 had a related patch set uploaded (by Thiemo Kreuz (WMDE); author: Thiemo Kreuz (WMDE)):

[mediawiki/extensions/Cite@master] Remove non-standard id attribute from incomplete follow

https://gerrit.wikimedia.org/r/1130986

Change #1130986 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] Remove non-standard id attribute from incomplete follow

https://gerrit.wikimedia.org/r/1130986

Change #1131771 had a related patch set uploaded (by Thiemo Kreuz (WMDE); author: Thiemo Kreuz (WMDE)):

[mediawiki/extensions/Cite@master] Extract two more methods in the large References class

https://gerrit.wikimedia.org/r/1131771

Change #1131771 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] Extract two more methods in the large References class

https://gerrit.wikimedia.org/r/1131771

Change #1134244 had a related patch set uploaded (by Thiemo Kreuz (WMDE); author: Thiemo Kreuz (WMDE)):

[mediawiki/extensions/Cite@master] Parsoid: No URL percent-encoding in non-href attributes

https://gerrit.wikimedia.org/r/1134244

Change #1125121 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] Start using the shared AnchorFormatter in Parsoid

https://gerrit.wikimedia.org/r/1125121

Change #1134244 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] Parsoid: No URL percent-encoding in non-href attributes

https://gerrit.wikimedia.org/r/1134244

Change #1135386 had a related patch set uploaded (by Thiemo Kreuz (WMDE); author: Thiemo Kreuz (WMDE)):

[mediawiki/extensions/Cite@master] No expensive anchor normalization where not needed

https://gerrit.wikimedia.org/r/1135386

Change #1135386 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] No expensive anchor normalization where not needed

https://gerrit.wikimedia.org/r/1135386

Change #1135679 had a related patch set uploaded (by Thiemo Kreuz (WMDE); author: Thiemo Kreuz (WMDE)):

[mediawiki/extensions/Cite@master] Add AnchorFormatter::getNoteTextIdentifier method

https://gerrit.wikimedia.org/r/1135679

Change #1135679 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] Add AnchorFormatter::getNoteTextIdentifier method

https://gerrit.wikimedia.org/r/1135679

Change #1126544 abandoned by Thiemo Kreuz (WMDE):

[mediawiki/extensions/Cite@master] Turn rollback stack into an actual call stack of callables

Reason:

Not compatible with I4a7118c.

https://gerrit.wikimedia.org/r/1126544

Change #1125385 abandoned by Thiemo Kreuz (WMDE):

[mediawiki/extensions/Cite@master] Store actual parent reference object in sub-reference

Reason:

Already done as part of I4a7118c.

https://gerrit.wikimedia.org/r/1125385

Change #1135752 had a related patch set uploaded (by Thiemo Kreuz (WMDE); author: Thiemo Kreuz (WMDE)):

[mediawiki/extensions/Cite@master] Move extra error checking out of ReferenceListFormatter

https://gerrit.wikimedia.org/r/1135752

Change #1135752 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] Move extra error checking out of ReferenceListFormatter

https://gerrit.wikimedia.org/r/1135752