diff options
author | cpovirk <cpovirk@google.com> | 2023-06-02 09:32:27 -0700 |
---|---|---|
committer | Javac Team <javac-team+copybara@google.com> | 2023-06-02 09:33:19 -0700 |
commit | ca998fa79096622e55610ee25547b117ef141023 (patch) | |
tree | 0636eaecc23dd059417ee6c3cf39cdb79aa06d91 | |
parent | 0902ef6a3fb7204e5780f984d7a9a1b4e220e957 (diff) | |
download | turbine-ca998fa79096622e55610ee25547b117ef141023.tar.gz |
Prepare for stricter nullness stub for `Files.createDirectories`.
PiperOrigin-RevId: 537332469
-rw-r--r-- | java/com/google/turbine/main/Main.java | 13 |
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; |