IJPL-158930 use source dependencies instead of libraries

GitOrigin-RevId: 1e3eadc80f542a6d46336c34b8e8d04a9f33c231
This commit is contained in:
Daniil Ovchinnikov
2024-08-27 15:17:09 +02:00
committed by intellij-monorepo-bot
parent 082111eb3e
commit e21c62f888
8 changed files with 17 additions and 138 deletions

View File

@@ -342,7 +342,6 @@ fun collectEntityClasses(module: Module): List<EntityTypeDefinition> =
loadEntityClass(module.classLoader, entityClassName, module.name)
}?.toList() ?: emptyList()
@Suppress("unused") // API for IJ
fun collectEntityClasses(classLoader: ClassLoader, module: String): List<EntityTypeDefinition> =
classLoader.getResourceAsStream(ENTITIES_LIST_PATH)?.metaInfLineSequence()?.mapNotNull { entityClassName ->
loadEntityClass(classLoader, entityClassName, module)

View File

@@ -1192,9 +1192,6 @@ object CommunityLibraryLicenses {
jetbrainsLibrary("git-learning-project"),
jetbrainsLibrary("intellij.remoterobot.remote.fixtures"),
jetbrainsLibrary("intellij.remoterobot.robot.server.core"),
jetbrainsLibrary("jetbrains.fleet.kernel"),
jetbrainsLibrary("jetbrains.fleet.rpc"),
jetbrainsLibrary("jetbrains.fleet.rpc.server"),
jetbrainsLibrary("jetbrains.intellij.deps.rwmutex.idea"),
jetbrainsLibrary("jetbrains.mlapi.extension"),
jetbrainsLibrary("jetbrains.mlapi.usage"),

View File

@@ -89,6 +89,7 @@ private val PLATFORM_IMPLEMENTATION_MODULES = java.util.List.of(
// do we need it?
"intellij.platform.sqlite",
//"fleet.rpc.server",
)
@Suppress("RemoveRedundantQualifierName")
@@ -264,6 +265,7 @@ internal suspend fun createPlatformLayout(projectLibrariesUsedByPlugins: SortedS
val productPluginContentModules = processAndGetProductPluginContentModules(
context = context,
layout = layout,
includedPlatformModulesPartialList = (layout.includedModules.asSequence().map { it.moduleName } + computeImplicitRequiredModules(
explicit = explicitModuleNames,
layout = layout,
@@ -624,6 +626,9 @@ private val PRODUCT_MODULE_IMPL_COMPOSITION = java.util.Map.of(
"intellij.rider", listOf(
"intellij.platform.debugger.modulesView"
),
"intellij.platform.rpc.backend", listOf(
"fleet.rpc.server",
)
)
internal object ModuleIncludeReasons {

View File

@@ -10,8 +10,8 @@ import com.intellij.platform.kernel.util.*
import com.intellij.platform.rpc.backend.RemoteApiProvider
import com.intellij.platform.util.coroutines.childScope
import fleet.kernel.change
import fleet.kernel.kernel
import fleet.kernel.rebase.*
import fleet.kernel.transactor
import fleet.rpc.remoteApiDescriptor
import kotlinx.coroutines.CompletableDeferred
import kotlinx.coroutines.CoroutineScope
@@ -26,7 +26,7 @@ private class RemoteKernelScopeHolder(private val coroutineScope: CoroutineScope
val kernelService = KernelService.instance
val kernelCoroutineContext = kernelService.kernelCoroutineContext.await()
return RemoteKernelImpl(
kernelCoroutineContext.kernel,
kernelCoroutineContext.transactor,
coroutineScope.childScope("RemoteKernelScope", kernelCoroutineContext),
CommonInstructionSet.decoder(),
KernelRpcSerialization,
@@ -50,7 +50,7 @@ internal class BackendKernelService(coroutineScope: CoroutineScope) : KernelServ
init {
coroutineScope.launch {
withKernel(middleware = LeaderKernelMiddleware(KernelRpcSerialization, CommonInstructionSet.encoder())) {
withKernel(middleware = LeaderTransactorMiddleware(KernelRpcSerialization, CommonInstructionSet.encoder())) {
change {
initWorkspaceClock()
}

View File

@@ -12,36 +12,6 @@
<orderEntry type="module" module-name="intellij.platform.util" />
<orderEntry type="module" module-name="intellij.platform.extensions" />
<orderEntry type="module" module-name="intellij.platform.rpc" exported="" />
<orderEntry type="module-library" exported="">
<library name="jetbrains.fleet.rpc.server" type="repository">
<properties maven-id="org.jetbrains.fleet:rpc-server:1.40.0-FL24724_04887ff57dcb6.12">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/fleet/rpc-server/1.40.0-FL24724_04887ff57dcb6.12/rpc-server-1.40.0-FL24724_04887ff57dcb6.12.jar">
<sha256sum>2ac577e87e4714c6d01fe2b7c2fb7381d452b255af2a36bd097a62e580600660</sha256sum>
</artifact>
</verification>
<exclude>
<dependency maven-id="org.jetbrains.kotlin:kotlin-stdlib" />
<dependency maven-id="com.intellij.platform:kotlinx-coroutines-core-jvm" />
<dependency maven-id="org.jetbrains.kotlinx:kotlinx-serialization-core-jvm" />
<dependency maven-id="org.jetbrains.kotlinx:kotlinx-serialization-json-jvm" />
<dependency maven-id="org.jetbrains.kotlin:kotlin-reflect" />
<dependency maven-id="io.opentelemetry:opentelemetry-sdk" />
<dependency maven-id="io.opentelemetry.semconv:opentelemetry-semconv" />
<dependency maven-id="org.jetbrains.fleet:rpc" />
<dependency maven-id="org.jetbrains.fleet:reporting-api" />
<dependency maven-id="org.jetbrains.fleet:util-core" />
</exclude>
</properties>
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/fleet/rpc-server/1.40.0-FL24724_04887ff57dcb6.12/rpc-server-1.40.0-FL24724_04887ff57dcb6.12.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/fleet/rpc-server/1.40.0-FL24724_04887ff57dcb6.12/rpc-server-1.40.0-FL24724_04887ff57dcb6.12-sources.jar!/" />
</SOURCES>
</library>
</orderEntry>
<orderEntry type="library" scope="RUNTIME" name="io.lacuna:bifurcan" level="project" />
<orderEntry type="module" module-name="fleet.rpc.server" exported="" />
</component>
</module>

View File

@@ -10,64 +10,8 @@
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" scope="PROVIDED" name="rpc-compiler-plugin" level="project" />
<orderEntry type="library" exported="" name="kotlin-stdlib" level="project" />
<orderEntry type="module-library" exported="">
<library name="jetbrains.fleet.rpc" type="repository">
<properties maven-id="org.jetbrains.fleet:rpc:1.40.0-FL24724_04887ff57dcb6.12">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/fleet/rpc/1.40.0-FL24724_04887ff57dcb6.12/rpc-1.40.0-FL24724_04887ff57dcb6.12.jar">
<sha256sum>57c6fd74cfbc62a15682c8291a3b1997a3d0e2b054b959b9e635a943377ee726</sha256sum>
</artifact>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/fleet/reporting-api/1.40.0-FL24724_04887ff57dcb6.12/reporting-api-1.40.0-FL24724_04887ff57dcb6.12.jar">
<sha256sum>46ad434a15ddf50f85ea54ec056935ca46eb9d0b53c711b1164186ab94b9d90e</sha256sum>
</artifact>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/fleet/preferences/1.40.0-FL24724_04887ff57dcb6.12/preferences-1.40.0-FL24724_04887ff57dcb6.12.jar">
<sha256sum>c1853a85cd02bd0d7a0e7a5d96a12023bbcc584bada5d28fdf64bf4d9a67bf6a</sha256sum>
</artifact>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/fleet/util-os/1.40.0-FL24724_04887ff57dcb6.12/util-os-1.40.0-FL24724_04887ff57dcb6.12.jar">
<sha256sum>23c735ea1b4760ac315c15dac0d9ed415589175b991aeb912713c9ec9319cc07</sha256sum>
</artifact>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/fleet/util-core/1.40.0-FL24724_04887ff57dcb6.12/util-core-1.40.0-FL24724_04887ff57dcb6.12.jar">
<sha256sum>fa093c78139106ad9f1cf2455be4d6cb68e4bec862b3b0b7c35141b18d7bd20e</sha256sum>
</artifact>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/fleet/util-logging-api/1.40.0-FL24724_04887ff57dcb6.12/util-logging-api-1.40.0-FL24724_04887ff57dcb6.12.jar">
<sha256sum>27bfc468e91a5ab60fb08384edb9b0b0cbd8be5c4703e62fd4612757fdb77415</sha256sum>
</artifact>
</verification>
<exclude>
<dependency maven-id="org.jetbrains.kotlin:kotlin-stdlib" />
<dependency maven-id="org.jetbrains.kotlin:kotlin-reflect" />
<dependency maven-id="org.jetbrains.kotlinx:kotlinx-serialization-core-jvm" />
<dependency maven-id="org.jetbrains.kotlinx:kotlinx-serialization-json-jvm" />
<dependency maven-id="org.jetbrains:annotations" />
<dependency maven-id="com.intellij.platform:kotlinx-coroutines-slf4j" />
<dependency maven-id="com.intellij.platform:kotlinx-coroutines-core-jvm" />
<dependency maven-id="io.opentelemetry:opentelemetry-sdk" />
<dependency maven-id="io.opentelemetry.semconv:opentelemetry-semconv" />
<dependency maven-id="io.lacuna:bifurcan" />
<dependency maven-id="org.jetbrains.intellij.deps.fastutil:intellij-deps-fastutil" />
<dependency maven-id="org.jetbrains.kotlinx:kotlinx-collections-immutable-jvm" />
<dependency maven-id="org.slf4j:slf4j-api" />
</exclude>
</properties>
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/fleet/rpc/1.40.0-FL24724_04887ff57dcb6.12/rpc-1.40.0-FL24724_04887ff57dcb6.12.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/fleet/reporting-api/1.40.0-FL24724_04887ff57dcb6.12/reporting-api-1.40.0-FL24724_04887ff57dcb6.12.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/fleet/preferences/1.40.0-FL24724_04887ff57dcb6.12/preferences-1.40.0-FL24724_04887ff57dcb6.12.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/fleet/util-os/1.40.0-FL24724_04887ff57dcb6.12/util-os-1.40.0-FL24724_04887ff57dcb6.12.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/fleet/util-core/1.40.0-FL24724_04887ff57dcb6.12/util-core-1.40.0-FL24724_04887ff57dcb6.12.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/fleet/util-logging-api/1.40.0-FL24724_04887ff57dcb6.12/util-logging-api-1.40.0-FL24724_04887ff57dcb6.12.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/fleet/rpc/1.40.0-FL24724_04887ff57dcb6.12/rpc-1.40.0-FL24724_04887ff57dcb6.12-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/fleet/reporting-api/1.40.0-FL24724_04887ff57dcb6.12/reporting-api-1.40.0-FL24724_04887ff57dcb6.12-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/fleet/preferences/1.40.0-FL24724_04887ff57dcb6.12/preferences-1.40.0-FL24724_04887ff57dcb6.12-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/fleet/util-os/1.40.0-FL24724_04887ff57dcb6.12/util-os-1.40.0-FL24724_04887ff57dcb6.12-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/fleet/util-core/1.40.0-FL24724_04887ff57dcb6.12/util-core-1.40.0-FL24724_04887ff57dcb6.12-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/fleet/util-logging-api/1.40.0-FL24724_04887ff57dcb6.12/util-logging-api-1.40.0-FL24724_04887ff57dcb6.12-sources.jar!/" />
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module" module-name="fleet.util.logging.api" />
<orderEntry type="module" module-name="fleet.rpc" exported="" />
<orderEntry type="module" module-name="intellij.platform.core" />
</component>
</module>

View File

@@ -35,44 +35,8 @@
<orderEntry type="library" exported="" name="kotlin-stdlib" level="project" />
<orderEntry type="module" module-name="intellij.platform.rpc" exported="" />
<orderEntry type="library" scope="PROVIDED" name="rhizomedb-compiler-plugin" level="project" />
<orderEntry type="module-library" exported="">
<library name="jetbrains.fleet.kernel" type="repository">
<properties maven-id="org.jetbrains.fleet:kernel:1.41.0-FL24724_82b058de25568.14">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/fleet/kernel/1.41.0-FL24724_82b058de25568.14/kernel-1.41.0-FL24724_82b058de25568.14.jar">
<sha256sum>323782f9aa0cb78a0e799908bfba960e104e40de83a0af229421f22bef13ec1f</sha256sum>
</artifact>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/fleet/rhizomedb/1.41.0-FL24724_82b058de25568.14/rhizomedb-1.41.0-FL24724_82b058de25568.14.jar">
<sha256sum>b15197164a6d7dcb13b1c3fb8356b89addc9a6f7ff73048aecb42db9df0257ce</sha256sum>
</artifact>
</verification>
<exclude>
<dependency maven-id="org.jetbrains.kotlinx:kotlinx-serialization-core-jvm" />
<dependency maven-id="org.jetbrains.kotlinx:kotlinx-serialization-json-jvm" />
<dependency maven-id="com.intellij.platform:kotlinx-coroutines-core-jvm" />
<dependency maven-id="org.jetbrains.kotlin:kotlin-stdlib" />
<dependency maven-id="org.jetbrains.kotlin:kotlin-reflect" />
<dependency maven-id="org.jetbrains.intellij.deps.fastutil:intellij-deps-fastutil" />
<dependency maven-id="org.jetbrains.kotlinx:kotlinx-collections-immutable-jvm" />
<dependency maven-id="org.jetbrains.fleet:util-core" />
<dependency maven-id="org.jetbrains.fleet:rpc" />
<dependency maven-id="org.jetbrains.fleet:preferences" />
<dependency maven-id="org.jetbrains.fleet:reporting-api" />
</exclude>
</properties>
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/fleet/kernel/1.41.0-FL24724_82b058de25568.14/kernel-1.41.0-FL24724_82b058de25568.14.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/fleet/rhizomedb/1.41.0-FL24724_82b058de25568.14/rhizomedb-1.41.0-FL24724_82b058de25568.14.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/fleet/kernel/1.41.0-FL24724_82b058de25568.14/kernel-1.41.0-FL24724_82b058de25568.14-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/fleet/rhizomedb/1.41.0-FL24724_82b058de25568.14/rhizomedb-1.41.0-FL24724_82b058de25568.14-sources.jar!/" />
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module" module-name="fleet.kernel" exported="" />
<orderEntry type="library" exported="" name="kotlinx-coroutines-core" level="project" />
<orderEntry type="library" exported="" name="io.lacuna:bifurcan" level="project" />
<orderEntry type="library" name="kotlinx-collections-immutable" level="project" />
<orderEntry type="library" exported="" name="kotlinx-serialization-core" level="project" />
<orderEntry type="library" name="fastutil-min" level="project" />

View File

@@ -19,11 +19,11 @@ import kotlinx.coroutines.*
import kotlinx.serialization.modules.SerializersModule
import kotlin.coroutines.CoroutineContext
suspend fun <T> withKernel(middleware: KernelMiddleware, body: suspend CoroutineScope.() -> T) {
val entityClasses = listOf(Kernel::class.java.classLoader).flatMap {
suspend fun <T> withKernel(middleware: TransactorMiddleware, body: suspend CoroutineScope.() -> T) {
val entityClasses = listOf(Transactor::class.java.classLoader).flatMap {
collectEntityClasses(it, PluginUtil.getPluginId(it).idString)
}
fleet.kernel.withKernel(entityClasses, middleware = middleware) { currentKernel ->
withTransactor(entityClasses, middleware = middleware) { _ ->
withRete {
body()
}
@@ -65,7 +65,7 @@ fun CoroutineScope.handleEntityTypes() {
}
fun CoroutineContext.kernelCoroutineContext(): CoroutineContext {
return kernel + this[Rete]!! + this[DbSource.ContextElement]!!
return transactor + this[Rete]!! + this[DbSource.ContextElement]!!
}
val CommonInstructionSet: InstructionSet =
@@ -89,7 +89,7 @@ val KernelRpcSerialization = Serialization(lazyOf(SerializersModule {
suspend fun updateDbInTheEventDispatchThread(): Nothing {
withContext(Dispatchers.EDT + ModalityState.any().asContextElement()) {
try {
kernel().log.collect { event ->
transactor().log.collect { event ->
DbContext.threadLocal.set(DbContext<DB>(event.db, null))
}
awaitCancellation()