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

Commit 34114e3d authored by Inseob Kim's avatar Inseob Kim
Browse files

Implement sysprop_library API stability check

sysprop_library now checks the API stability itself, cutting dependency
on java_sdk_library. Under the directory {module_dir}/api,
{module_name}-current.txt and {module_name}-latest.txt hold API
signatures.

When sysprop_library is built, or a user run "m {module_name}-check-api"
command, API check is performed. First, current.txt must have exactly
same signature with built sysprop_library module. Second, current.txt
must be compatible with latest.txt.

Build system emits a handy error message to generate/update those API
files, in case of missing or mismatching. Also, a script file for
freezing API files is introduced.

Bug: 131637873
Test: 1) m && boot blueline
Test: 2) m {sysprop_library} performs API check
Test: 3) manual test for check-api, freezing api
Change-Id: I6b95eebafaf88ad326be5d7c890e000cbdb79cb5
Merged-In: I6b95eebafaf88ad326be5d7c890e000cbdb79cb5
(cherry picked from commit f7119991)
parent 4a2b31f2
Loading
Loading
Loading
Loading
+29 −0
Original line number Diff line number Diff line
props {
  module: "android.sysprop.ChargerProperties"
  prop {
    api_name: "disable_init_blank"
    scope: Internal
    prop_name: "ro.charger.disable_init_blank"
  }
  prop {
    api_name: "draw_split_offset"
    type: Long
    scope: Internal
    prop_name: "ro.charger.draw_split_offset"
  }
  prop {
    api_name: "draw_split_screen"
    scope: Internal
    prop_name: "ro.charger.draw_split_screen"
  }
  prop {
    api_name: "enable_suspend"
    scope: Internal
    prop_name: "ro.charger.enable_suspend"
  }
  prop {
    api_name: "no_ui"
    scope: Internal
    prop_name: "ro.charger.no_ui"
  }
}
+29 −0
Original line number Diff line number Diff line
props {
  module: "android.sysprop.ChargerProperties"
  prop {
    api_name: "disable_init_blank"
    scope: Internal
    prop_name: "ro.charger.disable_init_blank"
  }
  prop {
    api_name: "draw_split_offset"
    type: Long
    scope: Internal
    prop_name: "ro.charger.draw_split_offset"
  }
  prop {
    api_name: "draw_split_screen"
    scope: Internal
    prop_name: "ro.charger.draw_split_screen"
  }
  prop {
    api_name: "enable_suspend"
    scope: Internal
    prop_name: "ro.charger.enable_suspend"
  }
  prop {
    api_name: "no_ui"
    scope: Internal
    prop_name: "ro.charger.no_ui"
  }
}

healthd/api/current.txt

deleted100644 → 0
+0 −1
Original line number Diff line number Diff line
// Signature format: 2.0

healthd/api/removed.txt

deleted100644 → 0
+0 −1
Original line number Diff line number Diff line
// Signature format: 2.0

healthd/api/system-current.txt

deleted100644 → 0
+0 −1
Original line number Diff line number Diff line
// Signature format: 2.0
Loading