Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Remove kotlin-ide artifacts, indexation, and turn off completion that used them #713

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,6 @@ COPY --from=build /kotlin-compiler-server/${KOTLIN_LIB} /kotlin-compiler-server/
COPY --from=build /kotlin-compiler-server/${KOTLIN_LIB_JS} /kotlin-compiler-server/${KOTLIN_LIB_JS}
COPY --from=build /kotlin-compiler-server/${KOTLIN_LIB_WASM} /kotlin-compiler-server/${KOTLIN_LIB_WASM}
COPY --from=build /kotlin-compiler-server/executor.policy /kotlin-compiler-server/
COPY --from=build /kotlin-compiler-server/indexes.json /kotlin-compiler-server/
COPY --from=build /kotlin-compiler-server/indexesJs.json /kotlin-compiler-server/
COPY --from=build /kotlin-compiler-server/indexesWasm.json /kotlin-compiler-server/

ENV PORT=8080

Expand Down
24 changes: 0 additions & 24 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
import org.springframework.boot.gradle.tasks.bundling.BootJar

val kotlinVersion = rootProject.properties["systemProp.kotlinVersion"]
val kotlinIdeVersion: String by System.getProperties()
val kotlinIdeVersionSuffix: String by System.getProperties()
val policy: String by System.getProperties()
val indexes: String by System.getProperties()
val indexesJs: String by System.getProperties()
val indexesWasm: String by System.getProperties()

group = "com.compiler.server"
version = "$kotlinVersion-SNAPSHOT"
Expand Down Expand Up @@ -84,21 +79,14 @@ allprojects {
gradlePluginPortal()
maven("https://repo.spring.io/snapshot")
maven("https://repo.spring.io/milestone")
maven("https://maven.pkg.jetbrains.space/kotlin/p/kotlin/kotlin-ide")
maven("https://maven.pkg.jetbrains.space/kotlin/p/kotlin/dev")
maven("https://cache-redirector.jetbrains.com/jetbrains.bintray.com/intellij-third-party-dependencies")
maven("https://maven.pkg.jetbrains.space/kotlin/p/kotlin/kotlin-ide-plugin-dependencies")
maven("https://www.myget.org/F/rd-snapshots/maven/")
maven("https://kotlin.jetbrains.space/p/kotlin/packages/maven/kotlin-ide")
maven("https://maven.pkg.jetbrains.space/kotlin/p/kotlin/bootstrap")
}
afterEvaluate {
dependencies {
dependencies {
implementation("com.fasterxml.jackson.module:jackson-module-kotlin:2.15.2")
implementation("org.jetbrains.kotlin:idea:231-$kotlinIdeVersion-$kotlinIdeVersionSuffix") {
isTransitive = false
}
}
}
}
Expand Down Expand Up @@ -126,18 +114,13 @@ dependencies {
implementation("com.amazonaws.serverless:aws-serverless-java-container-springboot2:1.9.3")
implementation("junit:junit:4.13.2")
implementation("net.logstash.logback:logstash-logback-encoder:7.3")
implementation("org.jetbrains.intellij.deps:trove4j:1.0.20221201")
implementation("org.jetbrains.kotlin:kotlin-reflect:$kotlinVersion")
implementation("org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion")
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlinVersion")
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlinVersion")
implementation("org.jetbrains.kotlin:kotlin-test:$kotlinVersion")
implementation("org.jetbrains.kotlin:kotlin-compiler:$kotlinVersion")
implementation("org.jetbrains.kotlin:kotlin-script-runtime:$kotlinVersion")
implementation("org.jetbrains.kotlin:kotlin-compiler-for-ide:$kotlinIdeVersion"){
isTransitive = false
}
implementation("org.jetbrains.kotlin:core:231-$kotlinIdeVersion-$kotlinIdeVersionSuffix")
implementation(project(":executors", configuration = "default"))
implementation(project(":common", configuration = "default"))

Expand All @@ -159,9 +142,6 @@ fun generateProperties(prefix: String = "") = """
# this file is autogenerated by build.gradle.kts
kotlin.version=${kotlinVersion}
policy.file=${prefix + policy}
indexes.file=${prefix + indexes}
indexesJs.file=${prefix + indexesJs}
indexesWasm.file=${prefix + indexesWasm}
libraries.folder.jvm=${prefix + libJVMFolder}
libraries.folder.js=${prefix + libJSFolder}
libraries.folder.wasm=${prefix + libWasmFolder}
Expand All @@ -185,7 +165,6 @@ tasks.withType<KotlinCompile> {
dependsOn(copyJSDependencies)
dependsOn(copyWasmDependencies)
dependsOn(":executors:jar")
dependsOn(":indexation:run")
buildPropertyFile()
}
println("Using Kotlin compiler $kotlinVersion")
Expand All @@ -204,9 +183,6 @@ val buildLambda by tasks.creating(Zip::class) {
}
}
from(policy)
from(indexes)
from(indexesJs)
from(indexesWasm)
from(libJSFolder) { into(libJSFolder) }
from(libWasmFolder) { into(libWasmFolder) }
from(libJVMFolder) { into(libJVMFolder) }
Expand Down
4 changes: 0 additions & 4 deletions common/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,13 +1,9 @@
val kotlinVersion: String by System.getProperties()
val kotlinIdeVersion: String by System.getProperties()
val kotlinIdeVersionSuffix: String by System.getProperties()

plugins {
kotlin("jvm")
}

dependencies {
implementation("org.jetbrains.kotlin:kotlin-compiler:$kotlinVersion")
implementation("org.jetbrains.kotlin:kotlin-gradle-plugin-idea:$kotlinVersion")
implementation("org.jetbrains.kotlin:base-fe10-analysis:231-$kotlinIdeVersion-$kotlinIdeVersionSuffix")
}
77 changes: 0 additions & 77 deletions common/src/main/kotlin/component/KotlinEnvironment.kt
Original file line number Diff line number Diff line change
@@ -1,24 +1,5 @@
package component

import com.intellij.openapi.util.Disposer
import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys
import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments
import org.jetbrains.kotlin.cli.common.arguments.parseCommandLineArguments
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
import org.jetbrains.kotlin.cli.jvm.config.addJvmClasspathRoots
import org.jetbrains.kotlin.cli.jvm.config.configureJdkClasspathRoots
import org.jetbrains.kotlin.cli.jvm.configureAdvancedJvmOptions
import org.jetbrains.kotlin.config.CommonConfigurationKeys
import org.jetbrains.kotlin.config.CompilerConfiguration
import org.jetbrains.kotlin.config.JVMConfigurationKeys
import org.jetbrains.kotlin.config.languageVersionSettings
import org.jetbrains.kotlin.js.config.JSConfigurationKeys
import org.jetbrains.kotlin.serialization.js.JsModuleDescriptor
import org.jetbrains.kotlin.serialization.js.KotlinJavascriptSerializationUtil
import org.jetbrains.kotlin.serialization.js.ModuleKind
import org.jetbrains.kotlin.utils.KotlinJavascriptMetadataUtils
import java.io.File

class KotlinEnvironment(
Expand All @@ -45,65 +26,7 @@ class KotlinEnvironment(
)
}

val JS_METADATA_CACHE =
additionalJsClasspath.flatMap {
KotlinJavascriptMetadataUtils.loadMetadata(it.absolutePath).map { metadata ->
val parts = KotlinJavascriptSerializationUtil.readModuleAsProto(metadata.body, metadata.version)
JsModuleDescriptor(metadata.moduleName, parts.kind, parts.importedModules, parts)
}
}

val JS_LIBRARIES = additionalJsClasspath.map { it.absolutePath }
val WASM_LIBRARIES = additionalWasmClasspath.map { it.absolutePath }

@Synchronized
fun <T> environment(f: (KotlinCoreEnvironment) -> T): T {
return f(environment)
}

private val configuration = createConfiguration()
val jsConfiguration: CompilerConfiguration = configuration.copy().apply {
put(CommonConfigurationKeys.MODULE_NAME, "moduleId")
put(JSConfigurationKeys.MODULE_KIND, ModuleKind.PLAIN)
put(JSConfigurationKeys.LIBRARIES, JS_LIBRARIES)
}

val wasmConfiguration: CompilerConfiguration = configuration.copy().apply {
put(CommonConfigurationKeys.MODULE_NAME, "moduleId")
put(JSConfigurationKeys.LIBRARIES, WASM_LIBRARIES)
put(JSConfigurationKeys.WASM_ENABLE_ARRAY_RANGE_CHECKS, false)
put(JSConfigurationKeys.WASM_ENABLE_ASSERTS, false)
}

private val environment = KotlinCoreEnvironment.createForProduction(
parentDisposable = Disposer.newDisposable(),
configuration = configuration.copy(),
configFiles = EnvironmentConfigFiles.JVM_CONFIG_FILES
)

private fun createConfiguration(): CompilerConfiguration {
val arguments = K2JVMCompilerArguments()
parseCommandLineArguments(additionalCompilerArguments, arguments)
return CompilerConfiguration().apply {
addJvmClasspathRoots(classpath.filter { it.exists() && it.isFile && it.extension == "jar" })
val messageCollector = MessageCollector.NONE
put(CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY, messageCollector)
put(CommonConfigurationKeys.MODULE_NAME, "web-module")
put(JSConfigurationKeys.TYPED_ARRAYS_ENABLED, true)
put(JSConfigurationKeys.PROPERTY_LAZY_INITIALIZATION, true)

languageVersionSettings = arguments.toLanguageVersionSettings(messageCollector)

// it uses languageVersionSettings that was set above
configureAdvancedJvmOptions(arguments)
put(JVMConfigurationKeys.DO_NOT_CLEAR_BINDING_CONTEXT, true)

configureJdkClasspathRoots()
val jdkHome = get(JVMConfigurationKeys.JDK_HOME)
if (jdkHome == null) {
val javaHome = File(System.getProperty("java.home"))
put(JVMConfigurationKeys.JDK_HOME, javaHome)
}
}
}
}
5 changes: 0 additions & 5 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -1,7 +1,2 @@
systemProp.kotlinVersion=1.9.20
systemProp.kotlinIdeVersion=1.9.20-RC2-494
systemProp.kotlinIdeVersionSuffix=IJ8109.175
systemProp.policy=executor.policy
systemProp.indexes=indexes.json
systemProp.indexesJs=indexesJs.json
systemProp.indexesWasm=indexesWasm.json
31 changes: 0 additions & 31 deletions indexation/build.gradle.kts

This file was deleted.

99 changes: 0 additions & 99 deletions indexation/src/main/kotlin/DescriptorsUtils.kt

This file was deleted.

14 changes: 0 additions & 14 deletions indexation/src/main/kotlin/IndexationBuilder.kt

This file was deleted.

31 changes: 0 additions & 31 deletions indexation/src/main/kotlin/JvmIndexationBuilder.kt

This file was deleted.

Loading