Commit Graph

1021 Commits

Author SHA1 Message Date
Sergej Jaskiewicz 7b7bcb8ffa [FIR/IR generator] Introduce ImportCollector
This class enables printing the import list in generated files
in a smarter way.

Also, refactor `Importable` interface hierarchy, namely, don't inherit
`TypeRef` from `Importable`, since we have types like `TypeRef.Star`
which are not really importable.

Replace the `Importable#typeWithArguments` property with
the `TypeRef#render` method to utilize `ImportCollector` while rendering
types.
2023-10-26 17:33:59 +00:00
Ilya Kirillov bec6d38490 [build] fix Fleet tests
Fleet is using `:compiler:ir.objcinterop` which was removed in e91e1a7729 from IDE dependency publishing
2023-10-26 13:11:23 +00:00
Ilya Kirillov a65c735feb [build] add checks to ensure that no modules which are part of the IDE plugin do not use experimental stdlib API
to ensure binary compatibility with stdlib inside IntelliJ.

This includes using the latest stable kotlin API version and
forbidding using experimental declarations from stdlib.

^KT-62510
2023-10-25 08:38:07 +00:00
Igor Yakovlev 86fd889138 [K/Wasm] Bump nodejs version 2023-10-20 13:02:14 +00:00
Svyatoslav Scherbina 141f2e3234 Bump Kotlin/Native version in KGP to 2.0.0-dev-5387 2023-10-18 15:27:08 +00:00
Ilya Gorbunov 469ca237db Remove the previous approach to build wasm stdlib variants 2023-10-17 16:30:41 +00:00
Ilya Kirillov e91e1a7729 [build] Remove non-needed IR modules from Kotlin plugin
^KT-62510
^KTIJ-27361
2023-10-13 11:49:55 +00:00
Ilya Kirillov 83db91d445 [build] do not build kotlin-stdlib-minimal-for-test-for-id as it's unused in the IDE 2023-10-13 11:49:55 +00:00
Ilya Kirillov b3226b9b78 [build] do not build kotlin-compiler-for-ide as it's unused in the IDE Plugin 2023-10-13 11:49:55 +00:00
Vyacheslav Gerasimov 5ee7aa7077 Build: Workaround KT-61766 with implicitDependencies 2023-10-13 09:15:03 +00:00
Svyatoslav Kuzmich 881997585a [Wasm] Add K2 checkers.web.common module (KT-56849)
This module is created to share JS and Wasm checker logic

Extract isEffectivelyExternal util fun from K/JS in order to
 reuse it in Wasm checkers
2023-10-12 13:26:58 +00:00
Svyatoslav Kuzmich a10042f909 [Wasm] Add K2 checkers.wasm module (KT-56849)
Add first K2 checker ExternalInheritanceChecker to test the infra
2023-10-12 13:26:58 +00:00
Svyatoslav Kuzmich 1ddcdb95bd [Wasm] Add compiler.common.wasm module
This module is introduced to mirror K/JS code layout
Add WasmStandardClassIds to use in checkers
2023-10-12 13:26:58 +00:00
Vyacheslav Gerasimov 918cf183c1 Build: Use cache-redirector for Node.js downloads
#KTI-1401
2023-10-11 11:13:13 +00:00
Ilya Gorbunov eb813b7837 KT-62004 Drop legacy JS build of kotlin-test 2023-10-06 00:46:08 +00:00
Mikhail Glukhikh c860de6600 Use bootstrapped Native bundle with pre-release ON to fix Gradle tests
Related to KT-62058
2023-10-05 09:58:29 +00:00
Svyatoslav Scherbina 8d82e7285d Bump Kotlin/Native version in KGP to 2.0.0-dev-4323 2023-10-03 17:49:16 +00:00
Dmitriy Dolovov 6c1711c52a Bump Kotlin/Native version in KGP to 2.0.0-dev-3904 2023-09-22 12:51:02 +00:00
Vladimir Sukharev 53f994263f Bump Kotlin/Native version in KGP to 1.9.30-dev-3695
Merge-request: KT-MR-12303
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com>
2023-09-20 17:44:27 +00:00
Ilya Gorbunov 222f996d45 [stdlib-mpp] Cleanup kotlin.stdlib.mpp build flag (always true) 2023-09-20 01:07:59 +00:00
Mikhail Glukhikh b7735506b0 LV 2.0: use bootstrapped Native bundle 2023-09-19 15:46:30 +00:00
Ilya Chernikov e3dae559d0 LV20: refactor K2 scripting tests - rename tasks 2023-09-19 15:46:27 +00:00
Zalim Bashorov 59a9855373 [Wasm] Use Node.js with canary v8 that supports recent Wasm GC changes
It's required to run wasm stdlib tests and compiler box tests with WASI.

#KT-59720
2023-09-19 09:23:26 +00:00
Nikolay Krasko af7610a5bd Do signing only if it's explicitly stated so in parameters
KTI-1377
2023-09-15 13:50:11 +00:00
Nikolay Krasko 83a2158744 Remove unused allowed jcenter dependencies 2023-09-13 22:25:29 +00:00
Sergej Jaskiewicz ddfd94b3b2 [K/N] Move KonanMangler to a new common module
^KT-61248 Fixed
2023-09-13 14:25:10 +00:00
Sergej Jaskiewicz d1127f1a31 [K/N] Move IR-related ObjC interop helpers to a new common module
This is a step towards KT-61248. We need those helpers to be available
in non-Native-specific code.
2023-09-13 14:25:09 +00:00
Ivan Kylchik 1843eeb16b [FIR] Drop visualizer module
This module was created to compare type resolve in K1 and K2. But
overall, these tests contain a lot of bugs, and it is quite hard
to use it.
2023-09-13 12:55:14 +00:00
Dmitrii Krasnov 1af7aba26e Bump Kotlin/Native version in KGP to 1.9.30-dev-1903 2023-08-31 17:39:47 +00:00
Sebastian Sellmair e800885c03 [Gradle] Remove ':kotlin-gradle-plugin-kpm-android' module
KT-61463
2023-08-29 16:45:12 +00:00
Alexander.Likhachev db43d8cc8d [Build] Apply workaround for bt-api resolution as in b97e82f604 2023-08-29 13:00:15 +00:00
Kirill Rakhman 12b3fbd39a [RAW FIR] Refactor destructuring code
Move destructuring related code into common to reduce
differences between PSI and LT.
2023-08-24 11:07:46 +00:00
Pavel Kirpichenkov af94b241ec Extract K/N decompiler related files into a separate module
KTIJ-26526
2023-08-23 07:46:29 +00:00
Bogdan Mukvich 1458c81094 Add maven wrapper and mvn install gradle task 2023-08-22 13:45:45 +00:00
Pavel Kunyavskiy 8bcd1f4efa [FIR/Native] Move fir-related code from backend.native module to new one
^KT-61249
2023-08-22 08:56:16 +00:00
Ilya Gorbunov 9640e32483 [stdlib-mpp] Publish wasm artifacts through variants of stdlib KT-60909 2023-08-18 15:36:15 +00:00
Ilya Chernikov a53933d8ce Scripting: do not pack generic dependencies jar into maven-all
The -all jar is compacted with proguard, and the proguard removes
synthetic methods methods with $default suffix from classes regardless
of the -keep flag.
Therefore the calls to the $default metods lead to the NoSuchMethodError
exception on runtime.
Removing the main interface module from the proguarded jar solves the
problem for now (but not generally, the use of "proguarded" jars as
libraries should be discouraged.)
#KT-60862 fixed
2023-08-18 12:35:25 +00:00
Dmitrii Krasnov 1f61a195a9 Bump Kotlin/Native version in KGP to 1.9.20-dev-9320 2023-08-09 15:13:24 +00:00
Pavel Mikhailovskii 2002542ad2 Stub generation infrastructure (except for metadata generation) for KAPT+K2
This commit includes the basic Java stubs generation infrastructure and
the corresponding tests. The main entry point is called
Kapt4StubGenerator. Calls to it from production code will be added in a
separate commit.

 #KT-51982
2023-08-09 01:17:21 +00:00
Igor Yakovlev d1c7caf15c [Wasm] Add wasi stdlib target gradle buildscript
KT-56608
2023-08-08 18:10:19 +02:00
Ilya Gorbunov a9bc8fa402 [stdlib-mpp] Exclude kotlin-stdlib-js/js-ir projects and use kotlin-stdlib instead
- Specify disambiguating attributes in kotlin-dom-api-compat
  compile dependency configurations
  because it uses the flag that removes JS compiler type attribute
  from all configurations and variants

  KT-56106
2023-08-03 14:47:21 +00:00
Ilya Gorbunov 34720f27d4 [stdlib-mpp] Switch kotlin-stdlib project to multiplatform
#KT-56106
2023-08-03 14:47:20 +00:00
Ilya Gorbunov 79d5c87f30 [stdlib-mpp] Disable test retries for MPP libraries
Not compatible with org.jetbrains.kotlin.gradle.targets.jvm.tasks.KotlinJvmTest
executer.

#KT-56106
2023-08-03 14:47:19 +00:00
Ilya Gorbunov 34fc6278ea [stdlib-mpp] initial approach in a separate project
- produce similar jvm, js and common jars
- try default publishing

#KT-56106
2023-08-03 14:47:19 +00:00
Dmitriy Dolovov 5171d92fb9 [KLIB] API for dumping KLIB ABI
^KT-54402
2023-07-28 09:52:18 +00:00
Ilya Chernikov 3dc94f3d31 Scripting: fix descriptor extraction, restore main-kts testing
Temporary solution for K1 - see comments in the code
it seems that a scenario reproduced in the MainKtsTest.testKt48812
wasn't covered with analogous changes before.
And it wasn't detected while main-kts tests weren't a part of the
K1 scripting tests.
The test is fixed now, and testing of main-kts is restored.
2023-07-26 08:49:27 +00:00
Ilya Chernikov 480ea80fc4 Enable K2 scripting tests 2023-07-26 08:49:26 +00:00
Svyatoslav Scherbina d0452d569f Bump Kotlin/Native version in KGP to 1.9.20-dev-7597 2023-07-25 18:12:16 +00:00
Yahor Berdnikau 63b0e900a9 [repo] Start using version catalog in the main build 2023-07-19 17:53:10 +00:00
Yahor Berdnikau dc5660d98c [Gradle] Add 'validatePlugins' tasks for Gradle plugin dependencies
Gradle 8 has removed "validate-external-gradle-plugin" plugin which we
used before to run validate task inputs proper annotations.

With this change, every Gradle dependency that is not published as a
Gradle plugin but uses Gradle API types is also running
'validatedPlugins' task registered manually via a build script.

^KT-59827 Fixed
2023-07-19 13:36:03 +00:00