diff options
author | 2015-04-24 18:12:40 +0000 | |
---|---|---|
committer | 2015-04-27 18:48:30 +0000 | |
commit | e2dd318ad3f9224def563b4e68bb515f05844311 (patch) | |
tree | cb7d92803ce1d301229f27bf790d3b7a11afb2a6 /src/main/java/com/google/devtools/build | |
parent | 4ce0d8800f1aaabe82f7a61faf1d5609b69c38cf (diff) |
Add environment_group support for query.
--
MOS_MIGRATED_REVID=91997659
Diffstat (limited to 'src/main/java/com/google/devtools/build')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/query2/output/ProtoOutputFormatter.java | 16 | ||||
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/query2/output/XmlOutputFormatter.java | 15 |
2 files changed, 31 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/query2/output/ProtoOutputFormatter.java b/src/main/java/com/google/devtools/build/lib/query2/output/ProtoOutputFormatter.java index 29f07ec804..e7d9d21aef 100644 --- a/src/main/java/com/google/devtools/build/lib/query2/output/ProtoOutputFormatter.java +++ b/src/main/java/com/google/devtools/build/lib/query2/output/ProtoOutputFormatter.java @@ -13,6 +13,7 @@ // limitations under the License. package com.google.devtools.build.lib.query2.output; +import static com.google.devtools.build.lib.query2.proto.proto2api.Build.Target.Discriminator.ENVIRONMENT_GROUP; import static com.google.devtools.build.lib.query2.proto.proto2api.Build.Target.Discriminator.GENERATED_FILE; import static com.google.devtools.build.lib.query2.proto.proto2api.Build.Target.Discriminator.PACKAGE_GROUP; import static com.google.devtools.build.lib.query2.proto.proto2api.Build.Target.Discriminator.RULE; @@ -20,6 +21,7 @@ import static com.google.devtools.build.lib.query2.proto.proto2api.Build.Target. import com.google.devtools.build.lib.graph.Digraph; import com.google.devtools.build.lib.packages.Attribute; +import com.google.devtools.build.lib.packages.EnvironmentGroup; import com.google.devtools.build.lib.packages.InputFile; import com.google.devtools.build.lib.packages.OutputFile; import com.google.devtools.build.lib.packages.PackageGroup; @@ -209,6 +211,20 @@ public class ProtoOutputFormatter extends OutputFormatter implements UnorderedFo targetPb.setType(PACKAGE_GROUP); targetPb.setPackageGroup(packageGroupPb); + } else if (target instanceof EnvironmentGroup) { + EnvironmentGroup envGroup = (EnvironmentGroup) target; + Build.EnvironmentGroup.Builder envGroupPb = + Build.EnvironmentGroup + .newBuilder() + .setName(envGroup.getLabel().toString()); + for (Label env : envGroup.getEnvironments()) { + envGroupPb.addEnvironment(env.toString()); + } + for (Label defaultEnv : envGroup.getDefaults()) { + envGroupPb.addDefault(defaultEnv.toString()); + } + targetPb.setType(ENVIRONMENT_GROUP); + targetPb.setEnvironmentGroup(envGroupPb); } else { throw new IllegalArgumentException(target.toString()); } diff --git a/src/main/java/com/google/devtools/build/lib/query2/output/XmlOutputFormatter.java b/src/main/java/com/google/devtools/build/lib/query2/output/XmlOutputFormatter.java index c77c7aa508..68eaefd4d2 100644 --- a/src/main/java/com/google/devtools/build/lib/query2/output/XmlOutputFormatter.java +++ b/src/main/java/com/google/devtools/build/lib/query2/output/XmlOutputFormatter.java @@ -17,6 +17,7 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; import com.google.devtools.build.lib.graph.Digraph; import com.google.devtools.build.lib.packages.Attribute; +import com.google.devtools.build.lib.packages.EnvironmentGroup; import com.google.devtools.build.lib.packages.InputFile; import com.google.devtools.build.lib.packages.License; import com.google.devtools.build.lib.packages.OutputFile; @@ -177,6 +178,20 @@ class XmlOutputFormatter extends OutputFormatter implements OutputFormatter.Unor } addPackageGroupsToElement(doc, elem, inputFile); + } else if (target instanceof EnvironmentGroup) { + EnvironmentGroup envGroup = (EnvironmentGroup) target; + elem = doc.createElement("environment-group"); + elem.setAttribute("name", envGroup.getName()); + Element environments = createValueElement(doc, + com.google.devtools.build.lib.packages.Type.LABEL_LIST, + envGroup.getEnvironments()); + environments.setAttribute("name", "environments"); + elem.appendChild(environments); + Element defaults = createValueElement(doc, + com.google.devtools.build.lib.packages.Type.LABEL_LIST, + envGroup.getDefaults()); + defaults.setAttribute("name", "defaults"); + elem.appendChild(defaults); } else if (target instanceof FakeSubincludeTarget) { elem = doc.createElement("source-file"); } else { |