14764 Commits

Author SHA1 Message Date
Ivan Kylchik adce2c9a78 [WASM] Replace deprecated Char.toInt() with Char.code 2023-08-24 08:59:49 +00:00
Ivan Kylchik ee973c0ede [Generator] Generate Char class 2023-08-24 08:59:49 +00:00
Ivan Kylchik 38e434bc07 [Generator] Generate Boolean class 2023-08-24 08:59:49 +00:00
Ilya Gorbunov 3f3cd2e87a [Generator] Set up body for rangeTo and rangeUntil by default
Also use expression body formatting for `rangeTo`.
2023-08-24 08:59:49 +00:00
Ilya Gorbunov e103318432 kotlin-test-js: assemble sources jar that combines common and platform sources, KT-61315, KTIJ-23784 2023-08-24 01:24:07 +00:00
Leonid Startsev 6e4d033f89 Promote deprecation on Flags API to ERROR
#KT-59440
2023-08-23 16:47:05 +00:00
Jingbo Yang 7a13173e6a Support fileAccessHistoryReportFile in KAPT
This change expanded KAPT to support a new param
'fileAccessHistoryReportFile', which reports all the classes used during
 annotation processing into a file, in the form of a list of URIs.

This is useful for build speed improvements described in https://engineering.fb.com/2017/11/09/android/rethinking-android-app-compilation-with-buck/.
Essentially, using the list of used classes, we can compile only
the dependencies that are really affected by the developer's
code changes and improve Kotlin build speed.

^KT-52853
2023-08-23 14:59:59 +00:00
Nataliya.Valtman dce1c1c70a Fix flaky tests with ConcurrentModificationException 2023-08-23 13:01:47 +00:00
Yahor Berdnikau 7d48a7934f [Gradle] Fix tryK2 was not applied to Kotlin/JS gradle plugin
^KT-61193 Fixed
2023-08-23 12:36:46 +00:00
vmishenev 5c0c8ed2d5 Update Dokka to 1.9.10-dev
- Use analysis plugin configuration instead of `StdLibAnalysisConfigurationPlugin`
- Change SamplesTransformer plugin after Dokka refactoring
2023-08-23 12:33:40 +00:00
Sebastian Sellmair a832510487 [Gradle] Use new Usage 'kotlin-commonized-cinterop' to differentiate cinterop commonizer configurations
^KT-61376 Verification Pending
2023-08-22 14:50:03 +00:00
Sebastian Sellmair fc2b700784 [Gradle] Implement KT61376CInteropCommonizerConfigurationsTest
to check Commonized CInterop configurations not are not
resolving variants from sqldelight, coroutines-extensions

KT-61376
2023-08-22 14:50:03 +00:00
Ilya Gorbunov 5f5e76a09b kotlin-test-wasm: correct main source sets compilation, KT-61342
- Do not include test sources in main source sets
- Extract commonWasm source set that contains code shared between
wasm-js and wasm-wasi
2023-08-22 13:50:58 +00:00
Bogdan Mukvich 1458c81094 Add maven wrapper and mvn install gradle task 2023-08-22 13:45:45 +00:00
Dmitrii Krasnov ade88e2b0f Fixed konan.data.dir with caches
Removed TODOs after updating to kotlin bootstrap version with konan.data.dir gradle property changes

Fixed warning of incorrect passing -Xkonan-data-dir arg in konanc from KGP and fixed setting konan-data-dir in SetupConfiguration#setupCommonOptionsForCaches

#KT-60660 Fixed

Merge-request: KT-MR-11299
Merged-by: Dmitrii Krasnov <Dmitrii.Krasnov@jetbrains.com>
2023-08-22 07:56:26 +00:00
Yahor Berdnikau e8905ea849 [Gradle] Fix loosing compiler plugin options with the same plugin ID
The most common use case is to add one CompilerPluginOptions to another
while both may have options with the same plugin ID.

^KT-54160 Fixed
2023-08-22 07:53:18 +00:00
Nikita Bobko ad90c86abe jvm-minimal-for-test: apply module-wise -opt-in=kotlin.ExperimentalMultiplatform
Motivation: Consistency. All other stdlib modules use this module-wise
`-opt-in`
2023-08-21 19:51:08 +00:00
Nikita Bobko 25c082f02b K1: Implement a checker that disallows to have different member scopes for expect open and its actual
^KT-22841 Fixed
Review: https://jetbrains.team/p/kt/reviews/11603/timeline

The commit also introduces `@AllowDifferentMembersInActual` annotation in
stdlib which allows to suppress the diagnostic
2023-08-21 19:51:08 +00:00
Kirill Rakhman d0cc86f52c [Tests] Update test data after changes to FIR diagnostic messages 2023-08-21 16:28:48 +00:00
Ilya Gorbunov 93b0a90172 Add missing SinceKotlin for new JS annotations, KT-6168 2023-08-21 12:49:21 +00:00
Aleksei.Cherepanov e1c399b353 Fix JPS import after 7ae443ad 2023-08-21 10:11:55 +00:00
Dmitrii Krasnov 304cbf1aea Fixed configuration cache misses for the second build, when K/N compiler has been downloaded with the first build
KT-61154 Fixed
2023-08-19 05:45:12 +00:00
Ilya Gorbunov c49934160a Remove wasm platform handling from stdlib dependency autoconfiguration
Wasm variants of common kotlin-stdlib now provide the required artifacts.
No support of previous versions is required due to experimental status.

KT-60909, KT-59000
2023-08-18 15:36:15 +00:00
Ilya Gorbunov 9640e32483 [stdlib-mpp] Publish wasm artifacts through variants of stdlib KT-60909 2023-08-18 15:36:15 +00:00
Alexander.Likhachev 4d1ea3c441 [Gradle] Avoid early reading of Project.buildDir in compilation tasks
#KT-61292 Fixed
2023-08-18 14:20:57 +00:00
Alexander.Likhachev 7c5a826fd8 [Gradle] Add a test for KT-61292 2023-08-18 14:20:57 +00:00
Ilya Chernikov a53933d8ce Scripting: do not pack generic dependencies jar into maven-all
The -all jar is compacted with proguard, and the proguard removes
synthetic methods methods with $default suffix from classes regardless
of the -keep flag.
Therefore the calls to the $default metods lead to the NoSuchMethodError
exception on runtime.
Removing the main interface module from the proguarded jar solves the
problem for now (but not generally, the use of "proguarded" jars as
libraries should be discouraged.)
#KT-60862 fixed
2023-08-18 12:35:25 +00:00
strangepleasures 2423b7b62f [KAPT4] KT-51982 Implement generation of @Metadata annotations in Java stubs
Also adds rendering of @Metadata annotations in Kapt3 and Kapt4 tests
(currently disabled for a few tests).

Co-authored-by: Alexander Udalov <alexander.udalov@jetbrains.com>
2023-08-17 21:43:54 +00:00
Ilya Gorbunov 69cb722ff4 Add js compiler disambiguation attribute to fix docs build 2023-08-17 17:21:23 +00:00
Sebastian Sellmair 337d87ad54 [Gradle] CInterop IDE dependency resolution: Fix build dependencies
^KT-59596 Verification Pending
2023-08-17 15:47:56 +00:00
Sebastian Sellmair fac5083dbf [Gradle] Ensure 'commonized cinterop configurations' are present and expose api dependencies
^KT-59596 Verification Pending
2023-08-17 15:47:55 +00:00
Anton Lakotka 9866336a40 [Gradle] Use 'commonized cinterop configurations' as single way of sharing cinterop commonizer output
^KT-59596 Verification Pending
2023-08-17 15:47:55 +00:00
Anton Lakotka b2bef4ad41 [Gradle] Extract allInteropGroups from CInteropCommonizerTask
This information is needed to create consumable configurations for
Commonized Cinterop outputs. This way CInteropCommonizerTask is not
required to be created eagerly.

^KT-59596 Verification Pending
2023-08-17 15:47:55 +00:00
Anton Lakotka cbe11e8c9a [Gradle] Keep materializing commonizeCInteropTask...
...as it contains important information needed to create
 consumable commonized cinterop configurations

^KT-59596 Verification Pending
2023-08-17 15:47:55 +00:00
Anton Lakotka 14f216764d [Gradle] Use CommonizerTargetAttribute to disambiguate...
...commonized cinterop configurations.

^KT-59596 Verification Pending
2023-08-17 15:47:55 +00:00
Anton Lakotka 373c838ebb [Gradle] Enable applyDefaultHierarchyTemplate back for...
...testCInteropsDoesNotDependOnAnySourceCompilation test

^KT-59596 Verification Pending
2023-08-17 15:47:55 +00:00
Anton Lakotka b37ebb47d9 [Gradle] Draft implementation of Configurations for Commonized CInterops
Introduce *CommonizedCInterop & *CommonizedCInteropElements configurations
and fix CInteropCommonizerTask to consume dependencies / expose artifacts
via these configurations.
2023-08-17 15:47:55 +00:00
Ilya Gorbunov c98377af7b Add js compiler disambiguation attribute to fix errors on project import
There were remaining configurations in legacy JS projects with amiguous attributes requesting kotlin-stdlib. They are not used in build, but resolved on import.
2023-08-16 14:25:54 +00:00
Hung Nguyen 894ba9ab80 [IC] Relocatable IC caches for projects with custom buildDir
IC caches often contain file paths. To make them relocatable, we need
to convert these file paths into relative paths, relative to a base
directory.
  - If the file paths are source files, we can use the root project
    directory as base.
  - If the file paths are class files, we should use the classes
    directory as base (before this commit, we used the root project
    directory in both cases, that's why we hit KT-58547).

The key changes in this commit include:
  - RelocatableFileToPathConverter: converts paths to relative paths
  - IncrementalCompilationContext: contains 2 different path converters,
    one for source files and one for class files
  - SourceToOutputFilesMap: maps source files to class files using the
    above path converters
  - IncrementalCompilerRunner: creates the path converters based on file
    locations

Test: RelocatableFileToPathConverterTest unit test
      SourceToOutputFilesMapTest unit test
      BuildCacheRelocationIT.testCustomBuildDirectory integration test
^KT-58547 Fixed
2023-08-16 13:40:19 +00:00
Bogdan Mukvich e89334e5ba [Build] Update gradle enterprise 2023-08-16 12:36:28 +00:00
Alexander.Likhachev 765a8bdd7c [Gradle] Fix JsIrConfigurationCacheIT was disabled by a mistake
It was marked as an abstract class and thus wasn't executed
2023-08-16 09:48:48 +00:00
Dmitrii Krasnov 8a576438ce Turned off KotlinNativeLinkIT.defaultValueForPartialLinkage on Windows, caches are not supported there yet
KT-60839
2023-08-15 16:10:22 +00:00
Dmitry Savvinov c359f684cd [Gradle] Don't print stacktraces in IDEA sync
IDEA sync is always launched with equivalent of `--stacktrace`, so
checking startParameter.showStacktrace is unreliable.

This commit instead mutes printing of stacktraces in sync unless the
internal property is specified. If users want stacktraces, they're
expected to launch Gradle task with `--stacktrace`.

In the extremely rare cases where the stacktrace is needed
*specifically* during IDE sync,
`kotlin.internal.diagnostics.showStacktrace=true` can be used

^KT-61172
2023-08-15 10:11:45 +00:00
Ilya Goncharov a5893d4bee [Gradle, JS] Build service npm resolution manager does not contain packageJsonHandlers
^KT-60469 fixed
2023-08-15 09:10:10 +00:00
Leonid Startsev 8b821e1feb Deprecate KmProperty.hasGetter(hasSetter) in favor of KmProperty.getter(setter)
as a follow-up of flag deprecation.

#KT-59440
2023-08-14 12:36:34 +00:00
Sebastian Sellmair 1c2eab39d2 [Gradle][Minor]: Update comment on 'shouldUseOldKtorAndCoroutinesExternalDependencies'
KT-60901
2023-08-14 11:28:21 +00:00
Timofey Solonin d25d0e4f94 [MPP] Validate which configurations resolve for explicit stdlib-js dependency
^KT-60901
^KT-61126
2023-08-11 14:52:03 +00:00
Timofey Solonin 78e09816e5 [MPP] Use assemble instead of resolving all configurations
We expect that some configurations might fail to resolve in the case of
stdlib-js dependency if they are resolved explicitly. These configurations
should not actually resolve for the KGP user.

^KT-60901
^KT-61126
2023-08-11 14:52:03 +00:00
Sebastian Sellmair db1ee743ae [Gradle] Adjust functionalTests for stdlib-jdk7, stdlib-jdk8 constraint to 1.8.0
^KT-60901 Verification Pending
2023-08-11 14:52:03 +00:00
Sebastian Sellmair be867d0f25 [Gradle] Fix testMultiModulesHmppKt48370 missing cinterop opt-in
^KT-60901 Verification Pending
2023-08-11 14:52:03 +00:00