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
Andrey Uskov
d4e5620b9c
Fix KNPE in FacetSettings (EA-132084)
2018-12-25 19:22:25 +03:00
Andrey Uskov
ffb277d978
Fix KT-28626, KT-27263, KT-27718 in Idea 191
2018-12-12 19:04:56 +03:00
Simon Ogorodnik
e3aed04d96
Extract module info & target platform to separate frontend.common
2018-12-11 22:07:41 +03:00
Mikhail Glukhikh
79537a5fdb
Fix check in isSameRootType. May fix KT-28626. Related to KT-27718
2018-12-07 18:57:09 +03:00
Andrey Uskov
235b6ca6cd
Fix stacktrace check for KT-27718. This work-around should be removed after fix of IDEA-203651
...
#KT-27718 Fixed
2018-12-06 20:23:05 +03:00
Andrey Uskov
273dbc823e
Fix "Kotlin not configured" issue in common MPP tests.
...
#KT-27718 Fixed
2018-12-06 14:50:26 +03:00
Simon Ogorodnik
2b3b5876aa
CLion/AppCode: Use default platform for libraries, if no LibraryKind is specified
...
To avoid Unknown platform JVM
2018-11-23 22:27:23 +07:00
Alexey Sedunov
839d936918
MPP: Implement directory selection UI supporting non-JVM roots
...
#KT-27291 Fixed
#KT-26696 Fixed
2018-10-22 19:18:32 +03:00
Mikhail Zarechenskiy
e74469fdfc
Use mutable lists before deserialization of project structure
...
The problem is that we perform xml deserialization using intellij
mechanism which tries to clear target object if it isn't unmodifiable
(see CollectionBinding.isMutableCollection). This check fails for
kotlin.EmptyList (emptyList()) which then cause exception
#KT-27321 Fixed
2018-10-01 19:43:03 +03:00
Yan Zhulanow
bbc73ec0e5
MPP: Fix JPS tests
...
Move back the application check as only the class presence check is not sufficient.
2018-09-27 21:31:30 +03:00
Yan Zhulanow
ff0b051a64
MPP: Rewrite work-around for JPS in a more safe way
2018-09-24 17:54:24 +03:00
Yan Zhulanow
373ddcf55d
Fix compatibility with JPS-standalone (KT-26777)
2018-09-17 20:08:27 +03:00
Alexey Sedunov
619e2bc0db
MPP: Allow 'implements' relation only within the same Gradle project
...
Also allow COMMON modules on the "implementer" side
2018-09-14 17:33:59 +03:00
Dmitriy Dolovov
0c94aefb87
Move NativeIdePlatformKind to idea-jps-common
...
Issue #KT-26714 Fixed
2018-09-13 20:30:34 +03:00