53 Commits

Author SHA1 Message Date
Vyacheslav Gerasimov 069c920a5c Build: Use jdk-release compiler option to build kotlin-stdlib
Use JDK11 with `-Xjdk-release=6` for kotlin-stdlib.
Use JDK11 with `-Xjdk-release=7` for kotlin-stdlib-jdk7.
This allows dropping JDK6 and JDK7 from our build completely and remove
`kotlin.build.isObsoleteJdkOverrideEnabled` #KTI-1220.

 #KT-57808
2024-03-19 12:32:39 +00:00
Alexander Udalov 7f90111283 Build: remove obsolete -Xbuiltins-from-sources from stdlib build
It was removed in 77dba281a3.
2024-02-28 07:25:47 +00:00
Abduqodiri Qurbonzoda 557ea32f87 Introduce kotlin.AutoCloseable typealias in K/JVM stdlib #KT-55777 2024-02-27 20:52:49 +00:00
Yahor Berdnikau 6b19b8b9d0 [Repo] Don't use kotlinOptions in repo build scripts
^KT-63419 In Progress
2024-02-22 14:48:10 +00:00
Ilya Gorbunov 0ecbbbf1ca [stdlib] Set AV to 2.0, LV to 1.9 for main compilations, build tests with K2 2024-02-21 16:28:12 +00:00
Ilya Gorbunov c2e28149e6 [stdlib] Enable link-via-signatures to workaround KT-62798 2024-02-20 19:59:16 +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 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
Yahor Berdnikau ea8f7af1f2 [Gradle] Add api marker to Kotlin compilation tasks DSL
Kotlin's compilation tasks DSL should also be separated from other DSL
parts.

^KT-57292 In Progress
2023-12-21 10:30:50 +00:00
Ilya Gorbunov 5ce2a2cbee Use strongly typed task GenerateProjectStructureMetadata to tweak kpsm.json 2023-12-13 15:40:25 +00:00
Ilya Gorbunov f07bf70aa7 Switch stdlib tests to KMP kotlin-test KT-61969 2023-12-13 15:40:25 +00:00
Ilya Gorbunov f3240757ed Extract custom publishing dsl to buildsrc-compat
It will be used also in kotlin-test KT-61969
2023-12-13 15:40:25 +00:00
Alexander.Likhachev a19bd2ed2e [Build] Migrate most of the build logic from Project.buildDir usage
It's going to be deprecated in Gradle 8.3

There's currently no way to pass a `org.gradle.api.provider.Provider` to the JavaExec.systemProperty or Test.systemProperty. There's a workaround using `org.gradle.process.CommandLineArgumentProvider`, but I intentionally don't rework these calls as Gradle is going to allow passing providers to configure system properties: https://github.com/gradle/gradle/issues/12247#issuecomment-1568427242
^KTI-1473 In Progress
2023-12-07 18:31:06 +00:00
Ilya Gorbunov 88bbe8d92d [stdlib] Enable explicit API mode 2023-11-24 01:45:45 +00:00
Alexander Shabalin 9ad7b00613 [K/N] Migrate some runtime/workers tests to new testing infra ^KT-61259 2023-11-17 07:42:28 +00:00
Abduqodiri Qurbonzoda c30eb1c56a Stdlib buildscript error: file included in two modules #KT-63447
The error is reported only when K2 is enabled in stdlib


Merge-request: KT-MR-12930
Merged-by: Abduqodiri Qurbonzoda <abduqodiri.qurbonzoda@jetbrains.com>
2023-11-13 22:52:50 +00:00
Ilya Gorbunov 27ed611e70 [stdlib] Minor cleanup of JS stdlib build
- Remove unused jsIrTarget variable
- Rename the directory with copied builtin sources
2023-11-13 19:21:08 +00:00
Ilya Gorbunov e18a124cbb [stdlib] Import kotlin-test-common sources as a part of native stdlib 2023-11-02 03:12:56 +00:00
Ilya Gorbunov 1ea0c2aa44 [stdlib] Import native sources in IDE 2023-11-02 03:12:56 +00:00
Ilya Gorbunov 892719171b Disable wasm-wasi stdlib tests execution unless kotlin.stdlib.wasi.tests property is specified
Reason: unstable on CI
KT-62694
2023-10-20 16:27:30 +00:00
Ilya Gorbunov 911fa3bbbb [stdlib] Merge js-ir specific sources into common js sources 2023-10-19 03:11:54 +00:00
Ilya Gorbunov f00d4022c4 [stdlib] Use common js sources in js-ir compilation without copying 2023-10-19 03:11:54 +00:00
Ilya Gorbunov 1d232c69d6 [stdlib] Move location of generated sources for js-IR compilation 2023-10-19 03:11:53 +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
Ilya Gorbunov d4b245615a Build wasm stdlib artifacts in kotlin-stdlib project 2023-10-17 16:30:41 +00:00
Ilya Goncharov 6de4d99706 [JS] Drop publishing JAR artifact of kotlin-stdlib-js
^KT-62067 fixed
2023-10-16 13:34:37 +00:00
Ilya Gorbunov 785d6858ea KT-62004 Drop legacy JS build of kotlin-stdlib
- preserve kotlin-stdlib-js.jar in dist and maven
- change packaging to klib in .pom
- fix manifest attributes of kotlin-stdlib-js
2023-10-06 00:46:08 +00:00
Alexander Udalov 909f32ed54 Build: pass -Xexpect-actual-classes to some libraries compile tasks
To suppress the warning introduced in KT-61573.
2023-09-12 11:24:29 +00:00
Nikita Bobko 01fc708a0f Mark expect/actual classifiers as experimental
^KT-61573 Fixed
Review: https://jetbrains.team/p/kt/reviews/11969/timeline

Tests:
- MultiPlatformIntegrationTestGenerated
- CliTestGenerated
- MultiPlatformIntegrationTestGenerated
- DiagnosticTestGenerated.Multiplatform
- FirLightTreeOldFrontendDiagnosticsTestGenerated

Also add -Xexpect-actual-classes flag to all necessary ./libraries/* modules
Otherwise compilation of those modules failes because of `-Werror`
2023-09-04 12:21:37 +00:00
Ilya Kirillov 9b114335fb [stdlib] fix stdlib-common highlighting in K2 IDE plugin
K2 IDE Plugin uses only a partial set of built-ins.
It only has declarations which are not present in
the JVM stdlib as classfiles.

Because of that, some major declarations like
`kotlin.Unit` are missing,
so resolution inside kotlin stdlib common modules does not work.

Because of incorrectly resolved stdlib,
highlighting and resolution in other files in the kotlin project does not work.

This commit adds source versions of stdlib declarations
(`/core/builtins/src/kotlin/`) to the common stdlib as a source-set
for IDE import.

This way all declarations in stdlib common module are properly resolved.

The approach might be incorrect as it might introduce possible redeclaration
conflicts between common and platform stdlib sources
as `/core/builtins/src/kotlin/` source-set is also registered as a source-set for
platforms.
2023-08-31 12:51:47 +00:00
Ilya Gorbunov 9640e32483 [stdlib-mpp] Publish wasm artifacts through variants of stdlib KT-60909 2023-08-18 15:36:15 +00:00
Sebastian Sellmair f06a1c89ef [stdlib-mpp] Publish patched/custom kpsm to list 'commonMain' included into 'nativeApiElements'
Native/Shared Source Sets still requires stdlib:commonMain.klib as
dependency for IDE analysis.

See: KT-56278
^KT-60901 Verification Pending
2023-08-11 14:52:02 +00:00
Ilya Gorbunov 0882c645dd [stdlib-mpp] Move dependency constraints to api dependencies, KT-55297
Constrained alignment is also required for compile time dependencies
2023-08-10 10:35:54 +00:00
Anton Lakotka 7c5dd7c451 [stdlib-mpp] Add dependency constraint on kotlin-stdlib-common for...
...other variants where it can be expected. Such as:

* commonMainMetadataElements (legacy metadata)
* metadataElements (klib metadata)
* nativeApiElements

This would prevent from leaking kotlin-stdlib-common dependencies of
older Kotlin versions. So every KGP configuration where
stdlib dependencies is configured automatically will enforce dependency
constraints on kotlin-stdlib-common.

^KT-61053 Verification Pending
2023-08-09 07:52:35 +00:00
Ilya Gorbunov 0072189fb1 [stdlib-mpp] Configure SBOM for published artifacts KT-53791 2023-08-08 12:32:18 +00:00
Ilya Gorbunov 1a8cb02a43 [stdlib-mpp] Fix implicit signing task dependency on shared javadoc artifact
By not using shared javadoc artifact for all publications.
See the commit e6df34805f for details.
2023-08-04 16:11:56 +00:00
Ilya Gorbunov d72631a773 [stdlib-mpp] Workarounds for opt-in problems caused by languageSettings DSL rework
KT-56106
2023-08-03 14:47:21 +00:00
Ilya Gorbunov 21565c6128 [stdlib-mpp] Add dependency constraints to JVM variant, KT-55297 2023-08-03 14:47:21 +00:00
Ilya Gorbunov 671451fb67 [stdlib-mpp] publish legacy MPP common metadata additionally in a variant under 'common' classifier 2023-08-03 14:47:21 +00:00
Ilya Gorbunov a4c75338f3 [stdlib-mpp] js artifacts for dist
KT-56106
2023-08-03 14:47:21 +00:00
Ilya Gorbunov 8e78a433e7 [stdlib-mpp] Suppress warnings to please the Kotlin compiler in Gradle DSL
KT-56106
2023-08-03 14:47:21 +00:00
Ilya Gorbunov 19cbd4dd3e [stdlib-mpp] Disable js-v1 test execution and compilation and remove the corresponding workarounds
KT-56106
2023-08-03 14:47:20 +00:00
Ilya Gorbunov 51dcbc8520 [stdlib-mpp] Disable browser test runs on TC
KT-56106
2023-08-03 14:47:20 +00:00
Ilya Gorbunov 12c314cfa4 [stdlib-mpp] Fix artifact classifiers for dist
KT-56106
2023-08-03 14:47:20 +00:00
Ilya Gorbunov 69a87efdd9 js.tests: change paths to kotlin-stdlib-js.klib
Change the expected klib name of stdlib

KT-56106
2023-08-03 14:47:20 +00:00
Ilya Gorbunov 34720f27d4 [stdlib-mpp] Switch kotlin-stdlib project to multiplatform
#KT-56106
2023-08-03 14:47:20 +00:00
Ilya Gorbunov fac620df0b [stdlib-mpp] Setup custom publishing, disable default publications
KT-56106, KT-53791

Co-authored-by: Anton Lakotka <anton.lakotka@jetbrains.com>
2023-08-03 14:47:20 +00:00
Ilya Gorbunov 3090181cc5 [stdlib-mpp] Workaround legacy JS stdlib test run not using freshly-built kotlin.js
Move kotlin.js and kotlin-test-js-v1 output
closer to kotlin-stdlib-js-v1-test to avoid picking (or missing)
kotlin.js from bootstrap higher in hierarchy

#KT-56106
2023-08-03 14:47:20 +00:00
Ilya Gorbunov d7d14e7e9e [stdlib-mpp] Do not merge legacy js content into kotlin-stdlib-js.klib
#KT-56106
2023-08-03 14:47:20 +00:00
Ilya Gorbunov 58c5746fe4 [stdlib-mpp] Reconfigure jvm, js-ir, js-v1 mpp stdlib compilations
- jdk7/8 source sets
- source copying task dependencies
- jar manifest entries
- module-info.class
- jdk 9-11 test runs
- sources jars

#KT-56106
2023-08-03 14:47:20 +00:00