Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[doc] Migration Guide for upgrading PMD 6 ➡️ 7 #4294

Closed
Tracked by #3898
adangel opened this issue Jan 10, 2023 · 0 comments · Fixed by #4590
Closed
Tracked by #3898

[doc] Migration Guide for upgrading PMD 6 ➡️ 7 #4294

adangel opened this issue Jan 10, 2023 · 0 comments · Fixed by #4590
Labels
in:documentation Affects the documentation
Milestone

Comments

@adangel
Copy link
Member

adangel commented Jan 10, 2023

The following is done in #4590 :

  • Differ between use cases, e.g.
    • I'm using only built-in rules -> check whether the ruleset/rules are still available,
      have the same properties, etc.
    • I'm using custom rules -> make sure to have good test coverage for your custom rules first.
      if XPath, need to migrate to XPath 2.0. if Java, some APIs/ASTs might have changed.
    • I've extended PMD with a custom language...
    • I've extended PMD with a custom feature...
  • General approach: Update to the latest PMD 6.x version and try to fix deprecation warnings
  • Compatibility Notes PMD 6 -> PMD 7:
  • CPD: ⚠: End Columns of Tokens are exclusive on PMD 7,
    but inclusive on PMD 6.x. See 5b7ed58
  • Differences between XPath 1.0 and 2.0 (focused on practicality, eg how to transition)
    • This is already in place: Writing XPath rules - Migrating from 1.0 to 2.0
    • That means: The section migrating from XPath 1.0 -> XPath 2.0 should be moved to the migration guide PMD6->7
    • since only XPath 2.0 (actually XPath 3.1) will be supported with PMD 7.
  • See also Java Clean Changes

Not done:

  • Decide whether a migration tool from PMD 6 --> 7 is necessary
    • That depends on [[PMD 7.0.0 Documentation|PMD-7.0.0-Documentation]] / Migration Guide.
    • If something can be automated, it's maybe worth it. But maybe, we don't need it, if most of the simple stuff can be done already on PMD 6 by fixing deprecation warnings.

--> Decision: Migration tool won't be necessary, the guide is enough.

@adangel adangel added the in:documentation Affects the documentation label Jan 10, 2023
@adangel adangel added this to the 7.0.0 milestone Jan 10, 2023
@adangel adangel mentioned this issue Jan 23, 2023
55 tasks
@adangel adangel changed the title [doc] Migration Guide for upgrading PMD 6 --> 7 [doc] Migration Guide for upgrading PMD 6 ➡️ 7 Aug 31, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
in:documentation Affects the documentation
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant