diff options
author | janakr <janakr@google.com> | 2018-03-23 16:30:40 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-03-23 16:32:30 -0700 |
commit | e93f0a1e65ef3ca2bf9fb4fbaebff29fcbc02bb2 (patch) | |
tree | 28b243514fd347dcf7e4fbcea1426a17714d7315 /src/main/java/com/google/devtools/build/lib/rules/proto/ProtoCompileActionBuilder.java | |
parent | 4826d379f905839ece35f689b5ec9035cbda3eb6 (diff) |
@AutoCodec map functions in ProtoCompileActionBuilder.
PiperOrigin-RevId: 190293560
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/proto/ProtoCompileActionBuilder.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/proto/ProtoCompileActionBuilder.java | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoCompileActionBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoCompileActionBuilder.java index 6fdcc040f0..fdf830f7ad 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoCompileActionBuilder.java +++ b/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoCompileActionBuilder.java @@ -28,6 +28,7 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.devtools.build.lib.actions.Action; import com.google.devtools.build.lib.actions.Artifact; +import com.google.devtools.build.lib.actions.CommandLineItem; import com.google.devtools.build.lib.actions.ParamFileInfo; import com.google.devtools.build.lib.actions.ParameterFile.ParameterFileType; import com.google.devtools.build.lib.actions.ResourceSet; @@ -44,12 +45,12 @@ import com.google.devtools.build.lib.analysis.stringtemplate.TemplateExpander; import com.google.devtools.build.lib.cmdline.Label; import com.google.devtools.build.lib.collect.nestedset.NestedSet; import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder; +import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec; import com.google.devtools.build.lib.util.LazyString; import java.util.Collection; import java.util.HashSet; import java.util.List; import java.util.Map; -import java.util.function.Consumer; import javax.annotation.Nullable; /** Constructs actions to run the protocol compiler to generate sources from .proto files. */ @@ -531,8 +532,7 @@ public class ProtoCompileActionBuilder { CustomCommandLine.Builder cmdLine = CustomCommandLine.builder(); cmdLine.addAll( - VectorArg.of(transitiveProtoPathFlags) - .mapped(ProtoCompileActionBuilder::expandTransitiveProtoPathFlags)); + VectorArg.of(transitiveProtoPathFlags).mapped(EXPAND_TRANSITIVE_PROTO_PATH_FLAGS)); // A set to check if there are multiple invocations with the same name. HashSet<String> invocationNames = new HashSet<>(); @@ -589,16 +589,14 @@ public class ProtoCompileActionBuilder { CustomCommandLine.Builder commandLine, @Nullable NestedSet<Artifact> protosInDirectDependencies, NestedSet<Artifact> transitiveImports) { - commandLine.addAll( - VectorArg.of(transitiveImports) - .mapped(ProtoCompileActionBuilder::expandTransitiveImportArg)); + commandLine.addAll(VectorArg.of(transitiveImports).mapped(EXPAND_TRANSITIVE_IMPORT_ARG)); if (protosInDirectDependencies != null) { if (!protosInDirectDependencies.isEmpty()) { commandLine.addAll( "--direct_dependencies", VectorArg.join(":") .each(protosInDirectDependencies) - .mapped(ProtoCompileActionBuilder::expandToPathIgnoringRepository)); + .mapped(EXPAND_TO_PATH_IGNORING_REPOSITORY)); } else { // The proto compiler requires an empty list to turn on strict deps checking commandLine.add("--direct_dependencies="); @@ -606,17 +604,19 @@ public class ProtoCompileActionBuilder { } } - private static void expandTransitiveProtoPathFlags(String flag, Consumer<String> args) { - args.accept("--proto_path=" + flag); - } + @AutoCodec @AutoCodec.VisibleForSerialization + static final CommandLineItem.MapFn<String> EXPAND_TRANSITIVE_PROTO_PATH_FLAGS = + (flag, args) -> args.accept("--proto_path=" + flag); - private static void expandTransitiveImportArg(Artifact artifact, Consumer<String> args) { - args.accept("-I" + getPathIgnoringRepository(artifact) + "=" + artifact.getExecPathString()); - } + @AutoCodec @AutoCodec.VisibleForSerialization + static final CommandLineItem.MapFn<Artifact> EXPAND_TRANSITIVE_IMPORT_ARG = + (artifact, args) -> + args.accept( + "-I" + getPathIgnoringRepository(artifact) + "=" + artifact.getExecPathString()); - private static void expandToPathIgnoringRepository(Artifact artifact, Consumer<String> args) { - args.accept(getPathIgnoringRepository(artifact)); - } + @AutoCodec @AutoCodec.VisibleForSerialization + static final CommandLineItem.MapFn<Artifact> EXPAND_TO_PATH_IGNORING_REPOSITORY = + (artifact, args) -> args.accept(getPathIgnoringRepository(artifact)); /** * Gets the artifact's path relative to the root, ignoring the external repository the artifact is |