Skip to content

Commit

Permalink
Skip Java files when platform isn't JVM
Browse files Browse the repository at this point in the history
(cherry picked from commit ee445e1)
  • Loading branch information
ting-yuan authored and KSP Auto Pick committed May 25, 2024
1 parent 1cb6368 commit 37fa5e9
Showing 1 changed file with 15 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -331,7 +331,7 @@ class KotlinSymbolProcessing(
private fun prepareAllKSFiles(
kotlinCoreProjectEnvironment: KotlinCoreProjectEnvironment,
modules: List<KtModule>,
javaFileManager: IncrementalJavaFileManager,
javaFileManager: IncrementalJavaFileManager?,
): List<KSFile> {
val project = kotlinCoreProjectEnvironment.project
val ktFiles = mutableListOf<KtFile>()
Expand All @@ -340,7 +340,7 @@ class KotlinSymbolProcessing(
it.sourceRoots.forEach {
when (it) {
is KtFile -> ktFiles.add(it)
is PsiJavaFile -> javaFiles.add(it)
is PsiJavaFile -> if (javaFileManager != null) javaFiles.add(it)
}
}
}
Expand All @@ -358,15 +358,15 @@ class KotlinSymbolProcessing(
).update(ktFiles)

// Update Java providers for newly generated source files.
javaFileManager.initialize(modules, javaFiles)
javaFileManager?.initialize(modules, javaFiles)

return ktFiles.map { analyze { KSFileImpl.getCached(it.getFileSymbol()) } } +
javaFiles.map { KSFileJavaImpl.getCached(it) }
}

private fun prepareNewKSFiles(
kotlinCoreProjectEnvironment: KotlinCoreProjectEnvironment,
javaFileManager: IncrementalJavaFileManager,
javaFileManager: IncrementalJavaFileManager?,
newKotlinFiles: List<File>,
newJavaFiles: List<File>,
): List<KSFile> {
Expand All @@ -375,10 +375,12 @@ class KotlinSymbolProcessing(
project,
newKotlinFiles.map { it.toPath() }.toSet()
)
val javaFiles = getPsiFilesFromPaths<PsiJavaFile>(
project,
newJavaFiles.map { it.toPath() }.toSet()
)
val javaFiles = if (javaFileManager != null) {
getPsiFilesFromPaths<PsiJavaFile>(
project,
newJavaFiles.map { it.toPath() }.toSet()
)
} else emptyList()

// Add new files to content scope.
val contentScope = ResolverAAImpl.ktModule.contentScope as IncrementalGlobalSearchScope
Expand All @@ -398,7 +400,7 @@ class KotlinSymbolProcessing(
).update(ktFiles)

// Update Java providers for newly generated source files.
javaFileManager.add(javaFiles)
javaFileManager?.add(javaFiles)

return ktFiles.map { analyze { KSFileImpl.getCached(it.getFileSymbol()) } } +
javaFiles.map { KSFileJavaImpl.getCached(it) }
Expand Down Expand Up @@ -451,7 +453,10 @@ class KotlinSymbolProcessing(
ResolverAAImpl.ktModule = modules.single() as KtSourceModule

// Initializing environments
val javaFileManager = IncrementalJavaFileManager(kotlinCoreProjectEnvironment)
val javaFileManager = if (kspConfig is KSPJvmConfig) {
IncrementalJavaFileManager(kotlinCoreProjectEnvironment)
} else null

val allKSFiles =
prepareAllKSFiles(kotlinCoreProjectEnvironment, modules, javaFileManager)
val anyChangesWildcard = AnyChanges(kspConfig.projectBaseDir)
Expand Down

0 comments on commit 37fa5e9

Please sign in to comment.