intellij-platform-gradle-plugin
intellij-platform-gradle-plugin copied to clipboard
Internalize util functionality
Pull Request Details
Just a quick PR to demo #1146. There are questions about whether a deprecation cycle is needed?
I added https://github.com/Kotlin/binary-compatibility-validator. The change in the API footprint is shown in this commit
https://github.com/JetBrains/gradle-intellij-plugin/pull/1147/commits/8ac3b1adb4202dc93dbd9f66e124b09592056a65
Before is master branch, after is this PR.
Description
Related Issue
#1146
Motivation and Context
This means that when gradle-intellij-plugin is applied, these functions are made available in the build script. If gradle-intellij-plugin is imported in buildSrc/build.gradle.kts, then the util functions are available in all build scripts, even if gradle-intellij-plugin isn't applied.
This has some drawbacks
- In projects that use gradle-intellij-plugin, IntelliJ must to do more work to index these functions, degrading performance (which is already pretty poor when it comes to Gradle scripts)
- Autocomplete contains irrelevant functions
- Marking them as internal would reduce the API footprint of gradle-intellij-plugin, reducing the amount of code that needs to be supported
How Has This Been Tested
Types of changes
- [x] Docs change / refactoring / dependency upgrade
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [x] Breaking change (fix or feature that would cause existing functionality to change)
Checklist
- [ ] I have read the CONTRIBUTING document.
- [ ] My code follows the code style of this project.
- [ ] My change requires a change to the documentation.
- [ ] I have updated the documentation accordingly.
- [ ] I have included my change in the CHANGELOG.
- [ ] I have added tests to cover my changes.
- [ ] All new and existing tests passed.