Commit Graph

514 Commits

Author SHA1 Message Date
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 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
Yahor Berdnikau 59ec10eb9c Pin AGP 'debug.keystore' in the repo.
This change adds shared 'debug.keystore' into the repository and
sets all the tests to use it.

Fixes issue when keystore was created by AGP 7+, but then consumed in
the test using lower versions of AGP.

^KT-45745 In Progress
2021-12-07 19:48:34 +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
mvicsokolova 93561a1a55 kotlinx.atomicfu compiler plugin for JS_IR backend (#4581)
* kotlinx.atomicfu compiler plugin for JS_IR

Support transformations of atomic operations introduced by the kotlinx.atomicfu library for the JS_IR backend. Compiler plugin is applied externally by the kotlinx.atomicfu gradle plugin.

* Apply compiler plugin for JS platform only

* New plugin test structure

* testGroupOutputDirPrefix changed
2021-12-01 22:33:13 +03:00
Aleksei.Cherepanov 6c28e9f4d4 Exclude :native:native.tests module from JPS build
It can be reverted after KT-46323 fix
2021-11-25 12:47:08 +00:00
Dmitriy Dolovov 54b09810f0 [Native] Rename :native:tests-blackbox.native to :native:native.tests 2021-11-15 18:15:41 +03:00
Dmitriy Dolovov 5f25b66eec [Native] New test infrastructure for black box tests 2021-11-15 18:15:40 +03:00
Ilya Kirillov dd9a96a12f FIR LC: fix light facade caching 2021-11-05 15:46:07 +01:00
Yaroslav.Chernyshev 347cb43fca Fix Cooperative development for kt-212-master 2021-11-05 16:13:50 +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 e2c9be0932 [FIR IDE] Extract common components of the Analysis API to separate modules 2021-10-20 19:41:23 +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
Igor Laevsky 14eee7c539 [Wasm] Add kotlin-test-wasm library 2021-10-14 17:24:02 +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 dbedff3c62 Build: Move build cache configuration to settings.gradle
#KTI-559
2021-09-26 18:17:54 +03:00
Ilya Kirillov 678b931ba3 Analysis API: introduce Project Structure 2021-09-22 12:57:14 +02:00
Ilya Kirillov 5b38bd2be2 FIR IDE: fix generators after changing analysis api packages 2021-09-15 11:32:47 +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
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
Nikita Bobko 5e87d753b7 Fix coop-dev project import 2021-08-17 13:55:36 +02:00
Igor Yakovlev 9b9a529b7f Reflect addition of new 'kotlin.jvm-run-configurations' module in Gradle 2021-08-12 18:16:00 +02:00
Nikita Bobko dac4fe7507 Adapt coop-dev for 212 platform 2021-08-07 00:07:28 +03:00
Dmitriy Novozhilov d7368c341e [Build] Update kotlin-build-gradle-plugin version to 0.0.32 2021-08-05 15:22:41 +03:00
Roman Golyshev 126f6eff28 Add jvm-run-configurations module to the settings.gradle 2021-08-04 22:20:00 +03:00
Vasily Levchenko 1eb951749d [build][kotlin-native] native compiler embeddable 2021-07-27 19:44:31 +00:00
Nikita Bobko d1e46e8ce7 Delete Kotlin IntelliJ IDEA plugin modules from settings.gradle 2021-07-21 11:23:53 +02:00
Ilya Muradyan 014765a302 Add dependencies-maven-all artifact 2021-07-19 21:31:48 +03:00
Dmitriy Novozhilov e94d75d433 [FIR] Add opt-in annotation which prevents from using symbol.fir 2021-07-13 10:31:32 +03:00
Nikita Bobko 2a26c29390 Disable kotlin-scripting-ide-common publishing
We don't need this artifact in IDE anymore since we are not
going to move ide-common classes to kotlin repo. See previous commit
2021-07-08 10:01:35 +00:00
Nikita Bobko 365821ae54 2/2 Extract code which is required for :kotlin-scripting-ide-services from ide-common into seprate module
Extract the code and keep it in Kotlin repo. See previous preparation commit as well
2021-07-07 16:51:43 +02:00
Pavel Punegov 269f83f86e Update kotlin-build-gradle-plugin to 0.0.31 2021-07-05 19:43:28 +00:00
Vyacheslav Gerasimov aff9d96e8a Build: Update gradle enterprise and test distribution plugins 2021-07-04 18:15:36 +03:00
Ilya Kirillov 330f15ff7d Add uast-kotlin-idea-fir module to the list of ide modules 2021-06-30 16:38:31 +02:00
Dmitriy Novozhilov d048bccfa2 Build: fix detecting .iml files for kotlin-ide development 2021-06-29 21:03:31 +03:00
Zalim Bashorov a908e5576d [JS] Extract sourcemap generating related files to a separate module
It's required to reuse the same infrastructure in the new backend.
2021-06-28 16:04:09 +03:00
Dmitriy Novozhilov c4d9945782 Fix JPS build after removal of IDE plugin from repo 2021-06-28 14:32:24 +03:00
Nikita Bobko fe8f7cfcae settings.gradle: update list of FIR IDE modules & attach them only when latest platform is used 2021-06-22 18:43:51 +02:00
Nikolay Krasko b406689035 Re-enable ":compiler:android-tests" module 2021-06-22 11:02:51 +03:00
Nikita Bobko e5fbd0e2d8 Publish :idea-frontend-api, :idea-frontend-fir, :idea-fir-low-level-api modules artifacts
These artifacts are used in Kotlin plugin
2021-06-22 03:06:18 +03:00