Commit Graph

9967 Commits

Author SHA1 Message Date
sebastian.sellmair 444b88e438 [Gradle][KPM] Reference Configurations directly
Configurations are not registered/created lazily which makes
referencing NamedDomainObjectProvider over Configurations unnecessary
for now.
2021-12-07 21:38:58 +00:00
sebastian.sellmair 032981dd83 [Gradle][KPM] Implement KotlinCompilationOutputsJarArtifactConfigurator 2021-12-07 21:38:58 +00:00
sebastian.sellmair e8da9c007c [Gradle][KPM] Make 'locateOrRegister' internal 2021-12-07 21:38:58 +00:00
sebastian.sellmair 6b9c73de5d [Gradle][KPM] Implement KotlinCommonFragmentFactoryTest 2021-12-07 21:38:57 +00:00
sebastian.sellmair 8260616fe4 [Gradle][KPM] Implement KotlinGradleModuleFragmentContainerTest 2021-12-07 21:38:57 +00:00
sebastian.sellmair 60633335ef [Gradle][KPM] Implement *VariantFactoryTests 2021-12-07 21:38:56 +00:00
sebastian.sellmair 1fb723f844 [Gradle][KPM] Split fragment factories into composable entities
This compasability will ensure that external target authors
(AGP) are able to reuse most of KPM code whilst allowing a lot of
customizability.
2021-12-07 21:38:56 +00:00
Yahor Berdnikau 59ec10eb9c Pin AGP 'debug.keystore' in the repo.
This change adds shared 'debug.keystore' into the repository and
sets all the tests to use it.

Fixes issue when keystore was created by AGP 7+, but then consumed in
the test using lower versions of AGP.

^KT-45745 In Progress
2021-12-07 19:48:34 +00:00
Yahor Berdnikau 782b4f64be Apply default pluginManagement in settings for old test setup.
Cleanup non-required configuration in test projects settings.

^KT-45745 In Progress
2021-12-07 19:48:34 +00:00
Yahor Berdnikau 40489e9b8d Support modifying 'setting.gradle.kts' as well.
Test dsl will update 'settings.gradle.kts' with required plugin
management block.

^KT-45745 In Progress
2021-12-07 19:48:33 +00:00
Igor Yakovlev ea060dcf8a [WASM] Implement lazy with UnsafeLazyImpl 2021-12-07 21:33:34 +03:00
Igor Yakovlev d55e16a030 [WASM] Regex std implementation 2021-12-07 21:33:31 +03:00
Igor Yakovlev 86daff8ae8 [WASM] Fix invalid exception type for IOOB array access 2021-12-07 21:33:24 +03:00
Igor Yakovlev 34c6abe0bd [WASM] Add Long.toString(radix) implementation 2021-12-07 21:33:14 +03:00
Igor Yakovlev 73ca478fbd [WASM] Add string to double conversion to Stdlib
This version is not completely correct - there is some IEEE rouding issue that, apparently, require to implement different algorithm with BigIntegers implementation.
2021-12-07 21:33:07 +03:00
Igor Yakovlev 9408499da9 [WASM] Add std text implementations 2021-12-07 21:32:59 +03:00
sebastian.sellmair 1b4f519701 [Gradle][KPM] Add missing OptIn(InternalIdeApi::class) 2021-12-07 17:53:23 +00:00
sebastian.sellmair 493824aee7 Minor: kotlin-gradle-plugin/build.gradle.kts: Optimise imports 2021-12-07 17:53:23 +00:00
sebastian.sellmair 5b6180ba58 [Gradle][KPM] Implement AbstractIdeFragmentDependenciesTest
- Split IdeFragmentDependencyResolverTest into
  - KpmProjectToKpmProjectIdeFragmentDependenciesTest
  - KpmProjectToMppProjectIdeFragmentDependenciesTest

- Implement secondary constructor for SourceLocalIdeFragmentDependency
2021-12-07 17:53:22 +00:00
sebastian.sellmair 6129d920c7 [Gradle][KPM] Implement IdeFragmentDependency(&Resolver)
This apis are expected to be called reflectively during
Gradle/Ide import of KPM projects.
2021-12-07 17:53:22 +00:00
sebastian.sellmair 00ed41a81e [Gradle][KPM] Implement FragmentGranularMetadataResolverFactory
The logic is intended to be reused in ide import related logic
2021-12-07 17:53:21 +00:00
sebastian.sellmair ea698838dd [Gradle][KPM] Minor: Reuse logic in common toModuleIdentifier function 2021-12-07 17:53:21 +00:00
sebastian.sellmair 66521de4e2 [Gradle][KPM] Minor: FragmentGranularMetadataResolver rename 'metadataExtractor'
This renaming shall disambiguate the projectStructureMetadataExtractor
from the 'metadataProvider'
2021-12-07 17:53:21 +00:00
Mikhael Bogdanov a1262a4ecd Rename JVM default flags 2021-12-06 14:20:25 +01:00
Mikhael Bogdanov ea58c858d1 JvmDefault. Support @JvmDefaultWithCompatibility annotation
#KT-48217 Fixed
2021-12-06 14:20:24 +01:00
Alexander Likhachev 5802ab1342 [Gradle, K/N] Use TCA-compliant API in KotlinNativeTargetConfigurator
#KT-47768 Fixed
2021-12-06 10:37:48 +00:00
Ilya Gorbunov eba6a4a000 KT-44089 Reflect Android SDK version to determine whether platform implementatoins are eligible
SDK version sanity check, suppress all reflection errors, duplicate SDK reflection code for more robustness
2021-12-06 12:24:45 +03:00
Ilya Gorbunov fe77046fe4 KT-44089 Try to use all known PlatformImplementation classes in Android
Currently platform method implementations loaded are limited by the
java.specification.version system property value, however that property
always returns 0.9 in Android.
2021-12-06 12:24:43 +03:00
Ilya Gorbunov 9c90d4e471 KT-50033 Add missing public API packages to module-info and setup a test
The test checks that new packages are not accidentally non-exported,
so each new stdlib package must be either exported or specified in that
test's expected non-exported package list.
2021-12-06 00:58:51 +00:00
Yahor Berdnikau 699671cb82 Ported forward additional changes for TaskOutputsBackup.
^KT-49782 Fixed
2021-12-03 21:24:34 +03:00
Anton Lakotka 550f5cf776 [Gradle] Mute Gradle Configuration Cache test for HMPP projects
Relates to #KT-49933
2021-12-03 17:54:56 +00:00
Anton Lakotka bdb94e282f [Gradle] Remove redundant HMPP Flags from integration tests
These flags are now set by default and hence no longer do any effect:
 * kotlin.mpp.enableGranularSourceSetsMetadata=true
 * kotlin.native.enableDependencyPropagation=false
 * kotlin.mpp.enableHierarchicalCommonization=true
2021-12-03 17:54:56 +00:00
Anton Lakotka c2ef443b0a [Gradle] Fix gradle integration tests after enabling HMPP by default 2021-12-03 17:54:56 +00:00
Anton Lakotka 6fd76a0ae6 [Gradle] Dont fail when resolving MetadataDependencies configuration
When HMPP project depends on non-mpp (ex. java) gradle project
Resolving *MetadataDependencies configurations should not fail due to
lack of Gradle's Kotlin MPP Extension.
Simply return null when no such extension found in non-mpp project.
2021-12-03 17:54:55 +00:00
Anton Lakotka 9a2f18581c [Gradle] Enable HMPP by default
Relates to KT-46721
2021-12-03 17:54:55 +00:00
Alexander Likhachev 1d2e60a2af [Gradle] Measure TESTS_EXECUTED & COMPILATION_STARTED metrics report time 2021-12-03 15:59:48 +00:00
Alexander Likhachev 59b6aefe67 [Gradle] Validate compiler classpath & invoke compiler in single action
#KT-50037 Fixed
2021-12-03 15:59:47 +00:00
Ilya Goncharov 12ea7a9092 [Gradle, JS] Use incremental compilation only for development in IR 2021-12-03 11:59:04 +03:00
Mikhael Bogdanov 0997207c7c Apply -Xjvm-default for specific modules only 2021-12-03 06:39:38 +01:00
Ilya Gorbunov 760e35d3b7 chore: update ant version for docs build 2021-12-02 20:59:46 +03:00
Ilya Gorbunov 64c3aef7ab Reduce the chance shuffle produces an identical permutation in test 2021-12-02 20:58:53 +03:00
Dmitry Petrov d5da130d4b KT-47939 FunInterfaceConstructorReference 2021-12-02 20:28:06 +03:00
Anastasiya Shadrina d47cf315e7 [Metadata] Add context receivers to metadata.proto
[Tests] Add JvmVersionRequirementTest
2021-12-02 20:24:20 +03:00
Anastasiya Shadrina e3f987459c [PSI, FE] Support functional types 2021-12-02 20:24:11 +03:00
Sergej Jaskiewicz 86cabf3bb7 [JS IR] Use Uint16Array as CharArray's storage 2021-12-02 12:39:41 +00:00
Sergej Jaskiewicz 67dfe7bed1 [JS IR] Make Char a value class (again)
#KT-35100 Fixed
2021-12-02 12:39:40 +00:00
Sergej Jaskiewicz 599f705842 [stdlib] Make @LowPriorityInOverloadResolution applicable to ctors 2021-12-02 12:39:40 +00:00
Yahor Berdnikau 2aa1c187d9 Revert "Set minimal supported Gradle version to 6.7.1."
Temporary until 1.6.20 release branching.

This reverts commit 4c3404888a.

^KT-49733 Open
2021-12-02 15:05:54 +03:00
Ilya Muradyan 7283ea86af [scripting] Fix Kotlin reflection metadata for script constructors 2021-12-02 01:49:58 +03:00
mvicsokolova 93561a1a55 kotlinx.atomicfu compiler plugin for JS_IR backend (#4581)
* kotlinx.atomicfu compiler plugin for JS_IR

Support transformations of atomic operations introduced by the kotlinx.atomicfu library for the JS_IR backend. Compiler plugin is applied externally by the kotlinx.atomicfu gradle plugin.

* Apply compiler plugin for JS platform only

* New plugin test structure

* testGroupOutputDirPrefix changed
2021-12-01 22:33:13 +03:00