At least some of path handling is done based on strings, which breaks when running on windows. For example resource_strip_prefix: https://github.com/bazelbuild/rules_scala/blob/da5ba6d97a1abdadef89d509b30a9dcfde7ffbe4/src/java/io/bazel/rulesscala/scalac/ScalacProcessor.java#L327-L331 For comparison here is how same code looks in Bazel: https://github.com/bazelbuild/bazel/blob/6379ef5475217b3cf60038130cb83e4d45728b38/src/main/java/com/google/devtools/build/lib/rules/java/JavaHelper.java#L124-L135