10537 Commits

Author SHA1 Message Date
Andrey Yastrebov c483e54e2d KT-63212 Handle outdated Xcodeproj error message 2024-01-22 13:59:26 +00:00
Yahor Berdnikau ae09c0fb60 [Gradle] Run tests against Gradle 8.3
^KT-59024 Verification Pending
2024-01-22 12:23:57 +00:00
Yahor Berdnikau 53fa25cafd [Gradle] Add AGP 8.4 test version
And update AGP 8.3 version.

^KT-59024 In Progress
2024-01-22 12:23:57 +00:00
Yahor Berdnikau dbd77fc785 [Gradle] Fix eager task realization due to attributes querying
Gradle 8.3+ starts triggering JVM eager tasks creating via eagerly
configured attributes that we copy over from the Gradle JVM plugin for
Kotlin compilation. The fix is to migrate to '.attributeProvider()' API
to configure the attribute.

^KT-60664 In Progress
2024-01-19 14:58:23 +00:00
Yahor Berdnikau facc9cdb58 [Gradle] Add compiler options DSL for Kotlin targets
Restore compiler options DSL for all Kotlin targets. 'KotlinTarget'
interface does not provide any common way to configuring options - this
is the responsibility of related plugin extensions.

From the hierarchical standpoint of view target DSL overrides options
configured in the extension.

^KT-57292 In Progress
2024-01-19 14:16:11 +00:00
Yahor Berdnikau e527781772 [Gradle] Introduce HasConfigurableCompilerOptions DSL interface
This interface should be attached to the KGP DSL entities that want to
provide an ability to configure Kotlin compiler options.

^KT-60733 In Progress
2024-01-19 14:16:11 +00:00
Adam Semenenko a6524be97a !fixup [Gradle] refactor Gradle task assertion utils for clarity
- Rename/update to differentiate between 'executed' tasks vs tasks
  that are not in the task graph
- de-duplicate assertTasksNotExecuted() / assertTasksAreNotInTaskGraph()
  they both did the same thing
- re-use code for verifying all tasks have a specific outcome
- add a more helpful failed assertion message if the task isn't found
- rename 'tasks' to 'taskPaths' for clarity
2024-01-19 11:21:27 +00:00
Adam Semenenko 1661957166 !fixup [Gradle] refactor Gradle task assertion utils for clarity
- Rename/update to differentiate between 'executed' tasks vs tasks
  that are not in the task graph
- de-duplicate assertTasksNotExecuted() / assertTasksAreNotInTaskGraph()
  they both did the same thing
- re-use code for verifying all tasks have a specific outcome
- add a more helpful failed assertion message if the task isn't found
- rename 'tasks' to 'taskPaths' for clarity
2024-01-19 11:21:27 +00:00
Adam Semenenko ad8341df9b [Gradle] refactor Gradle task assertion utils for clarity
- Rename/update to differentiate between 'executed' tasks vs tasks
  that are not in the task graph
- de-duplicate assertTasksNotExecuted() / assertTasksAreNotInTaskGraph()
  they both did the same thing
- re-use code for verifying all tasks have a specific outcome
- add a more helpful failed assertion message if the task isn't found
- rename 'tasks' to 'taskPaths' for clarity
2024-01-19 11:21:26 +00:00
Adam Semenenko 4b48f15d0f [Gradle] skip CheckKotlinGradlePluginConfigurationErrors if no errors
- Add an `onlyIf {}` check so CheckKotlinGradlePluginConfigurationErrors
  won't run unless there are errors,
which helps writing integration tests and preventing IJ warnings.
- remove unnecessary sequence when fetching DiagnosticsForProject
- update test assertions relating to
  CheckKotlinGradlePluginConfigurationErrors

^KT-61943 Fixed
2024-01-19 11:21:26 +00:00
Yahor Berdnikau 6234b9960c [Gradle] Fix warnings in ExternalKotlinCompilationDescriptor
^KT-56904 In Progress
2024-01-18 22:45:58 +01:00
Yahor Berdnikau 3b837734d1 [Gradle] Fix warnings in MultiplatformLayoutV2MultiplatformLayoutV1StyleSourceDirUsageChecker
^KT-56904 In Progress
2024-01-18 21:12:28 +00:00
Yahor Berdnikau bc7c342003 [Gradle] Fix warnings in MultiplatformLayoutV2AndroidStyleSourceDirUsageChecker
^KT-56904 In Progress
2024-01-18 21:12:28 +00:00
Yahor Berdnikau 7de6fda9f2 [Gradle] Fix warnings in KotlinAndroidSourceSetLayoutChecker
^KT-56904 In Progress
2024-01-18 21:12:28 +00:00
Yahor Berdnikau 01824a336c [Gradle] Fix warnings in MultiplatformLayoutV2KotlinAndroidSourceSetNaming
^KT-56904 In Progress
2024-01-17 19:32:04 +00:00
Yahor Berdnikau 5ed28a6a79 [Gradle] Fix warnings in KotlinAndroidSourceSetNaming
^KT-56904 In Progress
2024-01-17 19:32:04 +00:00
Yahor Berdnikau ca996d0833 [Gradle] Fix warnings in KotlinAndroidSourceSetInfo
^KT-56904 In Progress
2024-01-17 19:32:04 +00:00
Yahor Berdnikau db62637318 [Gradle] Fix warnings in KotlinAndroidSourceSetFactory
^KT-56904 In Progress
2024-01-17 19:32:04 +00:00
Artem Kobzar dfe2d8651e [K/JS] Prepare JS Plain Objects plugin to publication 2024-01-17 10:52:58 +00:00
Yahor Berdnikau 104e6a9b7c [Gradle] Suppress documentation for warnNpmGenerateExternals
^KT-58858 In Progress
2024-01-16 12:36:29 +00:00
Dmitry Savvinov 8236fc245b [gradle, mpp] Clean-up dead code around metadata klib manifest handling
See the added source comment for details. This commit shouldn't change
any behavior of KGP

^KT-64525
2024-01-16 10:53:37 +00:00
Alexander Popoff ddd71851cf MPP / KJS: Fix incorrect source maps generating for ESM target
(cherry picked from commit 0553a2bf12b35f33f30c6400ab3af14341877946)
2024-01-15 16:03:26 +00:00
Igor Yakovlev 931cc48def [Wasm/WASI] Implementation of a callback on root exported function exit
Fixed #KT-64486
2024-01-15 11:37:37 +00:00
strangepleasures 7e9d6e601d KT-64385 Enable K2 KAPT by default
Also adds support for front-end compiler plugins in Kapt
2024-01-15 10:22:32 +00:00
Yahor Berdnikau 9fafbc1b07 [Gradle] Add missing @MustBeDocumented annotation
We want @KotlinGradlePluginDsl annotation to be visible in published API
 reference.

^KT-64653
2024-01-15 09:42:16 +00:00
Andrey Yastrebov db27e29c08 fixup! KT-63592 Create setupLLDBScript task 2024-01-12 16:27:19 +00:00
Ilya Goncharov 459a8368a6 [Gradle, JS] NodeJsExec.create with KotlinJsCompilation left for kotlinx-benchmark compatibility
^KT-63714 fixed
2024-01-12 11:27:40 +00:00
Yahor Berdnikau e2a06c66cc [Gradle] Fix warnings in KotlinCompilationSourceSetsContainerFactories
^KT-56904 In Progress
2024-01-11 16:32:43 +00:00
Artem Daugel-Dauge b70c50cd1f [Gradle] Add integration tests for building through xcode with embedAndSign task
Including checks:
* running embedAndSign through a build phase
* running embedAndSign through a scheme pre-action script
* running embedAndSign through a scheme pre-action script and using Kotlin framework in local SPM package
* absense of explicit '-framework' linker flag

^KT-62376
^KT-63819
2024-01-11 08:23:50 +00:00
Artem Daugel-Dauge af4d5605ca [Gradle] Copy framework to BUILT_PRODUCTS_DIR in the embedAndSign task
^KT-63821 Verification Pending
2024-01-11 08:23:50 +00:00
Yahor Berdnikau 2a55aa782d Revert "[Gradle] Add dsl marker to KotlinSourceSet"
This reverts commit eb663117c7.
2024-01-10 22:10:59 +00:00
Yahor Berdnikau e8704cc556 Revert "[Gradle] Add deprecated accessor to sourceSets inside KotlinSourceSet"
This reverts commit 5fba2962b9.
2024-01-10 22:10:59 +00:00
Artem Kobzar 48f8f8af5f [K/JS] Fix useEsModules and useCommonJs DSL-functions ^KT-64561 Fixed 2024-01-10 18:22:08 +00:00
Artem Kobzar 300702a7e7 [K/JS] Create JavaScript Simple Object plugin that helps create typed JS objects 2024-01-10 16:30:02 +00:00
Ilya Goncharov b645997dc4 [Gradle, JS] Use dev server not as property in KotlinWebpackConfig 2024-01-10 12:41:53 +00:00
Dmitrii Krasnov 7e61f9cb42 [Gradle] Validation for definitionFile and packageName in cinterop
^KT-62800 Fixed
2024-01-10 08:50:24 +00:00
Dmitrii Krasnov cef46a9dd1 [Gradle Native] Made definitionFile Optional for cinterop task
^KT-62800 Fixed
2024-01-10 08:50:24 +00:00
Nataliya.Valtman cf3672314a Remove JMX bean invocation for internal build FUS metrics
#KT-58768 In Progress
2024-01-09 16:48:11 +00:00
Evgenii Mazhukin de4953adf6 [IC] Baseline fix for common sources getting access to platform declarations
K2-only issue. In an incremental build, sourceSet boundary isn't
preserved in certain conditions:

SourceSet A depends on SourceSet B
A and B overload a function, for example:

A -> fun foo(p: Parent) // (1)
B -> fun foo(c: Child) // (2)

If some source file in A is calling foo(..), only (1) is supposed to be visible
for that call site.

However, if

a) it is an incremental build,
b) the declaration of (1) is not a part of the compilation set, and
c) call to foo(c: Child) is applicable,

then (2) would be called from the generated code. So, the build result is not
consistent between the full build and an incremental build.

As a workaround, we fallback to a non-incremental build, if any source from A
needs to be compiled.

To enable "risky" incremental builds, use Gradle property
kotlin.internal.incremental.enableUnsafeOptimizationsForMultiplatform=true

^KT-62686
^KT-63837 Fixed


Merge-request: KT-MR-13695
Merged-by: Evgenii Mazhukin <evgenii.mazhukin@jetbrains.com>
2024-01-08 20:03:08 +00:00
Yahor Berdnikau ad6513e247 [Gradle] Fix warnings in KotlinPluginWrapper
^KT-56904 In Progress
2024-01-08 19:18:32 +00:00
Yahor Berdnikau 5fba2962b9 [Gradle] Add deprecated accessor to sourceSets inside KotlinSourceSet
Apparently, using such an approach is a popular case especially for
configuring 'dependsOn' parameter. And we should simplify user migration
 to more restricted DSL.

^KT-64722 Verification Pending
2024-01-08 14:07:50 +00:00
Yahor Berdnikau eb663117c7 [Gradle] Add dsl marker to KotlinSourceSet
We also need users to distinguish KotlinSourceSet DSL from other levels
of DSL, specifically extension one.

^KT-64722 In Progress
2024-01-08 14:07:50 +00:00
Dmitriy Dolovov e92017f64e [KLIB Resolver] Deprecate Logger.fatal()
Invocation of Logger.fatal() may cause severe side effects such as
throwing an exception or even terminating the current JVM process
(check various implementations of this function for details).

The code that uses Logger.fatal() sometimes expects a particular kind
of side effect. This is totally a design flaw. And it's definitely not
a responsibility of Logger to influence the execution flow of
the program.
2024-01-08 13:26:24 +00:00
Dmitrii Krasnov 36e8f9e3ac [Gradle Native] Provided default value for produceUnpackedKlib
^KT-64573 Fixed
2024-01-08 12:24:23 +00:00
strangepleasures 894df8f641 KT-64719 K2 KAPT stub generation should fail on syntax errors 2024-01-05 15:58:41 +00:00
Dmitrii Gridin b6d373d8e5 Update copyright to 2024 2024-01-05 13:43:17 +00:00
Yahor Berdnikau 41003732b1 [Gradle] Add JVM toolchain configure method to Kotlin target
These methods are only added to provide more user-friendly error
when user tries to configure JVM toolchain in Kotlin target DSL.

^KT-64629 Verification Pending
2024-01-05 12:34:27 +00:00
Alexander Udalov a9f85d75f4 Kapt: remove support for old JVM backend
#KT-64680 Fixed
2024-01-03 19:37:40 +00:00
Alexander Udalov e4a608c6e7 Kapt: remove tests on old JVM backend
#KT-64680
2024-01-03 19:37:40 +00:00
Yahor Berdnikau 3eb86ede96 [Gradle] Fix warnings in KotlinBaseApiPlugin
^KT-56904 In Progress
2024-01-03 12:40:39 +00:00