@@ -19,7 +19,6 @@ import software.aws.toolkits.core.utils.debug
19
19
import software.aws.toolkits.core.utils.error
20
20
import software.aws.toolkits.core.utils.getLogger
21
21
import software.aws.toolkits.core.utils.putNextEntry
22
- import software.aws.toolkits.jetbrains.services.amazonq.FeatureDevSessionContext
23
22
import software.aws.toolkits.jetbrains.services.codewhisperer.codescan.cannotFindBuildArtifacts
24
23
import software.aws.toolkits.jetbrains.services.codewhisperer.codescan.cannotFindFile
25
24
import software.aws.toolkits.jetbrains.services.codewhisperer.codescan.fileTooLarge
@@ -38,6 +37,7 @@ import software.aws.toolkits.jetbrains.services.codewhisperer.util.CodeWhisperer
38
37
import software.aws.toolkits.jetbrains.services.codewhisperer.util.CodeWhispererConstants.DEFAULT_PAYLOAD_LIMIT_IN_BYTES
39
38
import software.aws.toolkits.jetbrains.services.codewhisperer.util.CodeWhispererConstants.EXPRESS_SCAN_TIMEOUT_IN_SECONDS
40
39
import 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
41
41
import software.aws.toolkits.jetbrains.services.codewhisperer.util.isWithin
42
42
import software.aws.toolkits.resources.message
43
43
import software.aws.toolkits.telemetry.CodewhispererLanguage
@@ -59,8 +59,6 @@ class CodeScanSessionConfig(
59
59
}
60
60
private set
61
61
62
- private val featureDevSessionContext = FeatureDevSessionContext (project)
63
-
64
62
val fileIndex = ProjectRootManager .getInstance(project).fileIndex
65
63
66
64
fun isInitiatedByChat (): Boolean = initiatedByChat
@@ -234,14 +232,15 @@ class CodeScanSessionConfig(
234
232
235
233
moduleLoop@ for (module in project.modules) {
236
234
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)
239
238
while (stack.isNotEmpty()) {
240
239
val current = stack.pop()
241
240
242
241
if (! current.isDirectory) {
243
242
if (current.isFile && ! changeListManager.isIgnoredFile(current) &&
244
- runBlocking { ! featureDevSessionContext .ignoreFile(current) } &&
243
+ runBlocking { ! gitIgnoreFilteringUtil .ignoreFile(current) } &&
245
244
runReadAction { ! fileIndex.isInLibrarySource(current) }
246
245
) {
247
246
if (willExceedPayloadLimit(currentTotalFileSize, current.length)) {
@@ -284,7 +283,7 @@ class CodeScanSessionConfig(
284
283
}
285
284
// Directory case: only traverse if not ignored
286
285
if (! changeListManager.isIgnoredFile(current) &&
287
- runBlocking { ! featureDevSessionContext .ignoreFile(current) } &&
286
+ runBlocking { ! gitIgnoreFilteringUtil .ignoreFile(current) } &&
288
287
! traversedDirectories.contains(current) && current.isValid &&
289
288
runReadAction { ! fileIndex.isInLibrarySource(current) }
290
289
) {
0 commit comments