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

Commit 90f70331 authored by Jihoon Kang's avatar Jihoon Kang
Browse files

Remove droidstubs timestamps from droidcore dependencies

Currently, {check current api timestamp, check last released api
timestamp, api lint timestmp, check nullabilty warnings timestamp} of
all droidstubs modules are dependencies of `droidcore`. In other words,
metalava build action is run for all droidstubs modules when building
`droid` even if the stubs of the module is not used.

This is problematic from build performance perspective, as the
computation-heavy metalava build action would run in all `m` builds just
for building the timestamp files even if the stubs is not built. To fix
this behavior, this change modifies the dependencies between the
timestamp files. Specifically, all non-null non-check current api
timestamp timestamp files are now validations of the check current api
timestamp file. Given that the check current api timestamp files are the
validations of (from-text) stubs, all other timestamp files will be
built when the stubs are consumed. To summarize the changes of the
behavior:

Currently without this change:
- check current api timestamp files of all droidstubs modules are built
  when building `checkapi` and `droid`
- check last released timestamp files of all droidstubs modules are
  built when building `checkapi` and `droid`
- api lint timestamp files of all droidstubs modules are built when
  building `checkapi` and `droid`
- check nullability warnings timestamp files of all droidstubs modules
  are built when building `droid`

With this change:
- check current api timestamp files of all droidstubs modules are built
  when building `checkapi`, but are only built when the stubs are built
  when building `droid`.
- check last released timestamp files of all droidstubs modules are
  built when building `checkapi`, but are only built when the stubs are
  built when building `droid`.
- api lint timestamp files of all droidstubs modules are built when
  building `checkapi`, but are only built when the stubs are built when
  building `droid`.
- check nullability warnings timestamp files are built when building
  `checkapi`, but are only built when the stubs are built when building
  `droid`.

Note that the check nullability timestamp files were not built when
building `checkapi`, but are now built alongside with the check current
api timestamp files.

Test: diff aninja query of checkapi timestamp files
Bug: 389719475
Change-Id: Ic12b97ff7a7f1b230e8859e12de8fef8c3c1c832
parent e9eecc78
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment