Commit Graph

651 Commits

Author SHA1 Message Date
Nikita Bobko ea24da117b Publish compiler testdata which is required for Kotlin plugin 2021-06-02 21:30:03 +03:00
Alexander Udalov 1dfcec3a93 Build: add temporary option to suppress jdkHome warning 2021-05-28 15:41:17 +02:00
Mads Ager d023966054 [JVM] Fix various undefined locals issues.
CoroutineTransformermethodVisitor attempts to extend the ranges
of local variables in various situations. Probably in an attempt
to give a better debugging experience. However, all of these
range extensions lead to invalid local variable tables where
something is in the local variable table where nothing is in the
corresponding slot.

The code that extends variables to the next suspension point
instead of ending them when they are no longer live has issues
with loops. When resuming and reentering the loop, the locals
table will mention a local that we did not spill and which
is therefore not restored when resuming.

The code that extends local variable table entries if there
are no suspension points between two entries doesn't work
for code such as:

```
var s: String
if (suspendHere() == "OK") {
  s = "OK"
} else {
  s = "FAIL"
}
```

If the local variable ranges are collapsed into one, one of
the branches will have the local defined in the local variable
table before the slot is initialized.
2021-05-26 08:33:34 +02:00
Dmitriy Novozhilov a1ae108ce5 [FIR] Properly generate IDE diagnostics from multiple diagnostics lists 2021-05-21 14:18:58 +03:00
Nikita Bobko 61bf6bc447 Remove ':idea:idea-jps-common' from 'compiler-components-for-jps' artifact
It seems that it was added by mistake 'compiler-components-for-jps' artifact is used in IDE.
And in IDE we have our own jps-common module
2021-05-20 16:05:38 +02:00
Nikita Bobko 1fa4874426 Create 'installIdeArtifacts' task
This task is used for cooperative compilation with intellij.
See 'Install compiler-for-ide jars' run configuration in
intellij/kotlin-ide/intellij-kotlin repo
2021-05-20 16:05:37 +02:00
Nikita Bobko 54f7633738 build.gradle.kts: exclude :kotlin-ide from allprojects
We don't need to setup compiler args and JDK version for kotlin-ide modules.
Generated build.gradle.kts will do it themselves
2021-05-20 16:05:37 +02:00
Alexander Likhachev 3df45f9651 [Build] Bump kotlin-build-gradle-plugin version to 0.0.29 2021-05-18 16:37:36 +03:00
Alexander Likhachev b6670f5cc8 [Build] Replace build scan config script with plugin
See https://github.com/gradle/gradle-enterprise-build-config-samples/tree/129e82c556d7ef58527cd0acd89f58d1ff02d1f7/common-custom-user-data-gradle-plugin
2021-05-18 16:37:35 +03:00
Alexander Likhachev ca2051e1d4 [Build] Disable custom normalization when conf cache is enabled
Custom input normalizations currently isn't supported by Gracle configuration cache
#KT-44611 In Progress
2021-05-18 16:37:34 +03:00
Yan Zhulanow e90cc30edb Remove CLI and some of daemon-related modules from compiler-for-ide
These modules is not required by the plugin, and the plugin verifier
warns about unsatisfied dependencies of the modules.

CLI is needed in tests so a separate artifact is created instead.
2021-05-14 01:06:39 +09:00
Yan Zhulanow 26f71c33c0 IDE: Publish JS IR klib artifact 2021-05-14 01:06:39 +09:00
Pavel Punegov 53bf0b1c42 Update Build gradle plugin to 0.0.28 2021-05-12 10:34:36 +03:00
Jinseong Jeon e5f3091f2c FIR/UAST: commonize KotlinUFile
We can avoid explicit creation of UAnnotation and UImportStatement if we
use languagePlugin as a UAST element factory.
2021-05-11 21:43:02 +02:00
Nikita Bobko bee8c0bb90 Publish :compiler:test-infrastructure for ide 2021-05-11 12:36:59 +02:00
Stanislav Erokhin 7ac599520e Add first prototype of BindingContext implementation by FIR
Add ImportMemberIntention intention as a test.
In this commit all failed test were disabled, necessary fixes will be
added in the following commits
2021-05-10 14:04:03 +03:00
Jinseong Jeon 40eaabdbb5 FIR UAST: prototype plugin entrypoint, declarations, test infra 2021-05-05 14:22:40 +02:00
Nikolay Krasko 2a2fa31577 Allow emulate sonatype publishing when publishing to folder (KTI-552) 2021-05-01 01:41:30 +03:00
Nikolay Krasko 624740a80a Force usage of passed deploy url for sonatype publication (KTI-552) 2021-05-01 01:41:28 +03:00
Vasily Levchenko 788d3c022a [build][kotlin-build-gradle-plugin] version 0.0.27
- reading konanVersion and konanMetaVersion from project properties
2021-04-30 10:26:36 +00:00
Andrey Zinovyev b58bea6fa1 [lombok] IDE plugin with maven import handler 2021-04-29 23:14:14 +03:00
Andrey Zinovyev 79d49e6dbd [lombok] Gradle sublugin for no-kapt project 2021-04-25 18:18:08 +03:00
sebastian.sellmair 63e5298be9 Update 'versions.kotlin-native' to 1.5.20-dev-5613
^KT-46107
2021-04-23 16:25:59 +00:00
Alexander Likhachev 857bee6ced [Build] Remove empty source directories warning
There're should be no more cache misses on empty directories with Gradle 6.8. See https://docs.gradle.org/6.8/release-notes.html#more-cache-hits-when-empty-directories-are-present
2021-04-23 03:52:45 +03:00
Dmitriy Dolovov 14838a6b7b Update Kotlin/Native: 1.5.20-dev-4865 2021-04-09 23:36:02 +02:00
Dmitriy Dolovov eb0f47b04e Include tests from :kotlin-util-io and :kotlin-util-klib into :miscCompilerTest
^KT-33175
2021-04-08 09:40:07 +03:00
Dmitriy Novozhilov e4ebeec275 Build: explicitly disable -Xuse-fir arg for some modules 2021-04-06 11:40:43 +03:00
Ilya Kirillov 08670114c8 Remove old j2k tests 2021-04-01 18:27:20 +02:00
Nikolay Krasko 832523e23f Replace intellij-third-party-dependencies repository (KTI-528) 2021-03-30 12:34:01 +03:00
Nikolay Krasko 87d509a7aa Rearrange list of repositories - move jcenter to the end 2021-03-30 12:34:00 +03:00
Svyatoslav Scherbina 7b639235a2 Update Kotlin/Native: 1.5.20-dev-3553 2021-03-25 12:43:02 +03:00
Mads Ager 41f5ac393a Update D8 used for dexing tests to version 2.1.96. 2021-03-24 20:16:15 +01:00
Dmitriy Novozhilov 329d9a58bc Generate IDE run configurations for modularized and full pipeline test
To generate configuration you need to specify path to root directory
  with modularized testdata for kotlin project in `local.properties`:

```
kotlin.fir.modularized.testdata=/path/to/testdata/modularized-kotlin
```
2021-03-15 12:13:02 +03:00
Dmitriy Novozhilov f5d00716d1 Advance kotlin-build-gradle-plugin version to 0.0.26 2021-03-15 12:13:01 +03:00
Ilya Kirillov 600e1725cb Do not run wizard project importing tests in TC
They will be run only in kotlin-ide plugin
2021-03-12 10:56:41 +01:00
Ilya Chernikov bc6c17d4b2 Enable IR in jvm scripting host tests 2021-03-11 15:50:06 +01:00
Ilya Chernikov 4c6b5ff0b8 Implement IR backend support in scripting tests, enable for some tests 2021-03-11 15:49:44 +01:00
Alexander Likhachev 57f5939f5e [Build] Fix configuration cache issues (part 7)
* Read system property "disable.verification.tasks" using Gradle provider
* Fix compileTestKotlin tasks with instrumented classes
* Read Gradle property "kotlin.test.maxParallelForks" using Gradle provider
* Change :idea:performanceTests jackson version to fixed ones
Relates to #KT-44611
2021-03-11 14:12:37 +03:00
Alexander Likhachev ce19063e43 [Build] Disable reporters when configuration cache is enabled
Relates to #KT-44611
2021-03-11 14:12:32 +03:00
Alexander Likhachev 27956adf3f [Build] Fix configuration cache issues (part 1)
* Make `clean` task compatible with configuration cache
* Make Java compile instrumentation compatible with configuration cache
* Make settings.gradle compatible with configuration cache
* Initial work on making IntelliJInstrumentCodeTask compatible with configuration cache
* Make writeStdlibVersion task compatible with configuration cache
* Copy some properties to not capture it's owning object into lambda to support configuration cache

Relates to #KT-44611
2021-03-11 14:12:28 +03:00
Dmitry Petrov 0cca07fa19 Bump d8 used in box tests to 2.1.75 2021-03-10 21:04:12 +03:00
Alexander Udalov 566f97ae3e JVM IR: remove dependency of 'backend.jvm' on 'psi2ir', 'ir.serialization.jvm'
Add a new module 'backend.jvm.entrypoint' which depends on psi2ir and
contains code that runs psi2ir + JVM IR backend with serialization
implementations.

Hopefully this will allow to compile these modules in parallel and
reduce the build time.
2021-03-05 20:46:33 +01:00
Stanislav Erokhin f77ba914c7 [MERGE] Kotlin/Native history merged into kotlin/master 2021-02-26 15:30:58 +01:00
Vasily Levchenko 905c0c3dd3 [build] version of kotlin native stored in resouces 2021-02-26 12:51:51 +01:00
Alexander Udalov 2e2caae05c Extract control flow analysis to separate module
Extract a service interface out of ControlFlowInformationProviderImpl
and register its implementation in two "leaf" modules: 'cli',
'idea-core'.

This improves parallel build, since a lot of modules depend on
'frontend' but only these two modules reference the implementation and
thus depend on the full CFA implementation now.
2021-02-24 17:17:04 +01:00
Vasily Levchenko 3867cf6ef5 [build] switch to kotlin-build-gradle-plugin:0.0.25 2021-02-24 11:07:14 +01:00
Alexander Udalov 49fc1b9e3e Build: enable -Werror for several modules 2021-02-18 12:14:09 +01:00
Alexander Dudinsky a3fa6c6d13 Publish artifacts needed for the kotlin-gradle-plugin in kotlin-ide repository 2021-02-18 11:51:32 +03:00
sebastian.sellmair 4500b6ce74 [Commonizer] Implement :native:kotlin-klib-commonizer:api with support for library commonization
- Implement new Gradle module ':native:kotlin-klib-commonizer'
- Implement new NativeKlibCommonize task
- Implement CommonizerTarget.identityString
2021-02-17 19:24:54 +00:00
Dmitriy Novozhilov 54636f1af7 Enable -Werror in :compiler:frontend module 2021-02-12 14:50:47 +03:00