diff options
author | Carmi Grushko <carmi@google.com> | 2017-01-18 16:50:14 +0000 |
---|---|---|
committer | Vladimir Moskva <vladmos@google.com> | 2017-01-18 18:33:32 +0000 |
commit | 0a08c0bef9ac5509a7b144328a828acd505d0a38 (patch) | |
tree | 6f4c40c35eef30488166bf953c8e9c3fb43a0c4b /src/main/java/com/google/devtools/build/lib/rules/proto/ProtoCompileActionBuilder.java | |
parent | 545dce5b0fb3867597455837a925e037201e4ea4 (diff) |
--
PiperOrigin-RevId: 144839489
MOS_MIGRATED_REVID=144839489
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 | 16 |
1 files changed, 13 insertions, 3 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 39896b6652..7cae194729 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 @@ -259,8 +259,8 @@ public class ProtoCompileActionBuilder { } /** Commandline generator for protoc invocations. */ - private CustomCommandLine.Builder createProtoCompilerCommandLine() - throws MissingPrerequisiteException { + @VisibleForTesting + CustomCommandLine.Builder createProtoCompilerCommandLine() throws MissingPrerequisiteException { CustomCommandLine.Builder result = CustomCommandLine.builder(); if (langPluginName == null) { @@ -290,7 +290,17 @@ public class ProtoCompileActionBuilder { // Add include maps result.add( new ProtoCommandLineArgv( - null /* protosInDirectDependencies */, supportData.getTransitiveImports())); + supportData.getProtosInDirectDeps(), supportData.getTransitiveImports())); + + if (supportData.getProtosInDirectDeps() != null) { + // Note: the %s in the line below is used by proto-compiler. That is, the string we create + // here should have a literal %s in it. + result.add( + "--direct_dependencies_violation_msg=%s is imported, " + + "but " + + ruleContext.getLabel().getCanonicalForm() + + " doesn't directly depend on a proto_library that 'srcs' it."); + } for (Artifact src : supportData.getDirectProtoSources()) { result.addPath(src.getRootRelativePath()); |