-
Hi, folks. My product has included a direct Java-based integration with PMD for a while now. The interface has changed quite a bit in PMD 7 vs. PMD 6, though, with several key classes/interfaces being moved into different packaging. This is making it very difficult to have a single distribution of my product that works against both PMD 6 and PMD 7. I'm wondering if there are any recommendations for getting this to work that I've perhaps overlooked. To be specific, I have compile-time references to the following types that have been repackaged across major versions:
It seems that if there were backward-compatible stubs in place for PMD 6 types like these that were simple extensions of the same type in the new location (or in the case of |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 3 replies
-
That is exactly what you may need. We already provide some limited implementation of this on the
As long as the classes you are using are part of the PMD 7 public API, normal backward compatibility is to be expected during PMD 7's lifetime, with no guarantees for an eventual PMD 8 release. If however, you are using any non-public APIs, you may face any kind of breaking changes during minor PMD 7 releases. |
Beta Was this translation helpful? Give feedback.
That is exactly what you may need. We already provide some limited implementation of this on the
pmd-compat6
module, but bare in mind, that, as stated in the PMD 7.0.0 release notes…As long as the classes you are using are part of the PMD 7 public API, normal backward compatibility is to be expected during PMD 7's lifetime, with no guarantees for an eventual PMD 8 release. If however, you are using any non-public APIs, you may face any kind of breaking changes during minor PMD 7 releases.