Skip to content

Commit ac504cb

Browse files
benjaminpcopybara-github
authored andcommitted
Register JavaCompileActionContext in Bazel.
This makes --experimental_java_classpath=bazel work. This CL is similar to bazelbuild#16636 but applies the code review feedback. (Though, I put the context registration in BazelRulesModule rather than BazelStrategyModule as JavaCompileActionContext isn't really a strategy.) Fixes bazelbuild#16635. Closes bazelbuild#16921. PiperOrigin-RevId: 494950719 Change-Id: Ia32e2d0e67ddacaf18ba52591f7b67b3c6c7b792
1 parent 990c282 commit ac504cb

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed

src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRulesModule.java

+11
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,13 @@
1919
import com.google.devtools.build.lib.analysis.ConfiguredRuleClassProvider;
2020
import com.google.devtools.build.lib.bazel.rules.cpp.BazelCppRuleClasses;
2121
import com.google.devtools.build.lib.bazel.rules.sh.BazelShRuleClasses;
22+
import com.google.devtools.build.lib.buildtool.BuildRequest;
23+
import com.google.devtools.build.lib.exec.ModuleActionContextRegistry;
2224
import com.google.devtools.build.lib.remote.options.RemoteOptions;
2325
import com.google.devtools.build.lib.rules.cpp.CcSkyframeFdoSupportFunction;
2426
import com.google.devtools.build.lib.rules.cpp.CcSkyframeFdoSupportValue;
2527
import com.google.devtools.build.lib.rules.cpp.CppOptions;
28+
import com.google.devtools.build.lib.rules.java.JavaCompileActionContext;
2629
import com.google.devtools.build.lib.rules.java.JavaOptions;
2730
import com.google.devtools.build.lib.runtime.BlazeModule;
2831
import com.google.devtools.build.lib.runtime.BlazeRuntime;
@@ -523,6 +526,14 @@ public Iterable<Class<? extends OptionsBase>> getCommandOptions(Command command)
523526
: ImmutableList.of(AllCommandGraveyardOptions.class);
524527
}
525528

529+
@Override
530+
public void registerActionContexts(
531+
ModuleActionContextRegistry.Builder registryBuilder,
532+
CommandEnvironment env,
533+
BuildRequest buildRequest) {
534+
registryBuilder.register(JavaCompileActionContext.class, new JavaCompileActionContext());
535+
}
536+
526537
private static void validateRemoteOutputsMode(CommandEnvironment env) throws AbruptExitException {
527538
RemoteOptions remoteOptions = env.getOptions().getOptions(RemoteOptions.class);
528539
if (remoteOptions == null) {

src/test/shell/bazel/bazel_java_test.sh

+6
Original file line numberDiff line numberDiff line change
@@ -325,6 +325,12 @@ function test_build_hello_world() {
325325
bazel build //java/main:main &> $TEST_log || fail "build failed"
326326
}
327327

328+
function test_build_hello_world_reduced_classpath() {
329+
write_hello_library_files
330+
331+
bazel build --experimental_java_classpath=bazel //java/main:main &> $TEST_log || fail "build failed"
332+
}
333+
328334
function test_worker_strategy_is_default() {
329335
write_hello_library_files
330336

0 commit comments

Comments
 (0)