Commit Graph

12240 Commits

Author SHA1 Message Date
Abduqodiri Qurbonzoda 80b48eed0b Fix Path.copyToRecursively when copying across file systems #KT-55935
Merge-request: KT-MR-8705
Merged-by: Abduqodiri Qurbonzoda <abduqodiri.qurbonzoda@jetbrains.com>
2023-02-07 08:25:54 +00:00
Alexander.Likhachev 67c4dc3cce [Gradle, K/N] Stop using enableEndorsedLibs Gradle flag, make it Error
#KT-54098 Fixed
2023-02-06 19:24:05 +00:00
Sebastian Sellmair 3b75658113 [Gradle] IdeBinaryDependencyResolverTest: Add test - android artifact transformation
^KT-56439 Verification Pending
2023-02-06 18:38:49 +00:00
Sebastian Sellmair dd2317b1c2 [Gradle] IdeBinaryDependencyResolver: Add componentFilter to 'ResolvableConfiguration' and 'Compilation'
^KT-56439 Verification Pending
2023-02-06 18:38:49 +00:00
Sebastian Sellmair 889dc8d669 [Gradle] Rename IdePlatformDependencyResolverTest.kt to IdeBinaryDependencyResolverTest.kt
KT-56439
2023-02-06 18:38:49 +00:00
Sebastian Sellmair 3a9ca1c1eb [Gradle] IdeMultiplatformImportFactory: Empty overwrite for Android AdditionalArtifactResolutionPhase.SourcesAndDocumentationResolution
^KT-56430 Verification Pending
2023-02-06 13:05:06 +00:00
Sebastian Sellmair 7341f37838 [Gradle] Implement IdeAndroidDependencyResolutionTest
Added failing test for: KT-56430
2023-02-06 13:05:05 +00:00
Sebastian Sellmair 300995209f [Gradle] MppIdeDependencyResolutionIT: Use correct encoder for assertion
^KT-56429 Verification Pending
2023-02-06 09:54:58 +00:00
Artem Daugel-Dauge 143a233a9e [Gradle] Use unique artifact name for podspec task + avoid redundant task registration
^KT-51518 Verification Pending
2023-02-03 19:41:59 +00:00
Alexander Korepanov 9324cf3360 [JS IR] Support function type interfaces in incremental cache infrastructure
The patch removes logic of generating extra IrFiles (fake file) into
 IrModuleFragment for the function type interfaces during klib deserialization,
 because IC infrastructure can not process files which do not exist in klib.

 Instead of adding extra IrFiles during deserialization, the empty files
 with required packages are added into Kotlin/JS stdlib physically.
 These files are used as containers for function type interface declarations.

 Since Kotlin/WASM uses the same klib loading infrastructure as Kotlin/JS,
 the the empty files are added into Kotlin/WASM stdlib as well.

 The patch also adds a check that IrModuleFagment has files only from klib.

^KT-55720 Fixed
2023-02-03 12:23:48 +00:00
Alexander.Likhachev 0da23d4b9c [Gradle, JS] Remove Gradle version requirements for testJsBothModeWithTests 2023-02-03 11:53:03 +00:00
Alexander.Likhachev 6ab64e0f7c [Gradle, JS] Migrate KotlinWebpack output files configuration to lazy API
#KT-56357 Fixed
2023-02-03 11:53:03 +00:00
Alexander.Likhachev ecc1475cb9 [Gradle, JS] Acquire libsDirectory outside task configuration context
#KT-56357 In Progress
2023-02-03 11:53:03 +00:00
Alexander Korepanov 3a42b9846e [JS IR] Test the incremental rebuild after an error from JS IR BE
Move JS IR BE IC integration tests in a separate file

 Test case for KT-56282
2023-02-03 10:04:43 +00:00
nataliya.valtman 8cfe234140 KT-56352 Add metric filter for build scan
#KT-56352 Fixed
2023-02-03 09:56:27 +00:00
Alexander.Likhachev 35e39e9e10 [Gradle] Ignore non-existent directories in compile task outputs backup
#KT-56047 Fixed
2023-02-02 22:27:38 +00:00
Alexander.Likhachev 3cc69f691e [Gradle] Add test for KT-56047 2023-02-02 22:27:38 +00:00
Svyatoslav Kuzmich 81072ac9b4 [Wasm] Fix parsing D8 CLI arguments in kotlin.test
`@JsFun("code")` is now executed inside a JS function which brings its
`arguments` into the scope shadowing D8's CLI `arguments`.
 Accessing arguments through `globalThis` fixes the problem.

Merge-request: KT-MR-8630
Merged-by: Svyatoslav Kuzmich <svyatoslav.kuzmich@jetbrains.com>
2023-02-02 16:37:32 +00:00
Sebastian Sellmair 93e92cbf74 [Gradle] Implement KT37051CInteropArtifactTest
^KT-37051 Verification Pending
2023-02-02 13:14:15 +00:00
Sebastian Sellmair 5a14c11ae7 [Gradle] Implement MppCompositeBuildIT for KT-37051 (with cinterop)
^KT-37051 Verification Pending
2023-02-02 13:14:14 +00:00
Sebastian Sellmair 8a62523ffc [Gradle] Streamline how cinterop artifacts are exposed within a Gradle project
Before:
- The cinterop task's output files were added as file dependency
to the declaring target's apiElementsConfiguration
- A 'copy' task was created for the cinterop artifact that was added
to the apiElements configuration as artifact (and therefore also
to the apiElements-published). This copy task placed the
same klib into the 'libs' folder
- Before passing libraries to the compiler the, all files
that are likely to be the result of the 'copy' task (in any libs dir) were
filtered

After:
- The cinterop task's output files are *not* added as file dependency
- The cinterop task's output is added as artifact directly to
the 'apiElements' configuration
- There is no more need for a copy task
- There is no more need for manually filtering the 'libs' artifacts

Tested:
project to project dependencies,
project to project dependencies (with KGP based dependency resolution)
project to repository
project to repository (with KGP based dependency resolution)

^KT-37051 Verification Pending
2023-02-02 13:14:14 +00:00
Svyatoslav Kuzmich abf70a586c [Wasm] stdlib API: make kotlin.assert internal
Being disabled by default
 and not well-documented, these functions cause confusion among early
 adopters as to why their code don't work properly.

Assert APIs need a proper design across Kotlin platforms.
 Since APIs are not available in common code and K/JS, it is premature
  to have such a general feature in a new experimental platform.

Compiler tests:
* Mute tests that rely on assert.
* Replace JVM-specific assert calls with require calls and unmute passed K/JS tests.

Merge-request: KT-MR-8636
Merged-by: Svyatoslav Kuzmich <svyatoslav.kuzmich@jetbrains.com>
2023-02-02 07:06:12 +00:00
Artem Daugel-Dauge 70ace38788 [Gradle] Fix library artifacts naming in generated podspec
^KT-56304 Verification Pending
2023-02-01 16:51:49 +00:00
Sebastian Sellmair 1c1b6ff92a [Gradle] Implement MppIdeDependencyResolutionIT for platform cinterops and failing cinterops
^KT-56337 Verification Pending
2023-02-01 15:53:06 +00:00
Sebastian Sellmair fec9f9fe62 [Gradle] IdePlatformCinteropDependencyResolver: Retain cinterops for IDE in .gradle
^KT-56337 Verification Pending
2023-02-01 15:53:06 +00:00
Sebastian Sellmair ead2354fb7 [Gradle] IdePlatformCinteropDependencyResolver: Properly list build dependencies
^KT-56337 Verification Pending
2023-02-01 15:53:05 +00:00
Sebastian Sellmair bc98c47caa [Gradle] resolveCInteropDependencies (for ide): Handle non-existing files gracefully
During import, cinterop generation is lenient (as there
might be good reasons why certain hosts can't generate some
cinterop klibs). In this case, the resolution for IDE
should be lenient too. When a cinterop file is resolved, that is
not present on disk, we just send a 'IdeaKotlinUnresolvedBinaryDependency'
instead.

KT-56337
2023-02-01 15:53:05 +00:00
Ilya Goncharov f16eecb012 [Gradle, JS] Legacy deprecation arguments under ir backend disabled flag 2023-02-01 15:40:52 +00:00
Alexander.Likhachev ca60a4fcf9 [Build] Add a temporary workaround for KT-56357 2023-02-01 14:56:07 +01:00
Dmitriy Novozhilov a5f48e295e [Build] Add configuration cache compatibility workaround for MetadataDependencyTransformationTask 2023-02-01 11:31:45 +00:00
Zalim Bashorov 58e523b890 [Wasm] Change target directory for wasm intrinsics for finer tuning code owners
Also, minor cleanup in the generator.
2023-02-01 00:35:49 +01:00
Sebastian Sellmair b6ea04d789 [K/N] Don't add linkDependencies when serializing a metadata klib
^KT-56205 Verification Pending
2023-01-31 16:15:19 +00:00
Yahor Berdnikau 752de6c622 Don't override compilation freeCompilerArgs in link task
Calling '.addAll()' was replacing convention value leading for inability
to add/modify Kotlin/Native link task freeCompilerArgs via
KotlinCompilation.options.freeCompilerArgs. For now convention
was replaced by normal value.

^KT-56280 Fixed
2023-01-31 15:01:10 +00:00
Anton Lakotka 37007a28ac [Gradle] Report deprecated source set layouts outside after evaluate
^KT-55730 Verification Pending
2023-01-31 07:43:15 +00:00
Anton Lakotka 3c343543e9 [Gradle] Legacy metadata compilation should contain all source sets from
depends on closure of its default source set.

With HMPP it is no longer needed, since each source compiles
independently and sees its parent declarations via klib dependencies

^KT-55730 Verification Pending
2023-01-31 07:43:15 +00:00
Anton Lakotka 23f10a1d38 [Gradle] Deprecate case when commonMain depends on another source set
^KT-55824 Verification Pending
2023-01-31 07:43:14 +00:00
Sebastian Sellmair 35c0a3d391 [Gradle] Keep stdlib-common for shared native source sets
^KT-56278 Verification Pending
2023-01-30 14:50:50 +00:00
Pavel Kirpichenkov 25668ddd01 [MPP] Do not postpone warning reporting for HMPP props to afterEvaluate
The check itself happens during application time, remove the health
check wrapper for reporting to make the code more clear. One downside is
that the warning could be reported on misconfigured projects, but it's
a minor inconvenience.

KT-55891
2023-01-30 13:21:00 +00:00
Pavel Kirpichenkov a03db78ed2 [MPP] Fix warning reports for subprojects
Properly report warnings for projects that don't apply multiplatform
plugin in the root project, but declare the obsolete properties

KT-55891
2023-01-30 13:21:00 +00:00
Pavel Kirpichenkov b0c360b1b6 [MPP] Change the deprecation message for HMPP properties
KT-55891
2023-01-30 13:21:00 +00:00
Pavel Kirpichenkov 37c87b0a84 [MPP] Don't report HMPP deprecation warnings on subprojects
MPP plugin applied to a root project leads to false positive reports
in its subprojects. Also, granular metadata flag is not supposed to be
set in subprojects. Reporting only for the root project should cover
most of the cases.

KT-55891
2023-01-30 13:20:59 +00:00
Pavel Punegov c9aeadd31f [K/N] Remove old Compiler and Meta Version ^KT-55677 Fixed
* Replace it with KotlinCompilerVersion
* K/N version should be set now with `deployVersion`.
* Cleanup deprecated functions in older versions
 of the Gradle plugin
* Cleanup tests for older versions of compiler downloader

Merge-request: KT-MR-8436
Merged-by: Pavel Punegov <Pavel.Punegov@jetbrains.com>
2023-01-30 13:10:08 +00:00
Yahor Berdnikau 137e4b0422 Update duckduckgo benchmark
It is still not working due to koltin-androidx-extensions plugin usage.
2023-01-30 12:43:13 +00:00
Yahor Berdnikau 09ab70473d Update kvision benchmark 2023-01-30 12:43:13 +00:00
Yahor Berdnikau ff2de0e2b9 Also clean newly added files.
Some patches could add new file and after hard reset they are not
deleted. This leads to patch apply failure.

Updated JGit otherwise clean command was not working properly.
2023-01-30 12:43:12 +00:00
Yahor Berdnikau 5541d1d8a2 Update graphql-kotlin benchmark. 2023-01-30 12:43:12 +00:00
Yahor Berdnikau 3f4c824a23 Run benchmarks in the same suite
This should reduce variation in results, especially when overall time is
 quite low.
2023-01-30 12:43:12 +00:00
Sebastian Sellmair ace1bc76a1 [Gradle] IdeProjectToProjectCInteropDependencyResolver: Ensure lenient resolution
^KT-56285 Verification Pending
2023-01-30 12:42:05 +00:00
Dmitriy Novozhilov 71f8cfa193 [Maven] Fix running scripts from maven 2023-01-30 09:29:59 +00:00
Artem Kobzar d58d9a5c77 fix runing legacy js maven tests in integration tests. 2023-01-30 09:29:59 +00:00