Commit Graph

91259 Commits

Author SHA1 Message Date
Alexander Likhachev aba495f63c [Gradle] Remove deprecated experimental annotation methods & properties
#KT-47763 Fixed
2022-02-16 08:27:46 +00:00
Pavel Kirpichenkov 0bf6f1eb83 [MPP] Fix default parameter value for optimistic commonization in KGP
KT-51332
2022-02-15 21:29:46 +03:00
Yahor Berdnikau 570da57739 Add 'kotlin.native.distribution.baseDownloadUrl' property
This property will allow customizing Kotlin/Native compiler download
url. For example, useful when company does not allow contacting internet
directly and requires using proxy.

^KT-47746 Fixed
2022-02-15 16:04:51 +01:00
Svyatoslav Scherbina d0a26d1d85 [Gradle, Native] Enable embeddable compiler jar by default
For Kotlin/Native compilations, apply generic (backend-agnostic)
compiler plugin artifacts instead of Native-specific ones by default.

`kotlin.native.useEmbeddableCompilerJar=false` project property allows
switching to the previous legacy behaviour. This flag will be removed
in a future release.

^KT-48595 Fixed
2022-02-15 14:35:56 +00:00
Svyatoslav Scherbina 0c6421d53f Native: switch CLI compiler and tools to embeddable compiler jar
To keep it consistent with Gradle plugin. See ^KT-48595
CLI compiler launched with arguments obtained from Gradle log
should be able to handle plugins.
2022-02-15 14:35:07 +00:00
Dmitriy Novozhilov 4f4755a976 Advance bootstrap to 1.7.0-dev-1816 2022-02-15 14:49:19 +03:00
Hung Nguyen 39b7c6e326 KT-34862: Clean up tests for incremental compilation after cache hit
Make sure that:
  - Compilation with -Pkotlin.incremental.useClasspathSnapshot=true or
    -Dkotlin.incremental.classpath.snapshot.enabled=true is incremental
    after cache hit.
  - Default compilation (using build history files) is non-incremental
    after cache hit.

Also unify the related tests into
BuildCacheRelocationIT.testKotlinIncrementalCompilation*. We don't need
corresponding tests in BuildCacheIT because BuildCacheRelocationIT
already covers it.
2022-02-15 14:05:58 +03:00
Pavel Punegov 33931bf010 [K/N][test] Ignore test that uses JvmInline 2022-02-15 12:41:25 +03:00
Yahor Berdnikau ff3a08de6e Cleanup JVM toolchain implementation
Remove support for <Gradle 6.7 and fix extension method to accept
'JavaToolchainSpec' instead of 'Any'.

^KT-47924 Fixed
2022-02-15 09:36:31 +00:00
Svyatoslav Kuzmich 016143328a [Wasm][Gradle] Enable asyncWebAssembly and topLevelAwait in webpack.
Needed for new async module ESM launchers.

Merge-request: KT-MR-5738
Merged-by: Svyatoslav Kuzmich <svyatoslav.kuzmich@jetbrains.com>
2022-02-15 09:19:05 +00:00
Mikhail Glukhikh 582e8fc9ad Fix PSI consistency test accordingly to changes in RawFirBuilder 2022-02-15 11:48:54 +03:00
Mikhail Glukhikh 2ac2fa5353 Flatten if chains also in LT FIR 2022-02-15 11:48:54 +03:00
Jinseong Jeon bb766a5235 RAW FIR: flatten if chains 2022-02-15 11:48:53 +03:00
Mikhail Glukhikh 5cec068d36 FIR2IR: fix generation of source overridden symbols
This commit makes source overridden and f/o overridden consistent.
2022-02-15 08:40:28 +00:00
Mikhail Glukhikh 74fe603a29 FIR: add IR text test for overrides generation 2022-02-15 08:40:28 +00:00
Ilmir Usmanov 714c5091cc Add regression test for KT-51254
#KT-51254 Fixed
2022-02-15 08:11:21 +01:00
Ilmir Usmanov 00a08fc6a4 Minor. Add tests and comment about copying generic parameters to
constructor, but not function reference to the constructor.

 #KT-32162
2022-02-15 08:11:19 +01:00
Ilmir Usmanov 84ccf412cb Minor. Ignore some tests on old JVM, JS_IR, JS and WASM
#KT-32162
2022-02-15 08:11:18 +01:00
Ilmir Usmanov 2fedb97d16 Correctly map nullable generic underlying value of inline class
if upper bound is primitive type.
 #KT-32162
2022-02-15 08:11:17 +01:00
Ilmir Usmanov 71729ec43c Copy type parameter to function reference
This fixes callable references to inline class with generic underlying
value constructor.
 #KT-32162
2022-02-15 08:11:16 +01:00
Ilmir Usmanov 9bdbbb44cf Do not generate not-null assertions if underlying type is nullable
in case of deep upper bound hierarchy of generic underlying value,
especially when upper bound is another inline class with generic
underlying value.
 #KT-32162
2022-02-15 08:11:15 +01:00
Ilmir Usmanov a7e2f7a6b6 Map nullable type parameter with nullable inline class upper bound
which, in turn, has primitive or nullable underlying type to inline
class.
 #KT-32162
2022-02-15 08:11:15 +01:00
Ilmir Usmanov e8977d77e6 Do not count type parameters of inline class with generic underlying
value twice, when counting type parameters for inner class inside
init block.
 #KT-32162
2022-02-15 08:11:14 +01:00
Ilmir Usmanov cece7120df Minor. Add more tests 2022-02-15 08:11:13 +01:00
Ilmir Usmanov c8817893d4 Support default parameters of inline type with generic underlying value
#KT-32162
2022-02-15 08:11:11 +01:00
Ilmir Usmanov 4f95171472 Minor. Add tests 2022-02-15 08:11:10 +01:00
Ilmir Usmanov 909b455758 Support generic underlying type of inline class in FIR
#KT-32162
2022-02-15 08:11:09 +01:00
Ilmir Usmanov 9060168542 Support generic underlying type of inline class
Use upper bound in JVM representation.
 #KT-32162
2022-02-15 08:11:08 +01:00
Dmitry Petrov 732b8d4067 IR fix isMarkedNullable for DNN types 2022-02-15 05:20:42 +00:00
Dmitry Petrov 4802061b87 JS_IR fix erasedUpperBound for DNN types 2022-02-15 05:20:42 +00:00
Alexander Udalov 7952e8b28f Add JVM target bytecode version 18
#KT-51309 Fixed
2022-02-14 21:21:57 +01:00
Vyacheslav Gerasimov 649f246cef Build: Normalize line separators in components.xml
of kotlin-scripting-dependencies-maven-all jar to produce same binaries
on linux and windows

 #KTI-782
2022-02-14 18:59:06 +03:00
Sergey Igushkin 6cc73a73ce KT-MR-5666 Make CompilationDetails.directlyIncludedSourceSets read-only 2022-02-14 15:05:15 +00:00
Anton Lakotka b3bd92ddaa [Gradle] update testKpmModelMapping to run only MPP + Android tests
Add test config for running KPM model mapping with advanced gradle
version
2022-02-14 15:05:15 +00:00
Sergey Igushkin 7048cc3139 KT-MR-5666 Revert removal of default impl for relatedConfigurationNames 2022-02-14 15:05:14 +00:00
Sergey Igushkin 619381e462 KT-MR-5666 Get the older semantics of compileAllTask & outputs
This doesn't suffer from `compilation.allOutputs` not being configurable
and follows the previous implementation
2022-02-14 15:05:14 +00:00
Sergey Igushkin ce53f347a0 KT-MR-5666 Remove reverse mapping in K/N, as the platforms work in KPM 2022-02-14 15:05:13 +00:00
Sergey Igushkin f3606cdd9e KT-MR-5666 Model mapping: throw clearer error for non-MPP projects 2022-02-14 15:05:13 +00:00
Sergey Igushkin a37217809f KPM: Remove the workaround for excluding Android non-AAR variants
It is no longer needed with custom code for Android variants publication
setup.
2022-02-14 15:05:13 +00:00
Sergey Igushkin a574a1f6d2 KT-MR-5666 SourceSetMappedFragmentLocator
* fix choosing longest module name (did mistakenly choose shortest)
* fix missing return for single-part name
* add unit tests
2022-02-14 15:05:12 +00:00
Sergey Igushkin 5e8c74d3ad KT-MR-5666 Minor fixes, refactorings & formatting 2022-02-14 15:05:12 +00:00
Sergey Igushkin 97bb0110c3 KT-MR-5666 Sane default for newDependencyFilesHolder's dependencyFiles 2022-02-14 15:05:11 +00:00
Sergey Igushkin faf2f3e48d KT-MR-5666 Use SetProperty for artifacts in place of ListProperty 2022-02-14 15:05:11 +00:00
Sergey Igushkin b926f3ea2f KT-MR-5666 Keep dep graph utils internal; reuse transitive closure utils 2022-02-14 15:05:10 +00:00
Sergey Igushkin 7a4d81f87f Model mapping: remove interface delegation in AbstractKotlinCompilation 2022-02-14 15:05:10 +00:00
Sergey Igushkin a81049a180 Model mapping: support Android targets 2022-02-14 15:05:10 +00:00
Sergey Igushkin bfbefed331 Model mapping: support mavenPublication { ... } DSL 2022-02-14 15:05:09 +00:00
Sergey Igushkin ffec4a1a43 Model mapping: simulate associateWith by just adding a module dependency 2022-02-14 15:05:09 +00:00
Sergey Igushkin ab8284d5b8 KPM, Model mapping: setup source paths for fragments by source set names
When a fragment is represented as a source set in the mapped model, the
source set name may differ from <fragmentName><moduleName>. For example,
some source set names don't end with *Main or *Test. In case we can
detect the source set that represents the fragment, use the
source set name for the fragment's sources directory.
2022-02-14 15:05:08 +00:00
Sergey Igushkin 3e8b27db4b Model mapping: reorder setup, create the modules early
This is needed in order for the fragment locator to correctly
locate the test module when the `commonTest` source set is created.
2022-02-14 15:05:08 +00:00