@@ -18,7 +18,6 @@ import software.aws.toolkits.core.utils.createTemporaryZipFile
1818import software.aws.toolkits.core.utils.debug
1919import software.aws.toolkits.core.utils.getLogger
2020import software.aws.toolkits.core.utils.putNextEntry
21- import software.aws.toolkits.jetbrains.services.amazonq.FeatureDevSessionContext
2221import software.aws.toolkits.jetbrains.services.codewhisperer.codescan.sessionconfig.Payload
2322import software.aws.toolkits.jetbrains.services.codewhisperer.codescan.sessionconfig.PayloadContext
2423import software.aws.toolkits.jetbrains.services.codewhisperer.codescan.sessionconfig.PayloadMetadata
@@ -33,6 +32,7 @@ import software.aws.toolkits.jetbrains.services.codewhisperer.language.programmi
3332import software.aws.toolkits.jetbrains.services.codewhisperer.util.CodeWhispererConstants.CODE_SCAN_CREATE_PAYLOAD_TIMEOUT_IN_SECONDS
3433import software.aws.toolkits.jetbrains.services.codewhisperer.util.CodeWhispererConstants.DEFAULT_CODE_SCAN_TIMEOUT_IN_SECONDS
3534import software.aws.toolkits.jetbrains.services.codewhisperer.util.CodeWhispererConstants.DEFAULT_PAYLOAD_LIMIT_IN_BYTES
35+ import software.aws.toolkits.jetbrains.services.codewhisperer.util.GitIgnoreFilteringUtil
3636import software.aws.toolkits.jetbrains.services.codewhisperer.util.isWithin
3737import software.aws.toolkits.resources.message
3838import java.io.File
@@ -53,8 +53,6 @@ class CodeTestSessionConfig(
5353 project.guessProjectDir() ? : error(" Cannot guess base directory for project ${project.name} " )
5454 }
5555
56- private val featureDevSessionContext = FeatureDevSessionContext (project)
57-
5856 val fileIndex = ProjectRootManager .getInstance(project).fileIndex
5957
6058 /* *
@@ -186,15 +184,16 @@ class CodeTestSessionConfig(
186184
187185 moduleLoop@ for (module in project.modules) {
188186 val changeListManager = ChangeListManager .getInstance(module.project)
189- if (module.guessModuleDir() != null ) {
190- stack.push(module.guessModuleDir())
187+ module.guessModuleDir()?.let { moduleDir ->
188+ val gitIgnoreFilteringUtil = GitIgnoreFilteringUtil (moduleDir)
189+ stack.push(moduleDir)
191190 while (stack.isNotEmpty()) {
192191 val current = stack.pop()
193192
194193 if (! current.isDirectory) {
195194 if (current.isFile && current.path != selectedFile?.path &&
196195 ! changeListManager.isIgnoredFile(current) &&
197- runBlocking { ! featureDevSessionContext .ignoreFile(current) } &&
196+ runBlocking { ! gitIgnoreFilteringUtil .ignoreFile(current) } &&
198197 runReadAction { ! fileIndex.isInLibrarySource(current) }
199198 ) {
200199 if (willExceedPayloadLimit(currentTotalFileSize, current.length)) {
@@ -217,7 +216,7 @@ class CodeTestSessionConfig(
217216 } else {
218217 // Directory case: only traverse if not ignored
219218 if (! changeListManager.isIgnoredFile(current) &&
220- runBlocking { ! featureDevSessionContext .ignoreFile(current) } &&
219+ runBlocking { ! gitIgnoreFilteringUtil .ignoreFile(current) } &&
221220 ! traversedDirectories.contains(current) && current.isValid &&
222221 runReadAction { ! fileIndex.isInLibrarySource(current) }
223222 ) {
@@ -242,21 +241,14 @@ class CodeTestSessionConfig(
242241 return PayloadMetadata (files, currentTotalFileSize, currentTotalLines, maxCountLanguage.toTelemetryType())
243242 }
244243
245- fun getPath (root : String , relativePath : String = ""): Path ? = try {
246- Path .of(root, relativePath).normalize()
247- } catch (e: Exception ) {
248- LOG .debug { " Cannot find file at path $relativePath relative to the root $root " }
249- null
250- }
251-
252244 fun getRelativePath (): Path ? = try {
253245 selectedFile?.path?.let { Path .of(projectRoot.path).relativize(Path .of(it)).normalize() }
254246 } catch (e: Exception ) {
255247 LOG .debug { " Cannot calculate relative path of $selectedFile with respect to $projectRoot " }
256248 null
257249 }
258250
259- fun File.toVirtualFile () = LocalFileSystem .getInstance().findFileByIoFile(this )
251+ private fun File.toVirtualFile () = LocalFileSystem .getInstance().findFileByIoFile(this )
260252
261253 companion object {
262254 private val LOG = getLogger<CodeTestSessionConfig >()
0 commit comments