Commit Graph

865 Commits

Author SHA1 Message Date
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 540164a691 Refactoring: Split compilerModulesForJps into "embedded" and "maven"
This small refactoring is needed for the next commit.

This commit doesn't change any semantic.
2022-05-30 17:13:56 +02:00
Nikita Bobko 4059b010f8 compilerModulesForJps: remove duplicated ":jps:jps-common"
It was duplicated in the only usage of `compilerModulesForJps` --
`prepare/ide-plugin-dependencies/kotlin-jps-plugin-classpath/build.gradle.kts`

This commit doesn't change any logic.
2022-05-30 17:13:56 +02:00
Nikita Bobko 6bbd007560 Refactoring: "suck in" kotlin-reflect and kotlin-daemon-client into compilerModulesForJps
This commit places all dependencies of JPS plugin into a single place --
`compilerModulesForJps`. I will need this small refactoring for the next
commits.

This commit doesn't change any logic because
`prepare/ide-plugin-dependencies/kotlin-jps-plugin-classpath/build.gradle.kts`
is the only `compilerModulesForJps` user right now.
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
Igor Yakovlev 6efd6f9346 Revert "[Wasm] Temporary disable wasm stdlib tests"
This reverts commit 68ef2f3242.
2022-05-28 13:26:29 +02:00
Pavel Kunyavskiy 76da9df102 Bump klib ABI version
KLIB forward compatibility was broken during work related to
definitely not-null types, but version was not changed. This led to
exceptions in compiler instead of meaningful error.

^KT-52518
2022-05-28 07:30:54 +00:00
Tianyu Geng 010431e9e7 [Analysis API] Make a separate module for kt-reference-fe10 2022-05-27 15:37:37 +02:00
Yahor Berdnikau cf2d03b914 Move common configuration from /build.gradle.kts into plugin
Move all common to all projects configuration from root build.gradle.kts
into common-configuration convention plugin.
2022-05-24 07:58:36 +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
Dmitriy Novozhilov f5b581db00 [Build] Enable context receivers feature in :compiler:fir:fir2rir 2022-05-20 13:33:05 +00:00
Svyatoslav Kuzmich 68ef2f3242 [Wasm] Temporary disable wasm stdlib tests
Due to incompatible bootstrap compiler.
2022-05-20 12:22:43 +03:00
Igor Yakovlev 9519d7998b [WASM] Run all std tests with d8 2022-05-20 12:22:43 +03:00
Svyatoslav Scherbina e39fb807a7 Bump Kotlin/Native version to 1.7.20-dev-1094 2022-05-13 16:10:14 +00:00
Vyacheslav Gerasimov e9346a7f2c Build: fix disable.verification.tasks property 2022-05-10 15:07:31 +04:00
Zalim Bashorov 92d4c1c275 [Build, JS] Remove redundant setting nodeVersion to 16.13.0
Node.js support already use 16.13.0.

Probably it's useful to use default version for dogfooding propose,
Likely it's cover small cases, but at least could help to catch some
platform dependent issues.
If we need some specific (likely newer) version of node somewhere
in the project it's better to specify it for specific parts and
consider updating version of node inside gradle support and revert
a change.
2022-05-05 15:47:54 +00:00
Svyatoslav Scherbina 84b0e0b934 Bump Kotlin/Native version to 1.7.20-dev-853 2022-05-05 10:51:41 +00:00
Dmitry Gridin 2100afd122 [jps] extract testdata to separate artifact
^KTIJ-20456
2022-04-28 12:21:33 +07:00
Nkolay Krasko c38985c93e Remove findShadowJarsInClasspath logic from the build 2022-04-26 19:47:23 +00:00
Nkolay Krasko 5f0fce115c Remove zipPlugin task as we don't have a plugin in the repository anymore 2022-04-26 19:47:23 +00:00
Nkolay Krasko b428b5c1b8 Remove kaptIdeTest, kaptTests task is used instead 2022-04-26 19:47:22 +00:00
Alexander Likhachev a02fe31fd5 [Build] Revert workaround introduced in ca2051e1 2022-04-20 14:27:19 +00:00
Yaroslav Chernyshev 36564c8f3a Revert "Publish modules required for Kotlin Gradle Tooling in IDE"
This reverts commit 20f9861264.
2022-04-20 15:16:58 +02:00
Yaroslav Chernyshev 20f9861264 Publish modules required for Kotlin Gradle Tooling in IDE
Modules to be published are: kotlin-gradle-plugin-idea and
kotlin-gradle-plugin-kpm-android
2022-04-20 14:57:18 +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
Svyatoslav Scherbina 57fe6721e3 Bump Kotlin/Native version to 1.7.20-dev-260 2022-04-19 12:08:33 +00:00
Alexander Likhachev 079400796a [Build] Validate Gradle plugins on install 2022-04-19 00:39:25 +03:00
Alexander Likhachev eda759ba31 [Build] Avoid buildscript root capture into task action
#KT-44611 In Progress
2022-04-19 00:39:24 +03: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
Dmitry Gridin 57b9648041 make jps-plugin testable from IJ infrastructure
^KTIJ-20456
2022-04-14 11:17:47 +07: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
Nikolay Krasko 3ee8aabe4c Add root project dir as a base path in -Xklib-relative-path-base
Previous code didn't work for kotlin-stdlib-wasm because sources from
other gradle projects are included.

`$rootDir/libraries/stdlib/native-wasm/src/*` sources
were present in files.knf as absolute paths. Now they are truncated
as libraries/stdlib/native-wasm/src/*. For example:
libraries/stdlib/native-wasm/src/kotlin/collections/Collections.kt

Should be removed after fixing KT-50876

KTI-729
2022-04-07 19:17:20 +00:00
Nikolay Krasko 405e90abee Apply -Xklib-relative-path-base to all KotlinCompile tasks
As absolute paths were also revealed in
   atomicfu.jar
   kotlin-stdlib-wasm
   kotlin-test-wasm

Use solution from Alexander Likhachev (avoid accessing
buildDir, projectDir in doFirst()) to prevent breaking the configuration
cache.

Should be removed after fixing KT-50876

KTI-729
2022-04-07 19:17:20 +00:00
Yahor Berdnikau d9ddcd991b Migrate 'kotlin-gradle-plugin' module to variants
^KT-49227 In Progress
2022-04-04 20:38:00 +02:00
Yahor Berdnikau ad9aa8d519 Add plugin variants
Change configuration adding Gradle plugin variants. 'main' SourceSet
is used for minimal supported Gradle versions, 'common' SourceSet for
common code that is similar between versions, plus, currently,
'gradle70' SourceSet for Gradle 7.0+ versions.

^KT-49227 In Progress
2022-04-04 20:37:56 +02:00
Ilya Chernikov 6564632b58 FIR: Implement build properties for LightTree and tight IC cycle 2022-04-04 14:13:50 +00:00
sebastian.sellmair 1391c983a2 Implement checkExpectedGradlePropertyValues to notify developers about changing Gradle properties 2022-03-23 13:55:50 +00:00
sebastian.sellmair 1b45c00fc7 Add :kotlin-tooling-core and :kotlin-tooling-metadata to 'toolsTest' 2022-03-17 16:53:41 +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
Ilya Gorbunov dea149ab47 Advance Kotlin version used in build to 1.7
Also update kotlinx-metadata-jvm used in kotlin-reflect build to 0.4.1
in order to support reading Kotlin 1.7 metadata version.
2022-03-05 22:15:59 +03:00
Ilya Kirillov 7fbfb1bd95 Fix cooperative development setup for kt-master 2022-03-02 13:46:24 +01:00
Yahor Berdnikau ab564d371e Remove old code used to configure Gradle plugin publication.
^KT-49227 In Progress
2022-02-22 12:35:04 +00:00
Yahor Berdnikau 764dd84803 Update dokka plugin to 1.6.10 version
Move it into 'buildSrc' dependency, so it will be available to
precompiled script plugins.

^KT-49227 In Progress
2022-02-22 12:35:00 +00:00
Yan Zhulanow 0860ff6542 Add module ':compiler:frontend.common.jvm' to the JPS plugin
New module was added in '52baf7338edcbc877e2ca1b0c7b63665d15f0e80',
however unless it's present in the 'compilerModulesForJps' list,
it's not packed inside the JPS plugin.
2022-02-18 23:54:29 +09:00
Dmitriy Novozhilov e7e1aa1873 [Build] Add ability to enable rendering of diagnostic names via local.properties 2022-02-18 17:44:45 +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
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
Pavel Kirpichenkov 6674c3f482 [MPP] Apply @UnsafeNumber to functions and properties
KT-51224
KT-51215
2022-02-17 13:17:13 +03: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