aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaSemantics.java27
1 files changed, 11 insertions, 16 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaSemantics.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaSemantics.java
index 4e8513a1e1..980691f957 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaSemantics.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaSemantics.java
@@ -80,24 +80,19 @@ public class BazelJavaSemantics implements JavaSemantics {
@Override
public void checkRule(RuleContext ruleContext, JavaCommon javaCommon) {
}
-
+
private String getMainClassInternal(RuleContext ruleContext, ImmutableList<Artifact> sources) {
- String mainClass = ruleContext.getRule().isAttrDefined("main_class", Type.STRING)
- ? ruleContext.attributes().get("main_class", Type.STRING) : "";
- boolean createExecutable = ruleContext.attributes().get("create_executable", Type.BOOLEAN);
- boolean useTestrunner = ruleContext.attributes().get("use_testrunner", Type.BOOLEAN)
- && !useLegacyJavaTest(ruleContext);
-
- if (createExecutable) {
- if (useTestrunner) {
- mainClass = "com.google.testing.junit.runner.BazelTestRunner";
- } else { /* java_binary or non-Junit java_test */
- if (mainClass.isEmpty()) {
- mainClass = JavaCommon.determinePrimaryClass(ruleContext, sources);
- }
- }
+ if (!ruleContext.attributes().get("create_executable", Type.BOOLEAN)) {
+ return null;
+ }
+ if (ruleContext.attributes().get("use_testrunner", Type.BOOLEAN)
+ && !useLegacyJavaTest(ruleContext)) {
+ return "com.google.testing.junit.runner.BazelTestRunner";
+ }
+ String mainClass = ruleContext.attributes().get("main_class", Type.STRING);
+ if (mainClass.isEmpty()) {
+ mainClass = JavaCommon.determinePrimaryClass(ruleContext, sources);
}
-
return mainClass;
}