[KPM] :kotlin-gradle-plugin-idea Make entities data classes

This is done to benefit from .equals and hashcode functions.
The goal is to keep .copy methods stable whereas using any
.component* function shall be avoided

^KT-51262
This commit is contained in:
sebastian.sellmair
2022-02-11 16:23:47 +01:00
committed by Space
parent e91785ba39
commit c124c86b0f
9 changed files with 28 additions and 14 deletions
@@ -1,13 +1,24 @@
# Kotlin Gradle Plugin Models shared between IDEA import and KGP
The classes defined in this module will be available inside the Kotlin Gradle Plugin (KGP)
The classes defined in this module will be available inside the Kotlin Gradle Plugin (KGP)
as well as in the IDE import (GradleProject).
## Binary Compatibility:
## Binary Compatibility:
Binary compatibility can be tested by
`./gradlew :tools:binary-compatibility-validator:clean :tools:binary-compatibility-validator:test`
Binary incompatible changes have to go through a proper deprecation cycle after releases
### Unstable APIs / KotlinGradlePluginApi
Some APIs are marked with 'KotlinGradlePluginApi' which means, that those are not kept binary compatible and are considered 'unstable'
from the IDEA perspective. Typically constructors for models are marked like this
Some APIs are marked with 'KotlinGradlePluginApi' which means, that those are not kept binary compatible and are considered 'unstable' from
the IDEA perspective. Typically constructors for models are marked like this
Non Stable by default:
- data class componentX methods
Kept Stable
- data class .copy methods