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
Loading
Please sign in to comment