Commit Graph

10686 Commits

Author SHA1 Message Date
Ilya Goncharov 5abbb8666d rra/ilgonmic/statistics
[JS, Statistics] Register absence in legacy webpack

[JS, Statistics]Register build metrics reporter service for webpack task

[JS, Statistics] Use only bundle size

[JS, Statistic] Add bundle size to webpack task

[JS, Statistic] Collect information about compilation size

[Gradle, JS] Add size metrics

Merge-request: KT-MR-6388
Merged-by: Ilya Goncharov <Ilya.Goncharov@jetbrains.com>
2022-06-07 12:53:44 +00:00
Pavel Mikhailovskii 65b2cee913 KT-23397 Optimize out field for property delegate when it's safe (JVM) 2022-06-07 10:46:01 +00:00
Ilya Gorbunov 8da8c94363 Workaround KTIJ-21808 "Kotlin not configured" in Kotlin project
by avoiding problematic source root during IDEA project import.
2022-06-04 10:35:24 +00:00
Yahor Berdnikau 72b7d8da6d Drop gradleKotlinDsl dependency for KGP
This dependency brings gradleApi as a transitive dependency, which leads
to false-positive deprecation errors in plugin variants.

^KT-47047 In Progress
2022-06-03 08:29:58 +00:00
Yahor Berdnikau d924c14df7 Add convenient extension methods to get variant implementation factory
^KT-47047 In Progress
2022-06-03 08:29:58 +00:00
Yahor Berdnikau ebce1a1d2d Fix warnings in gradle70 variant
This allowed to enable warning-as-errors for :k-g-p:gradle70 compilation

^KT-47047 In Progress
2022-06-03 08:29:57 +00:00
Yahor Berdnikau 1be8480aed Suppress deprecations for MavenPluginConfiguratorG6
This allowed to enable warning-as-errors for :k-g-p:main compilation

^KT-47047 In Progress
2022-06-03 08:29:56 +00:00
Alexander Likhachev e9a231e97e [Gradle, JS] Reuse yarn resolution results from configuration cache 2022-06-02 10:41:14 +00:00
Igor Yakovlev 6c5fdfe070 [WASM] Disable wasm std tests tc service output for local builds 2022-06-02 12:02:34 +02:00
Pavel Kirpichenkov 023def9d25 fixup! fixup! [MPP] Fix dependencies of a platform compilation source set 2022-05-31 16:47:37 +00:00
Pavel Kirpichenkov 4d023e873d [MPP] Fix dependencies of a platform compilation source set
Leave empty new visible source sets in a metadata transformation
for a platform (leaf) source set.

Motivation:
* Platform source sets should get their deps from the compilation
* Metadata dependencies in platform source set shouldn't be used
as transitive library dependencies won't be correct in this case

KT-52216
2022-05-31 16:47:36 +00:00
Vyacheslav Gerasimov 7360dff0da Build: Fix test forks and memory calculations for low memory cases 2022-05-30 21:43:23 +03:00
Nikita Bobko 2d5132b313 kotlin-dist-for-jps-meta: drop not needed dependencies
For elaboration on the list see KTIJ-20875

This commit won't be cherry-picked to old Kotlin version. Only 1.7.20
and bigger
2022-05-30 17:13:46 +02:00
Nikita Bobko b033b9a48d Introduce kotlin-dist-for-jps-meta maven artifact
^KTIJ-20875 Fixed

This artifact is used to denote maven artifacts from which IDEA Kotlin
plugin should compose kotlinc dist layout to use it in unbundled JPS
(KTIJ-11633)

Right now kotlin-dist-for-jps-meta tries as close as possible to a real
dist except for:
```
   js.engines.jar
   kotlin-ant.jar
   kotlin-preloader.jar
   mutability-annotations-compat.jar

   // It's compiler/cli/cli-runner.
   // It is `kotlin` in CLI and not needed for JPS
   kotlin-runner.jar

   // JPS doesn't support KAPT
   kotlin-annotation-processing-cli.jar

   // Sources
   kotlin-annotations-jvm-sources.jar
   kotlin-reflect-sources.jar
   kotlin-script-runtime-sources.jar
   kotlin-stdlib-jdk7-sources.jar
   kotlin-stdlib-jdk8-sources.jar
   kotlin-stdlib-js-sources.jar
   kotlin-stdlib-sources.jar
   kotlin-test-js-sources.jar
   kotlin-test-junit5-sources.jar
   kotlin-test-junit-sources.jar
   kotlin-test-sources.jar
   kotlin-test-testng-sources.jar
```
^ for elaboration on the list see KTIJ-20875

This commit is going to be cherry-picked to a bunch of old Kotlin
versions, so it needs to be conservative

Alternative fix: I could create a Gradle module but I didn't do that,
because I can't refer to compiler plugin maven modules which are also
specified in Maven poms `libraries/tools/kotlin-maven-*/pom.xml`.
  1. `api(project(":kotlin-maven-allopen"))` in imaginary Gradle fix
     obviously doesn't work
  2. `api("org.jetbrains.kotlin:kotlin-maven-noarg:${project.version}")`
     kinda works... but at least breaks IDE import (most probably, it
     breaks something else as well)
2022-05-30 17:09:20 +02:00
Ilya Goncharov 0b9e5e14be [Gradle, JS] Use overlay with false warnings
Merge-request: KT-MR-6343
Merged-by: Ilya Goncharov <Ilya.Goncharov@jetbrains.com>

^KT-51527 fixed
2022-05-30 11:36:52 +00:00
Nkolay Krasko 388e55c198 Inability to load plugin from jcenter in testSubprojectWithAnotherClassLoader 2022-05-30 08:43:57 +00:00
Igor Yakovlev 641b2c6974 [WASM] Remove redundant bootstrap code 2022-05-28 13:26:14 +02:00
Alexander Likhachev e1f5dc483c [Gradle] Add test for KT-52392 2022-05-27 18:30:09 +03:00
Svyatoslav Scherbina c45a3d39b1 [Gradle, Native, IT] Add test for exporting published lib
This test checks that `transitiveExport = true` is no longer required
for exporting a published multiplatform library in a native library.
2022-05-27 07:58:33 +00:00
Svyatoslav Scherbina 045528e643 [Gradle, Native, IT] Add missing assertion 2022-05-27 07:58:33 +00:00
sebastian.sellmair ae493e04c0 [kpm] kotlin-gradle-plugin-idea: Update version for backwards compatibility tests
... to "1.7.20-dev-1435 to bootstrap incompatible naming changes
for IdeaKotlin* -> IdeaKpm*
2022-05-25 13:15:48 +00:00
sebastian.sellmair efcdfab9a4 [kpm] Minor: GradleKpmFragmentInternal: Rename _directRefinesDependencies
... to _declaredRefinesDependencies to match the public counterpart
2022-05-25 13:15:47 +00:00
sebastian.sellmair c9a079f908 [kpm] serializationUtil.kt: Implement custom ClassLoaderObjectInputStream
Previously used the Gradle implementation, which had an undesirable
fallback for the case of missing classes in the given class loader.

For our tests, we want to ensure that only the specified class loader
is used.
2022-05-25 13:15:46 +00:00
sebastian.sellmair 7eb6288262 [kpm] kotlin-gradle-plugin: Introduce IdeaKpm* naming convention (2/2) 2022-05-25 13:15:46 +00:00
sebastian.sellmair 904fc00dde [kpm] kotlin-gradle-plugin: Introduce IdeaKpm* naming convention (1/2) 2022-05-25 13:15:45 +00:00
sebastian.sellmair 00edca4532 [kpm] kotlin-gradle-plugin-idea: Introduce IdeaKpm* naming convention (2/2)
Replace the pre-existing `IdeaKotlin` naming convention with `IdeaKpm`
2022-05-25 13:15:44 +00:00
sebastian.sellmair e2755b92aa [kpm] kotlin-gradle-plugin-idea: Introduce IdeaKpm* naming convention (1/2)
Replace the pre-existing `IdeaKotlin` naming convention with `IdeaKpm`
2022-05-25 13:15:43 +00:00
sebastian.sellmair d4dc6a3d71 [kpm] Introduce GradleKpm* naming convention (2/2)
All Gradle specific kpm entities shall be disambiguated by using
the `GradleKpm` prefix. For example `MyEntity` shall now be called
`GradleKpmMyEntity` and a subclass would be called like
`GradleKpmSpecialMyEntity`
2022-05-25 13:15:43 +00:00
sebastian.sellmair dcd47a89dd [kpm] Introduce GradleKpm* naming convention (1/2)
All Gradle specific kpm entities shall be disambiguated by using
the `GradleKpm` prefix. For example `MyEntity` shall now be called
`GradleKpmMyEntity` and a subclass would be called like
`GradleKpmSpecialMyEntity`
2022-05-25 13:15:42 +00:00
sebastian.sellmair e55f00c3d9 [kpm] Introduce Kpm* naming convention (2/2)
All Kpm owned entities shall be disambiguated by using the `Kpm` prefix
E.g. MyEntity has to be called KpmMyEntity and a subclass is called
KpmSpecialMyEntity
2022-05-25 13:15:41 +00:00
sebastian.sellmair 71677ad455 [kpm] Introduce Kpm* naming convention (1/2)
All Kpm owned entities shall be disambiguated by using the `Kpm` prefix
E.g. MyEntity has to be called KpmMyEntity and a subclass is called
KpmSpecialMyEntity
2022-05-25 13:15:40 +00:00
Yahor Berdnikau af6f17c243 Unify kotlinCompilerClasspath for all projects
This will prevent spawning second Kotlin daemon during compilation
except 'buildSrc' compilation. Original change was introduced in
2e515f3945 commit.
2022-05-24 07:58:38 +00:00
Yahor Berdnikau e25778a719 Fix ConcurrentModificationException
This exception is happening on build configuration trying to remove
default jar task artifacts from published one. I've set 'jar' task
to be always disabled instead and just add shadow jar to artifacts.
2022-05-24 07:58:36 +00: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 262fb138ba Update kotlinx-dataframe to 0.8.0-rc-8 version 2022-05-23 17:23:28 +02:00
Yahor Berdnikau 28f359a3f0 Replace deprecated 'ANDROID_SDK_ROOT' with 'ANDROID_HOME'
This should allow to run build regression benchmarks that are using
Android plugin.
2022-05-23 17:23:24 +02:00
sebastian.sellmair 290fda9c10 [Gradle] Replace o.j.k.g.utils.UnsafeApi with o.j.k.tooling.core.UnsafeApi 2022-05-23 14:40:51 +00:00
sebastian.sellmair 865a91784b Share Test: binary compatibility run configurations 2022-05-23 14:40:50 +00:00
sebastian.sellmair 4f4f749c08 [kpm] Replace KotlinExternalModelContainer with new Extras implementation
This newly introduced `Extras` shall present a more generic mechanism
of attaching data of a given type to any entity.
2022-05-23 14:40:49 +00:00
Alexander Likhachev 7d49d3bac7 [Gradle] Don't try to build relative paths for Kapt exclude rules
#KT-52392 Fixed
2022-05-23 11:58:08 +00:00
Ilya Goncharov e452efe51b [Gradle, JS] environment map as input, not nested
Merge-request: KT-MR-6326
Merged-by: Ilya Goncharov <Ilya.Goncharov@jetbrains.com>

^KT-51532 fixed
2022-05-23 09:28:09 +00:00
Igor Yakovlev b1c93fe53d [WASM] Implement std print 2022-05-20 16:33:58 +02:00
Igor Yakovlev 7f0535ded9 [WASM] Fix test adapter reporting 2022-05-20 16:33:58 +02:00
Igor Yakovlev 15ba9682e8 [GradlePlugin] Add mixed mode for js and wasm compilations 2022-05-20 16:33:57 +02:00
Igor Yakovlev 73a86fffe5 [WASM] Bootstrap std compatibility fix 2022-05-20 16:33:57 +02:00
Igor Yakovlev 8da6ab7a04 [WASM] New VTable format 2022-05-20 16:33:57 +02:00
Dmitriy Novozhilov 29725ad007 [Build] Disable -Werror for libraries if FIR is enabled 2022-05-20 13:33:06 +00:00
Igor Yakovlev 9519d7998b [WASM] Run all std tests with d8 2022-05-20 12:22:43 +03:00
sebastian.sellmair d7bfa02bb3 [tooling-core] Add KotlinToolingVersionOrNull factory function 2022-05-19 12:46:04 +00:00
Dmitriy Novozhilov 993021a71d [Build] Use 1.8 target version instead of 1.6 while using JPS build 2022-05-19 07:14:21 +00:00