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
Ilya Chernikov
7e21573cf4
Convert the rest of the project to intellij repo prepared in buildSrc
2018-01-30 17:06:13 +03:00
Ilya Chernikov
a4f28cd94f
Make all dependencies to idea sdk intransitive
2018-01-30 17:06:11 +03:00
Ilya Chernikov
0d264793ce
Convert idea plugin modules to intellij plugin
2018-01-30 17:06:07 +03:00
Alexey Sedunov
38d3362bcb
Configuration: Support selection of "Latest stable" version vs specific one
...
#KT-21229 Fixed
2017-12-12 20:48:26 +03:00
Alexander Udalov
aca74cef0e
Replace dependencies on kotlin-reflect with kotlin-reflect-api
...
See the previous commit for information on the kotlin-reflect vs
kotlin-reflect-api distinction.
Add kotlin-reflect as an explicit runtime dependency of most of the test
configurations because even though they all depend on tests-common, the
runtime dependency on kotlin-reflect is not exported from tests-common
to other modules because the projectTests dependency is not transitive.
2017-11-28 12:35:49 +01:00
Alexey Sedunov
cfad305826
Misc: Fix deserialization of CommonCompilerArguments.freeArgs
...
#KT-20938 Fixed
2017-11-07 19:25:02 +03:00
Alexey Sedunov
3319fdba6d
Gradle: Import test output path for JavaScript modules
2017-10-26 20:59:40 +03:00
Alexey Sedunov
87f3d24f9b
Misc: Protect freeArgs with FreezableVar
2017-10-24 15:43:51 +03:00
Alexey Sedunov
ea99a2b537
Kotlin Facet: Fix deserialization of "implements" dependency
2017-10-02 18:14:04 +03:00
Ilya Chernikov
d039d191f2
Fix tests in the new build infrastructure
2017-09-19 23:58:30 +02:00
Alexander Podkhalyuzin
3f8170d369
Clean idea files generated on the gradle import, add them to .gitignore
2017-09-19 23:58:27 +02:00
Ilya Chernikov
deda50dbbb
Continue switching projects to improved dsl: sourceSets and test running
2017-09-19 21:37:26 +02:00
Ilya Chernikov
61dfb75e0e
Implement Gradle Kotlin DSL build
2017-09-19 21:37:06 +02:00
Alexey Sedunov
bdad58cec6
Kotlin Facet: Support "implements" relation between modules
...
#KT-17593 Fixed
2017-09-08 15:38:14 +03:00
Alexey Sedunov
78b1fb2e93
Kotlin Facet: Avoid reparse of additional arguments during analysis
2017-09-07 17:39:18 +03:00
Alexey Sedunov
cf3615d279
Kotlin Facet: Fix element ordering in compiler arguments XML
...
Do not rely on method list as it's ordered differently
2017-08-09 00:03:28 +03:00
Alexey Sedunov
40163868af
Support mutable/immutable compiler arguments
2017-08-01 19:40:37 +03:00
Alexey Sedunov
2984a5a19f
Fix reflection-based operations on compiler arguments after conversion
2017-08-01 19:40:22 +03:00
Alexey Sedunov
50599c933f
J2K: CommonToolArguments and inheritors
2017-08-01 19:36:49 +03:00
Alexander Udalov
2f99f6ad34
Refactor AnalysisFlags and their support in IDE
...
* Support flags with any value (not just Boolean)
* Support all flags by parsing arguments in KotlinFacetSettings, instead
of manually listing known flags
#KT-19210 Fixed
2017-07-26 11:45:24 +03:00
Alexander Udalov
7febd846e8
Export 'intellij-core' in module 'frontend'
...
Remove intellij-core from dependencies of modules which already depend
on frontend or any module that exports frontend (such as frontend.java)
2017-06-06 14:29:26 +03:00
Alexey Sedunov
151b512a6c
Kotlin Facet: Do not rewrite v2 configuration to latest version
...
This causes unwanted changes in configuration files
after plugin update
2017-05-22 13:51:07 +03:00
Alexander Udalov
be54e4b93b
Get rid of coroutinesWarn/coroutinesEnable/coroutinesError
...
Use a single coroutinesState instead. Change the coroutines state in
some tests from "warn" to "enable"/"error" to test that deserialization
of older config files works ("warn" is the default value, so it wasn't
testing anything here)
2017-04-14 20:07:54 +03:00