Closed rosenthalj closed 4 months ago
@rosenthalj: Thanks for the comprehensive bug report. Seems that they now use net.sourceforge.pmd.lang.Language
instead.
Can you prepare a PR? And if not, how urgent is it for you?
@aaschmid,
There are integration and acceptance tests which should fail if something does not work with PMD 7.0.0 :-) And I will also review it ;-)
@aaschmid,
I tried but failed to create a PR. I got 29 of the 34 integration tests to pass.
I could not get the unit tests to even run. I also had to comment out a few lines of code in the unit tests to get them to compile. For PMD v7 they created a repository: pmd-compat6, I tried to use this repository for my changes. Note: pmd-compat6 will be deprecated in the future.
The repository with the changes is located at: https://github.com/rosenthalj/gradle-cpd-plugin/tree/Fix_for_PMD_7.0.0
@aaschmid,
I have made updates to the branch I created and got the unit tests to run. 47 of the 48 unit tests now pass. Note: I was unable to uncomment some of the lines in the unit tests that caused the unit tests not to compile.
Thanks for your efforts. Do we really need the pmd-compat6, or should we rather directly update to v7 and remove the incompatible APIs?
@aaschmid,
I think it would be better NOT to use pmd-compat6. The only reason I tried to use pmd-compat6 was to minimize risk and the amount of code I changed. My changes would have been a short term solution.
Ok, I see. Thanks for the quick answer. As IntelliJ was not working with Gradle v6.6 I first updated to v7.4 in https://github.com/aaschmid/gradle-cpd-plugin/commit/f76883ae435d8386c9c3a4db60bd2fb856450c78 to be able to properly work with the plugin. And v7.4. is also already 2 years old, so I would assume almost all user to have no problem with that 🙊
I got the unit tests to work, but the integration tests fail. I don't know how to debug this, maybe this already helps?
I'm down to just one failing integration test ("Cpd should not fail if skipDuplicateFiles on duplicate files"):
Third time's the charm, sorry for the confusion. I messed up my commits and it seems I also forgot to run all tests before. Now the build passes, with two relevant changes:
Feel free to cherry-pick/change/skip any of these changes. I hope this helps.
I just updated the branch to make use of PMD 7.1.0, which fixes the "skipDuplicates" bug. @aaschmid please let me know if you need more to craft a release out of this.
The more the merrier. I would say. Unfortunately, my time is still very restricted and if there is time I am not that much motivated to work more... But I will try to have a look to give more concrete feedback what is still missing. Thanks anyways.
Am 29. April 2024 19:19:09 MESZ schrieb Carsten Otto @.***>:
I just updated the branch to make use of PMD 7.1.0, which fixes the "skipDuplicates" bug. @aaschmid please let me know if you need more to craft a release out of this.
-- Reply to this email directly or view it on GitHub: https://github.com/aaschmid/gradle-cpd-plugin/issues/71#issuecomment-2083256028 You are receiving this because you were mentioned.
Message ID: @.***> -- Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.
Hello @C-Otto thank you for your commitment to this project! Hello @aaschmid , when can we expect the next release of cpdplugin? PMD is already on 7.2 ...
@C-Otto: time flies, thanks for your efforts. Can you eventually create a PR out of your changes in https://github.com/C-Otto/gradle-cpd-plugin/tree/pmd7. I just looked at them and the look very promising and as you did all the work, you should get the credits for ;-)
Done
Here you go -> https://github.com/aaschmid/gradle-cpd-plugin/releases/tag/3.4
@cyanotyp: Thanks for the push. @C-Otto: thanks for the massive help with implementation. @rosenthalj: thanks for the first steps towards 7.0.0
@C-Otto @aaschmid Thank you for the release, I'm already using it with PMD 7.2, works like a charm 👍
I upgraded to PMD 7.0.0 and got an error while building: I am using gradle-cpd-plugin: 3.3.
./gradlew cpdCheck -stacktrace
Task :cpdCheck FAILEDAll completed @ Mon Mar 25 05:35:03 EDT 2024
FAILURE: Build failed with an exception.
What went wrong: Execution failed for task ':cpdCheck'. A failure occurred while executing de.aaschmid.gradle.plugins.cpd.internal.worker.CpdAction Could not create an instance of type de.aaschmid.gradle.plugins.cpd.internal.worker.CpdAction. Could not generate a decorated class for type CpdAction. net/sourceforge/pmd/cpd/Language
Reviewing the PMD 7.0.0 release notes: https://pmd.github.io/pmd/pmd_release_notes_pmd7.html, the class net.sourceforge.pmd.cpd.Language has been removed.
Examining the gradle-cpd-plugin code repository, class CpdAction.java imports net.sourceforge.pmd.cpd.Language and other PMD/CPD classes that have been removed from PMD 7.0.0