Commit Graph

275 Commits

Author SHA1 Message Date
Ilya Chernikov 574b917061 Remove new kotlin daemon from dist
hopefully temporarily, also see #KTI-173
2020-05-24 19:03:43 +02:00
Ilya Chernikov 9d98c90881 Drop coroutines from compiler jar, add appropriate plugin dependency
#KT-30778 fixed
2020-05-24 19:03:42 +02:00
Mikhail Glukhikh 2aae735a8e Introduce FIR serializer (isn't in use yet, KT-38156) 2020-04-28 07:34:50 +03:00
Ilya Chernikov 8616864e6b Revert "Drop unnecessary dependency from embeddable compiler to daemon"
The commit breaks gradle plugin, because it relies on this dependency.
This reverts commit 86d47b49
2020-04-23 11:21:27 +02:00
Ilya Chernikov 86d47b496b Drop unnecessary dependency from embeddable compiler to daemon 2020-04-21 16:49:10 +02:00
Ilya Kirillov 29f19c78f2 Add missing fir-common dependency to kotlin plugin jar 2020-04-21 13:05:17 +03:00
Ilya Chernikov cf387ffad1 Remove obsolete source-sections plugin 2020-04-13 13:49:33 +02:00
Mikhail Glukhikh 1bab27c4c1 Add immutable collections to compiler dist (required for FIR) 2020-04-08 16:10:34 +03:00
Vyacheslav Gerasimov 4bd2d08b32 Build: Keep writePluginVersion task until TeamCity usages removed 2020-04-06 14:06:16 +03:00
Vyacheslav Gerasimov d88134069d Build: Move writing ide plugin version to the idea module 2020-04-06 14:06:16 +03:00
Alexander Udalov 7bb77e5672 Move JS binary version utilities to 'js.config'
This allows to replace dependency of 'util' on 'deserialization' with
dependency on 'descriptors'.
2020-03-28 21:30:06 +01:00
Alexander Udalov 4dcd0d1cb6 Extract module 'config' out of 'frontend'
Also move deprecated TargetPlatform there. This allows to get rid of the
dependency cli.common -> frontend, and even on frontend.common.
2020-03-28 21:30:05 +01:00
Alexander Udalov 143aef938b Extract module 'js.config' out of 'js.frontend'
This allows to get rid of dependency cli.common -> js.frontend.
2020-03-28 21:30:05 +01:00
Alexander Udalov 15d2a06132 Extract module 'config.jvm' out of 'frontend.java'
This allows to get rid of dependency cli.common -> frontend.java.
2020-03-28 21:30:04 +01:00
Ilya Kirillov 377cdfdb2d Wizard: exclude new wizard from AS build 2020-03-26 09:38:28 +03:00
Dmitriy Novozhilov 6c9dd8bb22 [FIR] Reorganize modules of raw fir builders 2020-03-25 18:07:27 +03:00
Dmitriy Novozhilov 0d6bb33f49 Update version of kotlinx-collections-immutable in dependencies 2020-03-25 18:07:27 +03:00
simon.ogorodnik 0afbf25943 [FIR2IR] Implement JvmBackendClassResolver for boxing optimizer 2020-03-24 18:58:18 +03:00
Vladimir Dolzhenko d247dd21de Added missed :compiler:fir:checkers dependency for kotlin-plugin 2020-03-19 22:26:17 +01:00
Vyacheslav Gerasimov 507b00ee77 201: Fix kotlin-compiler proguard 2020-03-19 18:13:51 +03:00
Vyacheslav Gerasimov 7dc24a13e4 Build: Make ProGuard task cacheable
Exclude jdk files form libraries input. Instead add jdk major version
to inputs. JavaCompile task acts same to ignore fluctuations in JDK
implementations since api should remain same
2020-03-18 22:32:07 +03:00
Natalia Selezneva 04c924a119 Remove idea-gradle-tooling-api.jar from IDEA 2020
Because gradle-6.1.jar is now bundled into idea-gradle plugin
2020-03-06 14:59:20 +03:00
Vyacheslav Gerasimov 7c7245fbb9 Build: Add compiler.version to embedded in JPS sync 2020-03-05 18:10:17 +03:00
Vyacheslav Gerasimov bab87c9837 Build: Extract compiler version to separate module to improve caching
Compiler version changes every build and makes impossible to reuse
caches for heavy tasks such as compiler proguard. We may fix that by
adding version module directly to the final jar.
2020-03-05 18:05:53 +03:00
Vyacheslav Gerasimov c2457cae60 Read KotlinCompilerVersion from resource file
Writing build number into a public constant field leads to poor gradle
cache reuse between different builds. Public constant value is a part of
public api and its changes affect inputs of dependent modules.
Extracting build number to resource file allows to ignore it from
runtime classpath which fixes same problem for KotlinCompile tasks
2020-03-05 18:05:53 +03:00
Vyacheslav Gerasimov b64c7cce84 Build: Use Jar task for :kotlin-compiler:packCompiler
Right now can't be cached between builds because of compiler version.
We may move module containing compiler version directly to the final jar
2020-02-29 16:32:00 +03:00
Vyacheslav Gerasimov fc2161c2a6 Build: Don't cache :kotlin-compiler:proguard
Requires to mark inputs of proguard task properly
2020-02-25 19:17:02 +03:00
Nikolay Krasko 2340a86d8d Update to 201.5259.13-EAP-SNAPSHOT
- No UIUtil.removeLeakingAppleListeners anymore
- getParameterHints nullability
- versions of lz4-java and guava were changed
2020-02-18 14:13:55 +03:00
Yan Zhulanow 73813aef23 Pill: Support all Gradle source sets, not just main/test 2020-02-14 17:35:15 +09:00
Dmitriy Novozhilov 6735cc8937 [FIR] Implement new bound smartcast algorithm
#KT-36055 Fixed
2020-02-12 10:17:45 +03:00
Dmitriy Dolovov 9594b8db42 Rename Kotlin/Native modules for uniformity 2020-01-29 20:30:46 +07:00
Dmitriy Dolovov b49e6ac581 Rename :kotlin-native:kotlin-native-library-reader to :native:frontend.native 2020-01-29 20:30:29 +07:00
Ilya Gorbunov f465e7a957 Add coroutines-experimental-compat to idea plugin dist
It is required as a runtime dependency to instantiate async scripting
resolvers when importing Gradle 4.9 Kotlin DSL projects.

#KT-36083
2020-01-29 09:12:41 +03:00
Ilya Gorbunov b5a0daabc3 Extract kotlin.coroutines.experimental API into compat artifact
Add public API dump for kotlin-coroutines-experimental-compat

#KT-36083
2020-01-29 09:12:39 +03:00
simon.ogorodnik 97f134eab1 Remove outdated fir-view module 2020-01-27 17:08:18 +03:00
Vyacheslav Gerasimov 392e5a6edd Build: Make :kotlin-compiler:proguard task cacheable 2020-01-24 19:39:58 +03:00
Vyacheslav Gerasimov dd9ac39b65 Build: Add :compiler:ir.serialization.common to kotlin-plugin.jar
:compiler:ir.serialization.jvm contains classes depending on this module
which makes idea plugin verifier to fail.

 #KT-36103
2020-01-24 18:27:41 +03:00
Andrey Uskov beb3165839 Added FUS extensions and new metrics for reporting statistics from gradle 2020-01-23 20:47:21 +03:00
Ilya Gorbunov 61b3f447b1 Remove jsIrDist (kotlin.stdlib.js.ir.dist) flag and the logic it enables
It is no longer needed since JS IR is published in JS artifacts,
and there's no longer separate "-js-ir" artifacts.

Changes in BuildProperties.kt will take effect after the next
kotlin-build-gradle-plugin publishing.
2020-01-21 15:54:24 +03:00
Vladimir Ilmov e570450c59 coroutine debugger logic moved to jvm-debugger-coroutine module 2020-01-14 10:14:56 +01:00
Svyatoslav Kuzmich 31c84e9ac4 [JS IR] Build stdlib using compiler from repo
Previously JS IR versions of stdlib and kotlin-test were build
by default using compiler previously built on a buildserver.

It had some issues:
 - This required us to advance bootstrap every time we made any
   incompatible IR changes. This happens often since IR ABI is
   not quite stable yet.

 - We never tested the exact combination of compiler and stdlib we publish

   We tested:
    - new compiler with new stdlib build by new compiler (in box tests)
    - old compiler with new stdlib build by old compiler (in stdlib tests)

   We published:
    - new compiler with new stdlib build by old compiler

After this change JS IR compiler tests, builds and publishes
single configuration:

    new compiler with new stdlib build by new compiler

JS IR stdlib and kotlin-test are now built using JavaExec of CLI instead
of Gradle plugin to avoid troubles of loading a freshly built plugin.

This also allows to have a granular dependencies: we don't rebuild klib
if we changed a lowering in a compiler backend, but we do rebuild it if
we changed IR serialization algorithm.
2019-12-25 13:44:57 +03:00
Simon Ogorodnik 05308a3652 [FIR] Introduce module for all jvm extensions 2019-12-19 17:30:12 +03:00
Ilya Kirillov aca193ddd2 Wizard: Add initial version of the new project wizard 2019-12-18 15:54:16 +03:00
Roman Golyshev 8e53ccb852 Add ML completion jar to the resulting plugin jar
- Without it, ML completion jar will not be present in the runtime, causing errors when ML completion is enabled
- This step should have been done in 28ec74648e commit
2019-12-17 16:33:20 +03:00
Alexander Udalov 62ef280c53 Add compiler:ir.serialization.jvm to IDEA plugin
This fixes a problem caught by the Plugin Verifier. Kotlin IDEA plugin
depends on the JVM IR backend, which depends on ir.serialization.jvm now
2019-12-12 15:03:47 +03:00
Alexey Tsvetkov e506efb5b2 Include Klib metadata utils into jps-plugin
#KT-34958 Fixed
2019-11-22 15:35:30 +03:00
Svyatoslav Kuzmich a46e970f47 [JS] Remove kotlin-test-js build from JPS
kotlin-test-js is also built by JS IR backend
JS IR backend does not support JPS yet
2019-11-18 15:31:12 +03:00
Sergey Rostov 9f3c2d0292 build.gradle.kts: import script dependencies on Gradle Project sync 2019-11-11 15:15:14 +03:00
Nikolay Krasko 0ea64c8d4b Avoid using js dist library during jps build as it absent in bootstrap 2019-11-07 16:24:13 +03:00
Nikolay Krasko 155a760ee9 Revert "Revert [JS IR] commits that failed build"
This reverts commit 740f851a
2019-11-07 16:24:13 +03:00