Commit Graph

409 Commits

Author SHA1 Message Date
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
Stanislav Erokhin 0347a737f6 Exclude the :compiler:cli-js from the kotlin-compiler-fe10-for-ide.jar
:compiler:cli already excluded and :compiler:cli-js have references
to the classes from :cli.

P.s. the excluded list for kotlin-compiler-for-ide artifact is way more
we need to review that and refactor
2022-01-27 00:29:11 +03: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
Nikolay Krasko eb5df29834 Fix flaky CompilerClientIT.testSimpleScript tests
System property `compilerClasspath` in tests references absent file

cannot find (.../kotlin/prepare/compiler/build/libs/kotlin-compiler-1.6.255-SNAPSHOT.jar)
java.io.FileNotFoundException: cannot find (.../kotlin/prepare/compiler/build/libs/kotlin-compiler-1.6.255-SNAPSHOT.jar)
	at org.jetbrains.kotlin.compiler.client.CompilerClientIT.filesFromProp(CompilerClientIT.kt:63)
	at org.jetbrains.kotlin.compiler.client.CompilerClientIT.access$filesFromProp(CompilerClientIT.kt:40)
	at org.jetbrains.kotlin.compiler.client.CompilerClientIT$compilerClasspath$2.invoke(CompilerClientIT.kt:47)
	at org.jetbrains.kotlin.compiler.client.CompilerClientIT$compilerClasspath$2.invoke(CompilerClientIT.kt:46)
	at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
	...
2022-01-19 16:49:08 +03:00
Nikita Bobko f86b201eb5 Coop dev: make it possible to depend on ':prepare:ide-plugin-dependencies:kotlin-jps-common-for-ide'
KT-MR-5457
2022-01-17 20:42:57 +01:00
Stanislav Erokhin 088d489141 Return parcelize-runtime to the parcelize-compiler-plugin-for-ide.jar
Classes like kotlinx.parcelize.Parcelize still used in the Android
plugin in the IDEA, so they should be included into plugin.
Otherwise, we have issues like KTIJ-20220.

#KTIJ-20220 In progress
2022-01-13 17:50: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
Ryan Nett 015176a738 Have kotlin-compiler-embeddable copy sources and javadocs from kotlin-compiler
#KT-42183 Fixed
2021-12-17 04:24:28 +03:00
Vyacheslav Gerasimov f7a9065b75 Build: Use intellij maven repo instead of downloaded IDEA
#KTI-82
2021-12-16 21:48:23 +03:00
Vyacheslav Gerasimov bc2f0936bd Build: Rename commonDep -> commonDependency 2021-12-16 21:48:19 +03:00
Hung Nguyen 8c611e0b4d KT-45777: Add -dontwarn com.google.gson.** to Proguard rules
The previous commit added gson to `incremental-compilation-impl` module.
However, gson is currently not added to -libraryjars for Proguard, so
running with -Pteamcity=true would fail with
```
> Task :kotlin-compiler:proguard
Warning: ... can't find referenced class com.google.gson.Gson
Warning: ... can't find referenced class com.google.gson.GsonBuilder
   You may need to add missing library jars or update their versions.
   If your code works fine without the missing classes, you can suppress
   the warnings with '-dontwarn' options.
   (http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedclass)
```

This commits adds -dontwarn com.google.gson.** to work around this
error. The proper fix is probably to add gson (and many other libraries)
to Proguard's -libraryjars.
2021-11-30 13:59:16 +03:00
Ilya Kirillov dd9a96a12f FIR LC: fix light facade caching 2021-11-05 15:46:07 +01:00
Yan Zhulanow f0e703e1ee [FIR IDE] Add artifacts with base components of Analysis API implementations 2021-10-21 18:05:01 +09:00
Yan Zhulanow 516dd825c2 [FIR IDE] Initial descriptor-based implementation of the Analysis API 2021-10-20 19:41:24 +03:00
Vyacheslav Gerasimov 29787218e1 Build: Add proper kotlin-compiler-runner-unshaded for ide artifacts
Fixes tests in kt-212-master branch of kotlin plugin in
intellij-community repository
2021-09-28 13:42:31 +03:00
Vyacheslav Gerasimov f91d6958a8 Build: Rework runtimeJar helper and drop redundant configuration
#KTI-559
2021-09-26 20:10:29 +03:00
Vyacheslav Gerasimov ab146bd6d4 Build: Fix deprecated Gradle configurations usages
for migration to Gradle 7+ #KTI-559
2021-09-26 18:28:44 +03:00
Ilya Kirillov 678b931ba3 Analysis API: introduce Project Structure 2021-09-22 12:57:14 +02:00
Ilya Kirillov b43e664985 FIR IDE: move analysis api fir test sources to the analysis directory 2021-09-15 11:32:32 +02:00
Ilya Kirillov 5e9f807c78 FIR IDE: move analysis api fir main sources to the analysis directory 2021-09-15 11:32:30 +02:00
Ilya Kirillov b70f4f581e FIR IDE: move low level api main sources to the analysis directory 2021-09-15 11:32:22 +02:00
Ilya Kirillov 0c04ff98c3 FIR IDE: move analysis api to the analysis directory 2021-09-15 11:31:30 +02:00
Ilya Kirillov da962895a8 Split compiler-for-ide jar into multiple jars
Needed for IDE to gradually control which plugin (FE1.0, FIR) on which jar may depend

Jars: Common, IR, FIR FE1.0 and PSI
2021-09-14 14:45:41 +02:00
Hung Nguyen 3f857cdef1 KT-45777: Update keep rules for serializable classes
to prevent broken serialization caused by missing fields/methods.

(Without this commit, the next commit will break tests.)
2021-09-14 12:10:38 +03:00
Ilya Kirillov c17a4a5a3b FIR IDE: move light classes to separate module 2021-08-24 20:13:09 +03:00
Ilya Kirillov abe2311372 FIR IDE: move declaration/package providers to separate module 2021-08-24 20:12:58 +03:00
Nikolay Krasko 83023c2073 Remove 202 platform support in build scripts 2021-07-23 16:58:28 +03:00
Nikolay Krasko ec99585eb9 Remove explicit registration of classFileDecompiler EP and core.xml 2021-07-23 16:58:27 +03:00
Nikita Bobko 39fa2b0baf Delete Kotlin IntelliJ IDEA plugin sources
Kotlin plugin sources were migrated to intellij-community:
https://github.com/JetBrains/intellij-community/tree/master/plugins/kotlin

Preserve `jps-plugin/testData/incremental`
because it's used in `compiler/incremental-compilation-impl/test`

Preserve `idea/testData/multiModuleHighlighting/multiplatform`
because it's used in `MppHighlightingTestDataWithGradleIT`
2021-07-21 11:23:43 +02:00
Alexander Likhachev 1a77b57a7b [Gradle] Provide JNA jar to compiler classpath with intellij-core 203+
#KT-47748 Fixed
2021-07-15 20:41:57 +03:00
Yahor Berdnikau de22a467a1 Ensure default toolchain is also set to java only modules.
^KT-46972 Fixed
2021-07-09 19:36:27 +03:00
Yan Zhulanow cf65754ea4 Update 203 bunch 2021-07-08 13:29:18 +03:00
Nikita Bobko 2a26c29390 Disable kotlin-scripting-ide-common publishing
We don't need this artifact in IDE anymore since we are not
going to move ide-common classes to kotlin repo. See previous commit
2021-07-08 10:01:35 +00:00
Nikita Bobko 365821ae54 2/2 Extract code which is required for :kotlin-scripting-ide-services from ide-common into seprate module
Extract the code and keep it in Kotlin repo. See previous preparation commit as well
2021-07-07 16:51:43 +02:00
Yahor Berdnikau 7789054547 Migrate repo to use JVM toolchains Gradle feature.
^KT-46972 Fixed
2021-07-05 14:11:12 +00:00
Nikita Bobko e5fbd0e2d8 Publish :idea-frontend-api, :idea-frontend-fir, :idea-fir-low-level-api modules artifacts
These artifacts are used in Kotlin plugin
2021-06-22 03:06:18 +03:00
Nikita Bobko 938cd955e1 Remove :idea prefix in IDE FIR modules which are going to stay in kotlin repo
This commit fixes not possibility to build project with `disableKotlinPluginModules`
flag on because Gradle tries to resolve `:idea` module which is disabled
2021-06-22 03:06:16 +03:00
Ilya Kirillov 75331b3448 FIR IDE: abstract low-level-api from dependency on idea 2021-06-20 22:07:11 +02:00
Jinseong Jeon 7a5d61928b FIR/IDE: migrate FIR evaluator to idea-frontend-fir 2021-06-19 21:58:48 -07:00
Jinseong Jeon 5e2525175e Introduce fir.evaluate module with CompileTimeConstantEvaluator 2021-06-19 21:35:33 -07:00
Roman Golyshev 1cd75b1e82 kotlin-stdlib:jvm-minimal-for-test -> kotlin-stdlib-jvm-minimal-for-test
Changed after cherry-picking 8baf570ee7
to the master-for-ide branch
2021-06-17 20:19:49 +03:00
Roman Golyshev 6ea4b8997b Add kotlin-stdlib-minimal-for-test.jar artefact to the published dependencies
Some compiler tests rely on this jar instead of the regular `stdlib`
2021-06-17 20:19:48 +03:00
Vyacheslav Gerasimov 58f1fb644f Build: Stop publishing jars with original classifier
#KTI-580
2021-06-17 19:43:10 +03:00
Steffi Stumpos 8baf570ee7 Build: Publish the new compiler test infrastructure 2021-06-12 04:33:31 +03:00
Nikita Bobko 02bd17a4e2 Add compiler/fir/raw-fir/psi2fir/testData to testdata which is used by Kotlin plugin in IJ infra 2021-06-10 12:16:16 +02:00
Nikita Bobko 3aebd0315f Make it possible to run DiagnosisCompilerTestDataSpecTestGenerated from fir-low-level-api in IJ infra 2021-06-09 19:44:08 +03:00
Nikolay Krasko 48a4d7d418 Build: drop maven publication for Kotlin plugin artifacts 2021-06-09 17:43:54 +03:00
Nikita Bobko e4205e5aa7 Pack 'compiler/testData/diagnostics/helpers' into kotlin-compiler-testdata-for-ide
This testdata is required for AbstractDiagnosisCompilerTestDataTest in FIR IDE in IJ infrastructure
2021-06-03 15:34:46 +02:00
Nikita Bobko 3c7b07b90f Include tests-compiler-utils into kotlin-compiler-tests-for-ide artifact
It fixes:
```
java.lang.NoClassDefFoundError: org/jetbrains/kotlin/fir/FirCfgConsistencyChecker

	at org.jetbrains.kotlin.test.frontend.fir.handlers.FirCfgConsistencyHandler.processModule(FirCfgConsistencyHandler.kt:15)
	at org.jetbrains.kotlin.test.frontend.fir.handlers.FirCfgConsistencyHandler.processModule(FirCfgConsistencyHandler.kt:13)
	at org.jetbrains.kotlin.test.TestRunnerKt.processModule(TestRunner.kt:236)
	at org.jetbrains.kotlin.test.TestRunnerKt.hackyProcess(TestRunner.kt:231)
	at org.jetbrains.kotlin.test.TestRunnerKt.access$hackyProcess(TestRunner.kt:1)
```
while running `DiagnosisCompilerTestFE10TestdataTestGenerated.Tests#testBinaryCallsOnNullableValues` (and probably other tests) in new infrastructure
2021-06-03 15:04:10 +02:00