KT-39788 MPP, Gradle runner: Run does not add resource directory to classpath // classpath fix
The reason of resource directory absence was that it couldn't be loaded from the project configuration file. Just after the import it remained in the memory and runner couldn' get it. KotlinOutputPathsDataService as a pair to KotlinOutputPaths is what was missing. Details are provided below. ------------------------------------------------------------------------ On a disk configuration represents a binary file containing serialized graph of external project structure. It contains nodes belonging to both IDEA and its plugins. To deserialize a node IDEA tries to load its class using a chain of class-loaders: its own and those provided by actual set of plugins. The nuance is how to get plugins' ones. The approach is the following. There is an association between a node's payload and a service which is supposed to consume it see KotlinOutputPathsDataService#getTargetDataKey and DataNode#getKey). Plugin services are guaranteed to be loaded by plugin class loader. No association - service - no plugin, node was just skipped. ------------------------------------------------------------------------
This commit is contained in:
@@ -25,6 +25,7 @@
|
||||
<externalProjectDataService implementation="org.jetbrains.kotlin.idea.configuration.KotlinGradleProjectDataService"/>
|
||||
<externalProjectDataService implementation="org.jetbrains.kotlin.idea.configuration.KotlinGradleLibraryDataService"/>
|
||||
<externalProjectDataService implementation="org.jetbrains.kotlin.idea.configuration.KotlinTargetDataService"/>
|
||||
<externalProjectDataService implementation="org.jetbrains.kotlin.idea.configuration.KotlinOutputPathsDataService"/>
|
||||
<externalProjectDataService implementation="org.jetbrains.kotlin.idea.KotlinJavaMPPSourceSetDataService"/>
|
||||
<externalProjectDataService implementation="org.jetbrains.kotlin.idea.configuration.klib.KotlinNativeLibraryDataService"/>
|
||||
<externalSystemTaskNotificationListener
|
||||
|
||||
Reference in New Issue
Block a user