diff options
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaSemantics.java | 27 |
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; } |