benchmarksAnalyzer is built with bootstrap KGP and snapshot compiler.
Currently the former is K1, while the latter is K2. As a result, the
build fails because K2 compiler needs -Xfragment-sources argument,
while K1 uses -Xcommon-sources. So KGP passes the latter, while the
compiler expects the former.
Fix this by forcing KGP to use K2 for benchmarksAnalyzer.
Before this change `./gradlew help` (with native enabled)
Created immediately: 1322
Created during configuration: 1541
after this change:
Created immediately: 596
Created during configuration: 1509
To know more about configuration avoidance: https://docs.gradle.org/current/userguide/task_configuration_avoidance.html
Add more opt-ins in Samples, tests and Benchmarks.
This is a follow-up to KT-MR-9788
Merge-request: KT-MR-9997
Merged-by: Pavel Punegov <Pavel.Punegov@jetbrains.com>
This reverts commit 6979271998.
Better approach via JVM toolchain was added in this commit: 737fdf31f9
Toolchain approach ensures both Java and Kotlin compilation are using
the same JDK version.
Move all the code to apply Kotlin bootstrap into settings script plugin
which does following:
- configures based either on the repo root 'local.properties' or on the
root project gradle properties or on the repo root 'gradle.properties'
current type of bootstrap
- automatically adds Kotlin bootstrap repository with
exclusive content, so bootstrap dependencies will not be by mistake
downloaded from other repository
- automatically forces all Kotlin plugins applied in the build to use
bootstrap version
This script should be applied only in project settings.gradle and then
it does all the configuration by itself.
It looks like net.rubygrapefruit:native-platform:0.14 is not in
plugins.gradle.org repository anymore.
And it's not used anyway.
> Task :buildSrc:generateExternalPluginSpecBuilders FAILED
'''
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':buildSrc:generateExternalPluginSpecBuilders'.
> Could not resolve all files for configuration ':buildSrc:compileClasspath'.
> Could not find native-platform-0.14.jar (net.rubygrapefruit:native-platform:0.14).
Searched in the following locations:
https://cache-redirector.jetbrains.com/plugins.gradle.org/net/rubygrapefruit/native-platform/0.14/native-platform-0.14.jar
'''
Can be reproduced with
```gradle --refresh-dependencies -i tasks -Pkotlin.native.enabled=true```
KTI-986
Version 7.1.1 is absent in jcenter, so additional repository was added
in some modules.
Leave old version in NewMultiplatformIT.kt because of
`This version of Shadow supports Gradle 7.0+ only. Please upgrade.` error.
^KTI-733 Fixed
benchmarksAnalyzer/buildSrc includes sources from K/N's 'build-tools'
subproject. But now these sources depend on the old Kotlin/Native
Gradle plugin (aka tools/kotlin-native-gradle-plugin) causing
compilation errors when building benchmarksAnalyzer/buildSrc.
This patch works around this problem by ignoring the file that
brings this dependency.