By:
- Removing unused `moduleArtifacts` function
- Removing bad documentation (replaced by simpler function names)+
- Using .withClosure util function
KT-49933
New version relies on information about metadata compilation outputs of
common source sets. That is known before ProjectMetadataProvider
is created. This makes such implementation easier to use with
Configuration Cache, since getSourceSetCompiledMetadata doesn't use
Project.
^KT-49933
Previously this configuration was created on ad-hoc basis by copying
the compileDependenciesConfiguration. This creates bunch of copies
which are practically doing the same thing. Extracting it on
compilation level makes it more controllable and prevents any duplicates
^KT-49933
* rename parentVisibleSourceSetsProvider -> visibleSourceSetsFromParentsProvider
* use flatMap.toSet() instead flatMapTo(mutableSetOf())
* Use `extraProperties` instead of extensions
* KotlinMultiplatformExtension.metadat() instead of finding it by type
* rename PlatformCompilationData.sourceSets to allSourceSets for clarity
* Use FileCollection instead of Provider<Set<File>>
* Use System.lineSeparator() instead of `\n` for better platform support
* Report meaningful error when `participatingSourceSets` is accessed
in execution state when Task state is loaded from Configuration Cache
* Mark newly added API as internal since there is no use of them in
user's build scripts.
^KT-49933
Add `changing` provider for Configuration Cache compatibility.
This makes AbstractCInteropCommonizerTask be compatible
with Configuration Cache.
^KT-49933
For cases when included build is use, we no longer consumer
kotlin project structure from Global storage but consume JAR files as
with regular external dependencies.
^KT-49933
when compatibility variant enabled. commonMain have to be compiled
at least two times. One time to klib and second time to legacy metadata.
In both cases it should have correct classpath.
^KT-49933
* Write transformedLibraries to a file after Task execution
* Write visible source sets to a file after Task execution
* Rearrange task properties, inputs outputs in the way that task state
is serializable to configuration cache.
* Introduce transformDependenciesMetadata task to be an umbrella for
other transform tasks. This will be convinient for tests and other
development purposes
^KT-49933
Remove `createMetadataDependencyTransformationClasspath` that were using
`ResolvedMetadataFilesProvider` which is no longer used by
GranularMetadataTransformation. The transformed files
can be requested directly from resolution results.
^KT-49933
Introduce GranularMetadataTransformation.Params that can be serialized
to Configuration Cache, and it contains all required data for
Metadata Transformations.
^KT-49933
Since ProjectMppDependency[PMS]Extractor is decoupled
from Project it is possible to create MppDependency[PSM]Extractor just
from `ResolvedArtifactResult` using its ComponentIdentifier and file.
^KT-49933
And related ResolvedMppVariantsProvider.
* Introduce PlatformCompilationData that is Configuration Cache friendly
And contain all needed data to infer visible source sets
* Add factory-methods that can collect PlatformCompilationData from
project that has Multiplatform Extension.
* hostSpecificMetadataConfiguration collection has parity with related
ResolvedMppVariantsProvider.resolveArtifacts() part where attributes
are changed to KOTLIN_METADATA.
ResolvedMppVariantsProvider will be deprecated and removed shortly
^KT-49933
* Add configurationName and provide `toString()` implementation for
better debugging experience;
* Update `dependencyArtifacts` and `moduleArtifacts` API to work in the
same way as original Gradle's counterparts
* Add helper extension functions `allResolvedDependencies`
and `dependencyArtifactsOrNull` for better developer experience
^KT-49933
Related KotlinCompile to JavaCompile wiring is happening on
KotlinJvmTarget initialization before 'withJava' configuration runs. At
that point linked JavaCompile task is null. Fix delays wiring to
execution phase when such task should be available.
^KT-55119 Fixed
in startCoroutineUninterceptedOrReturn. Otherwise, the coroutine will
not be interceptable later.
Add a test, which checks, that intercepted continuation is released.
#KT-55869