Commit Graph

9997 Commits

Author SHA1 Message Date
Vyacheslav Gerasimov bc2f0936bd Build: Rename commonDep -> commonDependency 2021-12-16 21:48:19 +03:00
Sergej Jaskiewicz 6dc69adcc9 [JS IR] Don't mark Char as a value class
Char will still be treated as a value class
(see JsInlineClassesUtils.kt)
2021-12-16 12:46:11 +00:00
Alexander Udalov 6807ed6642 Do not write version requirements for suspend functions
Coroutines are a stable feature since 1.3. Version requirement on
suspend functions, or functions mentioning suspend function types in the
signature, was needed to prevent older compilers from reading metadata
that they can't properly use. It's not needed anymore because a newer
metadata version prevents older compilers from reading any metadata
altogether.

Also, computing isSuspendOrHasSuspendTypesInSignature took ~0.5% of
backend time on compilation of intellij (related to KT-48233).
2021-12-15 22:27:51 +01:00
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 1450f4d890 Implement property for explicit jvmTarget for script definition...
Apply the property to the default JSR-223 script taking the value from
java.specification.version property, so effectively implementing
jvmTarget detection from current VM.
Also drop enforcing of target 1.8, using common default.
#KT-49329 fixed
#KT-40497 fixed
2021-12-14 13:39:21 +03: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
Ilya Goncharov 4f1a10d72e [JS] Uncomment test on afterTest 2021-12-13 15:29:27 +00:00
Ilya Goncharov 0aec48876f Commit package-lock.json in kotlin-test-it 2021-12-13 12:36:57 +00: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
Ilya Gorbunov a829a6743d KT-50173 Fix Regex.escapeReplacement function in JS 2021-12-12 00:27:31 +00: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
Mikhael Bogdanov 239e79a241 JvmDefaultWithCompatibility. Update documentation 2021-12-09 07:40:07 +01:00
Igor Yakovlev 72e360be83 [WASM] More optimal way to keep regex decomposition table 2021-12-09 00:57:55 +01:00
konstantin.tskhovrebov 5b4af6f422 KT-50131 Open AbstractKotlinNativeCompile.compilerPluginClasspath for overriding 2021-12-08 21:02:23 +03:00
Mikhael Bogdanov 8c17d5f5a7 JvmDefaultWithCompatibility. Switch retention to source 2021-12-08 12:25:02 +01:00
Dmitry Petrov 93713a9ad4 JVM_IR KT-47939 use FunInterfaceConstructorReference as base class 2021-12-08 14:12:41 +03:00
Dmitry Petrov 9eeb8f54fb JVM_IR KT-47939 fixes after review 2021-12-08 14:12:39 +03:00
Dmitry Petrov e179598457 JVM_IR KT-47939 equality for fun interface constructor references 2021-12-08 14:12:38 +03:00
Ilya Goncharov 2a1396bafe [JS IR] Remove JsEagerInitialization after bootstrap update 2021-12-08 10:42:50 +00:00
Ilya Goncharov 0c74376cc4 rra/ilgonmic/after-test-promise
[JS] Node downloading for js ir integration kotlin test

[JS] Fix API of Promise

[JS IR] Promise symbol as lazy2

[JS] Support legacy compiler aftertest with promises

[JS IR] Generate finally for promised tests

[JS] Setup it tests for JS IR kotlin-test

Merge-request: KT-MR-5168

^KT-49738 fixed
2021-12-08 08:22:53 +00: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 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