aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/analysis/config
diff options
context:
space:
mode:
authorGravatar shahan <shahan@google.com>2018-01-23 15:33:01 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-01-23 15:34:32 -0800
commit344b08c032b5520ba333fae4a4ab9d1d64eec6f8 (patch)
treea63a3946f7b1eecab9e6b6dfaa119abbe9b6003d /src/main/java/com/google/devtools/build/lib/analysis/config
parentf8af7ae5919cf825983ed2e02c071057c60f6adf (diff)
Adds codecs for types in test classes, ConfigSettingTest, LateBoundSplitUtil and fixes codec in
RunUnderConverter. PiperOrigin-RevId: 183003383
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis/config')
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/config/RunUnderConverter.java71
1 files changed, 45 insertions, 26 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/config/RunUnderConverter.java b/src/main/java/com/google/devtools/build/lib/analysis/config/RunUnderConverter.java
index b55ac0ce59..d367ceec6a 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/config/RunUnderConverter.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/config/RunUnderConverter.java
@@ -13,6 +13,7 @@
// limitations under the License.
package com.google.devtools.build.lib.analysis.config;
+import com.google.common.collect.ImmutableList;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.cmdline.LabelSyntaxException;
import com.google.devtools.build.lib.shell.ShellUtils;
@@ -41,15 +42,17 @@ public class RunUnderConverter implements Converter<RunUnder> {
throw new OptionsParsingException("Empty command");
}
final String runUnderCommand = runUnderList.get(0);
+ ImmutableList<String> runUnderSuffix =
+ ImmutableList.copyOf(runUnderList.subList(1, runUnderList.size()));
if (runUnderCommand.startsWith("//")) {
try {
final Label runUnderLabel = Label.parseAbsolute(runUnderCommand);
- return new RunUnderLabel(input, runUnderLabel, runUnderList);
+ return new RunUnderLabel(input, runUnderLabel, runUnderSuffix);
} catch (LabelSyntaxException e) {
throw new OptionsParsingException("Not a valid label " + e.getMessage());
}
} else {
- return new RunUnderCommand(input, runUnderCommand, runUnderList);
+ return new RunUnderCommand(input, runUnderCommand, runUnderSuffix);
}
}
@@ -60,33 +63,41 @@ public class RunUnderConverter implements Converter<RunUnder> {
private final String input;
private final Label runUnderLabel;
- private final List<String> runUnderList;
+ private final ImmutableList<String> runUnderList;
- public RunUnderLabel(String input, Label runUnderLabel, List<String> runUnderList) {
+ @AutoCodec.Constructor
+ RunUnderLabel(String input, Label runUnderLabel, ImmutableList<String> runUnderList) {
this.input = input;
this.runUnderLabel = runUnderLabel;
- this.runUnderList = new ArrayList<>(runUnderList.subList(1, runUnderList.size()));
+ this.runUnderList = runUnderList;
}
- @Override public String getValue() { return input; }
- @Override public Label getLabel() { return runUnderLabel; }
- @Override public String getCommand() { return null; }
- @Override public List<String> getOptions() { return runUnderList; }
- @Override public String toString() { return input; }
-
- String getInput() {
+ @Override
+ public String getValue() {
return input;
}
- Label getRunUnderLabel() {
+ @Override
+ public Label getLabel() {
return runUnderLabel;
}
- List<String> getRunUnderList() {
+ @Override
+ public String getCommand() {
+ return null;
+ }
+
+ @Override
+ public ImmutableList<String> getOptions() {
return runUnderList;
}
@Override
+ public String toString() {
+ return input;
+ }
+
+ @Override
public boolean equals(Object other) {
if (this == other) {
return true;
@@ -113,33 +124,41 @@ public class RunUnderConverter implements Converter<RunUnder> {
private final String input;
private final String runUnderCommand;
- private final List<String> runUnderList;
+ private final ImmutableList<String> runUnderList;
- public RunUnderCommand(String input, String runUnderCommand, List<String> runUnderList) {
+ @AutoCodec.Constructor
+ RunUnderCommand(String input, String runUnderCommand, ImmutableList<String> runUnderList) {
this.input = input;
this.runUnderCommand = runUnderCommand;
- this.runUnderList = new ArrayList<>(runUnderList.subList(1, runUnderList.size()));
+ this.runUnderList = runUnderList;
}
- @Override public String getValue() { return input; }
- @Override public Label getLabel() { return null; }
- @Override public String getCommand() { return runUnderCommand; }
- @Override public List<String> getOptions() { return runUnderList; }
- @Override public String toString() { return input; }
-
- String getInput() {
+ @Override
+ public String getValue() {
return input;
}
- String getRunUnderCommand() {
+ @Override
+ public Label getLabel() {
+ return null;
+ }
+
+ @Override
+ public String getCommand() {
return runUnderCommand;
}
- List<String> getRunUnderList() {
+ @Override
+ public ImmutableList<String> getOptions() {
return runUnderList;
}
@Override
+ public String toString() {
+ return input;
+ }
+
+ @Override
public boolean equals(Object other) {
if (this == other) {
return true;