Anton Lakotka
a74e451d19
[Gradle] Make CInteropGist Gradle Configuration Cache friendly
...
`sourceSets: Provider<Set<KotlinSourceSet>>` shouldn't be serialized to
Configuration Cache. Instead, only `allSourceSetNames` should be
serialized.
2022-08-05 04:25:07 +00:00
Anton Lakotka
af717e03bd
[Gradle] Support KotlinNativeLinkArtifactTask with Configuration Cache
2022-08-05 04:25:07 +00:00
Anton Lakotka
eaa5d43a5d
[Gradle] Support CInteropCommonizerTask with Gradle Configuration Cache
2022-08-05 04:25:06 +00:00
Anton Lakotka
15abdb7e35
[Gradle] Mark CInteropMetadataDependencyTransformationTask as incompatible with GCC
2022-08-05 04:25:05 +00:00
Anton Lakotka
e6ca1c9744
[Gradle] Add FileCollection version of filterKlibsPassedToCompiler
2022-08-05 04:25:04 +00:00
Anton Lakotka
54024ccb09
[Gradle] Refactor ResolvedDependencyGraph to instantiate via secondary constructor
2022-08-05 04:25:04 +00:00
Anton Lakotka
3260c33c16
[Gradle] Refactor ResolvedDependencyGraph to use Lazy instead provider
...
It simplifies constructor API.
Also constructor changed from `operator fun invoke` to just a regular
factory method on companion object.
2022-08-05 04:25:03 +00:00
Anton Lakotka
d086fedffc
[Gradle] Use FileCollection instead lambda + lazy in KotlinNativeToolRunner
...
FileCollection is lazy on its own.
2022-08-05 04:25:02 +00:00
Anton Lakotka
1af804c897
[Gradle] Evaluate rootCacheDirectory on demand
...
To avoid failures in Gradle Configuration Cache due to illegal cacheKind
2022-08-05 04:25:02 +00:00
Anton Lakotka
9a5739555c
[Gradle] Refactor NativeDistributionCommonizerCache to be GCC friendly
...
Change NativeDistributionCommonizerCache from "decorator" pattern to
be used as composition in related GradleTask. This allows to decouple
cache from actual commonizer instance. Allowing it to be stored in
Gradle Configuration Cache. Since Commonizer instance is created only
during execution phase.
Don't serialise `Lock` instance as Configuration Cache. Instead,
reinstantiate it everytime after deserialization.
2022-08-05 04:25:01 +00:00
Anton Lakotka
6e29075c3c
[Gradle] Introduce TransientLazy for ResolvedDependencyGraph
...
Gradle Configuration Cache writer serialises objects that implement
java.lang.Serializable interface. SynchronizedLazyImpl does implement it
by initialising value before serialization.
This can cause issues for GCC because after initialisation value
can contain unsupported entities that Gradle can't save as
Configuration Cache.
Gradle can serialise lambdas so UnserializableLazy implementation
benefits from it.
2022-08-05 04:25:00 +00:00
Anton Lakotka
2f5ae70cef
[Gradle] Fix kotlin-native-gradle-plugin to be compatible with KonanToolRunner
...
KonanToolRunner was changed to be compatible with
Gradle Configuration Cache.
2022-08-05 04:25:00 +00:00
Anton Lakotka
98c47a8a51
[Gradle] Fix validatedExportedLibraries to work with ResolvedDependencyGraph
...
Instead of ResolvedConfiguration
2022-08-05 04:24:59 +00:00
Anton Lakotka
4511c7faa9
[Gradle] Update testHmppTasksAreNotIncludedInGradleConfigurationCache
...
Generate PSM and K/Native tasks support Configuration Cache now
2022-08-05 04:24:58 +00:00
Anton Lakotka
becdb84bbb
[Gradle] Replace usage of ResolvedConfiguration to ResolvedDependencyResult
...
ResolvedConfiguration is a legacy API that doesn't work with
Gradle Configuration Cache.
ResolvedDependencyResult is cacheable but lightweight.
2022-08-05 04:24:57 +00:00
Anton Lakotka
ebe7544464
[Gradle] Make evaluation of rootCacheDirectory lazy in Native task
...
It was broken due to 91779c298e5a819345a09c5bc9cca1b7c4a18797
And this change makes it behave as it was before
adding support for Configuration Cache.
2022-08-05 04:24:57 +00:00
Anton Lakotka
edd1d72609
[Gradle] Add support of configuration cache for CInteropProcess
2022-08-05 04:24:56 +00:00
Anton Lakotka
3f94a5ce53
[Gradle] Add Configuration Cache support for native tasks
...
* Replace `project.provider` that captures `project` inside lambda to
`lazy`. This is a workaround of this bug gradle/issues/20820
* Lift all the settings-like properties that was used during execution
to configuration phase
^KT-43293
2022-08-05 04:24:55 +00:00
Anton Lakotka
508235ce08
[Gradle] Make Kotlin Native tool runners GCC friendly
...
Remove project usage with either GradleExecutionContext or
associated Settings class.
Set of Setting classes are meant to be created upon configuration phase.
Therefore, they have to be easily serializable without heavy
payload. They also annotated for Input/Output checks.
^KT-43293
2022-08-05 04:24:55 +00:00
Anton Lakotka
c6d32f7a60
[Gradle] Config Cache for platform commonizer task
...
^KT-49933
2022-08-05 04:24:54 +00:00
Anton Lakotka
e8040fcf77
[Gradle] Replace project with GradleExecutionContext in KotlinToolRunner
...
Gradle Project cannot be used during Task Execution Phase with enabled
Configuration Cache. This change allows to avoid using Project.
^KT-43293
2022-08-05 04:24:53 +00:00
Alexander Likhachev
ce72948a21
[Gradle] Remove the system property for compiler execution strategy
...
#KT-51831 Fixed
2022-08-04 23:28:37 +00:00
Simon Ogorodnik
2a16fe1d0f
FIR: Fix overloading by type-arguments
...
In K1, upper bound violated causes candidate to have lower applicability
due to constraint errors, in K2 however constraint errors has to be
reported explicitly
2022-08-04 22:56:08 +02:00
Artem Kobzar
2d85eddeb9
[FIR] test: add a test case for reified inline functions with a same name in different packages.
2022-08-04 22:56:07 +02:00
Denis.Zharkov
11a26e540e
Revert "KT-35811: Type parameter angle brackets followed by equal sign are parsed incorrectly if whitespace is missing"
...
This reverts commit a2077f9063 .
2022-08-04 17:50:00 +02:00
Denis.Zharkov
2ae2a7e442
Revert "KT-8263: Conditional operators are not parsed correctly"
...
This reverts commit 85800b4f9f .
2022-08-04 17:49:42 +02:00
Ilya Kirillov
6be2483824
[Analysis API FIR] rethrow IndexNotReadyException
2022-08-04 14:33:44 +00:00
Igor Chevdar
5078d2eed8
[K/N] Added new output kind (will be used later)
...
PRELIMINARY_CACHE only builds additional (IR-based) info for a cache,
will be used later in per-file caches
2022-08-04 14:12:06 +00:00
Igor Chevdar
b82554dea1
[utils][K/N] Added some util functions to File
2022-08-04 14:12:05 +00:00
Iven Krall
85800b4f9f
KT-8263: Conditional operators are not parsed correctly
2022-08-04 11:24:09 +00:00
Iven Krall
a2077f9063
KT-35811: Type parameter angle brackets followed by equal sign are parsed incorrectly if whitespace is missing
2022-08-04 11:24:08 +00:00
konstantin.tskhovrebov
9bec1a6358
[KT-53340] Cocoapods: change default framework linking type to DYNAMIC.
2022-08-04 10:08:37 +00:00
konstantin.tskhovrebov
c12318a62e
[KT-53340] Cocoapods fix: use 'schemeName' for pod build task name.
...
Project with several same subspecs was broken but test was green by accidence.
2022-08-04 10:08:36 +00:00
konstantin.tskhovrebov
96c0796296
[KT-53340] Cocoapods fix: configure linker for default frameworks.
...
There was a hidden problem: linker options was applied
only if `framework` dsl was used.
2022-08-04 10:08:35 +00:00
konstantin.tskhovrebov
b58d2d72e7
[KT-53340] Cocoapods fix: apply config only to registered frameworks.
2022-08-04 10:08:35 +00:00
konstantin.tskhovrebov
c37017641a
[KT-53340] Cocoapods: delete deprecated frameworkName property.
2022-08-04 10:08:34 +00:00
konstantin.tskhovrebov
02e192c08a
[KT-53340] Cocoapods: use framework name and linking type providers.
...
Providers don't require synchronization between real framework attribute
and local value.
2022-08-04 10:08:33 +00:00
Pavel Kirpichenkov
2a43247a8f
[MPP] Remove explicit compilation config names from tests
...
KT-49877
2022-08-04 09:02:49 +00:00
Pavel Kirpichenkov
23151a5295
[MPP] Add android target to the name clash test
...
KT-49877
2022-08-04 09:02:48 +00:00
Pavel Kirpichenkov
5536cf1df1
[MPP] Update Android associate compilation dependencies handling
...
Don't add associate dependencies to test runtime classpath as it's managed by AGP
and might lead to duplicate dependencies and runtime problems.
KT-49877
2022-08-04 09:02:48 +00:00
Pavel Kirpichenkov
857d8aa8ae
[MPP] Fix Android test-on-main dependencies
...
Add dependencies from associated compilations conventionally
for Android, as it's done for all other multiplatform targets.
It used to work unintentionally before because of the configuration
name clash between test compilation and its default source set.
KT-35916
KT-49877
2022-08-04 09:02:47 +00:00
Pavel Kirpichenkov
69bb85f71f
[MPP] Disambiguate compilation and source set configurations
...
Add 'compilation' postfix to configuration names of compilations.
This is necessary to distinguish them from source set ones.
Without the change, default source sets of test compilations
and the test compilations themselves have the same name.
For instance, jvmTestImplementation was interpreted as
a configuration for a source set jvmTest and a compilation
with the same name. This leads to incorrect configuration
hierarchies and unexpected dependencies in them.
KT-35916
KT-49877
2022-08-04 09:02:44 +00:00
Ilya Gorbunov
f91ea4b4d9
Add more tests for 'contains' in ranges #KT-52933
...
- ranges produced by 'rangeUntil' operator
- ranges of unsigned values
- more elements in ranges produced by `downTo`
2022-08-03 22:18:14 +00:00
Ilya Gorbunov
a044555299
Do not run rangeUntil operator tests in old JVM BE #KT-52933
2022-08-03 22:18:12 +00:00
Sergej Jaskiewicz
5e34ae5e0d
[IR] Print annotations in source range compiler tests
2022-08-03 16:45:56 +00:00
Sergej Jaskiewicz
9dc7fe24f6
[psi2ir] Emit source info for annotation parameters
...
We need this in the JS IR backend for annotations like
@JsFun and @JsPolyfill
2022-08-03 16:45:55 +00:00
Ilya Gorbunov
5fc6097eb6
Mark backing fields of rarely used charsets volatile #KT-53134
2022-08-03 15:51:18 +00:00
konstantin.tskhovrebov
20ed72152b
[KT-53131] XCFramework: add missing watchosX86 target.
2022-08-03 17:48:44 +02:00
Aleksei.Cherepanov
92551b7685
Prevent overwriting output dir to empty string
...
#KTIJ-921 Fixed
Co-authored-by: Alexander Udalov <Alexander.Udalov@jetbrains.com >
Merge-request: KT-MR-6183
Merged-by: Aleksei Cherepanov <aleksei.cherepanov@jetbrains.com >
2022-08-03 14:46:32 +00:00
Artem Kobzar
b9a80284c8
[K/JS] fix(TS): save type hierarchy for exported classes.
2022-08-03 14:16:30 +00:00