Sergey Igushkin
44fcd7e891
Use KotlinCompilationTaskConfigurator for metadata compilation tasks
2021-04-23 00:43:09 +03:00
Sergey Igushkin
4cb6303fa8
Get rid of kotlinPluginVersion in the constructors throughout the plugin
...
We passed the kotlinPluginVersion which was only used for a single
purpose in countless constructors.
In fact, the plugin version is easy to load at the call site, as it gets
loaded from the plugin's resources.
So rework the plugin version loading code so that it doesn't rely on the
applied plugin, and don't pass the plugin version in all those
constructors.
2021-04-23 00:43:09 +03:00
Sergey Igushkin
2a5d511b66
Minor fix: handle kotlinOptions more carefully, store them where needed
2021-04-23 00:43:08 +03:00
Sergey Igushkin
00e5e462ea
Further refactor compile task configuration: extract the configurator
2021-04-23 00:43:08 +03:00
Anton Lakotka
1a85da5ff8
Make language settings nullable in KotlinModuleFragment
...
There is no lang settings when importing from klibs (yet)
2021-04-23 00:43:07 +03:00
Anton Lakotka
c3264a2979
Add language consistency checks for fragments
...
Migrate exiting consistency checker for source sets to be generic
and reuse it for fragments
2021-04-23 00:43:07 +03:00
Anton Lakotka
de4221afd8
Add immutable LanguageSettings interface and apply it to compilation
...
LanguageSettingsBuilder extends LanguageSettings
2021-04-23 00:43:06 +03:00
Sergey Igushkin
54c6ae2cce
(minor) Rename modelClasses.kt -> KotlinJvmVariantFactory.kt
2021-04-23 00:43:06 +03:00
Sergey Igushkin
3be2734c63
Refactor the setup of compilation in the PM20 implementation prototype
2021-04-23 00:43:05 +03:00
Sergey Igushkin
c1fe0d7158
Add publishing configurator, call it from the variant factories
2021-04-23 00:43:05 +03:00
Sergey Igushkin
1271fabffa
Fix Maven scope mapping for the runtime dependencies in PM20 publishing
2021-04-23 00:43:04 +03:00
Sergey Igushkin
27015a657c
Don't pass the IDE paths to the extracted klibs that don't exist
2021-04-23 00:43:04 +03:00
Sergey Igushkin
470103bfac
Don't rely on the current project in dep-resolution if module is given
2021-04-23 00:43:04 +03:00
Sergey Igushkin
f029179fe0
Add basic support for Kotlin/Native variants to the PM20 Gradle plugin
2021-04-23 00:43:00 +03:00
Sergey Igushkin
401fbae8d8
Handle dependency module IDs more carefully in dependency resolution
2021-04-23 00:42:37 +03:00
Sergey Igushkin
ea458e6848
Add some API interfaces for Gradle PM20 entities in the API module
2021-04-23 00:42:37 +03:00
Sergey Igushkin
a52c6858a9
Minor fixes in exposed configurations
2021-04-23 00:42:37 +03:00
Sergey Igushkin
134fb7741e
Fix getChosenVariant implementation for project(...) dependencies
2021-04-23 00:42:36 +03:00
Sergey Igushkin
ec3fa2610e
Support basic publishing with maven-publish in the PM20 plugin
2021-04-23 00:42:36 +03:00
Sergey Igushkin
0bf408e147
(minor) Add isAllowCommonizer stub to the PM2.0 project extension
...
This prevents the IDE from failures during Gradle project sync
2021-04-23 00:42:35 +03:00
Sergey Igushkin
4e0485c523
Expose compiled metadata for project deps, set capabilities on elements
2021-04-23 00:42:35 +03:00
Sergey Igushkin
147fd22cfb
(minor) Fix static init issue with Gradle multi-threaded resolve
2021-04-23 00:42:35 +03:00
Sergey Igushkin
f1f97b4104
Support published MPP consumption with PM2.0 projects
2021-04-23 00:42:34 +03:00
Sergey Igushkin
70b88ada93
Gradle plugin prototype that uses the project model 2.0
2021-04-23 00:42:34 +03:00
Sergey Igushkin
d66f95b80e
Resolve dependencies as graph, support multiple modules in a project
2021-04-22 23:42:06 +03:00
Sergey Igushkin
f1fb438d00
Refactor: make fragments resolver consistent with variant resolver
2021-04-22 23:42:05 +03:00
Sergey Igushkin
7103aa3100
ModuleOrigin -> ModuleIdentifier
2021-04-22 23:42:04 +03:00
Sergey Igushkin
66b8a444c2
Add a basic markdown doc explaining dependency resolution.
2021-04-22 23:42:02 +03:00
Sergey Igushkin
6aee396e4b
Build PM2.0 in o.j.k.multiplatform (+ dependency resolution API)
2021-04-22 23:42:01 +03:00
Sergey Igushkin
994f940a31
Dependency resolution API in PM2.0
2021-04-22 23:42:00 +03:00
Sergey Igushkin
f189ebc983
Project Model 2.0 initial commit: core entities
2021-04-22 23:41:59 +03:00
Konstantin Tskhovrebov
6db3960d56
Add integration tests for "assembleAppleFrameworkForXcode" and "embedAndSignAppleFrameworkForXcode" tasks.
2021-04-22 20:33:20 +03:00
Konstantin Tskhovrebov
c2cdf9c796
Register "assembleAppleFrameworkForXcode" and "embedAndSignAppleFrameworkForXcode" tasks when gradle is run from Xcode.
...
#KT-27240
2021-04-22 20:33:20 +03:00
Alexander Udalov
99e022d023
IR: minor, remove duplicate visibility field
2021-04-22 17:42:18 +02:00
Dmitriy Novozhilov
d4162f876f
[FIR] Fix some warnings
2021-04-22 14:32:06 +03:00
Dmitriy Novozhilov
234ab3b35d
[FIR] Fix all illegal usages of declarationSiteSession in compiler
...
There are still some usages in IDE which should be investigated
2021-04-22 14:32:04 +03:00
Dmitriy Novozhilov
f98f41bbc3
[FIR] Rename session to declarationSiteSession in declaration builders
2021-04-22 14:32:03 +03:00
Dmitriy Novozhilov
c3b1be1a39
[FIR] Rename FirDeclaration.session to declarationSiteSession
2021-04-22 14:32:02 +03:00
Dmitriy Novozhilov
46f5c2073d
[FIR] Make most of declarations a sealed classes/interfaces
2021-04-22 14:32:00 +03:00
Dmitriy Novozhilov
7f7373dad2
[FIR] Support sealed classes and interfaces in FIR tree generator
2021-04-22 14:31:59 +03:00
Dmitriy Novozhilov
951daeea3a
[FIR] Add typealias to AbstractFirBasedSymbol<*> in FirDiagnosticsList
2021-04-22 14:31:58 +03:00
Vasily Levchenko
1ae41443a2
[kotlin-native][build] clean task fix
2021-04-22 11:16:55 +00:00
Jinseong Jeon
24d792fb49
FIR checker: warn useless elvis
2021-04-22 13:10:54 +03:00
Alexander Udalov
b2005302dc
JVM, JVM IR: erase generic SAM supertypes
...
Also, do not try to use invokedynamic on SAM calls with intersection
types, because intersection type is not allowed as an immediate type
projection of a supertype, and constructing a fake override in
LambdaMetafactoryArgumentsBuilder led to an exception. This fixes the
problem which was worked around earlier in e6c089ef , effectively
reverting that commit.
The main motivation for this change is that LambdaMetafactory also
doesn't generate generic signature for SAM wrapper classes at runtime.
Since these classes are synthetic, nobody should rely on the fact that
they have generic supertypes, which was observable only via Java
reflection.
#KT-46149 Fixed
#KT-46238 Fixed
2021-04-22 10:53:15 +02:00
Andrey Zinovyev
1093bffc62
[KAPT] Cache annotation processors' classloaders
...
Adds experimental feature to cache annotation processors' classloaders
It should increase speed of KAPT for consecutive runs
Works for gradle only (it stores cl in gradle daemon)
#KT-28901 Fixed
2021-04-22 11:51:14 +03:00
Mikhail Glukhikh
e6b9935df9
FIR: drop source-based check from InferenceUtils
2021-04-22 10:26:47 +03:00
sebastian.sellmair
75d9cd3814
[Minor] KotlinLibraryResolverImpl: Improve readability in resolveDependencies
2021-04-21 20:05:57 +00:00
sebastian.sellmair
3c4d0a1814
CInteropCommonizerTask: Mark dependency on commonized native distribution as @Classpath
2021-04-21 20:05:56 +00:00
sebastian.sellmair
f4617b2c03
Do not forward external dependencies on c-interop commonization.
...
^KT-46109
^KT-46107 Fixed
2021-04-21 20:05:56 +00:00
sebastian.sellmair
22ea5c7de4
Demote fatal error to warning on unresolved libraries mentioned in Klib's manifest 'depends' for metadata compilation
...
^KT-46107
2021-04-21 20:05:55 +00:00