Experimental sources publication in the PM2.0 prototype

This commit is contained in:
Sergey Igushkin
2021-04-01 15:21:07 +03:00
parent 44fcd7e891
commit a94597d85a
14 changed files with 166 additions and 64 deletions
@@ -14,6 +14,7 @@ import org.gradle.util.ConfigureUtil
import org.jetbrains.kotlin.gradle.plugin.HasKotlinDependencies
import org.jetbrains.kotlin.gradle.plugin.LanguageSettingsBuilder
import org.jetbrains.kotlin.project.model.KotlinModuleFragment
import org.jetbrains.kotlin.project.model.refinesClosure
interface KotlinGradleFragment : KotlinModuleFragment, HasKotlinDependencies, Named {
override val kotlinSourceRoots: SourceDirectorySet
@@ -49,3 +50,6 @@ interface KotlinGradleFragment : KotlinModuleFragment, HasKotlinDependencies, Na
// TODO: resolvable metadata configurations?
listOf(transitiveApiConfigurationName, transitiveImplementationConfigurationName)
}
val KotlinGradleFragment.refinesClosure: Set<KotlinGradleFragment>
get() = (this as KotlinModuleFragment).refinesClosure.mapTo(mutableSetOf()) { it as KotlinGradleFragment }
@@ -26,7 +26,7 @@ interface KotlinGradleVariant : KotlinGradleFragment, KotlinModuleVariant {
val compilationOutputs: KotlinCompilationOutput
// TODO rewrite using our own artifacts API
val sourceArchiveTask: TaskProvider<AbstractArchiveTask>
val sourceArchiveTaskName: String
// TODO generalize exposing outputs: what if a variant has more than one such configurations or none?
val apiElementsConfigurationName: String