aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoCompileActionBuilder.java
diff options
context:
space:
mode:
authorGravatar Carmi Grushko <carmi@google.com>2017-01-18 16:50:14 +0000
committerGravatar Vladimir Moskva <vladmos@google.com>2017-01-18 18:33:32 +0000
commit0a08c0bef9ac5509a7b144328a828acd505d0a38 (patch)
tree6f4c40c35eef30488166bf953c8e9c3fb43a0c4b /src/main/java/com/google/devtools/build/lib/rules/proto/ProtoCompileActionBuilder.java
parent545dce5b0fb3867597455837a925e037201e4ea4 (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.java16
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());