* Provide short-circuit methods for contract "EnumEntries contains all
enum entries"
* Make EnumEntries serializable
* Introduce more convenient overload for other backends
#KT-53152
Merge-request: KT-MR-6867
Merged-by: Vsevolod Tolstopyatov <qwwdfsad@gmail.com>
Review: https://jetbrains.team/p/kt/reviews/6753
Meaningful semantic change was splitted into 5 commits to simplify the
change review. Sinle commit would be too big.
Why replace source to binary: to get rid of kotlin-reflect in Kotlin
plugin artifact KTIJ-22276
Other pom.xml in libraries/tools:
* libraries/tools/kotlin-bom/pom.xml
* Used to align user project deps. Should be a SNAPSHOT version
* kotlin-osgi-bundle/pom.xml
* Used by users for OSGI Java modular system. Should be a SNAPSHOT
version
* kotlin-maven-plugin-test/pom.xml
* I don't know what this it but we stopped publishing it to the
Maven central, so I will skip it
Review: https://jetbrains.team/p/kt/reviews/6753
Meaningful semantic change was splitted into 5 commits to simplify the
change review. Sinle commit would be too big.
Why replace source to binary: to get rid of kotlin-reflect in Kotlin
plugin artifact KTIJ-22276
Note: Kotlin Maven artifacts (./gradlew publish) changed their
dependency on kotlin-reflect
Review: https://jetbrains.team/p/kt/reviews/6753
Why: I'm going to replace source dependency on kotlin-reflect with
binary dependency. Normalize reflect dependency before global
processing.
Review: https://jetbrains.team/p/kt/reviews/6753
All redundant I managed to find, of course.
Why: I'm going to process all reflect dependencies in the next commits.
Cleanup reflect dependency before processing.
They are redundant because:
1. if `compileOnly` then compilation didn't break after dropping the
dependency
2. if `test*` then tests didn't break after dropping the dependency.
3. `analysis/analysis-api-fir/analysis-api-fir-generator/build.gradle.kts`
`compiler/fir/checkers/checkers-component-generator/build.gradle.kts`
Drop `implementation(project(":kotlin-reflect-api"))` because the
module already depends on
`implementation(project(":kotlin-reflect"))`
4. `compiler/daemon/daemon-client/build.gradle.kts`. Drop `runtimeOnly`
because after dropping `compileOnly` compilation didn't break (so
`runtimeOnly` looks suspicious). Less safe than 1-3
Review: https://jetbrains.team/p/kt/reviews/6753
Use the same reflect dependency as in the rest of the project.
Why: I'm going to process all reflect dependencies in the next commits.
Normalize reflect dependency before processing.
This weird reflect dependency style was introduced in
83087291df. I think it was a simple
mistake.
Currently, it implicitly relies on the space bootstrap repository
which can be changed when using a different bootstrap method
(e.g. from TeamCity build or from locally deployed artifacts).
This doesn't change behavior for the default JVM, so no new tests are
added. The current behavior is already tested in
`javaInterop/notNullAssertions/paramAssertionMessage.kt`. But this will
improve exception message on Android, where there are 2 platform frames
in the stack trace instead of 1.
#KT-50083 Fixed
`Throwable.stackTraceAsString` is available in stdlib since Kotlin 1.4, but Gradle 6.7 uses bundled Kotlin 1.3. Use `stackTraceAsString` that does exactly the same from KGP instead
Java Compilation classpath should have the same user-defined attributes
as Kotlin Compilation.
This also prevents from Gradle variant resolution failures on
Java Configurations in case if user-defined attributes
resolve that ambiguity.
^KT-31468 Verification Pending