Commit Graph

87609 Commits

Author SHA1 Message Date
sebastian.sellmair d5a081bf03 [MPP] [Android] KotlinAndroidTarget: filter AgpVersionAttr attribute
Ensure that the attribute com.android.build.api.attributes.AgpVersionAttr
is not published when creating the android usage contexts.

^KT-49798 Verification Pending
2021-11-22 10:48:43 +00:00
sebastian.sellmair 95018a9de0 [MPP] [Android] implement testAndroidMultiplatformPublicationAGPCompatibility
This test publishes a Multiplatform/Android library locally with
a given AGP version (7.1-*+) and tests the compatibility with older
AGP consumer versions.

Two projects will be tested:

multiplatformAndroidConsumer:
kotlin("multiplatform") + android target depending on
the previous publication as 'commonMainImplementation' dependency

plainAndroidConsumer:
kotlin("android") depending on the previous publication
as 'implementation' dependency.

Both projects will test the 'assemble' umbrella task to ensure,
compatibility with the given publication.

^KT-49798 implicitly covered as well
2021-11-22 10:48:43 +00:00
sebastian.sellmair 8c5f980c16 [MPP] [Android] implement testKT49798AgpVersionAttrNotPublished
This test covers ^KT-49798 by publishing an Android library and
checking that 'AgpVersionAttr' is not mentioned in any .module files
of those publications.
2021-11-22 10:48:42 +00:00
sebastian.sellmair f864e19d95 [Android] Add Gradle integration tests for AGP 7.1
^KT-49798
2021-11-22 10:48:42 +00:00
Alexander Shabalin 48bb9ae069 fixup! Fix remote executable path 2021-11-22 10:19:39 +00:00
Elena Lepilkina 7667200ad8 fixup! Fix for linuxArm64 2021-11-22 10:19:39 +00:00
Elena Lepilkina fe2f82430f fixup! Added assert 2021-11-22 10:19:38 +00:00
Elena Lepilkina 74260bc138 [K/N][perf] Add possibility to cross compile benchmarks and run them on remote machine 2021-11-22 10:19:38 +00:00
Dmitriy Novozhilov 9ba6683472 [TEST] Increase timelimit for running separate jvm process in box tests
Timelimit is increased from 1 to 1.5 minutes because in some cases
  (in parcelize tests) on windows tests can don't fit in 1 minute
  limit, which causes flaky failures of tests
2021-11-22 13:17:00 +03:00
Ilya Matveev cb0149cdca [K/N][build] Parallelize runtime building 2021-11-22 11:47:29 +03:00
Aleksei.Cherepanov 8e21e954ad Disable functionalTest source set for JPS build
Exclude functionalTest from :kotlin-gradle-plugin module for JPS build
2021-11-22 08:15:37 +00:00
Victor Petukhov 5c3835ab39 [FE 1.0] Don't use identifier in WhenMissingCase.kt if it wasn't provided
^KT-49702 Fixed
2021-11-22 10:44:06 +03:00
Victor Petukhov 42805db989 [FE 1.0] Take into account import aliases during hidden member resolution 2021-11-22 10:43:43 +03:00
Victor Petukhov c2de8712f2 Don't store strong references on thread local cache and clean-up request caches properly
^KT-46744 Fixed
2021-11-22 10:43:22 +03:00
Kristoffer Andersen be1c0bb9c1 [EE-IR] Support mutations by evaluator fragments
- box captured variables using `Ref`s, the same mechanism that's used
  for shared variables in closures.
2021-11-21 01:34:42 +01:00
Jinseong Jeon 3ccbd25856 FIR LC: populate inner classes in interfaces 2021-11-20 21:34:48 +01:00
Dmitry Petrov e525e25518 JVM KT-47851 fix redundant checkcast elimination 2021-11-20 23:29:19 +03:00
Dmitry Petrov 8b066fd345 JVM add tests for KT-49615 2021-11-20 23:29:18 +03:00
Kristoffer Andersen 7e633cf217 [IR] Refactor JvmSymbols to allow on-demand loading of (subsets of) symbols 2021-11-20 12:40:46 +01:00
Steven Schäfer 4b4ee78e5d kotlinx-metadata: Fix parsing of inlineClassUnderlyingType 2021-11-20 12:39:15 +01:00
Dmitry Petrov 77dde26c7c JVM KT-48944 improve performance of FunctionReference#equals
'getOwner()' computes KDeclarationContainer for function references,
which can be costly. Compare other FunctionReference properties first.
2021-11-20 10:31:07 +03:00
Dmitry Petrov aa0c2ddea5 JVM_IR fix nullability of special bridge return type 2021-11-20 07:27:22 +00:00
Nikolay Krasko 987cbd58e9 Refactoring: restore empty javadoc for all publications in kotlin-test
Partially revert 4dc45a4118
2021-11-20 10:11:37 +03:00
Nikolay Krasko 6a2c607862 Return source and javadoc publication for kotlin-test-wasm
Setting packaging to klib didn't work because it was overwritten below.

^KTI-692 Fixed
2021-11-20 10:11:32 +03:00
Nikolay Krasko 18ed361f9b Narrow down suppressAllPomMetadataWarnings() in kotlin-test publication 2021-11-20 10:11:27 +03:00
Mikhail Glukhikh cf104c8433 FIR: add status line to all failing black box tests 2021-11-20 03:37:31 +03:00
Tianyu Geng d0d1c8c4b9 Analysis API: add test for getReturnExpressionTargetSymbol
Also fix FIR and FE1.0 implementations.
2021-11-19 23:29:17 +01:00
Ilya Goncharov 7aef45d5cf [JS] Implement strategy with adapterTransformer on global object to mutate adapter of kotlin-test 2021-11-19 21:39:23 +00:00
Nikolay Krasko 272081d8cf Reduce dependency on teamcity.jetbrains.com when downloading dependencies 2021-11-20 00:05:51 +03:00
wrongwrong 6ecb5a1bd3 Fix ReadMe 2021-11-19 14:48:22 +01:00
Svyatoslav Scherbina 9476d4c647 Native: use Gradle exec for jsinterop invocation in jsinterop_math test
The previous implementation didn't log anything, including stdout,
stderr and the command line, and didn't detect non-zero exit code,
making it hard to investigate the test failures.
2021-11-19 11:54:46 +00:00
Pavel Punegov c5a02902a7 [K/N][build] Add artifacts depending on input in library task
Depending on noPack option compiler produces file or directory.
Artifact field that contains .klib file can't use @OutputDirectory
annotation. The same applies for @OutputFile with directory.
To workaround make an artifact field internal and use two optional
fields that return either file or directory depending on noPack option.
2021-11-19 11:29:53 +00:00
Pavel Punegov e3ac2b661a [K/N][build] Remove artifact overriding in library task
Depending on noPack option compiler produces file or directory.
Artifact field that contains .klib file can't use @OutputDirectory
annotation. The same applies for @OutputFile with directory.
2021-11-19 11:29:53 +00:00
Pavel Punegov cc7768e38f [K/N] Konan: override artifact property to use with OutputDirectory 2021-11-19 11:29:52 +00:00
Pavel Punegov f7e2572ccc [K/N][build] Add noPack option to Konan plugin
Make plugin aware of -nopack compiler option to correctly set outputs
without .klib suffix.
2021-11-19 11:29:52 +00:00
Sergej Jaskiewicz 060074a9d6 [JS IR] Don't concatenate string template segments with '' when possible
If concatenating with an empty string is a sure no-op, just don't do it.
2021-11-19 11:16:33 +00:00
Ilya Chernikov cad57e693f FIR: introduce declaration origin for binary classes from source module
in particular for incremental compilation when module is only partially
recompiled.
#KT-49750 fixed
2021-11-19 08:36:15 +01:00
Ilya Chernikov f324a81de7 Implement (failing) test for FIR IC - as in KT-49750 2021-11-19 08:36:15 +01:00
Alexander Udalov 59c5dddc88 Remove unused PrecomputedSuppressCache 2021-11-18 23:17:34 +01:00
Roman Artemev a0d67cb2e3 [JS IR] Support throwing linkage error in JS IR BE
- lower it into runtime API call
2021-11-19 01:16:37 +03:00
Roman Artemev 7f27ebc589 [JS IR] Add API to js runtime to throw linkage errors 2021-11-19 01:16:35 +03:00
Roman Artemev 53a65f818f [KLIB] Support partially linked klibs in Ir linker
Now it's possible to compile against klib even if in there are
references to declarations from other klibs which are no longer existed

 - add switch flag to turn on/off that mode
 - pass switch flag from JS CLI to JS Linker
2021-11-19 01:16:35 +03:00
Roman Artemev 650b04b4dd [JS IR] Make assert checks no unbound symbols left conditional 2021-11-19 01:16:34 +03:00
Roman Artemev e4585730d6 [IR] Add platform-agnostic builtin to throw linkage error 2021-11-19 01:16:33 +03:00
Roman Artemev 7d8f71d107 [JS IR] Add CLI flag and configuration key about partial linkage
- make possible to turn on/off linkage if klib contains unbound symbols
 - update jsExtraHelp test data
2021-11-19 01:16:32 +03:00
Roman Artemev 8381badcc4 [KLIB] Make IrModuleDeserializer constructor nullable 2021-11-19 01:16:30 +03:00
Roman Artemev 918ed1f077 [KLIB] Refactored IrSymbolDeserializer.kt
- extract function which creates a new symbols in linker
2021-11-19 01:16:29 +03:00
Roman Artemev df9d039c03 [KLIB] Don't use module descriptor to compute library in error reporter 2021-11-19 01:16:28 +03:00
Anton Bannykh de0b3e5b20 [JS IR] temporary skip some IC checks 2021-11-19 00:39:40 +03:00
Anton Bannykh 75368a2c06 [JS IR] tie together IC code in tests and K2JsIrCompiler 2021-11-19 00:39:37 +03:00