@@ -19,7 +19,6 @@ import software.aws.toolkits.core.utils.debug
1919import software.aws.toolkits.core.utils.error
2020import software.aws.toolkits.core.utils.getLogger
2121import software.aws.toolkits.core.utils.putNextEntry
22- import software.aws.toolkits.jetbrains.services.amazonq.FeatureDevSessionContext
2322import software.aws.toolkits.jetbrains.services.codewhisperer.codescan.cannotFindBuildArtifacts
2423import software.aws.toolkits.jetbrains.services.codewhisperer.codescan.cannotFindFile
2524import software.aws.toolkits.jetbrains.services.codewhisperer.codescan.fileTooLarge
@@ -38,6 +37,7 @@ import software.aws.toolkits.jetbrains.services.codewhisperer.util.CodeWhisperer
3837import software.aws.toolkits.jetbrains.services.codewhisperer.util.CodeWhispererConstants.DEFAULT_PAYLOAD_LIMIT_IN_BYTES
3938import software.aws.toolkits.jetbrains.services.codewhisperer.util.CodeWhispererConstants.EXPRESS_SCAN_TIMEOUT_IN_SECONDS
4039import software.aws.toolkits.jetbrains.services.codewhisperer.util.CodeWhispererConstants.FILE_SCAN_PAYLOAD_SIZE_LIMIT_IN_BYTES
40+ import software.aws.toolkits.jetbrains.services.codewhisperer.util.GitIgnoreFilteringUtil
4141import software.aws.toolkits.jetbrains.services.codewhisperer.util.isWithin
4242import software.aws.toolkits.resources.message
4343import software.aws.toolkits.telemetry.CodewhispererLanguage
@@ -59,8 +59,6 @@ class CodeScanSessionConfig(
5959 }
6060 private set
6161
62- private val featureDevSessionContext = FeatureDevSessionContext (project)
63-
6462 val fileIndex = ProjectRootManager .getInstance(project).fileIndex
6563
6664 fun isInitiatedByChat (): Boolean = initiatedByChat
@@ -234,14 +232,15 @@ class CodeScanSessionConfig(
234232
235233 moduleLoop@ for (module in project.modules) {
236234 val changeListManager = ChangeListManager .getInstance(module.project)
237- if (module.guessModuleDir() != null ) {
238- stack.push(module.guessModuleDir())
235+ module.guessModuleDir()?.let { moduleDir ->
236+ val gitIgnoreFilteringUtil = GitIgnoreFilteringUtil (moduleDir)
237+ stack.push(moduleDir)
239238 while (stack.isNotEmpty()) {
240239 val current = stack.pop()
241240
242241 if (! current.isDirectory) {
243242 if (current.isFile && ! changeListManager.isIgnoredFile(current) &&
244- runBlocking { ! featureDevSessionContext .ignoreFile(current) } &&
243+ runBlocking { ! gitIgnoreFilteringUtil .ignoreFile(current) } &&
245244 runReadAction { ! fileIndex.isInLibrarySource(current) }
246245 ) {
247246 if (willExceedPayloadLimit(currentTotalFileSize, current.length)) {
@@ -284,7 +283,7 @@ class CodeScanSessionConfig(
284283 }
285284 // Directory case: only traverse if not ignored
286285 if (! changeListManager.isIgnoredFile(current) &&
287- runBlocking { ! featureDevSessionContext .ignoreFile(current) } &&
286+ runBlocking { ! gitIgnoreFilteringUtil .ignoreFile(current) } &&
288287 ! traversedDirectories.contains(current) && current.isValid &&
289288 runReadAction { ! fileIndex.isInLibrarySource(current) }
290289 ) {
0 commit comments