Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 85722b80 authored by Colin Cross's avatar Colin Cross
Browse files

Put javac, d8 and r8 rules into RBE ninja pool, take two

I60f7859f3657fc1eff0daf0e0a1b0f9fe63551b6 attempted to put the javac,
d8 and r8 rules into the RBE ninja pool so they could run 500 jobs
in parallel, but rbe.mk is not parsed during the main build phase
and the pool continued to be unset.  Move the pool configuration
into config.mk.

Bug: 228603472
Test: manual
Change-Id: I56377244e1c496034576ba5988393d88c2c5b09f
parent 746806b3
Loading
Loading
Loading
Loading
+33 −15
Original line number Diff line number Diff line
@@ -427,21 +427,6 @@ $(hide) $(HOST_OTOOL) -l $(1) | grep LC_ID_DYLIB -A 5 > $(2)
$(hide) $(HOST_NM) -gP $(1) | cut -f1-2 -d" " | (grep -v U$$ >> $(2) || true)
endef

GOMA_POOL :=
RBE_POOL :=
GOMA_OR_RBE_POOL :=
# When goma or RBE are enabled, kati will be passed --default_pool=local_pool to put
# most rules into the local pool.  Explicitly set the pool to "none" for rules that
# should be run outside the local pool, i.e. with -j500.
ifneq (,$(filter-out false,$(USE_GOMA)))
  GOMA_POOL := none
  GOMA_OR_RBE_POOL := none
else ifneq (,$(filter-out false,$(USE_RBE)))
  RBE_POOL := none
  GOMA_OR_RBE_POOL := none
endif
.KATI_READONLY := GOMA_POOL RBE_POOL GOMA_OR_RBE_POOL

ifeq ($(CALLED_FROM_SETUP),true)
include $(BUILD_SYSTEM)/ccache.mk
include $(BUILD_SYSTEM)/goma.mk
@@ -1233,6 +1218,39 @@ define find_warning_allowed_projects
    $(filter $(ANDROID_WARNING_ALLOWED_PROJECTS),$(1)/)
endef

GOMA_POOL :=
RBE_POOL :=
GOMA_OR_RBE_POOL :=
# When goma or RBE are enabled, kati will be passed --default_pool=local_pool to put
# most rules into the local pool.  Explicitly set the pool to "none" for rules that
# should be run outside the local pool, i.e. with -j500.
ifneq (,$(filter-out false,$(USE_GOMA)))
  GOMA_POOL := none
  GOMA_OR_RBE_POOL := none
else ifneq (,$(filter-out false,$(USE_RBE)))
  RBE_POOL := none
  GOMA_OR_RBE_POOL := none
endif
.KATI_READONLY := GOMA_POOL RBE_POOL GOMA_OR_RBE_POOL

JAVAC_NINJA_POOL :=
R8_NINJA_POOL :=
D8_NINJA_POOL :=

ifneq ($(filter-out false,$(USE_RBE)),)
  ifdef RBE_JAVAC
    JAVAC_NINJA_POOL := $(RBE_POOL)
  endif
  ifdef RBE_R8
    R8_NINJA_POOL := $(RBE_POOL)
  endif
  ifdef RBE_D8
    D8_NINJA_POOL := $(RBE_POOL)
  endif
endif

.KATI_READONLY := JAVAC_NINJA_POOL R8_NINJA_POOL D8_NINJA_POOL

# These goals don't need to collect and include Android.mks/CleanSpec.mks
# in the source tree.
dont_bother_goals := out product-graph
+0 −8
Original line number Diff line number Diff line
@@ -14,10 +14,6 @@
# limitations under the License.
#

JAVAC_NINJA_POOL :=
R8_NINJA_POOL :=
D8_NINJA_POOL :=

# Notice: this works only with Google's RBE service.
ifneq ($(filter-out false,$(USE_RBE)),)
  ifdef RBE_DIR
@@ -88,20 +84,16 @@ ifneq ($(filter-out false,$(USE_RBE)),)

  ifdef RBE_JAVAC
    JAVAC_WRAPPER := $(strip $(JAVAC_WRAPPER) $(RBE_WRAPPER) --labels=type=compile,lang=java,compiler=javac --exec_strategy=$(javac_exec_strategy) --platform=$(java_r8_d8_platform))
    JAVAC_NINJA_POOL := $(RBE_POOL)
  endif

  ifdef RBE_R8
    R8_WRAPPER := $(strip $(RBE_WRAPPER) --labels=type=compile,compiler=r8 --exec_strategy=$(r8_exec_strategy) --platform=$(java_r8_d8_platform) --inputs=out/soong/host/linux-x86/framework/r8-compat-proguard.jar,build/make/core/proguard_basic_keeps.flags --toolchain_inputs=prebuilts/jdk/jdk11/linux-x86/bin/java)
    R8_NINJA_POOL := $(RBE_POOL)
  endif

  ifdef RBE_D8
    D8_WRAPPER := $(strip $(RBE_WRAPPER) --labels=type=compile,compiler=d8 --exec_strategy=$(d8_exec_strategy) --platform=$(java_r8_d8_platform) --inputs=out/soong/host/linux-x86/framework/d8.jar --toolchain_inputs=prebuilts/jdk/jdk11/linux-x86/bin/java)
    D8_NINJA_POOL := $(RBE_POOL)
  endif

  rbe_dir :=
endif
.KATI_READONLY := JAVAC_NINJA_POOL R8_NINJA_POOL D8_NINJA_POOL