Skip to content

Commit fe0f951

Browse files
authored
Fix FileAlreadyExistsException when running coverage with RBE (#1307)
* copy java_tools fix see https://github.com/bazelbuild/bazel/pull/25273/files#diff-0bfb7f2e6bab3020f410f5ee9ec45ddcef952455f814c6510f72c5ef1300542fL113 * fix formatting
1 parent dcfef21 commit fe0f951

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

src/main/kotlin/io/bazel/kotlin/builder/tasks/jvm/JacocoInstrumentation.kt

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import java.nio.file.Files
1010
import java.nio.file.Path
1111
import java.nio.file.Paths
1212
import java.nio.file.SimpleFileVisitor
13+
import java.nio.file.StandardOpenOption
1314
import java.nio.file.attribute.BasicFileAttributes
1415

1516
internal fun JvmCompilationTask.createCoverageInstrumentedJar() {
@@ -68,12 +69,15 @@ private fun instrumentRecursively(
6869
val uninstrumentedCopy = metadataDir.resolve(root.relativize(absoluteUninstrumentedCopy))
6970

7071
Files.createDirectories(uninstrumentedCopy.parent)
71-
Files.move(file, uninstrumentedCopy)
72+
Files.copy(file, uninstrumentedCopy)
7273

7374
Files.newInputStream(uninstrumentedCopy).buffered().use { input ->
74-
Files.newOutputStream(file).buffered().use { output ->
75-
instr.instrument(input, output, file.toString())
76-
}
75+
Files
76+
.newOutputStream(file, StandardOpenOption.TRUNCATE_EXISTING)
77+
.buffered()
78+
.use { output ->
79+
instr.instrument(input, output, file.toString())
80+
}
7781
}
7882

7983
return FileVisitResult.CONTINUE

0 commit comments

Comments
 (0)