Commit Graph

720 Commits

Author SHA1 Message Date
Dmitriy Novozhilov 2a7dc1cc0c [AllOpen] Reorganize module structure of AllOpen plugin
This scheme will be common for all compiler plugins with K1 and K2 support:
- `plugin-common` contains classes shared with K1 and K2 implementations (if any)
- `plugin-k1` contains implementation for K1 compiler
- `plugin-k2` contains implementation for K2 compiler
- `plugin-backend` contains implementation for backend extensions (if any)
- `plugin-cli` is module for registration of plugin in CLI compiler
- `plugin` is a root module with tests and all submodules embedded

This structure is needed to distinguish parts related to different frontends,
  which is needed for proper dependencies settings for Kotlin IDE plugins
2022-06-07 14:12:15 +00:00
Nikolay Lunyak ac1fb07102 [FIR JS] Add checkers.js 2022-06-02 13:47:28 +00:00
Nikita Bobko 18feb30569 Introduce kotlin-jps-plugin and deprecate kotlin-jps-plugin-classpath
`kotlin-jps-plugin-classpath` isn't dropped because, in some places, IDE
depends on the old artifact so I want to keep it for a while until I
cleanup IDE completely.

I tried to put as much libraries into `kotlinJpsPluginMavenDependencies`
as possible in the previous commit. Right now,
`kotlin-jps-plugin-classpath` is 33Mb, `kotlin-jps-plugin` is 20Mb (all
are not compresed)
2022-05-30 17:13:56 +02:00
Nikita Bobko b06aae229a Drop compiler-components-for-jps maven artifact
It actualy isn't used for a long time already in IDE
2022-05-30 17:13:56 +02:00
Tianyu Geng 010431e9e7 [Analysis API] Make a separate module for kt-reference-fe10 2022-05-27 15:37:37 +02:00
Pavel Punegov cda0308760 [K/N] Fix kotlin-native-shared usage in build-tools 2022-05-26 10:37:29 +00:00
Pavel Punegov 83c2b3657f [K/N] Fix build-tools project compilation
Add necessary subprojects and dependencies
Add OptIn annotation for experimental stdlib methods in 1.5
Fix compilation errors and cleanup
2022-05-26 10:37:28 +00:00
Pavel Punegov 987930a0e5 [K/N] Add build-tools as a module for IDEA
Adds a module to project making it able to use analysis
and syntax highlight

(cherry picked from commit c545fd5ef8)
2022-05-26 10:37:26 +00:00
Yahor Berdnikau 3e82661d80 Introduce 'common-configuration' convention plugin
This plugin should do project common configuration in the Kotlin repo.
As a first thing I moved gson version constraint into it, because
current approach has Gradle bug:
https://github.com/gradle/gradle/issues/20548
2022-05-24 07:58:35 +00:00
Pavel Punegov 7bd7c09c4a Revert "[K/N] Add build-tools as a module for IDEA"
This reverts commit c545fd5ef8.
2022-05-18 10:58:47 +03:00
Pavel Punegov c545fd5ef8 [K/N] Add build-tools as a module for IDEA
Adds a module to project making it able to use analysis
and syntax highlight
2022-05-16 11:00:41 +00:00
Dmitry Gridin 2100afd122 [jps] extract testdata to separate artifact
^KTIJ-20456
2022-04-28 12:21:33 +07:00
Alexander Udalov 2e515f3945 Prohibit JVM target 1.6
But still compile stdlib, reflect, kotlin.test and scripting runtimes
with JVM target 1.6 to simplify migration from Kotlin 1.6 to 1.7.

 #KT-45165 Fixed
2022-04-19 22:54:40 +02:00
Nikolay Krasko f7a53a1b24 Force using 2.8.9+ gson version as a dependency
Mitigate https://github.com/google/gson/pull/1991

^KT-51837 Fixed
2022-04-19 15:38:30 +02:00
Florian Kistner 8a59ed6bc0 KMA-413 Publish AC KMM's backend.native dependency with Kotlin-for-IDE
AppCode KMM uses parts of `backend.native` for its Kotlin-ObjC
cross-resolve. Thus, this IDE dependency needs to be kept up-to-date
with the other Kotlin compiler for IDE artifacts. This commit integrates
a stripped down version into the existing `ide-plugin-dependencies`
build infrastructure to make it easier to keep them in sync.

Implementation details:
* Proguard-based removal of code irrelevant for IDE for smaller jar size
* Publication of non-stripped-down sources for better IDE experience
2022-04-18 20:15:05 +00:00
Jerome Prinet 769f4c630f Update Gradle Enterprise plugins versions 2022-04-14 14:21:31 +03:00
Dmitry Gridin 57b9648041 make jps-plugin testable from IJ infrastructure
^KTIJ-20456
2022-04-14 11:17:47 +07:00
Ilya Kirillov 4bd7fed1ea [analysis api, test] rework test infrastructure, add multimodule tests 2022-04-13 12:53:01 +02:00
Ilya Kirillov 3838552a75 [analysis api] move some test framework parts to a separate module 2022-04-13 12:52:55 +02:00
Pavel Punegov d69df1898d [build] Advance kotlin-build-gradle-plugin version to 0.0.38 in the repo
Use build Gradle plugin version property
2022-04-08 14:42:35 +03:00
Sergey Bogolepov 7dc48b3837 [K/N] Rename llvmCoverageMappingC to libllvmext
This subproject covers much wider scope now than code coverage,
so it makes sense to rename it to reflex that.
2022-03-29 09:42:45 +00:00
sebastian.sellmair 310ab12a92 kotlin-gradle-plugin-idea: Replace special -for-compatibility-tests publication
... with separate module intended to download and prepare
the `kotlin-gradle-plugin-idea` classpath used for testing
backwards compatibility.
2022-03-22 18:45:57 +01:00
Nikita Bobko a471ddf059 Kotlin JPS: Inject KOTLIN_BUNDLED macro into JPS
KTIJ-21292
2022-03-14 13:53:15 +00:00
Vyacheslav Gerasimov 5e09c3176f Build: Set kotlin.build.cache.push to false by default
#KTI-793
2022-03-13 20:29:12 +00:00
sebastian.sellmair fe45214d23 Create new kotlin-tooling-core module 2022-03-09 13:17:05 +00:00
Ilya Kirillov 7fbfb1bd95 Fix cooperative development setup for kt-master 2022-03-02 13:46:24 +01:00
Vyacheslav Gerasimov f8f1b3fd41 Build: Remove allowUntrustedServer & allowInsecureProtocol
#KTI-791
2022-02-28 15:56:31 +03:00
Dmitriy Novozhilov 324e4bf254 Revert "Build: Remove allowUntrustedServer & allowInsecureProtocol"
This revert is temporary and it should be returned after fix of problem
  with public TC configurations
2022-02-28 10:56:04 +03:00
Vyacheslav Gerasimov 8a20df1a97 Build: Remove allowUntrustedServer & allowInsecureProtocol
#KTI-791
2022-02-24 19:54:00 +03:00
Dmitriy Novozhilov 3d48f9926f [Build] Update version of kotlin-build-gradle-plugin to 0.0.35 2022-02-18 17:44:44 +03:00
Dmitriy Novozhilov 8993d5d2eb [Build] Detach :liraries:tools:dukat module from root gradle project
This is needed to prevent leaking dependency on `dukat:0.5.8-rc.4` into
  dependency of Kotlin project after import to IDE. This jar contains
  unshaded classes of some outdated compiler version and it confuses
  IDEA tooling (like debugger), so it shows those classes instead of
  real sources from project
2022-02-18 07:30:50 +00:00
sebastian.sellmair e91785ba39 [KPM] Implement initial IdeaKotlinProjectModelBuilder
- Introduce `kotlin-gradle-plugin-idea` module that allows
to share models between the IDE and KGP

- Add `kotlin-gradle-plugin-idea` to the RuntimePublicAPITest to
ensure binary compatibility

^KT-51262
2022-02-17 20:19:12 +00:00
Jinseong Jeon 26e923e3ae AA: introduce static project structure provider by compiler configuration
Also add standalone mode utils to configure Application/Project environments
2022-02-09 23:11:43 +01:00
Mads Ager a398f7d6cb Rename kt-reference module to kt-references. 2022-02-07 15:01:24 +01:00
Mads Ager 6f0bb0eda5 Add analysis:kt-reference module and move KtReferences there. 2022-02-07 15:01:23 +01:00
Mads Ager aa6ba18c39 Remove references to annotation-based-compiler-support 2022-02-04 19:03:33 +01:00
Nikita Bobko ce2a469a88 coop dev: make it obvious how to resolve problems with outdated iml mapping 2022-02-02 15:41:07 +00:00
sebastian.sellmair d5823a5f7b [KPM] Implement kotlin-gradle-plugin-kpm-android module for prototyping 2022-01-26 21:51:53 +00:00
Dmitriy Novozhilov bea2bc3980 [Parcelize] Move FIR related parts of parcelize to separate module
This is needed to avoid bundling of FIR classes to IDE plugin for
  parcelize, because it can cause compatibility issues, because
  IDE plugin does not contain FIR compiler
2022-01-21 10:22:39 +03:00
Jerome Prinet 3d121b2080 Bump up Gradle plugin dependencies 2022-01-18 12:22:18 +03:00
Nikita Bobko d2315371e0 Coop dev: fix gradle import
JPS modules were moved back to the kotlin plugin and no longer exist in kt-212-master

KT-MR-5457
2022-01-17 20:42:56 +01:00
Nikita Bobko 047272e56f Attach JPS plugin modules to the project model 2022-01-12 15:25:12 +01:00
Nikita Bobko 9bdd38ad72 Introduce kotlin-jps-common-for-ide and kotlin-jps-plugin-classpath artifacts
KTIJ-11633
2022-01-12 15:25:09 +01:00
Ilya Kirillov 4c94e2958e Analysis: add more run configurations 2021-12-27 16:23:22 +03:00
Ilya Kirillov 1e9764c639 Move stub building from psi module to analysis module 2021-12-27 16:23:14 +03:00
Ilya Kirillov b563824b35 Migrate LightMemberOriginForCompiledElement from IJ repository 2021-12-27 16:23:13 +03:00
Ilya Kirillov 764ad8b9fa Move light classes for decompiled declarations from IJ repository 2021-12-27 16:23:12 +03:00
Ilya Kirillov fceb46924e Move decompiler from IJ repository
This commit just moves files and fixes imports
2021-12-27 16:23:11 +03:00
Ilya Kirillov b9b0bb309d Move KotlinClsStubBuilder from intellij repository
This commit is just move, without any modifications
2021-12-27 16:23:09 +03:00
Ilya Kirillov 52baf7338e Move KotlinBinaryClassCache to separate module, so it can be used outside FE1.0 2021-12-27 16:23:08 +03:00