198 Commits

Author SHA1 Message Date
Ilya Gorbunov 35bca103eb [stdlib-mpp] Single dependency on stdlib in commonMain
In this project it's required to declare stdlib dependency explicitly,
but now it can be a single line in commonMain
2024-03-04 11:40:06 +00:00
Yahor Berdnikau 6b19b8b9d0 [Repo] Don't use kotlinOptions in repo build scripts
^KT-63419 In Progress
2024-02-22 14:48:10 +00:00
Svyatoslav Scherbina 0be566f6b6 Revert "Native: enable K2 for benchmarksAnalyzer"
This workaround is not needed anymore -- bootstrap KGP is now K2.

This reverts commit 096edd8937.
2023-11-13 08:38:24 +00:00
Dmitrii Krasnov 10a6d8fd2c [Gradle IT] Added configuration for running IT with k/n from master
[Gradle] Updated kotlin-build-gradle-plugin to 0.0.40

#KT-45978 Ready for Review


Merge-request: KT-MR-12509
Merged-by: Dmitrii Krasnov <Dmitrii.Krasnov@jetbrains.com>
2023-10-24 08:38:51 +00:00
Pavel Punegov b1a85d45c6 [K/N][build] Move old Konan plugin to native-build-tools 2023-10-19 12:12:02 +00:00
Svyatoslav Scherbina 096edd8937 Native: enable K2 for benchmarksAnalyzer
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.
2023-10-03 14:53:58 +00:00
Bogdan Mukvich d4640cb576 Remove repack_bundles.py script
* moved to build infrastructure scripts
2023-09-21 10:24:09 +00:00
Svyatoslav Scherbina 04d01e381f Native: disable running cinterop in Gradle process when building K/N
Building Kotlin/Native itself involves running cinterop in the Gradle
daemon process to reduce build time.
But this optimization appears to be incorrect when reusing Gradle daemon
for subsequent builds.

This commit disables the optimization by default, keeping enabling it
possible using `kotlin.native.allowRunningCinteropInProcess=true`
project property.

For more details see ^KT-61300
2023-08-21 14:15:28 +00:00
Yahor Berdnikau 380062c511 [repo] Update the shadow version to 8.1.1 release
https://github.com/johnrengelman/shadow/releases/tag/8.1.1
2023-08-09 08:36:46 +00:00
Svyatoslav Scherbina aecf18b842 Native: move copying of toolchain builder artifact from Docker to host
Don't make Docker container copy artifact to a host directory mounted
with -v, because this fails due to a file permission issue:
build is run by a regular user, but the volume directory inside the
container is owned by root.

Instead, make the host copy the artifact from the container.

Also, make the container print the artifact path before that.
Just in case, in order to easily copy file manually, should something
go wrong.

^KT-58864
2023-07-21 10:40:13 +00:00
Svyatoslav Scherbina a276ad48a0 Native: don't use -it for docker run in toolchain builder
To make it more suitable for running in a CI

^KT-58864
2023-07-21 10:40:13 +00:00
Svyatoslav Scherbina 28a736ea30 Native: update isl download URL in a toolchain builder config
The previous URL no longer works. The isl project has moved hosting to
sourceforge.io. Update the mirror accordingly.
This is fixed in Crosstool-NG 1.25.0, but the URL is included in config
and needs to be updated there.

Note: to make the rest of toolchains buildable, the same change should
be applied to their configs.

See also https://github.com/crosstool-ng/crosstool-ng/pull/1614.

^KT-58864
2023-07-21 10:40:12 +00:00
Svyatoslav Scherbina 4e563aa299 Native: add arm toolchain gcc-8.3.0-glibc-2.12.1-kernel-4.9.config
Based on gcc-8.3.0-glibc-2.19-kernel-4.9.config, but with glibc version
downgraded from 2.19 to 2.12.1.

^KT-58864
2023-07-21 10:40:12 +00:00
Svyatoslav Scherbina 3c568e7b86 Native: update zlib download URL in toolchain builder
zlib 1.2.11 has been moved to fossils/ on the official website.

^KT-58864
2023-07-21 10:40:12 +00:00
Svyatoslav Scherbina 785e70c31a Native: update toolchain builder Docker image to Ubuntu 16.04
Ubuntu 14.04, used before, has expired root SSL certificate for
Let's Encrypt. As a result, OpenSSL couldn't verify SSL certificates
issued by Let's Encrypt, failing, in particular, kernel download.

^KT-58864
2023-07-21 10:40:12 +00:00
Dmitrii Krasnov f2816a5531 Added property for overriding konan distribution location
#KT-50463 Fixed

Merge-request: KT-MR-10310
Merged-by: Dmitrii Krasnov <Dmitrii.Krasnov@jetbrains.com>
2023-07-12 12:36:51 +00:00
cristiangarcia 0946039661 Reduce number of tasks realized eagerly from Konan Plugin 2023-07-10 14:42:30 +00:00
Alexander Shabalin 4081115774 [K/N] Fix benchmarksAnalyzer build 2023-07-03 15:49:42 +00:00
Pavel Punegov 55528c571d [K/N][perf] Update wrapper to 8.1.1
benchmarkAnalyzer project could be opened as a separate project as well.
It needs an update to wrapper
2023-06-26 17:29:40 +00:00
Alexander.Likhachev 862f8f235c [Build] Bump Gradle version to 8.1.1
#KTI-1221 In Progress
2023-06-22 15:16:08 +00:00
cristiangarcia 46d113605b Adopt configuration-avoidance where possible
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
2023-06-06 14:27:42 +00:00
Vladimir Sukharev 37adc99b9a [K/N] Don't pass -language_version to the second stage of new test system.
^KT-56182
Merge-request: KT-MR-10414
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com>
2023-06-05 17:59:16 +00:00
Pavel Punegov 5a95d919c7 [K/N] Add kotlinx.cinterop.ExperimentalForeignApi opt-ins
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>
2023-05-09 09:39:40 +00:00
Svyatoslav Scherbina 509a97a7b5 Native: add coroutines into buildSrc classpath of performance builds
^KT-58160
2023-04-21 16:19:55 +00:00
Dmitriy Dolovov 468d524a74 [PL][tests] Run K/N tests (old infra) with PL enabled 2023-04-08 20:46:38 +00:00
Pavel Punegov e82efa6a7c [K/N][perf] Update gradle wrapper to 7.6 in Performance projects 2023-02-27 10:48:28 +00:00
Pavel Punegov c49128aa99 [K/N][perf] Performance project build
* Add build-tools plugin
* Cleanup code
* Add missing methods after the move
2023-02-27 10:48:27 +00:00
Pavel Punegov 8938d5cc79 [K/N][build] Make kotlin-native shared be included subproject 2023-02-27 10:48:26 +00:00
Pavel Punegov 395e3e0f81 [K/N][build] Composite build with build.tools-conventions plugin
Adds convention plugin instead of sources inclusion
inside the buildSrc, effectively reducing the amount
of the code to be compiled in buildSrc.

Merge-request: KT-MR-8898
2023-02-27 10:48:26 +00:00
Pavel Punegov cc258934c4 [K/N][build] Cleanup obsolete build tasks
* Remove obsolete reporting
* Remove old build tasks: BuildPusher and CollisionDetector
* Gradle build file cleanup
* Remove old wrappers

Merge-request: KT-MR-8788
Merged-by: Pavel Punegov <Pavel.Punegov@jetbrains.com>
(cherry picked from commit a9cae3fe87)
2023-02-16 11:56:34 +00:00
Vladimir Sukharev b61a02db73 [K/N] Update degrade script
Merge-request: KT-MR-8690
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com>
2023-02-15 14:06:52 +00:00
Nikolay Krasko 2ad567e14c Revert "[K/N][build] Cleanup obsolete build tasks"
This reverts commit a9cae3fe87.
2023-02-14 11:30:17 +00:00
Pavel Punegov a9cae3fe87 [K/N][build] Cleanup obsolete build tasks
* Remove obsolete reporting
* Remove old build tasks: BuildPusher and CollisionDetector
* Gradle build file cleanup
* Remove old wrappers

Merge-request: KT-MR-8788
Merged-by: Pavel Punegov <Pavel.Punegov@jetbrains.com>
2023-02-13 14:02:28 +00:00
Pavel Punegov c9aeadd31f [K/N] Remove old Compiler and Meta Version ^KT-55677 Fixed
* Replace it with KotlinCompilerVersion
* K/N version should be set now with `deployVersion`.
* Cleanup deprecated functions in older versions
 of the Gradle plugin
* Cleanup tests for older versions of compiler downloader

Merge-request: KT-MR-8436
Merged-by: Pavel Punegov <Pavel.Punegov@jetbrains.com>
2023-01-30 13:10:08 +00:00
Sergej Jaskiewicz e4d32f3615 Bump kotlin-build-gradle-plugin version to 0.0.39
This is so that the new APIs added in
d50c072af0 could be used in subprojects
that depend on kotlin-build-gradle-plugin
2023-01-05 10:13:38 +00:00
Alexander Shabalin 44ea1debf4 [K/N] Fix performance build ^KT-53776
Merge-request: KT-MR-8119
Merged-by: Alexander Shabalin <Alexander.Shabalin@jetbrains.com>
2022-12-22 12:39:33 +00:00
Pavel Kunyavskiy 1cf2f102a2 [K/N] Performance infra fixes 2022-12-20 09:07:20 +00:00
Pavel Kunyavskiy 9f5165dc97 [K/N] Update gradle in performance infra 2022-12-20 09:07:19 +00:00
Pavel Kunyavskiy 2767e95c99 [K/N] Performance infra migration tools 2022-12-20 09:07:19 +00:00
Pavel Punegov b9b2713a96 [K/N][perf] Rewrite UI part to kts 2022-12-20 09:07:18 +00:00
Pavel Punegov 315b59e0d6 [K/N][perf] Rewrite performance server's build
Rewrite to KTS and use JS-IR backend
2022-12-20 09:07:18 +00:00
Pavel Kunyavskiy 09b7c483dd [K/N] Switch to http basic auth in performance infra
^KT-52473
2022-12-20 09:07:17 +00:00
Yahor Berdnikau 2fac6fb125 Revert "Native: fix benchmarksAnalyzer build configuration"
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.
2022-11-30 12:02:59 +01:00
Yahor Berdnikau 737fdf31f9 Add missing JVM toolchain into :benchmarksAnalyzer:buildSrc
It fixes Java and Kotlin targets non-equality.
2022-11-29 14:31:48 +00:00
Yahor Berdnikau a14d0d148b Simplify Kotlin bootstrap application in the project
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.
2022-11-29 14:31:48 +00:00
Svyatoslav Scherbina 6979271998 Native: fix benchmarksAnalyzer build configuration
Likely broken by e07e92c9
2022-11-28 16:46:42 +00:00
Sergey Bogolepov 360046a33c [K/N] xcode 14.1 rc2 2022-11-17 17:37:13 +00:00
Sergey Bogolepov 7830a68424 [K/N] Bump Xcode dependency to 14.1 RC 2022-11-17 17:37:12 +00:00
Vladimir Sukharev 574d78efce [K/N] Remove remains of jcenter from kotlin-native/
Revert two special entries

Use proper mavenCentral()

Remove remains of jcenter from kotlin-native/

Merge-request: KT-MR-7610
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com>
2022-11-09 13:23:09 +00:00
Nikolay Krasko a4cd485f48 Remove native-platform 0.14 usage from the buildSrc
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
2022-11-08 21:31:43 +01:00