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
Ilya Gorbunov
a18770fbbb
Remove projectDist dependency helper usages
...
Use default configuration dependencies instead of projectDist ones.
2018-09-12 06:05:05 +03:00
Alexey Sedunov
6206f1e419
MPP: Implement isTestModule flag (as required by JPS)
2018-09-10 17:27:41 +03:00
Mikhail Glukhikh
5e3fd189a4
MPP: make platformByCompilerArguments a bit safer
2018-09-07 20:55:30 +03:00
Dmitriy Dolovov
5633d86cb2
MPP: extend IdePlatformKind EP & determine it by CommonCompilerArguments
2018-09-07 20:55:29 +03:00
Yan Zhulanow
2ec1a89fa1
Use IdePlatform instead of IdePlatformKind in 'Kotlin Facet' project structure tab
2018-09-06 14:42:21 +03:00
Yan Zhulanow
f55a52b86e
MPP: Fix compatibility issue with Android Studio 3.3 Canary 7
...
'TargetPlatformKind' is still used in AS 3.3 so we can't remove it entirely yet.
2018-09-06 14:42:19 +03:00
Yan Zhulanow
7398a8149d
Do not use ApplicationExtensionDescriptor in JPS (KT-26542)
...
The 'ExtensionPointName' class that ApplicationExtensionDescriptor uses is missing in the JPS classpath.
Now we don't use it unless the IDEA Application is properly initialized.
2018-09-04 14:54:45 +03:00
Yan Zhulanow
d00f5b335a
MPP: Refactoring, extract IDE platform kinds, allow to add custom platforms
2018-08-31 05:14:15 +05:00
Alexey Sedunov
5ac5a8d723
Configuration: Do not auto-advance "Latest Stable" to pre-release version
...
#KT-25611 Fixed
2018-08-30 14:57:39 +03:00
Alexey Sedunov
a490781213
Configuration: Drop coroutines for language >= 1.3
...
#KT-25681 Fixed
2018-08-30 14:57:37 +03:00
Ilmir Usmanov
cf1f194f8b
Add warning on -Xcoroutines flag use
...
The only case when warning is not reported is -Xcoroutines=default.
But this is OK until the flag is removed completely.
2018-08-30 14:55:50 +03:00
Alexey Sedunov
49b5695664
MPP: Use new MPP model to find modules for 'expect'/'actual'
...
#KT-25955 Fixed
2018-08-13 19:03:03 +03:00
Alexey Sedunov
ecf607d4fa
Gradle: Implement new MPP model import
2018-08-07 15:59:41 +03:00
Alexey Sedunov
d2bfb8caec
Configuration: Add migration of JPS project to new non-jvm source roots
2018-05-18 12:09:40 +03:00
Alexey Sedunov
9fa26c83b6
Configuration: Introduce special source roots for non-JVM Kotlin modules
...
#KT-5948 Fixed
#KT-23672 Fixed
2018-05-18 12:09:40 +03:00
Vyacheslav Gerasimov
f2b323fbe3
Build: Extract jps-common ide module from kotlin-plugin.jar to standalone jar
2018-05-08 21:49:08 +03:00
Vyacheslav Gerasimov
7c02d55b23
Remove explicit jar specification from ide modules build scripts
...
They often change between ide versions and difficult to maintain
2018-04-09 21:47:48 +03:00
Alexey Tsvetkov
8a82c1618c
Use Plugins DSL in Kotlin Gradle scripts
...
When plugins DSL is used, there is no need to
manually generate typesafe accessors for extensions and
conventions (by running `./gradlew kotlinDslAccessorsSnapshot`).
2018-03-26 16:09:29 +03:00
Alexey Sedunov
d9aa1796cd
MPP: Support multiple 'expectedBy' dependencies for single module
...
#KT-22865 Fixed
2018-03-07 18:34:03 +03:00
Yan Zhulanow
34d1611ed4
Add Pill support to compiler and IDE modules
2018-03-02 03:15:17 +03:00
Alexey Sedunov
1f7fab837f
Gradle: Import production output path for JavaScript modules
2018-02-01 15:35:34 +03:00