Commit Graph

199 Commits

Author SHA1 Message Date
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
Ilya Gorbunov f07bf70aa7 Switch stdlib tests to KMP kotlin-test KT-61969 2023-12-13 15:40:25 +00:00
Ilya Gorbunov b91e4e24c4 [kotlin-test] Custom publishing layout KT-61969 2023-12-13 15:40:25 +00:00
Ilya Gorbunov 977da5c9b1 Support multiple java9 compilations in a project
Required for 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
Bogdan Mukvich 3616adbe1b Replace single artifacts-test with test factory
* Add the ability to fix all tests locally in one run

^KTI-1515
2023-12-13 14:50:57 +00:00
Bogdan Mukvich b76452e15f Use deployVersion if present for artifacts-tests
^KTI-1476
2023-12-12 12:28:44 +00:00
Bogdan Mukvich b7d56dea44 Point ArtifactsTests to custom maven repo dir to avoid stale artifacts
^KTI-1345
2023-12-12 10:28:48 +00:00
Alexander Udalov d2a0e1dada Update to jline 3.24.1
It fixes the exception when REPL is run on an ARM Mac, as well as not
quitting after interrupting on the first line.

After this change, REPL runs fine on JDK 8, 17, 21. Note that on JDK 11,
it prints a warning during startup (but then also runs fine):

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.jline.terminal.impl.exec.ExecTerminalProvider$ReflectionRedirectPipeCreator to constructor java.lang.ProcessBuilder$RedirectPipeImpl()
WARNING: Please consider reporting this to the maintainers of org.jline.terminal.impl.exec.ExecTerminalProvider$ReflectionRedirectPipeCreator
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

 #KT-18355 Fixed
 #KT-64013 Fixed
2023-12-11 11:34:05 +00:00
Alexander.Likhachev 28dad289b3 [Build] Remove attributes setup for the dependency scope configurations
This behaviour makes no sense and is deprecated: https://docs.gradle.org/8.4/userguide/upgrading_version_8.html#deprecated_configuration_usage
^KTI-1473 In Progress
2023-12-07 18:31:07 +00:00
Alexander.Likhachev 1dc76f0b94 [Build] Fix configuration cache issue with :repo:artifacts-tests:test
^KTI-1473 In Progress
2023-12-07 18:31:06 +00:00
Alexander.Likhachev f915efab18 [Build] Update artifacts tests test data after the Gradle 8.4 upgrade
^KTI-1473 In Progress
2023-12-07 18:31:06 +00:00
Alexander.Likhachev ad677cb573 [Build] Use dependencies.create instead of dependencies.module
It seems there was no actual need for a call to `dependencies.module`.Also, it's going to be deprecated in Gradle 8.3
^KTI-1473 In Progress
2023-12-07 18:31:06 +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
Yahor Berdnikau aeaaf6dd8e [Gradle] Add a check that KGP API has consistent KDoc
^KT-58858 In Progress
2023-12-07 16:19:24 +00:00
Yan Zhulanow 1726a94c87 [Pill] Update module structure 2023-12-07 08:53:35 +00:00
Alexander.Likhachev 3ca1249926 [Daemon] Add unit tests for LimitedLinkedList 2023-12-05 13:51:14 +00:00
Sebastian Sellmair 0713866c1e [K/N] Modularise :kotlin-native:native.backend to extract objc header generation (2/2)
^KT-63905 Fixed
2023-12-04 18:52:08 +00:00
Alexander Shabalin 97a86e0ee3 [K/N][tests] Add global TEST_KIND override ^KT-61259 2023-11-29 16:22:28 +00:00
Alexander.Likhachev 2bd77d5cdc [IGS] Add a non-interactive way to make a consent decision for IDEA builds
When running builds from IDEA, especially tests, the interactive consent request is barely noticeable. Also, some of the tools windows are non-interactive terminals. Thus, we detect the IDEA builds and fail fast to make it noticeable.
^KTI-1443 Fixed
2023-11-28 15:32:23 +00:00
Alexander.Likhachev ab5699f106 [IGS] Ask for consent only 5 times
^KTI-1443 In Progress
2023-11-28 15:32:23 +00:00
Ilya Goncharov 8c95665e27 [Gradle, JS] Deprecate specific Node.js properties
^KT-62780 fixed
2023-11-28 10:36:36 +00:00
Sebastian Sellmair 04df33eec1 [K/N] Implement ObjCExportNamerTest and ObjCExportMapperTest
... to provide simple and quick validation
for their corresponding entities.

Those tests can also act as convenient entry points
for debugging.
2023-11-27 16:39:15 +00:00
Sebastian Sellmair ddd97e84b9 [K/N] Implement lightweight tests for ObjC header generation 2023-11-27 09:08:54 +00:00
Yahor Berdnikau b000b3a90b [Gradle] Drop usage of non-LTS JDK versions in integration tests 2023-11-23 18:28:10 +00:00
Artem Kobzar ff50d40b32 [K/JS] Rework kotlin tests compilation to make it works with per-file granularity ^KT-61525 Fixed 2023-11-16 19:02:04 +00:00
Alexander.Likhachev 6fbd26905a [Gradle] Add Gradle 8.2+ plugin variant
Fixups KT-52976 as the intention was to remove conventions registration. However until this commit, `gradle81` variant was used for all the 8.1+ versions providing an implementation that registers conventions.
^KT-63499 Fixed
2023-11-16 16:59:02 +00:00
Ilya Kirillov 6aeabc83ea [kotlin] fix "IllegalStateException: Could not find stdlib"
The commit removes all the KLib resolution logic,
now Analysis API Standalone clients need to provide all the KLib
list directly.

The resolution logic was removed as too error-prone and requiring compiler configurations.

Kotlin Gradle plugin can provide a full set of required KLibs,
so if a client is a Gradle plugin, this should not be an issue.

Probably, some fancy API which will explicitly perform all KLib dependency searches
should be introduced in the future (KT-63395)

^KT-63126 fixed
2023-11-16 13:31:53 +00:00
Dmitriy Novozhilov dcbc1e6a04 [Build] Update system properties for tests in JPS mode
Property `jps.kotlin.home` in test run configuration template pointed
  to wrong kotlinc dist location
2023-11-16 09:04:06 +00:00
Pavel Punegov 9f9b4d1981 [K/N][publish] Publish kotlin-native-compiler-embeddable.jar
Add an ability to publish kotlin-native-compiler-embeddable.jar and
sources to maven. Adds necessary for that sourcesJar and javadocJar
tasks. Note that Native distribution uses this jar without a version postfix.
Also cleaned up the obsolete backend.native publication and renamed 
project to match its name.


Merge-request: KT-MR-12974
Merged-by: Pavel Punegov <Pavel.Punegov@jetbrains.com>
2023-11-15 14:54:04 +00:00
Hung Nguyen 5562c95155 [IC] Refactor IC maps to reuse code and ensure consistency - Part 2
In commit 4e89dcf, we have prepared the API for IC maps in top
interfaces and provide the implementation in abstract classes.

In this commit, we refactor IC maps so that they directly inherit/reuse
the implementation from the superclasses without having to reimplement
the APIs for a map.

Test: Existing tests (refactoring change)
^KT-63456: In progress

Authored-by: Hung Nguyen <hungnv@google.com>

Merge-request: KOTLIN-MR-801
Merged-by: Evgenii Mazhukin <evgenii.mazhukin@jetbrains.com>
2023-11-15 12:22:40 +00:00
Alexander Udalov 6a0a64eb6d JVM: remove usages of trove4j
#KTI-1135
2023-11-10 21:56:34 +00:00
Leonid Startsev 4fa121071a Update kotlinx-serialization dependency for serialization compiler plugin tests.
Properly set up dom-api-compat dependency for JS IR tests. Since this dependency is added
automatically for every Kotlin/JS library, it should be present during tests just as stdlib.

As a result, tests for serializable enums were changed since 1.6.0 runtime does not require enums to be explicitly serializable.
2023-11-10 14:14:04 +00:00
Alexander.Likhachev 0333985445 [Build] Remove kotlin-gradle-plugin-compiler-dependencies
We should consider the information from the removed buildscript to resolve KT-61706
^KT-62650 Fixed
2023-11-09 12:19:23 +00:00
Alexander.Likhachev defa0b955b [Gradle] Use kotlin-compiler-embeddable instead of kotlin-gradle-plugin-compiler-dependencies
^KT-62650 In Progress
2023-11-09 12:19:23 +00:00
Dmitriy Dolovov 0de04f934e [Commonizer] Switch from trove4j to fastutil
^KT-63159
2023-11-06 19:56:17 +00:00
Yahor Berdnikau 094490acbd [Gradle] Compile against Gradle 8.4 api
^KT-62964 Fixed
2023-11-01 19:26:36 +00:00
Dmitriy Novozhilov fb8bf19091 [IR] Rename IrSymbolInternals to UnsafeDuringIrConstructionAPI
The new name more precisely describes the meaning of this opt-int
2023-10-25 11:32:46 +00:00
Ilya Kirillov a65c735feb [build] add checks to ensure that no modules which are part of the IDE plugin do not use experimental stdlib API
to ensure binary compatibility with stdlib inside IntelliJ.

This includes using the latest stable kotlin API version and
forbidding using experimental declarations from stdlib.

^KT-62510
2023-10-25 08:38:07 +00:00
Dmitrii Krasnov 10a6d8fd2c [Gradle IT] Added configuration for running IT with k/n from master
[Gradle] Updated kotlin-build-gradle-plugin to 0.0.40

#KT-45978 Ready for Review


Merge-request: KT-MR-12509
Merged-by: Dmitrii Krasnov <Dmitrii.Krasnov@jetbrains.com>
2023-10-24 08:38:51 +00:00
Dmitriy Novozhilov 33e9ed37e4 Revert "[Build] Return the logic to force LV=1.9 for KGP and its dependencies"
This reverts commit 274198d8
Original commit is not needed anymore after bootstrapping on 9fd14456
2023-10-20 14:32:43 +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
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 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
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
Ilya Gorbunov d4b245615a Build wasm stdlib artifacts in kotlin-stdlib project 2023-10-17 16:30:41 +00:00
Ilya Goncharov 1cde8c3624 [JS] Fix kotlin bom to use type klib 2023-10-16 13:34:37 +00:00
Vyacheslav Gerasimov 453da6af27 Minor: Fix comment in resolve-dependencies.gradle.kts 2023-10-13 09:15:03 +00:00