1068 Commits

Author SHA1 Message Date
Yahor Berdnikau 9cc28406a6 [repo] Migrate modularizedTestConfigurations.gradle.kts into convention plugin
Otherwise, it could not find methods from buildsrc-compat.
2023-07-13 08:24:50 +00:00
Yahor Berdnikau e1ffe34088 [repo] Migrate jps.gradle.kts into convention plugin
Otherwise, it could not find methods from buildsrc-compat.
2023-07-13 08:24:50 +00:00
Yahor Berdnikau 8018b5f63b [repo] Migrate javaInstrumentation.gradle.kts into convention plugin
Otherwise, it could not find methods from buildsrc-compat.
2023-07-13 08:24:50 +00:00
Yahor Berdnikau d686cb1365 [repo] Migrate report.gradle.kts into convention plugin
Otherwise, it could not find methods from buildsrc-compat.
2023-07-13 08:24:50 +00:00
Yahor Berdnikau 5b5dae9249 [repo] Move buildSrc into repo/gradle-build-conventions/buildsrc-compat project
Include new project as build logic included build. Such change will
allow us to start migration into build convention plugins by splitting
buildSrc logic into subprojects.
2023-07-13 08:24:49 +00:00
Sebastian Sellmair 600bb3dbc7 Bump Kotlin/Native version in KGP to 1.9.20-dev-6271
KT-59859
2023-07-12 20:17:03 +00:00
Nikolay Krasko cab0487f98 Fix implicit dependency validation for zipCompilerSign
Checksum tasks uses the directory output, but the directory is not
empty, compiler.zip is among files in target directory. And this is
probably the reason why gradle now claims zipCompilerChecksum should be
added as direct dependency (see the error message below).

Workaround: generate checksum in separate directory and copy the
resulting file to directory with the compiler.zip. Note that `Copy` task
can't be used because it also declares target directory as an output.

Reproduce:

```
gradle zipCompilerWithSignature -Psigning.gnupg.keyName=???????? -Psigning.gnupg.passphrase=test -PsigningRequired=true -Pteamcity=true
```

Error:

```
org.gradle.internal.execution.WorkValidationException: A problem was found with the configuration of task ':zipCompilerSign' (type 'Sign').
    - Gradle detected a problem with the following location: '/mnt/agent/work/***/kotlin_CompilerArtifacts/dist/kotlin-compiler-1.9.20-dev-6119.zip'.

      Reason: Task ':zipCompilerSign' uses this output of task ':zipCompilerChecksum' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed.

      Possible solutions:
        1. Declare task ':zipCompilerChecksum' as an input of ':zipCompilerSign'.
        2. Declare an explicit dependency on ':zipCompilerChecksum' from ':zipCompilerSign' using Task#dependsOn.
        3. Declare an explicit dependency on ':zipCompilerChecksum' from ':zipCompilerSign' using Task#mustRunAfter.

      Please refer to https://docs.gradle.org/8.1.1/userguide/validation_problems.html#implicit_dependency for more details about this problem.
```

KTI-1285
2023-07-12 07:37:28 +00:00
Abduqodiri Qurbonzoda 7346cf4777 Introduce jdk-api-validator to ensure kotlin-reflect uses jdk6 API
Merge-request: KT-MR-6930
Merged-by: Abduqodiri Qurbonzoda <abduqodiri.qurbonzoda@jetbrains.com>
2023-07-12 05:13:08 +00:00
Svyatoslav Scherbina c2a5f6588c Bump Kotlin/Native version in KGP to 1.9.20-dev-6128 2023-07-10 11:10:02 +00:00
Pavel Kunyavskiy 0179b45840 Introduce compiler.common.native module 2023-07-10 08:59:16 +00:00
Pavel Mikhailovskii 083f54aceb [KAPT4] Create basic infrastructure for KAPT4 2023-07-07 11:09:16 +00:00
Yahor Berdnikau 1fdda8962d [repo] Migrate 'preparePublication' task into buildSrc 2023-07-04 19:26:38 +00:00
Svyatoslav Scherbina 85919c4d62 Bump Kotlin/Native version in KGP to 1.9.20-dev-5069
Also, adjust NativeIrLinkerIssuesIT after 5f3dad1. See the explanation
below.

5f3dad1 makes -Xlazy-ir-for-caches disabled by default. So the compiler
now deserializes different subsets of IR and in different orders.
As a result, the error message for a test changes. Both error messages
(before and after this commit) are correct, and the selection depends
on the IR deserialization strategy.
Moreover, this commit changes the expected error message to the initial
version, used before -Xlazy-ir-for-caches was introduced.
2023-07-04 10:16:32 +00:00
Svyatoslav Kuzmich 29fa20e2aa [Wasm] Extract Fir compiler tests into :wasmFirCompilerTest task
This is needed to run K1 and K2 tests in parallel on separate CI agents
2023-06-25 10:20:43 +02:00
Svyatoslav Kuzmich 9b3237fff9 [Wasm] Initial K2 support in new test infrastructure (KT-57230)
- Implement FirWasmSessionFactory
- Use new compiler test infra for Wasm K1 and K2
- Delete old Wasm compiler test infra
2023-06-25 10:19:36 +02:00
Alexander.Likhachev 2412693ef0 [BT] Move KotlinLogger to the bt-api module
#KT-57398 In Progress
2023-06-23 12:34:23 +00:00
Alexander.Likhachev 6e07d432b3 Embed kotlin-build-tools-api into kotlin-compiler
#KT-57398 In Progress
2023-06-23 12:34:23 +00:00
Alexander.Likhachev a93c49baf1 [Build] Fix a bunch of buildscript compilation warnings
#KTI-1221 Fixed
2023-06-22 15:16:08 +00:00
Svyatoslav Scherbina de78f52bc9 Bump Kotlin/Native version to 1.9.20-dev-4192 2023-06-19 13:45:28 +00:00
Vyacheslav Gerasimov 01b6af452f Build: Introduce resolveDependencies task
It is used on the build server to pre-download all dependencies and
check that verification-metadata.xml is up-to-date
 #KTI-72
2023-06-16 12:19:00 +00:00
cristiangarcia 46d113605b Adopt configuration-avoidance where possible
Before this change `./gradlew help` (with native enabled)
Created immediately: 1322
Created during configuration: 1541

after this change:
Created immediately: 596
Created during configuration: 1509

To know more about configuration avoidance: https://docs.gradle.org/current/userguide/task_configuration_avoidance.html
2023-06-06 14:27:42 +00:00
Alexander Udalov bb4bb58453 Remove tests on -Xuse-ir compiler flag
This flag is going to be removed because old backend is not supported
anymore, therefore there's no need to test it.
2023-05-30 14:46:09 +00:00
Andrei Klunnyi 6255efa7f7 [KT-58817] Publish K2 script compiler artifact
With this commit kotlin script compiler (as a plugin) becomes
available for IDE.
2023-05-26 12:55:00 +00:00
Ilya Goncharov 8ae196d4fc [Gradle, Wasm] Add kotlin-stdlib-wasm to IDE deps 2023-05-26 09:07:07 +00:00
Svyatoslav Scherbina d45e0116dd Bump Kotlin/Native version to 1.9.20-dev-2332 2023-05-25 12:13:46 +00:00
Aleksei.Cherepanov bdfc2c33c5 Add missed dependency for JPS serialization
#KTIJ-25610 Fixed
2023-05-25 08:22:11 +00:00
Dmitriy Novozhilov b26b649d4e [FE] Introduce commonized version of expect/actual compatibility calculator
This is needed to use the same code for those checks between
  both frontends and backend

^KT-58578
2023-05-19 10:19:17 +00:00
Alexander.Likhachev 169ef4874f [Build] Enable checks of the build tools API on CI
At the moment, the only check is the binary compatibility check
#KT-58479 Fixed
2023-05-17 18:57:11 +00:00
Stanislav Erokhin 17ad4ceec9 [KT-58666] Publish kotlin-dom-api-compat among IDE artifacts
This artifact is used in the MPP import tests in IDE

#KT-58666 Fixed
2023-05-16 08:58:55 +00:00
Svyatoslav Scherbina 1a1cc224a8 Bump Kotlin/Native version to 1.9.20-dev-1523 2023-05-15 12:07:53 +00:00
Artem Daugel-Dauge dadb3673ba Bump Kotlin/Native version to 1.9.20-dev-810 2023-05-09 12:47:32 +00:00
Ilya Chernikov 8c8ca7bb70 Remove examples/tests based on obsolete script-util
also mark the rest of the API as Obsolete
related to #KT-58367
2023-05-04 11:35:08 +00:00
Ilya Chernikov 2e393e8fb7 Stop publishing obsolete kotlin-script-util
#KT-58366 fixed
2023-05-04 11:35:08 +00:00
Svyatoslav Scherbina cfd363e232 Bump Kotlin/Native version to 1.9.20-dev-293 2023-05-02 10:12:10 +00:00
Justin Paupore ae70edb1c8 [Parcelize] Recombine for-ide libraries.
K2 IDE support requires that the entire plugin is in a single JAR, so we
need to have the K1, K2, and CLI (CompilerPluginRegistrar) libraries
available on a single for-ide target.

This reverts commit c9badd14a7.

^KT-57795 fixed
2023-05-01 16:27:49 +02:00
Nataliya.Valtman ea264cb5b5 Add kotlin-build-statistics embedded dependency for JPS
#KT-58314: Fixed
2023-04-28 09:22:00 +00:00
Sebastian Sellmair 425c7c738e Update kotlin binary compatibility validator to v0.13.1
KT-55524
2023-04-25 12:49:50 +00:00
Nataliya.Valtman 2a391f7330 Move kotlin-build-statistic project to :compiler 2023-04-25 11:29:09 +00:00
nataliya.valtman e34dd043da Add minimal statistic report for JPS build
Fix build stat for gradle 8

#KT-56438 Fixed
2023-04-25 11:29:09 +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
Svyatoslav Scherbina 101c229335 Bump Kotlin/Native version to 1.9.0-dev-6050
This is the version where partial linkage is enabled by default
2023-04-19 10:28:29 +00:00
Svyatoslav Scherbina f559533545 Bump Kotlin/Native version to 1.9.0-dev-5836
Also, fix KGP IT for linkage error messages:
the message text in the presence of compiler caches was changed because
of ab89203, and this commit effectively reverts expected message changes
made in ebaa09a.
2023-04-18 14:57:38 +00:00
Justin Paupore c9badd14a7 Split Parcelize for-ide support by frontend.
Create new targets for K1 and K2-specific jars for the IDE. (These
contain the diagnostics classes generated by the plugins, used to target
quickfixes.)

The existing `parcelize-compiler-plugin-for-ide` target remains
untouched with a K1 JAR dependency, because IJ currently depends on
this. Once IJ is cleaned up, we can remove the K1 reference from that
target, leaving only code shared between frontends.

^KT-57795
2023-04-18 09:11:00 +02:00
Yahor Berdnikau 1eb27f2aac Update publishing and usage of kotlin-annotation-processing plugin
- removed 'kotlin-annotation-processing-gradle' publication as it
duplicated 'kotlin-annotation-processing-embeddable'
- removed 'kotlin-annotation-processing-maven' as it is embedded into
  'kotlin-maven-plugin'. Instead 'kotlin-maven-plugin' now depends on
  'kotlin-annotation-processing' directly.

^KT-52811 In Progress
2023-04-17 14:40:51 +00:00
Yahor Berdnikau 64f8b87b66 Publish atomicfu compiler plugin separately
- rename plugin into 'kotlin-atomicfu-compiler-plugin'
- add 'kotlin-atomicfu-compiler-plugin-embeddable' to be used with
  'kotlin-comiler-embeddable'

^KT-52811 In Progress
2023-04-17 14:40:49 +00:00
Bogdan Mukvich 1c96a87dca Update dokka to 1.8.10 from dev version 2023-04-12 12:12:08 +00:00
Svyatoslav Scherbina cae7f90b59 Bump Kotlin/Native version to 1.9.0-dev-4844 2023-04-03 17:44:40 +00:00
Vyacheslav Gerasimov 3dcac61f7c Build: Update org.gradle.crypto.checksum to 1.4.0 2023-03-20 19:45:40 +00:00
Svyatoslav Scherbina 2233164296 Bump Kotlin/Native version to 1.9.0-dev-3826 2023-03-20 13:14:27 +00:00
Dmitriy Novozhilov b6a41c6d93 [CLI] Extract classes of compiler configuration from :compiler:cli to the separate module
Those classes mainly include KotlinCoreEnvironment and its dependencies

This change is needed for two reasons:
1. Splitting of some common configuration of compiler from logic of CLI
    makes code structure more clean
2. There is a need to add dependency on `:analysis:analysis-api-standalone`
    to `:compiler:cli`, because FIR analogue of AnalysysHandlerExtension uses
    services from it. But the problems is that standalone AA itself depends
    on classes for compiler configuration, which leads to circular
    dependency between those modules. Extracting configuration to
    `:compiler:cli-base` solves the problem
2023-03-16 15:16:32 +00:00