Commit Graph

895 Commits

Author SHA1 Message Date
Roman Artemev 4babc30624 [IR] Remove Persistent IR 2021-12-24 16:50:42 +03:00
Vyacheslav Gerasimov 03a3e7c68e Build: Workaround java-rt loading into Gradle daemon
Fixes IDEA diff for tests not showing diff transfer buttons in the
 "Click to see difference" window for a failed test
2021-12-22 16:23:08 +03:00
Vyacheslav Gerasimov 41902e69f5 Build: Move libraries versions from root project to versions.properties
and cleanup unused versions
2021-12-16 21:48:25 +03:00
Vyacheslav Gerasimov 944c7990a1 Build: Use fake ideaHome for tests with intellij build number only
#KTI-82
2021-12-16 21:48:24 +03:00
Vyacheslav Gerasimov f7a9065b75 Build: Use intellij maven repo instead of downloaded IDEA
#KTI-82
2021-12-16 21:48:23 +03:00
Nikolay Krasko 5ac4722be4 Run firCompilerTest in separate configuration 2021-12-15 19:18:56 +03:00
Nikolay Krasko ee507ceaed Simplify mapping between CI and test tasks 2021-12-15 19:18:56 +03:00
Nikolay Krasko 5162ef31fc Rename task kaptIdeTest -> kaptTests 2021-12-15 19:18:54 +03:00
Nikolay Krasko 85a3c9e251 Restore running :generators:test 2021-12-15 19:18:53 +03:00
Nikolay Krasko 71d84669f1 Remove idea tasks 2021-12-15 19:18:51 +03:00
Alexander Udalov a95375cd9f JVM IR: extract separate module backend.jvm.codegen
The main benefit is that now lowerings and codegen are compiled in
parallel, which speeds up the build. Hopefully, this will also improve
incremental compilation in case of implementation changes because the
rest of the compiler (cli & tests) has no "api" dependency on lowerings
and codegen.
2021-12-09 21:05:49 +01:00
Ilya Goncharov a66aeaf382 Add network settings for kotlin npm install
Because there can be multiple installations of NPM dependencies via Yarn, we need to work correctly consider concurrency of Yarn
Because Yarn cache could face with problems during concurrent installation, need to limit network concurrency with only 1 instance and use mutex on network

https://github.com/yarnpkg/yarn/issues/2146
2021-12-08 17:53:03 +00:00
Ilya Goncharov 0c74376cc4 rra/ilgonmic/after-test-promise
[JS] Node downloading for js ir integration kotlin test

[JS] Fix API of Promise

[JS IR] Promise symbol as lazy2

[JS] Support legacy compiler aftertest with promises

[JS IR] Generate finally for promised tests

[JS] Setup it tests for JS IR kotlin-test

Merge-request: KT-MR-5168

^KT-49738 fixed
2021-12-08 08:22:53 +00:00
Dmitriy Novozhilov 77101edfa4 [FIR] Setup tests for IC with compiler plugins
Most of those tests are ignored, because IC is not supported properly
  for compiler plugins. This commit is needed to prepare infrastructure,
  fix current behaviour and collect main problems of IC with plugins

Check fail.txt files in new testdata for explanation of problems
2021-12-03 14:17:41 +03:00
Dmitriy Novozhilov 1d32d5c7d8 [FIR] Slightly reorganize directory structure of FIR plugin prototype 2021-12-03 14:17:38 +03:00
Mikhael Bogdanov 0997207c7c Apply -Xjvm-default for specific modules only 2021-12-03 06:39:38 +01:00
Steven Schäfer a5fa69b8ee jvm-abi-gen: use kotlinx-metadata 0.4.0 from maven
(cherry picked from commit f5e95444f82bb8e4be72dcef18da3a92277911e0)
2021-12-02 01:41:57 +01:00
Alexander Udalov 8a7d86c4e5 Build: remove obsolete argument -Xskip-runtime-version-check
It was removed in KT-41664.
2021-11-30 17:13:10 +01:00
Nikolay Krasko af8faadca5 Update internal project junit dependency 4.12 -> 4.13.2 2021-11-24 19:35:31 +03:00
Nikolay Krasko 272081d8cf Reduce dependency on teamcity.jetbrains.com when downloading dependencies 2021-11-20 00:05:51 +03:00
konstantin.tskhovrebov cb37424831 Update K/N to "1.6.20-dev-5356". 2021-11-16 23:10:10 +03:00
konstantin.tskhovrebov d5ab0382f6 Revert "Update K/N version to "1.6.20-dev-3759""
This reverts commit d119976b46.
2021-11-09 22:03:09 +03:00
Konstantin Tskhovrebov d119976b46 Update K/N version to "1.6.20-dev-3759" 2021-11-08 16:57:22 +00:00
Igor Laevsky d1d2bd246b [Wasm] Bump nodejs version 2021-11-03 17:56:53 +03:00
Nikolay Krasko d348efa4c1 Do not pack proguard and stripped jars for kotlin-reflect into compiler zip
kotlin-reflect-proguard.jar has different timestamps and shows
difference on each build for the same sources.

The problem was introduced after migrating to Gradle 7.1 where
`libsDir` parameter was removed (https://docs.gradle.org/current/userguide/upgrading_version_6.html#removal_of_basepluginconvention_libsdir_and_basepluginconvention_distsdir).
After that the same variable started to be resolved to `dist` directory.
So this commit reverts the old behaviour.

^KTI-672 Fixed
2021-10-27 11:04:40 +03:00
Yan Zhulanow f0e703e1ee [FIR IDE] Add artifacts with base components of Analysis API implementations 2021-10-21 18:05:01 +09:00
Yan Zhulanow 516dd825c2 [FIR IDE] Initial descriptor-based implementation of the Analysis API 2021-10-20 19:41:24 +03:00
Yan Zhulanow adf174809e Add Parcelize runtime library to set of artifacts published as IDE components
The missing artifact is needed in order to solve KTIJ-19900.
2021-10-19 19:55:09 +03:00
Dmitriy Novozhilov bee44c6e0f [FIR] Split :compiler:fir:resolve module into three different modules
Those modules are:
- :compiler:fir:providers, which contains Fir and Symbol providers,
    scopes, and different utilities used by them
- :compiler:fir:semantics, which contains different abstractions and
    entities which are used in resolution and in checkers
- :compiler:fir:resolve, which contains all stuff related to resolution
    and inference

There are two pros of this change:
1. It may increase gradle build, because it allows to compile :fir:resolve
  and :fir:checkers modules in parallel
2. Logic of working FIR (scopes, providers, DFA logic system, etc) is
  now separated from logic of resolution phases, so for example checkers,
  which are depend on scopes physically will not be able to run resolve
  in any way
2021-10-18 11:10:47 +03:00
Dmitriy Novozhilov d6e428cd98 [Build] Add FIR plugin prototype tests to firCompilerTest task 2021-10-12 17:26:45 +03:00
Vyacheslav Gerasimov 29787218e1 Build: Add proper kotlin-compiler-runner-unshaded for ide artifacts
Fixes tests in kt-212-master branch of kotlin plugin in
intellij-community repository
2021-09-28 13:42:31 +03:00
Vyacheslav Gerasimov 8d2fafa3ce Build: Fix various warnings in build files
Required for Gradle 7+ #KTI-559
2021-09-26 20:10:29 +03:00
Vyacheslav Gerasimov f91d6958a8 Build: Rework runtimeJar helper and drop redundant configuration
#KTI-559
2021-09-26 20:10:29 +03:00
Ilya Kirillov 678b931ba3 Analysis API: introduce Project Structure 2021-09-22 12:57:14 +02:00
Ilya Kirillov 5e9f807c78 FIR IDE: move analysis api fir main sources to the analysis directory 2021-09-15 11:32:30 +02:00
Ilya Kirillov b70f4f581e FIR IDE: move low level api main sources to the analysis directory 2021-09-15 11:32:22 +02:00
Ilya Kirillov 0c04ff98c3 FIR IDE: move analysis api to the analysis directory 2021-09-15 11:31:30 +02:00
Alexander Udalov 5df316a129 Minor, rename module backend.jvm:backend.jvm.entrypoint -> backend.jvm.entrypoint 2021-09-14 22:29:13 +02:00
Alexander Udalov 7efc9dac9b JVM IR: extract lowerings to a separate module
Together with extracting codegen to a separate (unrelated) module in the
future, hopefully it'll speed up the build of JVM IR by making it more
parallel, and helping incremental compilation to avoid recompiling code
that depends on lowerings because of `implementation` dependency.
2021-09-14 22:29:12 +02:00
Ilya Kirillov da962895a8 Split compiler-for-ide jar into multiple jars
Needed for IDE to gradually control which plugin (FE1.0, FIR) on which jar may depend

Jars: Common, IR, FIR FE1.0 and PSI
2021-09-14 14:45:41 +02:00
Dmitriy Novozhilov 793209e72f [FE] Create special module for common frontent parts which uses PSI 2021-09-09 17:20:16 +03:00
Dmitriy Novozhilov 405670e111 Merge :compiler:fir:jvm module into :compiler:fir:java 2021-09-09 17:20:14 +03:00
Mikhail Glukhikh ed035d99ab Migrate -Xopt-in to -opt-in in Gradle Kotlin scripts 2021-09-03 15:40:47 +03:00
sebastian.sellmair 0553f0f8de Bump Kotlin/Native version to 1.6.20-dev-320
Bump done to anticipate new 'kotlinx.cinterop.UnsafeNumber' annotation
2021-09-01 12:40:30 +00:00
Leonid Startsev 3102e9f614 Support properties from other modules in 'declaresDefaultValue'
Add box test using new test infra
Move serialization tests to misc compiler tests

Fixes https://github.com/Kotlin/kotlinx.serialization/issues/1602
Fixes https://github.com/Kotlin/kotlinx.serialization/issues/1481
2021-08-31 20:36:25 +00:00
Alexander Udalov 6c400ce864 Build: update kotlinLanguageVersion to 1.6
Update binary-compatibility-validator dependency to 0.7.1 to allow it to
read Kotlin metadata of version 1.6.

 #KT-48445
2021-08-30 19:36:32 +02:00
Ilya Chernikov e7c9a46329 [minor] Extract jvm scripting test into a separate task 2021-08-24 21:39:37 +03:00
Ilya Kirillov c17a4a5a3b FIR IDE: move light classes to separate module 2021-08-24 20:13:09 +03:00
Ilya Kirillov abe2311372 FIR IDE: move declaration/package providers to separate module 2021-08-24 20:12:58 +03:00
Sergey Bogolepov 1eb960783a Bump native version
The new version has MinGW enabled as cross-target.
2021-08-24 11:05:39 +07:00