Sergey Igushkin
bb35d9271f
Minor fix: don't use lazy in KotlinPm20ProjectExtension.modules
2021-04-23 00:43:14 +03:00
Sergey Igushkin
53f02a53f0
Add caching to dependency resolvers in PM20 + some refactoring
2021-04-23 00:43:13 +03:00
Sergey Igushkin
1f0089c5de
Refactor the dependency graph resolver to be more readable
2021-04-23 00:43:13 +03:00
Sergey Igushkin
d07c76fca4
Add kotlin-project-model artifacts to the set of trusted artifacts
2021-04-23 00:43:12 +03:00
Sergey Igushkin
6be33448d6
Rework adding sources to FilteringSourceRootsContainer in JVM tasks
...
Support adding lazily-evaluated file collections (i.e. tracking their
source roots lazily, as opposed to eagerly evaluating the source roots.
2021-04-23 00:43:12 +03:00
Sergey Igushkin
e59a57d11c
Add ":kotlin-project-model" to the list of modules installed for tests
2021-04-23 00:43:11 +03:00
Sergey Igushkin
e7b81c52a7
Get rid of DependencyDiscovery in favor of DependencyGraphResolver
2021-04-23 00:43:11 +03:00
Sergey Igushkin
d602470027
Fix compilation of the tests in kotlin-project-model
2021-04-23 00:43:10 +03:00
Sergey Igushkin
fe351f26ef
For now, publish the sources elements variant with usage=kotlin-sources
2021-04-23 00:43:10 +03:00
Sergey Igushkin
a94597d85a
Experimental sources publication in the PM2.0 prototype
2021-04-23 00:43:10 +03:00
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