Commit Graph

6580 Commits

Author SHA1 Message Date
Nikolay Krasko a74c68c70a Regenerate gradle options 2021-12-15 19:18:53 +03:00
Ilya Goncharov db9640c3b3 [Gradle, JS] Add gradle property for per-module/whole-program
Merge-request: KT-MR-5200
2021-12-15 09:08:45 +00:00
konstantin.tskhovrebov 2bb155edc1 KT-50159 Check that all inner frameworks in XCFramework have same names
And warn if XCFramework has different name with inner frameworks.

#KT-50159 Fixed
2021-12-14 14:47:42 +03:00
Yahor Berdnikau 1c8a1e656e Add function to make a snapshot of current test project
This will allow checking current state of test project and try
to work with it directly.

^KT-45745 In Progress
2021-12-14 12:45:51 +01:00
Ilya Chernikov ec2d6ea5f1 Restore script testing on both backends, fix some tests 2021-12-14 13:39:19 +03:00
Hung Nguyen 586fa8af64 KT-45777: Shrink classpath snapshot incrementally
Currently, we shrink classpath snapshots at 2 steps:
  - Classpath diffing: Shrink the current classpath snapshot against
    the previous lookup symbols
  - Classpath snapshot saving: Shrink the current classpath snapshot
    against the current lookup symbols

With this commit, the shrinking at the second step is now incremental.
The shrinking at the first step is still non-incremental.
2021-12-14 13:10:08 +03:00
Yahor Berdnikau 701446ad25 Pin 'debug.keystore' in two additional android plugins
Also pin it for 'com.android.feature' and 'com.android.test' plugins.

^KT-45745 In Progress
2021-12-13 22:36:27 +03:00
Piotr Krzeminski ad85813136 Allow running Chrome headless with '--no-sandbox' flag
Without this, one has to define a file like `karma.config.d/karma.conf.js`
with contents:

```js
config.set({
    browsers: ['ChromeHeadlessNoSandbox'],

    customLaunchers: {
        ChromeHeadlessNoSandbox: {
            base: 'ChromeHeadless',
            // Needed to work on Jenkins. Otherwise, there's an error:
            // 'Running as root without --no-sandbox is not supported. See https://crbug.com/638180.'
            flags: ['--no-sandbox'],
        }
    }
});
```

This change allows staying 100% in Gradle config for such configuration.
With growing usage of Kubernetes, this flag becomes more and more
popular.

Ideally the Karma config API in Gradle could be more flexible, so that
e.g. someone that uses Chromium could also use `--no-sandbox` flag.
However, it's some bigger change that influnces the API, so I want this
change to be simple.

Related Slack thread: https://kotlinlang.slack.com/archives/C0B8L3U69/p1639133380172400
2021-12-13 11:45:51 +03:00
Yahor Berdnikau 8ed0c17ebd Fix warning message was not showing correct property name
Show this message only once per build.

^KT-48826 Fixed
2021-12-09 17:05:07 +00:00
Igor Chevdar 617b3bd59d [gradle][tests] Fixed flaky test for KT-49248 2021-12-09 13:55:29 +05:00
Viacheslav Kormushkin c2a4425784 [Gradle][Cocoapods] Fixed project sync issues when cocoapods are used along with manual framework creation
#KT-50105
2021-12-09 08:28:44 +00:00
konstantin.tskhovrebov 5b4af6f422 KT-50131 Open AbstractKotlinNativeCompile.compilerPluginClasspath for overriding 2021-12-08 21:02:23 +03:00
sebastian.sellmair 3002829acf [Gradle][KPM] Rename KotlinFragmentNameDisambiguation into KotlinNameDisambiguation 2021-12-07 21:38:59 +00:00
sebastian.sellmair 2a43199287 [Gradle][KPM] Split fragment specific configurations from KotlinDependencyConfigurations 2021-12-07 21:38:59 +00:00
sebastian.sellmair d7df56a390 [Gradle][KPM] Minor: Cleanup imports, remove unused code and add documentation 2021-12-07 21:38:59 +00:00
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 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 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
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
Ilya Gorbunov 760e35d3b7 chore: update ant version for docs build 2021-12-02 20:59:46 +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
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
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