aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcpovirk <cpovirk@google.com>2023-06-02 09:32:27 -0700
committerJavac Team <javac-team+copybara@google.com>2023-06-02 09:33:19 -0700
commitca998fa79096622e55610ee25547b117ef141023 (patch)
tree0636eaecc23dd059417ee6c3cf39cdb79aa06d91
parent0902ef6a3fb7204e5780f984d7a9a1b4e220e957 (diff)
downloadturbine-ca998fa79096622e55610ee25547b117ef141023.tar.gz
Prepare for stricter nullness stub for `Files.createDirectories`.
PiperOrigin-RevId: 537332469
-rw-r--r--java/com/google/turbine/main/Main.java13
1 files changed, 10 insertions, 3 deletions
diff --git a/java/com/google/turbine/main/Main.java b/java/com/google/turbine/main/Main.java
index 387b01c..c246a7a 100644
--- a/java/com/google/turbine/main/Main.java
+++ b/java/com/google/turbine/main/Main.java
@@ -18,6 +18,7 @@ package com.google.turbine.main;
import static com.google.common.base.StandardSystemProperty.JAVA_SPECIFICATION_VERSION;
import static java.nio.charset.StandardCharsets.UTF_8;
+import static java.util.Objects.requireNonNull;
import com.google.auto.value.AutoValue;
import com.google.common.collect.ImmutableList;
@@ -207,7 +208,11 @@ public final class Main {
DepsProto.Dependencies deps =
Dependencies.collectDeps(options.targetLabel(), bootclasspath, bound, lowered);
Path path = Paths.get(options.outputDeps().get());
- Files.createDirectories(path.getParent());
+ /*
+ * TODO: cpovirk - Consider checking outputDeps for validity earlier so that anyone who
+ * `--output_deps=/` or similar will get a proper error instead of NPE.
+ */
+ Files.createDirectories(requireNonNull(path.getParent()));
try (OutputStream os = new BufferedOutputStream(Files.newOutputStream(path))) {
deps.writeTo(os);
}
@@ -355,7 +360,8 @@ public final class Main {
if (Files.isDirectory(path)) {
for (SourceFile source : generatedSources.values()) {
Path to = path.resolve(source.path());
- Files.createDirectories(to.getParent());
+ // TODO: cpovirk - Consider checking gensrcOutput, similar to outputDeps.
+ Files.createDirectories(requireNonNull(to.getParent()));
Files.writeString(to, source.source());
}
return;
@@ -380,7 +386,8 @@ public final class Main {
if (Files.isDirectory(path)) {
for (Map.Entry<String, byte[]> resource : generatedResources.entrySet()) {
Path to = path.resolve(resource.getKey());
- Files.createDirectories(to.getParent());
+ // TODO: cpovirk - Consider checking resourceOutput, similar to outputDeps.
+ Files.createDirectories(requireNonNull(to.getParent()));
Files.write(to, resource.getValue());
}
return;