*.gradle.kts: include project sources in script dependencies sources scope
^KT-39523 Fixed
This commit is contained in:
+3
-1
@@ -132,7 +132,9 @@ sealed class ScriptDependenciesSourceInfo(override val project: Project) : IdeaM
|
||||
override val binariesModuleInfo: ScriptDependenciesInfo
|
||||
get() = ScriptDependenciesInfo.ForProject(project)
|
||||
|
||||
override fun sourceScope(): GlobalSearchScope = KotlinSourceFilterScope.librarySources(
|
||||
// include project sources because script dependencies sources may contain roots from project
|
||||
// the main example is buildSrc for *.gradle.kts files
|
||||
override fun sourceScope(): GlobalSearchScope = KotlinSourceFilterScope.projectAndLibrariesSources(
|
||||
ScriptConfigurationManager.getInstance(project).getAllScriptDependenciesSourcesScope(), project
|
||||
)
|
||||
|
||||
|
||||
+1
-1
@@ -157,7 +157,7 @@ class KotlinSourceFilterScope private constructor(
|
||||
includeProjectSourceFiles = true,
|
||||
includeLibrarySourceFiles = true,
|
||||
includeClassFiles = false,
|
||||
includeScriptDependencies = false,
|
||||
includeScriptDependencies = true,
|
||||
includeScriptsOutsideSourceRoots = true,
|
||||
project = project
|
||||
)
|
||||
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
package test
|
||||
|
||||
object KObject {
|
||||
fun foo() {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
test.KObject.<caret>foo()
|
||||
|
||||
// DEPENDENCIES: classpath:module-classes; sources:module-source
|
||||
|
||||
// REF: (in test.KObject).foo()
|
||||
// FILE: test/custom.kt
|
||||
@@ -30,6 +30,7 @@ import org.jetbrains.kotlin.idea.highlighter.KotlinHighlightingUtil
|
||||
import org.jetbrains.kotlin.idea.script.AbstractScriptConfigurationTest.Companion.useDefaultTemplate
|
||||
import org.jetbrains.kotlin.idea.test.PluginTestCaseBase
|
||||
import org.jetbrains.kotlin.idea.util.application.runWriteAction
|
||||
import org.jetbrains.kotlin.idea.util.projectStructure.getModuleDir
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
import org.jetbrains.kotlin.scripting.definitions.findScriptDefinition
|
||||
import org.jetbrains.kotlin.test.KotlinTestUtils
|
||||
@@ -265,11 +266,20 @@ abstract class AbstractScriptConfigurationTest : KotlinCompletionTestCase() {
|
||||
|
||||
val libClasses = libSrcDir?.let { compileLibToDir(it) }
|
||||
|
||||
var moduleSrcDir = File("${path}depModule").takeIf { it.isDirectory }
|
||||
val moduleClasses = moduleSrcDir?.let { compileLibToDir(it) }
|
||||
if (moduleSrcDir != null) {
|
||||
val depModule = createTestModuleFromDir(moduleSrcDir)
|
||||
moduleSrcDir = File(depModule.getModuleDir())
|
||||
}
|
||||
|
||||
return mapOf(
|
||||
"runtime-classes" to ForTestCompileRuntime.runtimeJarForTests(),
|
||||
"runtime-source" to File("libraries/stdlib/src"),
|
||||
"lib-classes" to libClasses,
|
||||
"lib-source" to libSrcDir,
|
||||
"module-classes" to moduleClasses,
|
||||
"module-source" to moduleSrcDir,
|
||||
"template-classes" to templateOutDir
|
||||
)
|
||||
}
|
||||
|
||||
Generated
+5
@@ -28,6 +28,11 @@ public class ScriptConfigurationNavigationTestGenerated extends AbstractScriptCo
|
||||
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("idea/testData/script/definition/navigation"), Pattern.compile("^([^\\.]+)$"), null, false);
|
||||
}
|
||||
|
||||
@TestMetadata("buildSrcProblem")
|
||||
public void testBuildSrcProblem() throws Exception {
|
||||
runTest("idea/testData/script/definition/navigation/buildSrcProblem/");
|
||||
}
|
||||
|
||||
@TestMetadata("conflictingModule")
|
||||
public void testConflictingModule() throws Exception {
|
||||
runTest("idea/testData/script/definition/navigation/conflictingModule/");
|
||||
|
||||
Reference in New Issue
Block a user