From 582db8d659877cd2c482d485e0ba19913dba3a6a Mon Sep 17 00:00:00 2001 From: "sebastian.sellmair" Date: Fri, 31 Jul 2020 14:01:49 +0200 Subject: Re/de-shadow kotlin-compiler artifact --- kotlin-analysis/build.gradle.kts | 6 +-- .../compiler-dependency/build.gradle.kts | 28 ++++++++++ kotlin-analysis/dependencies/build.gradle.kts | 56 -------------------- .../intellij-dependency/build.gradle.kts | 60 ++++++++++++++++++++++ .../dokka/analysis/AnalysisEnvironment.kt | 12 ++--- .../dokka/analysis/CoreProjectFileIndex.kt | 36 ++++++++++++- 6 files changed, 129 insertions(+), 69 deletions(-) create mode 100644 kotlin-analysis/compiler-dependency/build.gradle.kts delete mode 100644 kotlin-analysis/dependencies/build.gradle.kts create mode 100644 kotlin-analysis/intellij-dependency/build.gradle.kts (limited to 'kotlin-analysis') diff --git a/kotlin-analysis/build.gradle.kts b/kotlin-analysis/build.gradle.kts index 8458ecc4..9f1588f3 100644 --- a/kotlin-analysis/build.gradle.kts +++ b/kotlin-analysis/build.gradle.kts @@ -8,10 +8,8 @@ plugins { dependencies { compileOnly(project(":core")) - - val kotlin_version: String by project - api("org.jetbrains.kotlin:kotlin-compiler:$kotlin_version") - api(project(":kotlin-analysis:dependencies", configuration = "shadow")) + api(project("intellij-dependency", configuration = "shadow")) + api(project("compiler-dependency", configuration = "shadow")) } registerDokkaArtifactPublication("dokkaAnalysis") { diff --git a/kotlin-analysis/compiler-dependency/build.gradle.kts b/kotlin-analysis/compiler-dependency/build.gradle.kts new file mode 100644 index 00000000..4d099a70 --- /dev/null +++ b/kotlin-analysis/compiler-dependency/build.gradle.kts @@ -0,0 +1,28 @@ +import org.jetbrains.DokkaPublicationBuilder.Component.Shadow +import org.jetbrains.registerDokkaArtifactPublication + +plugins { + id("com.github.johnrengelman.shadow") + `maven-publish` + id("com.jfrog.bintray") +} + +dependencies { + val kotlin_version: String by project + api("org.jetbrains.kotlin:kotlin-compiler:$kotlin_version") + +} + +tasks { + shadowJar { + val dokka_version: String by project + archiveFileName.set("dokka-kotlin-analysis-compiler-$dokka_version.jar") + archiveClassifier.set("") + exclude("**/intellij**") + } +} + +registerDokkaArtifactPublication("kotlinAnalysisCompiler") { + artifactId = "kotlin-analysis-compiler" + component = Shadow +} diff --git a/kotlin-analysis/dependencies/build.gradle.kts b/kotlin-analysis/dependencies/build.gradle.kts deleted file mode 100644 index a12e697d..00000000 --- a/kotlin-analysis/dependencies/build.gradle.kts +++ /dev/null @@ -1,56 +0,0 @@ -import org.jetbrains.DokkaPublicationBuilder.Component.Shadow -import org.jetbrains.registerDokkaArtifactPublication - -plugins { - id("com.github.johnrengelman.shadow") - `maven-publish` - id("com.jfrog.bintray") -} - -repositories { - maven(url = "https://www.jetbrains.com/intellij-repository/snapshots") - maven(url = "https://www.jetbrains.com/intellij-repository/releases") - maven(url = "https://kotlin.bintray.com/kotlin-plugin") -} - -val intellijCore: Configuration by configurations.creating - -fun intellijCoreAnalysis() = zipTree(intellijCore.singleFile).matching { - include("intellij-core-analysis.jar") -} - -dependencies { - val kotlin_plugin_version: String by project - api("org.jetbrains.kotlin:ide-common-ij193:$kotlin_plugin_version") - api("org.jetbrains.kotlin:kotlin-plugin-ij193:$kotlin_plugin_version") { - //TODO: parametrize ij version after 1.3.70 - isTransitive = false - } - - val idea_version: String by project - intellijCore("com.jetbrains.intellij.idea:intellij-core:$idea_version") - implementation(intellijCoreAnalysis()) -} - -tasks { - shadowJar { - val dokka_version: String by project - archiveFileName.set("dokka-kotlin-analysis-dependencies-$dokka_version.jar") - archiveClassifier.set("") - - exclude("colorScheme/**") - exclude("fileTemplates/**") - exclude("inspectionDescriptions/**") - exclude("intentionDescriptions/**") - exclude("tips/**") - exclude("messages/**") - exclude("src/**") - exclude("**/*.kotlin_metadata") - exclude("**/*.kotlin_builtins") - } -} - -registerDokkaArtifactPublication("kotlinAnalysisDependencies"){ - artifactId = "kotlin-analysis-dependencies" - component = Shadow -} diff --git a/kotlin-analysis/intellij-dependency/build.gradle.kts b/kotlin-analysis/intellij-dependency/build.gradle.kts new file mode 100644 index 00000000..4ff68e4e --- /dev/null +++ b/kotlin-analysis/intellij-dependency/build.gradle.kts @@ -0,0 +1,60 @@ +import org.jetbrains.DokkaPublicationBuilder.Component.Shadow +import org.jetbrains.registerDokkaArtifactPublication + +plugins { + id("com.github.johnrengelman.shadow") + `maven-publish` + id("com.jfrog.bintray") +} + +repositories { + maven(url = "https://www.jetbrains.com/intellij-repository/snapshots") + maven(url = "https://www.jetbrains.com/intellij-repository/releases") + maven(url = "https://kotlin.bintray.com/kotlin-plugin") +} + +val intellijCore: Configuration by configurations.creating + +fun intellijCoreAnalysis() = zipTree(intellijCore.singleFile).matching { + include("intellij-core-analysis.jar") +} + +dependencies { + val kotlin_plugin_version: String by project + api("org.jetbrains.kotlin:ide-common-ij193:$kotlin_plugin_version") + api("org.jetbrains.kotlin:kotlin-plugin-ij193:$kotlin_plugin_version") { + //TODO: parametrize ij version after 1.3.70 + isTransitive = false + } + + val idea_version: String by project + intellijCore("com.jetbrains.intellij.idea:intellij-core:$idea_version") + implementation(intellijCoreAnalysis()) + + val kotlin_version: String by project + api("org.jetbrains.kotlin:kotlin-compiler:$kotlin_version") + +} + +tasks { + shadowJar { + val dokka_version: String by project + archiveFileName.set("dokka-kotlin-analysis-intellij-$dokka_version.jar") + archiveClassifier.set("") + + exclude("colorScheme/**") + exclude("fileTemplates/**") + exclude("inspectionDescriptions/**") + exclude("intentionDescriptions/**") + exclude("tips/**") + exclude("messages/**") + exclude("src/**") + exclude("**/*.kotlin_metadata") + exclude("**/*.kotlin_builtins") + } +} + +registerDokkaArtifactPublication("kotlinAnalysisIntelliJ") { + artifactId = "kotlin-analysis-intellij" + component = Shadow +} diff --git a/kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/AnalysisEnvironment.kt b/kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/AnalysisEnvironment.kt index c8b324a0..e70be408 100644 --- a/kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/AnalysisEnvironment.kt +++ b/kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/AnalysisEnvironment.kt @@ -285,12 +285,11 @@ class AnalysisEnvironment(val messageCollector: MessageCollector, val analysisPl Platform.common -> createCommonResolverForProject( projectContext, module, - library, modulesContent, environment ) - Platform.js -> createJsResolverForProject(projectContext, module, library, modulesContent) - Platform.native -> createNativeResolverForProject(projectContext, module, library, modulesContent) + Platform.js -> createJsResolverForProject(projectContext, module, modulesContent) + Platform.native -> createNativeResolverForProject(projectContext, module, modulesContent) } val libraryModuleDescriptor = resolverForProject.descriptorForModule(library) @@ -355,14 +354,13 @@ class AnalysisEnvironment(val messageCollector: MessageCollector, val analysisPl private fun createCommonResolverForProject( projectContext: ProjectContext, module: ModuleInfo, - library: LibraryModuleInfo, modulesContent: (ModuleInfo) -> ModuleContent, environment: KotlinCoreEnvironment ): ResolverForProject { return object : AbstractResolverForProject( "Dokka", projectContext, - modules = listOf(module, library) + modules = module.dependencies() ) { override fun sdkDependency(module: ModuleInfo): ModuleInfo? = null @@ -394,13 +392,12 @@ class AnalysisEnvironment(val messageCollector: MessageCollector, val analysisPl private fun createJsResolverForProject( projectContext: ProjectContext, module: ModuleInfo, - library: LibraryModuleInfo, modulesContent: (ModuleInfo) -> ModuleContent ): ResolverForProject { return object : AbstractResolverForProject( "Dokka", projectContext, - modules = listOf(module, library) + modules = module.dependencies() ) { override fun modulesContent(module: ModuleInfo): ModuleContent = modulesContent(module) override fun createResolverForModule( @@ -425,7 +422,6 @@ class AnalysisEnvironment(val messageCollector: MessageCollector, val analysisPl private fun createNativeResolverForProject( projectContext: ProjectContext, module: ModuleInfo, - library: LibraryModuleInfo, modulesContent: (ModuleInfo) -> ModuleContent ): ResolverForProject { return object : AbstractResolverForProject( diff --git a/kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/CoreProjectFileIndex.kt b/kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/CoreProjectFileIndex.kt index d0e0bb4f..346a305e 100644 --- a/kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/CoreProjectFileIndex.kt +++ b/kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/CoreProjectFileIndex.kt @@ -1,7 +1,6 @@ package org.jetbrains.dokka.analysis import com.intellij.openapi.Disposable -import com.intellij.openapi.components.BaseComponent import com.intellij.openapi.extensions.ExtensionPointName import com.intellij.openapi.module.Module import com.intellij.openapi.project.Project @@ -54,6 +53,17 @@ class CoreProjectFileIndex(private val project: Project, contentRoots: List