Commit Graph

105431 Commits

Author SHA1 Message Date
Sebastian Sellmair b9db036053 [Gradle] Implement AddBuildListenerForXCodeSetupAction
KT-61634
2023-10-18 12:22:07 +00:00
Sebastian Sellmair 3be2eb9b31 [Gradle] Implement CreateFatFrameworksSetupAction
KT-61634
2023-10-18 12:22:07 +00:00
Sebastian Sellmair c7b4057dab [Gradle] Implement KotlinProjectSetupCoroutine
as util to easily launch configure action as suspending code

KT-61634
2023-10-18 12:22:07 +00:00
Sebastian Sellmair 628bd7a6be [Gradle] Implement KotlinMultiplatformAndroidGradlePluginCompatibilityChecker
KT-61634
2023-10-18 12:22:07 +00:00
Sebastian Sellmair 234e5735e3 [Gradle] Implement KotlinToolingDiagnosticsSetupAction
KT-61634
2023-10-18 12:22:07 +00:00
Sebastian Sellmair 1c568c2a10 [Gradle] Implement RegisterBuildKotlinToolingMetadataTask
KT-61634
2023-10-18 12:22:07 +00:00
Sebastian Sellmair 13492d3316 [Gradle] Implement AddNpmDependencyExtensionProjectSetupAction
KT-61634
2023-10-18 12:22:07 +00:00
Sebastian Sellmair ff6b883cb4 [Gradle] Implement KotlinProjectSetupAction extensionPoint
KT-61634
2023-10-18 12:22:07 +00:00
Dmitriy Novozhilov 43929398da [FIR] Pass implications from subject of safe call in DFA
^KT-59689 Fixed
2023-10-18 12:17:44 +00:00
Dmitriy Novozhilov 5d3402339e [FIR DFA] Rename Persistent.logicStatements -> implications 2023-10-18 12:17:44 +00:00
Dmitriy Novozhilov dc08e3bf99 [FIR] Cleanup formatting in DFA code 2023-10-18 12:17:44 +00:00
Sergej Jaskiewicz 9a4c28498c [FIR generator] Deduplicate the logic of needPureAbstractElement 2023-10-18 11:12:55 +00:00
Alexander Kuznetsov 45792c2e60 [Analysis API] support unsigned arrays creation functions
IDEA-335151, KT-62663


Merge-request: KT-MR-12614
Merged-by: Alexander Kuznetsov <Aleksander.Kuznetsov@jetbrains.com>
2023-10-18 10:53:52 +00:00
Alexander Shabalin 4922223bec [K/N] Refactor :kotlin-native:dependencies
Move K/N dependencies handling logic into gradle plugins:

`NativeDependenciesDownloader` is instantiated in
`:kotlin-native:dependencies` and provides a single configuration that
contains all directories with the dependencies. The configuration has
a variant for each target.

`NativeDependencies` is instantiated by projects that require native
dependencies (i.e. previously used to depend on
`:kotlin-native:dependencies:update`). This plugin creates a configuration
that by default depends on `:kotlin-native:dependencies`. Its extension
provides `llvmDependency`, `libffiDependency`, `hostPlatformDependency`,
`targetDependency()` to depend on the parts needed for the project and
provides accessors `llvmPath`, `libffiPath`, `hostPlatform` that are
safe to use during configuration time, but which do not automatically
resolve those dependencies.

`llvmDir`, `*LibffiDir` properties on `:kotlin-native` are removed
completely, as their use is replaced by `NativeDependencies`. As a
consequence, `evaluationDependsOn(":kotlin-native:dependencies")` is
also gone.

All direct dependencies on `:kotlin-native:dependencies:update` are
replaced with dependencies on specific parts via `NativeDependencies`
2023-10-18 10:53:12 +00:00
Nataliya.Valtman 9de791b9ac Create FUS Gradle plugin
fus-statistics-gradle-plugin can be used by any other Gradle plugins to
collect additional metrics for FUS.

KT-59627
2023-10-18 10:32:11 +00:00
Mikhail Glukhikh 4ed7504d87 FIR deserializer: apply attributes on type parameter-based types
#KT-62578 Fixed
2023-10-18 10:30:31 +00:00
Dmitrii Krasnov 1d95927582 [Gradle IT] Added property for enabling/disabling k/n from master in IT
#KT-45978 Ready for Review
2023-10-18 09:24:27 +00:00
Dmitriy Novozhilov ef3d3a9724 [Metadata] Update tests according to KT-62580, KT-62581 and KT-62582 2023-10-18 07:59:27 +00:00
Dmitriy Novozhilov fa69d4837b [AA] Add workaround for KT-62578 2023-10-18 07:59:27 +00:00
Dmitriy Novozhilov 605a567e10 [AA] Add workaround for KT-62544 2023-10-18 07:59:27 +00:00
Alexander.Likhachev 274198d8f3 [Build] Return the logic to force LV=1.9 for KGP and its dependencies
KT-61951
KT-61449
2023-10-18 07:59:27 +00:00
Dmitriy Novozhilov 5602fcdf76 [Build] Handle renderDiagnosticNames build property in stdlib and dom-api-compat modules 2023-10-18 07:59:27 +00:00
Dmitriy Novozhilov 704e2ef5c5 Suppress K2 specific warnings in the codebase
^KT-62472
2023-10-18 07:59:27 +00:00
Dmitriy Novozhilov 9e66a7b999 Workaround KT-62473 in the codebase 2023-10-18 07:59:27 +00:00
Dmitriy Novozhilov 6114e4f068 Fix compilation problems caused by migration to 2.0 2023-10-18 07:59:27 +00:00
Dmitriy Novozhilov a35f2eb90e Build: switch language level for compilation to 2.0
KT-61951
2023-10-18 07:59:26 +00:00
Sebastian Sellmair 5642f2a8c4 [build] acceptAndroidSdkLicenses, functionalTest: Support Gradle configuration cache 2023-10-18 07:51:17 +00:00
Anton Lakotka d090791e40 [Gradle] Change rootOutputDirectoryProperty to be DirectoryProperty
^KT-61359 Verification Pending
2023-10-18 04:50:47 +00:00
Anton Lakotka d74a1133e9 [Gradle] Merge testCommonizer and testCleanCommonizationWithConfigurationCache
They are essentially testing the same thing. So it is logical
to merge them into single test run.

^KT-61359 Verification Pending
2023-10-18 04:50:47 +00:00
Anton Lakotka 251f52586e [Gradle] Add fileProperty(initialValue: File) utility function
^KT-61359 Verification Pending
2023-10-18 04:50:47 +00:00
Anton Lakotka 6ee4cbb6ec [Gradle, Test] Let resolveAllConfiguration depend on commonizeNativeDistribution
after introducing changes as part of KT-61359

^KT-61359 Verification Pending
2023-10-18 04:50:47 +00:00
Anton Lakotka c08fb1cae6 [Gradle] add rootOutputDirectoryProperty to NativeDistributionCommonizerTask
And read commonized klibs in execution time only.
it is possible only when rootOutputDirectoryProperty is marked as
OutputDirectory.

```kotlin
class Producer {
  @get:OutputDirectory
  val foo: RegularFileProperty

  @get:Internal
  val bar: RegularFileProperty
}

val foo = producer.flatMap { it.foo.map { it.listFiles() } }
val bar = producer.flatMap { it.bar.map { it.listFiles() } }
```

`foo` file collection will be evaluated at execution time.
Because `Producer.foo` is an OutputDirectory and its content unknown
during configuration time.
But `bar` file collection will be evaluated at configuration time.
Because according to gradle model it is not Output and therefore
its content can be evaluated before task execution.

^KT-61359 Verification Pending
2023-10-18 04:50:47 +00:00
Anton Lakotka 2111bfae40 [Gradle] Test commonizeNativeDistribution task is not initialized
^KT-61359 In Progress
2023-10-18 04:50:47 +00:00
Anton Lakotka e16f03fc49 [Gradle] Test commonize native distribution and compile task with GCC
It should be possible to commonize native distribution from clean state
and compile shared native code in the same gradle build with enabled
configuration cache.

^KT-61359 In Progress
2023-10-18 04:50:47 +00:00
Anton Lakotka 657dd31493 [Gradle] Remove up-to-date checks in CleanNativeDistributionCommonizer
Gradle doesn't track removed files in OutputDirectory after task
execution. So if task removed some files and if these files
are added back the task would be still UP-TO-DATE. Which is incorrect.

Executing clean task on empty directory is the same as check that
directory is empty. Therefore, this up-to-date check can be removed.

^KT-62611 Verification Pending
2023-10-18 04:50:47 +00:00
Anton Lakotka 16c17d3c22 [Gradle] Check that commonized native distribution can be cleaned
^KT-62611 In-Progress
2023-10-18 04:50:47 +00:00
Anastasia.Nekrasova 9ad4cf4c55 [K2] Disappeared OPT_IN_USAGE_ERROR for a data class property during the destructuring declaration
^KT-62450
2023-10-17 21:27:13 +00:00
Dmitrii Gridin dfdd86da1f [FIR] do not capture class context during class annotations processing
^KT-62587
2023-10-17 20:32:11 +00:00
Dmitrii Gridin b03e3f0b0d [LL FIR] pass correct context during class annotation arguments mapping
The root cause of the problem is that we visit class annotations more
accurately than in the regular compiler transformer, so we have
a difference: the compiler assumes that annotation processing
of the class is called already inside this class, so it should enable
CLASS_HEADER_ANNOTATIONS mode to not capture extra context.
But we in LL FIR do this out of the class, so such context switching
is redundant and results in cutting out the outer class context

^KT-62587 Fixed
2023-10-17 20:32:11 +00:00
Dmitrii Gridin bbd09c6272 [LL FIR] add tests for nested class as annotation argument
^KT-62587
2023-10-17 20:32:11 +00:00
Dmitrii Gridin 5298d79dec [LL FIR] drop extra withContainingClass from annotation transformers
This call is redundant for annotation transformers because
they are override withRegularClass and add this call there,
so, as result, we have a class duplication in
containingClassDeclarations

^KT-62587
2023-10-17 20:32:11 +00:00
Dmitrii Gridin 21f81a8057 [LL FIR] fix lazy annotation arguments calculation for unresolved type references
Such references don't have explicit annotations yet (KT-62628), so we
should explicitly check type attributes

^KT-62625 Fixed
2023-10-17 20:32:11 +00:00
dependabot[bot] 50e75c6336 Bump @babel/traverse in /libraries/kotlin.test/js-ir/it
Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.22.5 to 7.23.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse)

---
updated-dependencies:
- dependency-name: "@babel/traverse"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-17 18:15:56 +00:00
Dmitrii Gridin ec79d8cd27 [SLC] add multiplatform test cases on typealias actualization
^KT-62345
2023-10-17 17:19:40 +00:00
Dmitrii Gridin 8f0cf3f0cc [SLC] allow multi-module test cases
^KT-62345
2023-10-17 17:19:40 +00:00
Dmitrii Gridin 0771b60777 [Analysis API] support multiplatform test cases
^KT-62345
2023-10-17 17:19:40 +00:00
Alexander Shabalin 83435ccde1 [K/N] Remove workaround in FrameworkTest for old macOS
In macOS prior to 10.14.4 we needed to specify the location of
libswiftCore.dylib. That OS version is long unsupported, so we can
drop the code.
2023-10-17 16:54:34 +00:00
Alexander Shabalin 004ef267c5 [K/N] Remove check for bitcode embedding ^KT-61875
This removes the check in old testing infra for FrameworkTest.
2023-10-17 16:54:34 +00:00
Ilya Gorbunov 406d1eaf89 YarnAndNpmSuppressor: allowed test task names for wasm tests 2023-10-17 16:30:41 +00:00
Ilya Gorbunov 469ca237db Remove the previous approach to build wasm stdlib variants 2023-10-17 16:30:41 +00:00