Skip to content

Commit 4a41de5

Browse files
committed
fix: Respect leading @ when apply fine grained filtering
1 parent 96d2c4a commit 4a41de5

File tree

3 files changed

+6
-11
lines changed

3 files changed

+6
-11
lines changed

MODULE.bazel.lock

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cli/src/main/kotlin/com/bazel_diff/bazel/BazelClient.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package com.bazel_diff.bazel
22

33
import com.bazel_diff.log.Logger
4+
import java.util.Calendar
45
import org.koin.core.component.KoinComponent
56
import org.koin.core.component.inject
6-
import java.util.Calendar
77

88
class BazelClient(
99
private val useCquery: Boolean,

cli/src/main/kotlin/com/bazel_diff/hash/SourceFileHasher.kt

+3-8
Original file line numberDiff line numberDiff line change
@@ -67,20 +67,15 @@ class SourceFileHasherImpl : KoinComponent, SourceFileHasher {
6767
val filenameSubstring = name.substring(index)
6868
Paths.get(filenameSubstring.removePrefix(":").replace(':', '/'))
6969
} else if (name.startsWith("@")) {
70-
val parts =
71-
if (name.startsWith("@@")) {
72-
name.substring(2).split("//")
73-
} else {
74-
name.substring(1).split("//")
75-
}
70+
val parts = name.substring(1).split("//")
7671
if (parts.size != 2) {
7772
logger.w { "Invalid source label $name" }
7873
return@sha256
7974
}
80-
val repoName = parts[0]
81-
if (repoName !in fineGrainedHashExternalRepos) {
75+
if (parts[0] !in fineGrainedHashExternalRepos) {
8276
return@sha256
8377
}
78+
val repoName = parts[0].removePrefix("@")
8479
val relativePath = Paths.get(parts[1].removePrefix(":").replace(':', '/'))
8580
val externalRepoRoot = externalRepoResolver.resolveExternalRepoRoot(repoName)
8681
externalRepoRoot.resolve(relativePath)

0 commit comments

Comments
 (0)