Commit c724c5b8 authored by Neil Fuller's avatar Neil Fuller
Browse files

Introduce proper intra-core dependency checks

This commit renames mmodules/libart to mmodules/libart_oj,
which is effectively what core-all was before core-simple
was added to it.

New ".depscheck" targets have been introduced to prove that...
1) core-simple can be built using only its own source and
APIs that are in the intra-core API surface.
2) core-libart + core-oj can be be built using only their own
sources and APIs that are in the intra-core API surface.

...thus proving that these two "units" have well defined
dependencies.

To achieve this, the @IntraCoreMModuleApi (found in libart)
has to be part of the intra-core API surface (otherwise other
parts of core like core-simple wouldn't be able to use it).
Because we're in core we've hit bedrock so the annotation
has to be annotated with itself, which is valid but slightly
unusual (besides a few things like @Retention).

This self-annotation requires a change to metalava to cope
with the recursion.

Bug: 113148576
Test: build
Change-Id: I1760dcaf8eea912430e1529de5876c0902c5bf2f
parent a4a7b602
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment