Commit Graph

60 Commits

Author SHA1 Message Date
Dmitrii Krasnov 7165d15d59 [Gradle Native] Added Kotlin Native Provider to all native tasks
This provider is a first step of "Kotlin Native Toolchain".
This solves several problems:
1) Resolving K/N bundle during configuration phase ->
now it happens during execution phase
2) Downloading K/N bundle with internal mechanisms ->
now it uses Gradle dependency resolvers and Transform Artifact

^KT-58303
^KT-52567
^KT-49268
2024-01-22 20:26:24 +00:00
Andrey Yastrebov 4176c50107 KT-63592 Create setupLLDBScript task 2024-01-03 10:29:18 +00:00
Ilya Gorbunov d2aae67e03 Replace kotlin-test project dependencies in the project
Use dependency helper function that chooses whether to take them
from the bootstrap repository or from a configuration of kotlin-test

KT-61969
2023-12-13 15:40:25 +00:00
Dmitrii Krasnov f8507d5220 [Gradle, Native] Switched downloading k/n to from Maven Central in KGP
#KT-62907 Fixed
2023-11-06 16:50:43 +00:00
Alexander.Likhachev 357d12fc8e [Build] Move JUnit dependencies into the version catalog
The `kotlin-test` dependencies are left untouched as changing them affects publications, thus these versions are independent from the used inside our build
#KTI-1349 In Progress
2023-09-06 22:47:33 +00:00
Yahor Berdnikau 0790fef161 Fix explicit api mode in commonizer
^KT-57653
2023-05-08 19:43:43 +00:00
Yahor Berdnikau eb4e96a113 Add kotlin-build-tools-enum-compat workaround
It acts as a workaround for the case when build tools or dependencies
are compiled with latest 'kotlin-stdlib' version, but at a runtime older
 'kotlin-stdlib' is provided, which does not know about new
 `EnumEntries`.

 ^KT-57317 Fixed
2023-04-21 14:57:17 +00:00
Yahor Berdnikau 0cad069522 [Build] Pin api and language level to 1.8 in Kotlin compiler modules used by KGP
This is required to be able to compile KGP and it's dependencies which
set LV to 1.4 when repo will use LV 1.9. This caused by the change how
enums are compiled (KT-48872).
2023-02-18 13:26:54 +00:00
Yahor Berdnikau b3e6a3c274 Update test-data for Gradle 7.6 version. 2023-02-08 16:27:28 +00:00
Sebastian Sellmair bd229584e4 [Gradle] Implement sources.jar resolvers
^KT-55289 Verification Pending
2022-12-12 20:29:07 +00:00
Anton Lakotka c358df7033 [Gradle] Include WATCHOS_DEVICE_ARM64 to Commonize unix platform test
^KT-53107
2022-10-05 19:32:05 +00:00
Anton Lakotka 1b3cc0dfaa [Gradle] Register watchosDeviceArm64 in commonizer
^KT-53107
2022-10-05 19:32:03 +00:00
Nikita Bobko 70ed76e0bd Drop unused ':dist' dependency in some tests
Review: https://jetbrains.team/p/kt/reviews/6753

This commit doesn't fix any issue except for "cleanup". If you find a
mistake in this commit feel free to revert part of it/the whole commit

I checked every module where I drop ':dist' dependency. Tests still pass
in those modules
2022-08-22 15:42:34 +02:00
Yan Zhulanow 3a6dd52833 [Pill] Update imported modules 2022-06-16 18:31:49 +00:00
sebastian.sellmair 204bc4ca95 [Commonizer] Provide union of forwardDeclarations as common dependencies
^KT-52050 Verification Pending

The issue described in KT-52050 happened, because forwardDeclarations
were not carried into next commonization steps. For commonization
it is fair to choose the union of all modules forwardDeclarations
as common dependency (instead of a union), since we can assume that
all those forward declarations will be provided.
2022-04-22 08:47:39 +00:00
Yahor Berdnikau 78cc2365b0 Fix gradle api dependency version in variants
Common SourceSet was forcing gradle api version to be the same
in all plugin variants via 'extendsFrom(..)'.

^KT-49227 In Progress
2022-04-12 14:48:48 +00:00
Pavel Punegov 3138b29fb2 [build] Requre common capability for gradle plugin test dependency 2022-04-08 18:06:41 +03:00
Pavel Punegov cfe76343d5 [Commonizer][test] Get K/N distribution in the test instead of the build
Get distribution and home path in the test to simplify gradle build.
Using NativeCompilerDownloader in the build led to the undesired results
where test get old K/N compiler from the bootstrap, also blocking K/N
version class development.
2022-04-08 10:38:12 +00:00
sebastian.sellmair 1a5fc84080 [KPM] Implement initial kpm/idea dependency resolution
^KT-51386 Verification Pending
2022-03-17 15:39:46 +00:00
Vyacheslav Gerasimov 5e09c3176f Build: Set kotlin.build.cache.push to false by default
#KTI-793
2022-03-13 20:29:12 +00:00
sebastian.sellmair 14046b81ff Replace transitiveClosure (commonizer-api) with closure (tooling-core) 2022-03-09 13:17:06 +00:00
sebastian.sellmair 530a3bb6ea kotlin-tooling-core: Implement closure util 2022-03-09 13:17:05 +00:00
Pavel Kirpichenkov 8f4d04dad2 [MPP] Add preliminary version of platform integer commonizer
Doesn't take target's size_t alias into account just yet

KT-41509
2022-02-28 10:59:36 +03:00
Dmitriy Novozhilov 3d48f9926f [Build] Update version of kotlin-build-gradle-plugin to 0.0.35 2022-02-18 17:44:44 +03:00
Pavel Kirpichenkov a220624769 [Commonizer] move commonizer setting keys to the commonizer-cli module
Get rid of `OptionAlias` as unnecessary; keys will be used directly
2022-01-28 12:22:50 +03:00
Pavel Kirpichenkov 2609175d58 [Commonizer] Introduce commonizer settings
Add settings for a more fine-grained control over commonizer features
that will be added in the future

Add setting and KGP flag for optimistic number commonization

KT-51011
2022-01-28 12:22:50 +03:00
Vyacheslav Gerasimov bc2f0936bd Build: Rename commonDep -> commonDependency 2021-12-16 21:48:19 +03:00
sebastian.sellmair 4ae51e1d02 [Gradle] AbstractCInteropCommonizerTask: Ensure outputDirectory path is unique and short enough
^KT-47056 Verification Pending
2021-08-02 20:38:27 +00:00
sebastian.sellmair 02d4c866ca [Gradle] CInterop commonization: Improve grouping and dependency management
^KT-47775 Verification Pending
This implementation will be lenient toward the common
*Test.dependsOn(*Main) mistake.

^KT-47053 Verification Pending
Support source sets that do not have a dedicated
shared native compilation. Also support additional visible source sets
coming from associate compilations.
2021-08-02 20:38:26 +00:00
sebastian.sellmair 448302d19b [Commonizer] CommonizeNativeDistributionTest.commonize - apple platforms(): Require macos 2021-07-05 09:00:45 +00:00
sebastian.sellmair 9794068f22 [Commonizer] typeAliasUtils: computeSuitableUnderlyingType: Consider commonized type-aliases 2021-07-05 09:00:42 +00:00
sebastian.sellmair 4bcae0cc6f [Commonizer] Add CommonizeNativeDistributionTest.commonize - unix platforms() 2021-06-25 09:25:08 +00:00
sebastian.sellmair 21cef41ba5 [Commonizer] AbstractCommonizationFromSourcesTest remove assertions on commonized leaf/platform libraries
Those assertions are not necessary anymore, since the commonizer is not
expected to produce any new "actuals" per given expect.
The IDE is supposed to analyze leaf source sets against the original
platform libraries.
2021-06-23 13:43:37 +00:00
sebastian.sellmair 42f60d981f [Commonizer] Implement associative commonization
^KT-47301 Verification Pending
2021-06-23 13:43:36 +00:00
sebastian.sellmair 14eca72913 Implement 'CommonizerTarget.fileName' and limit fileName length
^KT-46856 Fixed
2021-05-27 06:48:34 +00:00
sebastian.sellmair b48850c993 [Commonizer] Logging: Implement CommonizerLogLevel and hide verbose output by default
^KT-36679 Fixed
2021-05-01 14:36:18 +03:00
sebastian.sellmair 05a6d89151 [Minor] Re-format :kotlin-klib-commonizer and :kotlin-klib-commonizer-api 2021-04-16 14:56:32 +00:00
sebastian.sellmair f893709e5b [Commonizer] CommonizeLibcurlTest: Add commonizeSuccessfully with unsupported targets
This test will assert behaviour on 'unsupported' targets requested from the commonizer

^KT-46077
2021-04-16 14:56:31 +00:00
sebastian.sellmair bbcfde7231 [Commonizer] Add 'commonizer_target' and 'commonizer_native_targets' to commonized klib's manifest
^KT-46077 Fixed
2021-04-16 14:56:31 +00:00
sebastian.sellmair b311820159 [Minor] Fix CommonizerDependencyTest.sample identityString on Windows 2021-04-09 23:36:02 +02:00
sebastian.sellmair 933c52d470 [Commonizer] Gracefully handle absent targets for hierarchical commonization 2021-04-09 23:35:59 +02:00
sebastian.sellmair 250915f377 [Commonizer] Implement AbstractInlineSourcesCommonizationTest and hierarchical commonization tests 2021-04-09 23:35:58 +02:00
sebastian.sellmair 8c941fc203 [Gradle] Implement support for hierarchical commonization 2021-04-09 23:35:57 +02:00
sebastian.sellmair 46a20c81cc Implement CommonizerTarget.allLeaves 2021-04-09 23:35:56 +02:00
sebastian.sellmair a78645e858 Implement CommonizerTarget.withAllAncestors 2021-04-09 23:35:56 +02:00
sebastian.sellmair 47f36c04fc Move transitiveClosure into :commonizer-api 2021-04-09 23:35:56 +02:00
sebastian.sellmair 35e1f8a520 Implement CommonizerTarget isAncestorOf and isDescendentOf 2021-04-09 23:35:56 +02:00
sebastian.sellmair 79c6b406ba [Commonizer] Allow empty SharedCommonizerTarget 2021-04-09 23:35:55 +02:00
sebastian.sellmair cdbede09df Move 'TargetDependent' into commonizer module make it an interface 2021-04-09 23:35:55 +02:00
sebastian.sellmair e232a2be6c CommonizeLibcurlTest: Provide necessary native distribution dependencies 2021-03-26 10:55:25 +00:00