811 Commits

Author SHA1 Message Date
Nikita Bobko 59abe71f56 Drop all usages of Callbacks.ConstantAffectionResolver
This commit fixes deprecation API usage (deprecated in intellij) which is actually
an error (because of -Werror)

KotlinJavaBuilderExtension implements only one method (getConstantSearch) which is
deprecated and the method is actually not called in since 202 IDEA (minimum
supported IDEA right now is 203).

KotlinJavaBuilderExtension originally appeared in 39f7ecc9a3
in order to fix KT-16091. The fact that we ignored the depreaction caused the issue
regression. Luckily, we already fixes the issue again but this API usage is useless so
can be safely droped
2022-01-12 15:25:14 +01:00
Nikita Bobko 01df50e175 Fix warnings in Kotlin JPS plugin (which are errors, actually, because of -Werror) 2022-01-12 15:25:13 +01:00
Nikita Bobko 8a289440ce Kotlin JPS plugin: add "version" setting
Part of KTIJ-11633
2022-01-12 15:25:10 +01:00
Nikita Bobko 02bef14710 Refactor how JPS finds it's home. Now it's more reliable
Part of KTIJ-11633
2022-01-12 15:25:10 +01:00
Nikita Bobko a9cdca40c3 Compilation fixes 2022-01-12 15:25:09 +01:00
Nikita Bobko 01c82da8d2 [jps] Fix Kotlin JPS commits compilation after cherry-pick from intellij/master 2022-01-12 15:11:07 +01:00
Nikita Bobko 29384c7a65 [jps] Fix compilation JDK Path Kotlin extensions 2022-01-12 15:11:06 +01:00
Nikita Bobko 2b2bc4400e [CHERRY PICKED FROM IJ] Avoid adding unnecessary intellij.platform.core into JPS classpath just to be able to use DynamicBundle
DynamicBundle functionality isn't used actually. com.intellij.AbstractBundle is enough

GitOrigin-RevId: 50d30ab3d2cdc5ab8f3e1a1b449ace62e1f0f12b
Original commit: https://github.com/JetBrains/intellij-community/commit/88ab1b0a74ceef1756d953a5ef648f45a8a7f32d
2022-01-12 15:11:05 +01:00
Nikita Bobko ace99c5d4f [CHERRY PICKED FROM IJ] KotlinChunk.Companion#calculateTargetDependencies - don't forget to add dependency from "tests" to "production"
I recently simplified `calculateTargetDependencies` 9f0fa45e441bc6764fe13d2055d6eaece54f5d7c but I
accidentaly changed the logic. This commit returns accidentaly removed logic

GitOrigin-RevId: bde45bc14ad82fcef976b5cce9c6a601ce129230
Original commit: https://github.com/JetBrains/intellij-community/commit/2e845a1122917238049421fd8a99af0da58ecc12
2022-01-12 15:11:04 +01:00
Nikita Bobko 1009ee4333 [CHERRY PICKED FROM IJ] [cleanup] Make KotlinChunk.{dependencies, dependents}.set private
GitOrigin-RevId: b244d3f69ba56ec4514feca524620e8b91b89d3e
Original commit: https://github.com/JetBrains/intellij-community/commit/397c46637ba7e5afdeaf480b98c766d9484a7128
2022-01-12 15:11:03 +01:00
Nikita Bobko 8583808231 [CHERRY PICKED FROM IJ] [cleanup] Simplify KotlinTargetsIndexBuilder#calculateTargetDependencies implementation
GitOrigin-RevId: 9f0fa45e441bc6764fe13d2055d6eaece54f5d7c
Original commit: https://github.com/JetBrains/intellij-community/commit/c6e794bc6e17bf198b1b0a59ff102e87278f7ca5
2022-01-12 15:11:03 +01:00
Nikita Bobko b252897a01 [CHERRY PICKED FROM IJ] [cleanup] Inline VersionView.RELEASED_VERSION
The variable is redundant

GitOrigin-RevId: 99e0e06f8eda6410c41a67b88db50d4d8b5f52ca
Original commit: https://github.com/JetBrains/intellij-community/commit/8b09416812def39f15cdcd7e836129ca6ccc2094
2022-01-12 15:11:02 +01:00
Nikita Bobko ebf87a21fe [CHERRY PICKED FROM IJ] IJ-MR-16150 [Kotlin JPS] Drop unused KotlinJpsCompilerArgumentsProvider
* I failed to find any implementations of this interface
* API Watcher doesn't show any implementations either
* Any meaningful code changes around this extension point
  hasn't been ever done since it's introduction in 2014

The extension point was once used in Android Extensions, as they supported JPS.
Since that time, JPS support was practically dropped in Android projects, and
we decided to delete the extension.

GitOrigin-RevId: 170c97194b27152189ce05b828a53116b746db38
Original commit: https://github.com/JetBrains/intellij-community/commit/248c9b4947f7ea535d5f70e511554b05851f7ec7
2022-01-12 15:11:02 +01:00
Nikita Bobko 5f41e3044b [CHERRY PICKED FROM IJ] [refactoring] Remove unused PathFunctionPairKeyDescriptor & PathCollectionExternalizer classes
GitOrigin-RevId: 6997f426f0912bb06da2e6fe1eb20e3d071dbc2a
Original commit: https://github.com/JetBrains/intellij-community/commit/002855167085323051a051d0c147fa747f5cddce
2022-01-12 15:11:01 +01:00
Roman Ivanov 983f487f6c [CHERRY PICKED FROM IJ] [kotlin] optimisation: make argument modification for each chunk lazy
GitOrigin-RevId: 0f8b66d14f0816a108afa749548420489e875f3b
Original commit: https://github.com/JetBrains/intellij-community/commit/1f23948ddbce1069b4deadec64d9c53272d95ae3
2022-01-12 15:11:00 +01:00
Aleksei.Cherepanov dfdbfb70dc [CHERRY PICKED FROM IJ] Fix performance problem in KotlinTargetsIndex creation
Creation of KotlinTargetsIndex takes too long,
even if Java project doesn't have any Kotlin files.
Remove function hasJsStdLib, as it takes too much time
because of recursively checking all dependencies (migrate to facets)
Also fix tests: Add Kotlin JS facet, where its needed

#KT-34351 Fixed

Original commit: c74f471a82

GitOrigin-RevId: 94e18cd48d71e9fec8acb1987763bf1ef7485f42
Original commit: https://github.com/JetBrains/intellij-community/commit/f442fe58333bf301133b7d04ac55a143a789cf2d
2022-01-12 15:11:00 +01:00
Vladimir Dolzhenko 1c634ee6e2 [CHERRY PICKED FROM IJ] [kotlin] i18n kotlin jps
GitOrigin-RevId: 7aad0a02ca6511dbbe659c2933acf535a587c268
Original commit: https://github.com/JetBrains/intellij-community/commit/c62ec25b24dcb2933394f90a36f352a4a69622ff
2022-01-12 15:10:59 +01:00
Vladimir Dolzhenko 91f34662e4 [CHERRY PICKED FROM IJ] [kotlin] revert kotlin jps i18n
GitOrigin-RevId: 364e32312675500087616e41bf651b8ed29d3cfd
Original commit: https://github.com/JetBrains/intellij-community/commit/ca5307ef2e2254289eed8c94aaa970cb79ddccb2
2022-01-12 15:10:58 +01:00
Vladimir Dolzhenko cb0955a82d [CHERRY PICKED FROM IJ] [kotlin] i18n
GitOrigin-RevId: 0a55f4d8b088328c83e1af233f7f34ffd51e2382
Original commit: https://github.com/JetBrains/intellij-community/commit/3b2e2d8afdaafde31d52eb32cffae9c4aae6704b
2022-01-12 15:10:58 +01:00
Dmitry Gridin edb619a004 [CHERRY PICKED FROM IJ] [kotlin] compiler index: fix initialization issues
* move some constants to kotlin.jps-common module
* depends on kotlin.jps-common instead of kotlin.jps-plugin

^KTIJ-16709
^KTIJ-18939 Fixed
^EA-297958 Fixed

GitOrigin-RevId: 305b67aeb75a4c55f734bf2a773b36b0f0e50ac9
Original commit: https://github.com/JetBrains/intellij-community/commit/e7e6e8b26c159b828bbe015a8dc700bc7d88a673
2022-01-12 15:10:56 +01:00
Dmitry Gridin b141d6b936 [CHERRY PICKED FROM IJ] [kotlin] compiler index: implement jps part
^KTIJ-16709

GitOrigin-RevId: f68ff2ef8c1d287c0d3ab0ca92ba0d316bda4c5a
Original commit: https://github.com/JetBrains/intellij-community/commit/cb138014488d97c7243d1be6ac3a27593ceef7a2
2022-01-12 15:10:56 +01:00
Dmitry Gridin 54bb3ef3fe [CHERRY PICKED FROM IJ] [kotlin] replace parent.resolve with resolveSibling
IJ-CR-8752

GitOrigin-RevId: 8348dd8bdd644a0b985c2c9915bf3140701ac5ff
Original commit: https://github.com/JetBrains/intellij-community/commit/3035c229615621b8a9c4e96b32cca53373c98b2a
2022-01-12 15:10:55 +01:00
Dmitry Gridin 0839b6a62b [CHERRY PICKED FROM IJ] [kotlin] migrate some io operations to nio
FLEET-T-2032

GitOrigin-RevId: a616d57c763cda61386ddb754ea45ee075764eaf
Original commit: https://github.com/JetBrains/intellij-community/commit/99b6620c424773a42f44fdf398c98fbaa3b55b5c
2022-01-12 15:10:54 +01:00
Vladimir Krivosheev 5d0c87e402 [CHERRY PICKED FROM IJ] cleanup - don't use trove
GitOrigin-RevId: 73223d3f587588c7646be1e6d820b75c778c8d37
Original commit: https://github.com/JetBrains/intellij-community/commit/8f93ffade2d275693a1ac868ab14f633dfd600ef
2022-01-12 15:10:51 +01:00
Vladimir Krivosheev 9c0b617c7c [CHERRY PICKED FROM IJ] reduce classloading
GitOrigin-RevId: 6f8d704c8f2638624915b6eef0ed0889b4e5f0c2
Original commit: https://github.com/JetBrains/intellij-community/commit/f0ac55298015b4710ffb2dfbde5cec39235e0223
2022-01-12 15:10:51 +01:00
Dmitry Gridin 8debe8667e [CHERRY PICKED FROM IJ] CacheVersionManager: cleanup code
GitOrigin-RevId: bf6d303235937d7a66a925c2a788919168513b99
Original commit: https://github.com/JetBrains/intellij-community/commit/a170915a47b7e0a72488aa222530ff7ccf32f053
2022-01-12 15:10:49 +01:00
Dmitry Gridin 0ee7187e3e [CHERRY PICKED FROM IJ] KotlinBuilder: cleanup code
GitOrigin-RevId: 156806aed03531438fcafdd8fba325a7101f01d9
Original commit: https://github.com/JetBrains/intellij-community/commit/021d5bc301c91e386ea363389f5d95c25d361531
2022-01-12 15:10:48 +01:00
Yan Zhulanow 19458f6eb3 [CHERRY PICKED FROM IJ] Remove outdated bunch files
GitOrigin-RevId: e57db32af350993e04232ec7e359ec35a4a5d04c
Original commit: https://github.com/JetBrains/intellij-community/commit/774d4e17ae5abab198730ba9bcee0d554a09c0a4
2022-01-12 15:10:43 +01:00
Yan Zhulanow f2825d56f4 [CHERRY PICKED FROM IJ] Fix compatibility issues with 2020.2
GitOrigin-RevId: a6c350b66e593dbbc9b0d8baa4728b28b65db5c6
Original commit: https://github.com/JetBrains/intellij-community/commit/084a0c5d16fce153c5bd73a8d9761ce47e2e182e
2022-01-12 15:10:43 +01:00
Yan Zhulanow 3a21275306 [CHERRY PICKED FROM IJ] Remove as36 bunch
GitOrigin-RevId: 65d06150b5f4cd4d94a28ab8066e4441a8145c02
Original commit: https://github.com/JetBrains/intellij-community/commit/6f91376c537c1790b652a039f43911d75c1ce41f
2022-01-12 15:10:42 +01:00
Nikita Bobko c06fc28930 Remove as42 bunch from JPS plugin 2022-01-12 15:10:42 +01:00
Nikita Bobko d9a752f823 Remove as41 bunch 2022-01-12 15:10:41 +01:00
Dmitry Gridin 46cad3efe0 [CHERRY PICKED FROM IJ] [jps] convert KotlinBuilderService to Kotlin
GitOrigin-RevId: e0bf79e6e00f5c6826c1338bcf99e50e536c9f52
Original commit: https://github.com/JetBrains/intellij-community/commit/948a7546bf9eafadab9a46f45189101e9f960b9b
2022-01-12 15:10:40 +01:00
Dmitry Gridin af17b2d412 [CHERRY PICKED FROM IJ] Rename .java to .kt
GitOrigin-RevId: c8b1b3c8d3a58b6858041235d6bb7bfa541e3a6c
Original commit: https://github.com/JetBrains/intellij-community/commit/23fbf46777007e8515591a5d65516d26e9812239
2022-01-12 15:10:40 +01:00
Alexander Udalov 46196dc1a3 Restore writing bytecode version to metadata for LV < 1.5
#KT-45323 Fixed

(cherry picked from commit 9970851684)

Original commit: d8b85debe6afe3af52a234717934aad5289d2b71
2021-03-08 11:19:12 +01:00
Alexander Likhachev 1e4ac7714a [Gradle] Read system properties at configuration time using Gradle providers
The change is a step to fully support Gradle configuration cache.
Relates to #KT-43605
Relates to #KT-44611

(cherry picked from commit 3537c699b5)

Original commit: de62c4cde79d606fb3b3a9f63f12f2c387066890
2021-03-04 19:52:44 +03:00
Alexander Udalov 5c6e8fa05d Remove JvmBytecodeBinaryVersion from the compiler code
Move it to build-common where it's still used in incremental compilation
caches, and simplify a bit. In the future, it'll make sense to remove it
completely and to avoid writing it to caches. In this commit, I don't do
that to prevent the IC cache version to be updated, causing rebuilds for
all JPS projects.

 #KT-41758

(cherry picked from commit f63ffc51ae)

Original commit: 15b3f54e666c91aa19255d4887d8916a711b79c4
2021-02-23 14:16:22 +01:00
Aleksei.Cherepanov 8b38a752d8 JPS: Fix JvmMultifileClass processing for IR backend
#KT-44644 Fixed

(cherry picked from commit aa683d3b2a)

Original commit: ef3c73554fc64d9837019ed9cf9e512bbd2b20f3
2021-02-19 23:59:11 +03:00
Andrey Uskov c1a9eb9d21 IC of sealed classes
Supported case then children of sealed classes could be declared
anywhere in a module. If list of classes implementing sealing class
changes the sealed class and all its inheritors should be recompiled
(now sealed class should be compiled together with children in order
to calculate all possible inheritors at compile time) and and
invalidated (as they could have when operators).

Original commit: 36f99156fd
2020-12-13 20:17:16 +03:00
Nikolay Krasko 44c925f17a Fix Daemon compiler tests on Windows
In 202 platform tearDown tries to remove temporary directory, but this
fails on Windows, because while Daemon is active directory can't be
deleted.

Original commit: 2ffedd2731
2020-12-02 14:23:32 +03:00
Dmitriy Novozhilov 6dfc26f4ab Build: remove useless .as40 files
Original commit: 986ab9cb54
2020-11-28 14:25:54 +03:00
Ilya Gorbunov 2746242fbc Use NIO Files for creating temp files: build tools
Original commit: c9bbdf6575
2020-11-20 06:09:36 +03:00
Alexey Tsvetkov 132538e017 Add IC metrics reporting
Original commit: 36387d97ad
2020-11-05 23:26:46 +03:00
nataliya.valtman 514a792e75 KT-34862 use relative path for incremental build cache
Original commit: e1a380ec95
2020-10-27 10:45:06 +03:00
Nikolay Krasko 6bf31a7ac9 as42: Apply 201 <-> AS41 diff
Original commit: 2df030f583
2020-09-29 15:32:32 +03:00
Nikita Bobko c818141d15 202: Fix KotlinJpsBuildTest tests
Test failure was caused by "replace custom source root types to a special
'unknown' type and back on plugin unload/load (IDEA-235292)" in intellij.

We override `getModuleSourceRootPropertiesSerializers` in `KotlinModelSerializerService`
by inheriting from `KotlinCommonJpsModelSerializerExtension`

Original commit: 6985c5fd2a
2020-07-01 11:31:23 +03:00
Ilya Chernikov 7accbf7e28 Extract interface from CompilerMessageLocation to ease extension
The CompilerMessageLocation is an implicit part of the binary daemon
protocol so changing it breaks compatibility with older daemons.
This change allows to extend location for non-daemon uses without
breaking the binary protocol.

Original commit: 5e33612238
2020-06-05 21:58:27 +02:00
Yunir Salimzyanov 19cf915c2d Cleanup 191 extension files (KTI-240)
Original commit: 3b9000cc0c
2020-06-01 18:43:10 +03:00
Vyacheslav Gerasimov dd02c526ad as41: Build against AS 4.1 C10
Original commit: af2dce0549
2020-05-27 18:46:57 +03:00
Sergey Rostov 59993b1441 JPS: ignore removed java files
#KT-27458 Fixed

Original commit: 800fcc511a
2020-05-12 16:22:48 +03:00