Alexander Udalov
f3a7312ee6
K2: use ClassKind.CLASS for object literals
...
K1 uses CLASS, and libraries like kotlinx-metadata-jvm and
kotlin-reflect already rely on it.
#KT-57641 Fixed
2023-06-26 20:58:55 +00:00
Alexander Udalov
1be0fcb53a
Kotlinp: add "test can be unmuted" error to K2 tests
2023-06-26 20:58:55 +00:00
Sebastian Sellmair
3366366361
[Gradle] Implement initial ExternalAndroidTargetIT
...
Using AGP version 8.2.0-alpha09: Covering the
external Android target maintained and developed by Google.
The initial tests are intended to give basic coverage
of basic functionality (such as build and running tests), as well as
checking compatibility between AGP and KGP
^KT-59578 Verification Pending
2023-06-26 18:38:53 +00:00
Alexander Udalov
c66bc36382
Build: fix some warnings in buildSrc and build.gradle.kts
2023-06-26 15:42:21 +00:00
Sebastian Sellmair
4d91229d79
[Gradle] Implement KotlinDefaultHierarchyFallbackNativeTargetShortcutUsageDetected diagnostic
...
^KT-58676 Verification Pending
2023-06-26 11:36:18 +00:00
Sebastian Sellmair
8d6c4019c5
[Gradle] Implement KotlinMultiplatformSourceSetConventionsTest
...
^KT-58676 Verification Pending
2023-06-26 11:36:17 +00:00
Sebastian Sellmair
c31c5ea0be
[Gradle] Implement IosSourceSetConventionUsedWithoutIosTarget diagnostic
...
... in case when iosMain, iosTest conventions are used
w/o any ios target being applied
^KT-58676 Verification Pending
2023-06-26 11:36:17 +00:00
Sebastian Sellmair
6d1e039b77
[Gradle] Do not apply default hierarchy template for: test KT-47641...
...
See: KT-59596:
The test did not apply any hierarchy before as well, therefore this
change is returning the setup back to its original behaviour.
However, we therefore discovered an issue (tracked as KT-59596):
Compiling metadata compilations for cinterops is not desirable
^KT-58676 Verification Pending
2023-06-26 11:36:17 +00:00
Sebastian Sellmair
6f42446138
[Gradle][Minor] Improve documentation in KotlinHierarchyDsl
...
^KT-58676 Verification Pending
2023-06-26 11:36:17 +00:00
Sebastian Sellmair
37ec18d8d6
[Gradle][Minor] Fix typo in KotlinMultiplatformExtension documentation
...
^KT-58676 Verification Pending
2023-06-26 11:36:17 +00:00
Sebastian Sellmair
f26f3e0738
[Gradle] Remove InternalKotlinHierarchyTemplate interface (in favor of using Impl directly)
...
^KT-58676 Verification Pending
2023-06-26 11:36:17 +00:00
Sebastian Sellmair
6d4dbfae28
[Gradle] Move KotlinHierarchyDsl documentation into KotlinHierarchyDsl.kt
...
^KT-58676 Verification Pending
2023-06-26 11:36:17 +00:00
Sebastian Sellmair
a03fb02af3
[Gradle] Deduplicate documentation from KotlinHierarchyTemplate.Templates.default and applyDefaultHierarchyTemplate
...
^KT-58676 Verification Pending
2023-06-26 11:36:17 +00:00
Sebastian Sellmair
772bcb283d
[Gradle] Replace KotlinSourceSetTree interface with simpler class
...
^KT-58676 Verification Pending
2023-06-26 11:36:17 +00:00
Sebastian Sellmair
85f4b72c8b
[Gradle] Remove deprecation from deprecated KotlinTargetHierarchy entities
...
^KT-58676 Verification Pending
2023-06-26 11:36:17 +00:00
Sebastian Sellmair
18a2ceebea
[Gradle] Keep deprecated KotlinTargetHierarchy in previous KotlinTargetHierarchy.kt source file
...
^KT-58676 Verification Pending
2023-06-26 11:36:17 +00:00
Sebastian Sellmair
1cd8089e92
[Gradle] Move KotlinHierarchyTemplate.Templates.default into -api module
...
^KT-58676 Verification Pending
2023-06-26 11:36:17 +00:00
Sebastian Sellmair
2a4f9b19f0
[Gradle] KotlinSourceSetConvention: KotlinSourceSet registration logic
...
Separate the retrieval and registration of KotlinSourceSets in the getValue function of KotlinSourceSetConvention. Add a custom Trace class to be stored in the isRegisteredByKotlinSourceSetConventionAt property for better readability and debugging purposes.
2023-06-26 11:36:17 +00:00
Sebastian Sellmair
0b57dac738
[Gradle] Deprecate native target shortcuts ...
...
... in favor of default hierarchy template
^KT-58676 Verification Pending
2023-06-26 11:36:17 +00:00
Sebastian Sellmair
845c8bd1c3
[Gradle] Implement KotlinGradlePluginDsl annotation and check in for binary compatibility validation
...
^KT-58676 Verification Pending
2023-06-26 11:36:17 +00:00
Sebastian Sellmair
cec243ac3b
[Gradle] apply KotlinHierarchyTemplate.default, by default
...
^KT-58676 Verification Pending
2023-06-26 11:36:17 +00:00
Sebastian Sellmair
b9a8f6dce2
[Gradle] KotlinPluginLifecycle: requiredStage: Wait for stage if necessary
...
^KT-58676 In Progress
2023-06-26 11:36:17 +00:00
Sebastian Sellmair
1a143ec1a2
[Gradle] KotlinToolingDiagnostics: Allow providing stacktraces
...
^KT-58676 In Progress
2023-06-26 11:36:16 +00:00
Sebastian Sellmair
390b4e30a0
[Gradle][Minor] Move reporting of targets out of 'configureSourceSets'
...
^KT-58676 In Progress
2023-06-26 11:36:16 +00:00
Sebastian Sellmair
008a4c9593
[Gradle] Implement KotlinMultiplatformSourceSetConventions
...
... to give convenient access to known 'default' SourceSets
^KT-58676 In Progress
2023-06-26 11:36:16 +00:00
Sebastian Sellmair
b2dd83515c
[Gradle] Stabilise Kotlin Hierarchy Template DSL
...
- Remove 'Target' name from hierarchy components as in
- KotlinTargetHierarchyBuilder -> KotlinHierarchyBuilder
- KotlinTargetHierarchyDsl -> KotlinHierarchyDsl
- Rename KotlinTargetHierarchyDescriptor -> KotlinHierarchyTemplate
To convey a better intuition about the 'template' vs 'layout' separation:
A 'template' is used to 'layout' the actual 'hierarchy' on a given project.
- Move entities from .mpp.targetHierarchy to .hierarchy package
As the .targetHierarchy package was using the 'target' term as well
- Rename SourceSetTree to KotlinSourceSetTree
- Rename SourceSetTreeClassifier to KotlinSourceSetTreeClassifier
(Support external target APIs by introducing a V2 api version)
^KT-58676 In Progress
2023-06-26 11:36:16 +00:00
Alexander.Likhachev
cb087b7def
[Build] Bump gradle-node-plugin version to 5.0.0
...
This change is required to fix a configuration cache problem revealed after migration to Gradle 8.1
2023-06-26 10:36:25 +00:00
Artem Daugel-Dauge
7eec1b350f
[Tests] Try to make CocoaPods installation more robus once againt
2023-06-23 16:56:44 +00:00
Alexander.Likhachev
bfb314adcb
[BT] Mark the Build Tools API as experimental
2023-06-23 12:34:23 +00:00
Alexander.Likhachev
5993e4bce4
[BT] Introduce JVM compilation API
2023-06-23 12:34:23 +00:00
Alexander.Likhachev
1005d0244a
[BT] Move KotlinLogger to the bt-api package
...
#KT-57398 In Progress
2023-06-23 12:34:23 +00:00
Artem Kobzar
64158a8a2f
[K/JS] Add file-to-file compilation ^KT-6168 Fixed
2023-06-22 18:23:45 +00:00
Aleksei.Cherepanov
a3583ea79b
Add the possibility to omit explicitly specifying a version in annotationProcessorPaths
...
Resolve the version of the annotation processor path (specified in annotationProcessorPaths) in kapt plugin if it is already specified in dependencies of this module or parent module. Plugin management is also supported.
#KT-59521 In Fixed
Merge-request: KT-MR-10761
Merged-by: Aleksei Cherepanov <aleksei.cherepanov@jetbrains.com >
2023-06-22 17:13:24 +00:00
Ilya Goncharov
90f6c53bf8
[Gradle, Js] Use dynamic import to catch exceptions during wasm compilation
2023-06-22 15:46:31 +00:00
Alexander.Likhachev
a93c49baf1
[Build] Fix a bunch of buildscript compilation warnings
...
#KTI-1221 Fixed
2023-06-22 15:16:08 +00:00
Alexander.Likhachev
46e83ef7da
[Gradle] Specify children projects names in functional tests to avoid ambiguity
...
#KTI-1221 In Progress
2023-06-22 15:16:08 +00:00
Alexander.Likhachev
e9fa576297
[Gradle] Fix expected JVM target version in compiler arguments test
...
Since Gradle 8.0, the JDK used to run Gradle is exposed to plugins as a JVM toolchain, thus it configures the jvm target as it was a regular used-configured JVM toolchain
https://docs.gradle.org/8.1/userguide/upgrading_version_7.html#toolchain_based_tasks_for_jvm_projects
#KTI-1221 In Progress
2023-06-22 15:16:08 +00:00
Alexander.Likhachev
76ba0c60b2
[Gradle] Update Gradle integration tests code as the new stdlib is now available
...
#KTI-1221 In Progress
2023-06-22 15:16:08 +00:00
Alexander.Likhachev
7690904bc4
[Gradle] Update AGP for KGP functional tests to support Gradle 8
...
#KTI-1221 In Progress
2023-06-22 15:16:08 +00:00
Alexander.Likhachev
407a2d4203
[Build] Remove usages of Provider.forUseAtConfigurationTime()
...
It's not required anymore and was deprecated since Gradle 7.4
#KTI-1221 In Progress
2023-06-22 15:16:08 +00:00
Dmitrii Krasnov
0e51a00871
Migrated CommonizerIT to new test dsl (junit 5 and gradle test kit)
2023-06-22 10:35:56 +00:00
Ilya Goncharov
2da0e622c0
[Gradle, JS] Add FIR variant of incremental multiproject test
...
^KT-56933 fixed
2023-06-22 08:21:00 +00:00
Artem Daugel-Dauge
b6847d0835
[Gradle] Support configuration cache in Xcode/CocoaPods tasks with Gradle 8.1
...
This commit moves invocation of `xcodebuild` from configuration to execution time. This also fixes the problem with Xcode version being cached inside the daemon.
^KT-59252 Verification Pending
2023-06-21 13:31:38 +00:00
Sebastian Sellmair
685eee38ac
[Gradle] GranularMetadataTransformation: Collect moduleIds in ProjectData for non Kotlin Projects
...
^KT-59446 Verification Pending
2023-06-20 13:55:09 +00:00
Sebastian Sellmair
d3d6cdcef7
[Gradle] Implement Future<T>.map(transform)
...
^KT-59446 In Progress
2023-06-20 13:55:09 +00:00
Sebastian Sellmair
ec46c82a13
[Gradle] Implement KT59446TransformationOnTransitiveJavaDependencyTest
...
^KT-59446 In Progress
2023-06-20 13:55:09 +00:00
Sebastian Sellmair
d7facce71f
[Gradle] KotlinPluginLifecycle: Implement .toString for better diagnostics
...
^KT-59446 In Progress
2023-06-20 13:55:09 +00:00
Artem Kobzar
039b5fca7a
[K/JS] Use declared upper-bound types for parameters inside inlined functions body, instead of the provided types
2023-06-20 12:01:28 +00:00
Kirill Rakhman
aa4ebe1991
[FIR2IR] Fix NPE on missing built-ins when using old stdlib
...
Specifically, this code was throwing when trying to get the symbol for
IntrinsicConstEvaluation which is only available since 1.7.
#KT-59151 Fixed
2023-06-20 11:52:21 +00:00
Leonid Startsev
b919a12274
Restructure KotlinClass(Module)Metadata.write/read:
...
- Write now returns result (Metadata or ByteArray) directly without re-wrapping it;
- annotationData/bytes is private to avoid unsoundness if external client corrupts it;
- .toXxx() do not throw exceptions anymore and deprecated. Exceptions are thrown only from read/write;
- Instead of toXxx(), properties like .kmClass should be used instead. They're initialized eagerly and return a view without copying.
- KotlinClassMetadata.Unknown is now a data object, as no useful information is exposed
#KT-59365 Fixed
2023-06-19 17:54:18 +00:00