Commit Graph

152 Commits

Author SHA1 Message Date
Dmitry Savvinov 5b48845dfa Check for native-shared source-sets properly during facet import
Otherwise they are detected as common source-sets, thus getting
K2MetadataCompilerArguments (instead of FakeK2NativeCompilerArguments),
and the 'applyCompilerArgumentsToFacets' will fail due to check on
javaClass equality

^KT-39657 Fixed
2020-06-19 12:15:50 +03:00
Andrey Uskov 104eeb9ffd Fixed KNPE when serialized Kotlin Facet is broken
#KT-37428 Fixed
2020-05-28 22:07:44 +03:00
Dmitriy Dolovov 9d27ba5b59 HMPP: Backward-compatible Kotlin facet serialization
^KT-38634
2020-04-29 19:19:54 +07:00
Dmitriy Dolovov fee6a752e0 HMPP: Fix serialization of TargetPlatform in Kotlin facet 2020-04-14 21:07:22 +07:00
Dmitriy Dolovov 76b0e7994b JVM, JS: Use faster checks in IdePlatformKind.supportsTargetPlatform() 2020-04-14 21:07:06 +07:00
Dmitriy Dolovov 8d2e999776 HMPP: Parameterize NativePlatform with KonanTarget 2020-04-14 21:06:48 +07:00
Konstantin Tskhovrebov e1a88de314 Add native run tasks data to KotlinTarget. 2020-04-07 16:09:02 +03:00
Dmitriy Dolovov 9bbfe9c1ac Rename: KonanPlatform, KonanPlatforms -> NativePlatform, NativePlatforms 2020-03-29 23:20:52 +07:00
Ilya Kirillov 97e320b57f Don't show IR_COMPILED_CLASS error in IJ when it arises in module with backend IR enabled
The problem here is that library resolver uses global project compiler
settings instead of the module ones. That behaviour is caused by more
global problem described in #KT-21246

As a temporary solution we just do not show IR_COMPILED_CLASS error in
IDE if it arises in a module which have -XuseIR or
-Xallow-jvm-ir-dependencies option provided

#KT-36907 fixed
2020-02-28 11:45:51 +03:00
Pavel Kirpichenkov bd3b23b933 Use LATEST_STABLE version during prerelease in VersionView
^KT-36644 Fixed
2020-02-17 10:56:41 +03:00
Dmitriy Dolovov b49e6ac581 Rename :kotlin-native:kotlin-native-library-reader to :native:frontend.native 2020-01-29 20:30:29 +07:00
Michael Kuzmin 254dc8f71c Build: Drop IntelliJ 2018.3 and Android Studio 3.4 support
Delete *.183 and *.as34 bunch-files
2019-12-19 18:31:07 +03:00
Dmitry Gridin 8dbbd64beb idea: cleanup code 2019-12-17 13:56:48 +07:00
Yan Zhulanow 49bcb103ef EA-216005: Do not request KotlinFacetSettingsProvider for dead projects 2019-11-25 17:26:28 +09:00
Yan Zhulanow 44b7a5cc36 Make KotlinFacetSettingsProvider.getInstance() nullable
A module may not have a KotlinFacet.
It isn't correct to throw an exception in that case.
2019-10-08 18:17:06 +09:00
Dmitry Savvinov 958a7d9315 Refactor MPP versioning
- Use 'null' as indicator of non-MPP version. Consequently, remove
useless 'isMpp' method, and lift all methods to extensions (to be able
to call them on nullable 'facetSettings.mppVersion')

- Change semantics of extensions to check for exact equality rather than
for "at least specified version"

- Deprecate old MPP-versioning in favour of 'facetSettings.mppVersion'
2019-10-02 16:52:39 +03:00
Dmitry Savvinov dbd352e2ba Minor: simplify condition in KotlinFacetSettings 2019-10-02 16:52:39 +03:00
Andrey Uskov 715fad849d Importing test tasks and targets is implemented 2019-09-27 11:59:58 +03:00
Andrey Uskov 48d666daea Make platforms order reproducible in iml-files
#KT-33316 Fixed
2019-09-05 14:14:33 +03:00
Andrey Uskov 106452b5f0 Add list of modules available via dependsOn in FacetSettings 2019-09-05 13:58:58 +03:00
Andrey Uskov 4642127c28 Introduce versioning of multiplatform in KotlinFacetSettings 2019-09-05 13:58:51 +03:00
Nikolay Krasko 4d0fc1dc22 Remove 182 support
#KT-33536 Fixed
2019-08-30 12:13:44 +03:00
Vadim Brilyantov 91d603292c #KT-27389 : Change JavaSourceRoot usages to Kotlin analogs 2019-07-17 15:53:58 +03:00
Andrey Uskov c98ad923bd Import list of pure kotlin source roots from gradle
in facet settings for inspections
#KT-32300 Fixed
2019-07-09 20:12:55 +03:00
Andrey Uskov 404ce1a8c1 Facet serialization changed in order to keep compatibility with previous
versions of Kotlin plugin
2019-07-02 22:46:46 +03:00
Andrey Uskov 87e75bd4cc HMPP: fix importing target platforms for case when JVM targets are involved 2019-07-02 22:46:45 +03:00
Andrey Uskov e791b9d3f7 HMPP: import flag indicating that the project uses HMPP feature 2019-07-02 22:40:19 +03:00
Dmitry Gridin 8c84f885ac Cleanup: apply RemoveRedundantQualifierNameInspection to idea 2019-06-24 15:56:33 +07:00
Andrey Uskov c0bf5a6566 Import of middle HMPP target platforms is supported 2019-06-13 18:30:01 +03:00
Dmitry Savvinov d458821565 [Misc] Get rid of IdePlatformKind.IDE_KINDS_BY_COMPILER_PLATFORM
It works incorrectly for cases of non-trivial common platforms (works
fine for 'JVM/JS/Native', but doesn't work for 'JVM/JS')
2019-06-10 13:34:27 +03:00
Dmitry Savvinov aeb7f8400a Rename platform to targetPlatform in KotlinFacetSettings to avoid ambiguity in Java 2019-05-28 16:03:05 +03:00
Dmitry Savvinov 8997fa52df Introduce unspecifiedJvmPlatform for clients without jvmTarget
Previously, a lot of clients used JvmPlatform as platform-marker,
without thinking about jvmTarget.

For the sake of migration, this commits introduced so-called
UnspecifiedJvmPlatform, which can be used for a time being, but
generally, all usages should be removed in  future.
2019-05-28 13:08:09 +03:00
Dmitry Savvinov ef39e2a68f [Compatibility] Restore KotlinFacetSettings.getTargetPlatform() 2019-05-28 13:08:09 +03:00
Dmitry Savvinov 716e55d171 [Compatibility] Restore KotlinProjectConfugirator.getTargetPlatform() 2019-05-28 13:08:09 +03:00
Dmitry Savvinov dfe0493f9a [Compatiblity] Restore IdePlatform as well as some related methods 2019-05-28 13:08:09 +03:00
Dmitry Savvinov 2caa1c3dd6 [Compatibility] Restore old TargetPlatform and subtypes for compatibility 2019-05-28 13:08:08 +03:00
Dmitry Savvinov 2d528c6396 [Platform API] Remove IdePlatform, use TargetPlatform instead 2019-05-28 13:08:07 +03:00
Dmitry Savvinov d5fbe59a3e [Platform API] Introduce fundamental abstraction of Platform
This is a large commit, which introduces general API for working with
abstraction of Platform.

- Add new abstraction to 'core' - SimplePlatform - which represents
exactly one platform
  - Clients are strongly prohibited to create instances of SimplePlatform
  by hand, instead, corresponding *Platforms abstraction should be used
  (e.g. JvmPlatforms, JsPlatforms, KonanPlatforms)

- Move TargetPlatform to 'core', it represents now a collection of
SimplePlatforms
  - Clients are strongly encouraged to use TargetPlatform
    (not SimplePlatform) in API, to enforce checks for multiplatform

- Provide a helper-extensions to work with TargetPlatform
(in particular, for getting a specific component platform)

- Remove MultiTargetPlatform in favour of TargetPlatform
  - Notably, this commit leaves another widely used duplicated abstraction,
    namely, IdePlatform. For the sake sanity, removal of IdePlatform is
    extracted in the separate commit.
2019-05-28 13:08:07 +03:00
nikita.movshin deb416484c Update copyright. Fix 2 lines comments after rebase
Change the copyright from "JetBrains s.r.o." to
"JetBrains s.r.o. and Kotlin Project contributors"
2019-04-23 20:15:03 +03:00
nikita.movshin 65244b4bea Update copyright.
Change the copyright from "JetBrains s.r.o." to
"JetBrains s.r.o. and Kotlin Project contributors"
Update only 2 lines copyright.
2019-04-23 20:09:22 +03:00
Vyacheslav Gerasimov 8723ad4f46 Switch to 191 platform 2019-04-22 21:52:19 +03:00
Vyacheslav Gerasimov d554b5aafa Build: Embed projects not published to maven into kotlin-plugin.jar 2019-04-10 17:54:05 +03:00
Vyacheslav Gerasimov 83764c113f as35: Upgrade to AS 3.5 C10 2019-04-09 15:06:22 +03:00
Nikolay Krasko 03c6e23448 Remove platform comparisons based on string dictionary order (KT-30356)
Comparison was changed in https://github.com/JetBrains/kotlin/commit/641a9a7153ebb3562c67a86e3ea6edda8360cec9#diff-0895a6eaf69b9fd4d43f83db9889d103R109

 #KT-30356 Fixed
2019-04-06 20:44:05 +03:00
Vyacheslav Gerasimov fc8be48fa8 Build: Improve intellij-sdk repo up-to-date check time & layout
Up-to-date check is very heavy for intellij repo due to artifact size.
If module directory in repo is written only by one task we can assume
that task if up-to-date if target directory exists.
2019-03-20 21:29:13 +03:00
Alexander Udalov c7c377e1b1 Use JvmTarget.DEFAULT instead of JVM_1_6 where applicable 2019-03-07 11:42:31 +01:00
Andrey Uskov 325ed8eb32 Change class hierarchy of KotlinSourceRootType. Deadlock during concurrent classloading fixed
#KT-30137 Fixed
2019-03-01 13:12:16 +03:00
Vyacheslav Gerasimov f58acbeef5 Build: implement useBootstrapStdlib flag
Excludes stdlib projects from build and uses bootstrap stdlib artifacts

 #KT-29205
2019-01-21 21:09:40 +03:00
Andrey Uskov a9df9b22e9 Fix scope detection for MPP projects
#KT-27718 Fixed
#KT-28626 Fixed
2019-01-11 18:47:20 +03:00
Dmitriy Dolovov af4c2b8030 Fix: Rebuild common or native module with Delegate to gradle does nothing
Issues #KT-27295:fixed, #KT-27296:fixed
2018-12-27 18:24:43 +07:00