aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build
diff options
context:
space:
mode:
authorGravatar Greg Estren <gregce@google.com>2015-04-24 18:12:40 +0000
committerGravatar Han-Wen Nienhuys <hanwen@google.com>2015-04-27 18:48:30 +0000
commite2dd318ad3f9224def563b4e68bb515f05844311 (patch)
treecb7d92803ce1d301229f27bf790d3b7a11afb2a6 /src/main/java/com/google/devtools/build
parent4ce0d8800f1aaabe82f7a61faf1d5609b69c38cf (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.java16
-rw-r--r--src/main/java/com/google/devtools/build/lib/query2/output/XmlOutputFormatter.java15
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 {