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
Sergey Igushkin
f19e65f2d4
Remove illegal dependsOn edges in MPP tests
...
Those dependsOn edges were not used in any way, and not assertion
checked for them. They are illegal according to KPM design, and
we generally consider such a setup unsupported with the stable MPP
plugin, too.
2022-02-14 15:05:07 +00:00
Sergey Igushkin
388cb96055
Model mapping: rework publications from legacy-mapped variants
...
Use the publication requests API to express all the details
of a legacy target's publications (artifact & attributes overrides)
2022-02-14 15:05:07 +00:00
Sergey Igushkin
4aeef7169d
Model mapping: support Metadata target
...
Add compilations to the metadata target according to the content
of the KPM metadata compilation registry (`main` module only)
2022-02-14 15:05:07 +00:00
Sergey Igushkin
289c42f431
Model mapping: fix the binaries task not created for Native targets
2022-02-14 15:05:06 +00:00
Sergey Igushkin
55eeb0ca8f
Model mapping: apply user-defined attributes in KPM
2022-02-14 15:05:06 +00:00
Sergey Igushkin
51f737056e
KPM: adjust naming to match the MPP plugin
...
Adjust the names of:
* dependency configurations
* elements configurations
* platform JAR tasks
* metadata JAR tasks
All of them omit the module name if it's `main
2022-02-14 15:05:05 +00:00
Sergey Igushkin
3361f015a5
Model mapping: add toString implementation for legacy-mapped variants
2022-02-14 15:05:05 +00:00
Sergey Igushkin
730ba811f6
KPM: filter out duplicates from directRefinesDependencies
2022-02-14 15:05:04 +00:00
Sergey Igushkin
882fd94e59
KPM: don't compile single-platform Native fragments to metadata KLIBs
2022-02-14 15:05:04 +00:00
Sergey Igushkin
52e8f1a32d
KPM: consider implementation dependencies as direct module dependencies
2022-02-14 15:05:04 +00:00
Sergey Igushkin
a58f04e30b
KPM: add module name to directory names in the sources JAR
...
For example, it will now be `common` -> `commonMain`, so that the
behavior emulates the sources JARs built by the stable MPP plugin
2022-02-14 15:05:03 +00:00
Sergey Igushkin
6546ebd248
KPM: In Native variants, expose the implementation dependencies as API
...
This simulates the behavior of the stable plugin which also exposes the
implementation dependencies in the Native targets.
2022-02-14 15:05:03 +00:00
Sergey Igushkin
f5a400a0eb
KPM: Fix JAR naming: put the platform name into appendix, not classifier
2022-02-14 15:05:02 +00:00
Sergey Igushkin
c21123cec8
KPM: Add the JVM JAR artifact to the projects archives configuration
...
This automatically sets up the dependency between the `assemble` task
and the task building the JAR
2022-02-14 15:05:02 +00:00
Sergey Igushkin
29fe11b957
KPM: change detection of single-platform fragments to support WASM
...
The previous predicate checked only for JVM/Android and JS, now the
check is independent of the particular platform
2022-02-14 15:05:01 +00:00
Sergey Igushkin
43f7d0fe95
KPM: print fragment names in the error from illegal refines(...) calls
2022-02-14 15:05:01 +00:00