aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.idea/compiler.xml20
-rw-r--r--core/src/main/kotlin/Analysis/DokkaAnalyzerFacades.kt19
-rw-r--r--runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/ConfigurationExtractor.kt46
-rw-r--r--runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaTask.kt6
4 files changed, 57 insertions, 34 deletions
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
index fb727eec..71547e0e 100644
--- a/.idea/compiler.xml
+++ b/.idea/compiler.xml
@@ -30,6 +30,26 @@
<module name="cli_test" target="1.8" />
<module name="core_main" target="1.8" />
<module name="core_test" target="1.8" />
+ <module name="dokka.buildSrc.main" target="1.8" />
+ <module name="dokka.buildSrc.test" target="1.8" />
+ <module name="dokka.core.main" target="1.8" />
+ <module name="dokka.core.test" target="1.8" />
+ <module name="dokka.integration.main" target="1.8" />
+ <module name="dokka.integration.test" target="1.8" />
+ <module name="dokka.runners.android-gradle-plugin.main" target="1.8" />
+ <module name="dokka.runners.android-gradle-plugin.test" target="1.8" />
+ <module name="dokka.runners.ant.main" target="1.8" />
+ <module name="dokka.runners.ant.test" target="1.8" />
+ <module name="dokka.runners.cli.main" target="1.8" />
+ <module name="dokka.runners.cli.test" target="1.8" />
+ <module name="dokka.runners.fatjar.main" target="1.8" />
+ <module name="dokka.runners.fatjar.test" target="1.8" />
+ <module name="dokka.runners.gradle-integration-tests.main" target="1.8" />
+ <module name="dokka.runners.gradle-integration-tests.test" target="1.8" />
+ <module name="dokka.runners.gradle-plugin.main" target="1.8" />
+ <module name="dokka.runners.gradle-plugin.test" target="1.8" />
+ <module name="dokka.runners.maven-plugin.main" target="1.8" />
+ <module name="dokka.runners.maven-plugin.test" target="1.8" />
<module name="fatjar_main" target="1.8" />
<module name="fatjar_test" target="1.8" />
<module name="gradle-integration-tests_main" target="1.8" />
diff --git a/core/src/main/kotlin/Analysis/DokkaAnalyzerFacades.kt b/core/src/main/kotlin/Analysis/DokkaAnalyzerFacades.kt
index 082d3968..874341dd 100644
--- a/core/src/main/kotlin/Analysis/DokkaAnalyzerFacades.kt
+++ b/core/src/main/kotlin/Analysis/DokkaAnalyzerFacades.kt
@@ -88,7 +88,7 @@ object DokkaJsAnalyzerFacade : ResolverForModuleFactory() {
.filter { it.version.isCompatible() }
.map { metadata ->
val (header, packageFragmentProtos) =
- KotlinJavascriptSerializationUtil.readModuleAsProto(metadata.body, metadata.version)
+ KotlinJavascriptSerializationUtil.readModuleAsProto(metadata.body, metadata.version)
createKotlinJavascriptPackageFragmentProvider(
moduleContext.storageManager, moduleDescriptor, header, packageFragmentProtos, metadata.version,
container.get(), LookupTracker.DO_NOTHING
@@ -147,14 +147,15 @@ object DokkaNativeAnalyzerFacade : ResolverForModuleFactory() {
if (moduleInfo is LibraryModuleInfo) {
moduleInfo.getLibraryRoots()
- .map { createKonanLibrary(File(it), KOTLIN_NATIVE_CURRENT_ABI_VERSION) }
- .mapTo(fragmentProviders) {
- it.createPackageFragmentProvider(
- moduleContext.storageManager,
- languageVersionSettings,
- moduleDescriptor
- )
- }
+ .filter { File(it).extension != "jar" }
+ .map { createKonanLibrary(File(it), KOTLIN_NATIVE_CURRENT_ABI_VERSION) }
+ .mapTo(fragmentProviders) {
+ it.createPackageFragmentProvider(
+ moduleContext.storageManager,
+ languageVersionSettings,
+ moduleDescriptor
+ )
+ }
}
diff --git a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/ConfigurationExtractor.kt b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/ConfigurationExtractor.kt
index 13cda6f3..491aaae0 100644
--- a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/ConfigurationExtractor.kt
+++ b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/ConfigurationExtractor.kt
@@ -53,17 +53,12 @@ object ConfigurationExtractor {
}
val commonTarget = targets.find { it.platformType == KotlinPlatformType.common }
- val commonTargetCompilation = commonTarget?.compilations?.getByName("main")
- val commonTargetSourceList = commonTargetCompilation?.allKotlinSourceSets?.flatMap { it.kotlin.sourceDirectories }
- val commonTargetClasspath = commonTargetCompilation?.compileDependencyFiles?.files?.toList()
-
val platformTargets = targets.filter { it.platformType != KotlinPlatformType.common }
-
val config = platformTargets.map {
PlatformData(it.name, getClasspath(it), getSourceSet(it), it.platformType.toString())
}
- return config + PlatformData("common", commonTargetClasspath.orEmpty(), commonTargetSourceList.orEmpty(), "common")
+ return config + PlatformData("common", getSourceSet(commonTarget), getClasspath(commonTarget), "common")
}
fun extractFromKotlinTasks(kotlinTasks: List<Task>, project: Project): PlatformData? {
@@ -84,9 +79,9 @@ object ConfigurationExtractor {
}
val taskClasspath: Iterable<File> =
- (it["getClasspath", AbstractCompile::class].takeIfIsFunc()?.invoke()
- ?: it["compileClasspath", abstractKotlinCompileClz].takeIfIsProp()?.v()
- ?: it["getClasspath", abstractKotlinCompileClz]())
+ (it["getClasspath", AbstractCompile::class].takeIfIsFunc()?.invoke()
+ ?: it["compileClasspath", abstractKotlinCompileClz].takeIfIsProp()?.v()
+ ?: it["getClasspath", abstractKotlinCompileClz]())
if (taskClasspath is FileCollection) {
allClasspathFileCollection += taskClasspath
@@ -107,21 +102,28 @@ object ConfigurationExtractor {
}
fun extractFromJavaPlugin(project: Project): PlatformData? =
- project.convention.findPlugin(JavaPluginConvention::class.java)
- ?.run { sourceSets.findByName(SourceSet.MAIN_SOURCE_SET_NAME)?.allSource?.srcDirs }
- ?.let { PlatformData(null, emptyList(), it.toList(), "") }
-
- private fun getSourceSet(target: KotlinTarget): List<File> =
- getMainCompilation(target).allKotlinSourceSets.flatMap { it.kotlin.sourceDirectories }
-
- private fun getClasspath(target: KotlinTarget): List<File> =
- getMainCompilation(target).compileDependencyFiles.files.toList()
-
- private fun getMainCompilation(target: KotlinTarget): KotlinCompilation<KotlinCommonOptions> =
- target.compilations.getByName("main")
+ project.convention.findPlugin(JavaPluginConvention::class.java)
+ ?.run { sourceSets.findByName(SourceSet.MAIN_SOURCE_SET_NAME)?.allSource?.srcDirs }
+ ?.let { PlatformData(null, emptyList(), it.toList(), "") }
+
+ private fun getSourceSet(target: KotlinTarget?): List<File> = getMainCompilation(target)
+ ?.allKotlinSourceSets
+ ?.flatMap { it.kotlin.sourceDirectories }
+ ?.filter { it.exists() }
+ .orEmpty()
+
+ private fun getClasspath(target: KotlinTarget?): List<File> = getMainCompilation(target)
+ ?.compileDependencyFiles
+ ?.files
+ ?.toList()
+ ?.filter { it.exists() }
+ .orEmpty()
+
+ private fun getMainCompilation(target: KotlinTarget?): KotlinCompilation<KotlinCommonOptions>? =
+ target?.compilations?.getByName("main")
private fun getPlatformName(platform: KotlinPlatformType): String =
- if (platform == KotlinPlatformType.androidJvm) "jvm" else platform.toString()
+ if (platform == KotlinPlatformType.androidJvm) "jvm" else platform.toString()
data class PlatformData(val name: String?,
val classpath: List<File>,
diff --git a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaTask.kt b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaTask.kt
index f985c70a..6e36fb68 100644
--- a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaTask.kt
+++ b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaTask.kt
@@ -187,11 +187,11 @@ open class DokkaTask : DefaultTask() {
multiplatform.toList(),
ConfigurationExtractor.extractFromMultiPlatform(project).orEmpty()
)
- return if (subProjects.isEmpty())
- baseConfig
- else
+ return if (subProjects.isNotEmpty())
subProjects.toProjects().fold(baseConfig, { list, project ->
mergeUserAndAutoConfigurations(list, ConfigurationExtractor.extractFromMultiPlatform(project).orEmpty())})
+ else
+ baseConfig
}
private fun collectFromSinglePlatform(): List<GradlePassConfigurationImpl> {