Android.bp 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739
  1. //
  2. // Copyright (C) 2015 The Android Open Source Project
  3. //
  4. // Licensed under the Apache License, Version 2.0 (the "License");
  5. // you may not use this file except in compliance with the License.
  6. // You may obtain a copy of the License at
  7. //
  8. // http://www.apache.org/licenses/LICENSE-2.0
  9. //
  10. // Unless required by applicable law or agreed to in writing, software
  11. // distributed under the License is distributed on an "AS IS" BASIS,
  12. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. // See the License for the specific language governing permissions and
  14. // limitations under the License.
  15. //
  16. // AIDL interface between libupdate_engine and framework.jar
  17. filegroup {
  18. name: "libupdate_engine_aidl",
  19. srcs: [
  20. "binder_bindings/android/os/IUpdateEngine.aidl",
  21. "binder_bindings/android/os/IUpdateEngineCallback.aidl",
  22. ],
  23. path: "binder_bindings",
  24. }
  25. cc_defaults {
  26. name: "ue_defaults",
  27. cflags: [
  28. "-DBASE_VER=576279",
  29. "-DUSE_BINDER=1",
  30. "-DUSE_CHROME_NETWORK_PROXY=0",
  31. "-DUSE_CHROME_KIOSK_APP=0",
  32. "-DUSE_HWID_OVERRIDE=0",
  33. "-DUSE_MTD=0",
  34. "-DUSE_OMAHA=0",
  35. "-D_FILE_OFFSET_BITS=64",
  36. "-D_POSIX_C_SOURCE=199309L",
  37. "-Wa,--noexecstack",
  38. "-Wall",
  39. "-Werror",
  40. "-Wextra",
  41. "-Wformat=2",
  42. "-Wno-psabi",
  43. "-Wno-unused-parameter",
  44. "-ffunction-sections",
  45. "-fstack-protector-strong",
  46. "-fvisibility=hidden",
  47. ],
  48. cppflags: [
  49. "-Wnon-virtual-dtor",
  50. "-fno-strict-aliasing",
  51. ],
  52. include_dirs: ["system"],
  53. local_include_dirs: ["client_library/include"],
  54. static_libs: ["libgtest_prod"],
  55. shared_libs: [
  56. "libbrillo-stream",
  57. "libbrillo",
  58. "libchrome",
  59. ],
  60. ldflags: ["-Wl,--gc-sections"],
  61. product_variables: {
  62. pdk: {
  63. enabled: false,
  64. },
  65. },
  66. target: {
  67. android: {
  68. cflags: [
  69. "-DUSE_FEC=1",
  70. ],
  71. },
  72. host: {
  73. cflags: [
  74. "-DUSE_FEC=0",
  75. ],
  76. },
  77. darwin: {
  78. enabled: false,
  79. },
  80. },
  81. }
  82. // update_metadata-protos (type: static_library)
  83. // ========================================================
  84. // Protobufs.
  85. cc_defaults {
  86. name: "update_metadata-protos_exports",
  87. shared_libs: ["libprotobuf-cpp-lite"],
  88. }
  89. cc_library_static {
  90. name: "update_metadata-protos",
  91. host_supported: true,
  92. recovery_available: true,
  93. srcs: ["update_engine/update_metadata.proto"],
  94. cflags: [
  95. "-Wall",
  96. "-Werror",
  97. ],
  98. proto: {
  99. canonical_path_from_root: false,
  100. export_proto_headers: true,
  101. },
  102. }
  103. // libpayload_consumer (type: static_library)
  104. // ========================================================
  105. // The payload application component and common dependencies.
  106. cc_defaults {
  107. name: "libpayload_consumer_exports",
  108. defaults: ["update_metadata-protos_exports"],
  109. static_libs: [
  110. "update_metadata-protos",
  111. "libxz",
  112. "libbz",
  113. "libbspatch",
  114. "libbrotli",
  115. "libfec_rs",
  116. "libpuffpatch",
  117. "libverity_tree",
  118. ],
  119. shared_libs: [
  120. "libbase",
  121. "libcrypto",
  122. "libfec",
  123. ],
  124. }
  125. cc_library_static {
  126. name: "libpayload_consumer",
  127. defaults: [
  128. "ue_defaults",
  129. "libpayload_consumer_exports",
  130. ],
  131. host_supported: true,
  132. recovery_available: true,
  133. srcs: [
  134. "common/action_processor.cc",
  135. "common/boot_control_stub.cc",
  136. "common/clock.cc",
  137. "common/constants.cc",
  138. "common/cpu_limiter.cc",
  139. "common/error_code_utils.cc",
  140. "common/file_fetcher.cc",
  141. "common/hash_calculator.cc",
  142. "common/http_common.cc",
  143. "common/http_fetcher.cc",
  144. "common/hwid_override.cc",
  145. "common/multi_range_http_fetcher.cc",
  146. "common/platform_constants_android.cc",
  147. "common/prefs.cc",
  148. "common/proxy_resolver.cc",
  149. "common/subprocess.cc",
  150. "common/terminator.cc",
  151. "common/utils.cc",
  152. "payload_consumer/bzip_extent_writer.cc",
  153. "payload_consumer/cached_file_descriptor.cc",
  154. "payload_consumer/delta_performer.cc",
  155. "payload_consumer/download_action.cc",
  156. "payload_consumer/extent_reader.cc",
  157. "payload_consumer/extent_writer.cc",
  158. "payload_consumer/file_descriptor.cc",
  159. "payload_consumer/file_descriptor_utils.cc",
  160. "payload_consumer/file_writer.cc",
  161. "payload_consumer/filesystem_verifier_action.cc",
  162. "payload_consumer/install_plan.cc",
  163. "payload_consumer/mount_history.cc",
  164. "payload_consumer/payload_constants.cc",
  165. "payload_consumer/payload_metadata.cc",
  166. "payload_consumer/payload_verifier.cc",
  167. "payload_consumer/postinstall_runner_action.cc",
  168. "payload_consumer/verity_writer_android.cc",
  169. "payload_consumer/xz_extent_writer.cc",
  170. "payload_consumer/fec_file_descriptor.cc",
  171. ],
  172. }
  173. // libupdate_engine_boot_control (type: static_library)
  174. // ========================================================
  175. // A BootControl class implementation using Android's HIDL boot_control HAL.
  176. cc_defaults {
  177. name: "libupdate_engine_boot_control_exports",
  178. defaults: ["update_metadata-protos_exports"],
  179. static_libs: ["update_metadata-protos"],
  180. shared_libs: [
  181. "libbootloader_message",
  182. "libfs_mgr",
  183. "libhwbinder",
  184. "libhidlbase",
  185. "liblp",
  186. "libutils",
  187. "[email protected]",
  188. ],
  189. }
  190. cc_library_static {
  191. name: "libupdate_engine_boot_control",
  192. defaults: [
  193. "ue_defaults",
  194. "libupdate_engine_boot_control_exports",
  195. ],
  196. recovery_available: true,
  197. srcs: [
  198. "boot_control_android.cc",
  199. "dynamic_partition_control_android.cc",
  200. ],
  201. }
  202. // libupdate_engine_android (type: static_library)
  203. // ========================================================
  204. // The main daemon static_library used in Android (non-Brillo). This only has a
  205. // loop to apply payloads provided by the upper layer via a Binder interface.
  206. cc_defaults {
  207. name: "libupdate_engine_android_exports",
  208. defaults: [
  209. "ue_defaults",
  210. "libpayload_consumer_exports",
  211. "libupdate_engine_boot_control_exports",
  212. ],
  213. static_libs: [
  214. "libpayload_consumer",
  215. "libupdate_engine_boot_control",
  216. ],
  217. shared_libs: [
  218. "libandroid_net",
  219. "libbase",
  220. "libbinder",
  221. "libbinderwrapper",
  222. "libbootloader_message",
  223. "libbrillo-binder",
  224. "libcurl",
  225. "libcutils",
  226. "liblog",
  227. "libmetricslogger",
  228. "libssl",
  229. "libutils",
  230. ],
  231. }
  232. cc_library_static {
  233. name: "libupdate_engine_android",
  234. defaults: [
  235. "ue_defaults",
  236. "libupdate_engine_android_exports",
  237. ],
  238. // TODO(deymo): Remove external/cros/system_api/dbus once the strings are moved
  239. // out of the DBus interface.
  240. include_dirs: ["external/cros/system_api/dbus"],
  241. aidl: {
  242. local_include_dirs: ["binder_bindings"],
  243. export_aidl_headers: true,
  244. },
  245. srcs: [
  246. ":libupdate_engine_aidl",
  247. "binder_service_android.cc",
  248. "certificate_checker.cc",
  249. "daemon.cc",
  250. "daemon_state_android.cc",
  251. "hardware_android.cc",
  252. "libcurl_http_fetcher.cc",
  253. "metrics_reporter_android.cc",
  254. "metrics_utils.cc",
  255. "network_selector_android.cc",
  256. "update_attempter_android.cc",
  257. "update_boot_flags_action.cc",
  258. "update_status_utils.cc",
  259. ],
  260. }
  261. // update_engine (type: executable)
  262. // ========================================================
  263. // update_engine daemon.
  264. cc_binary {
  265. name: "update_engine",
  266. defaults: [
  267. "ue_defaults",
  268. "libupdate_engine_android_exports",
  269. ],
  270. static_libs: ["libupdate_engine_android"],
  271. required: ["cacerts_google"],
  272. srcs: ["main.cc"],
  273. init_rc: ["update_engine.rc"],
  274. }
  275. // update_engine_sideload (type: executable)
  276. // ========================================================
  277. // A binary executable equivalent to update_engine daemon that installs an update
  278. // from a local file directly instead of running in the background. Used in
  279. // recovery image.
  280. cc_binary {
  281. name: "update_engine_sideload",
  282. defaults: [
  283. "ue_defaults",
  284. "update_metadata-protos_exports",
  285. "libupdate_engine_boot_control_exports",
  286. "libpayload_consumer_exports",
  287. ],
  288. recovery: true,
  289. cflags: ["-D_UE_SIDELOAD"],
  290. // TODO(deymo): Remove external/cros/system_api/dbus once the strings are moved
  291. // out of the DBus interface.
  292. include_dirs: ["external/cros/system_api/dbus"],
  293. srcs: [
  294. "hardware_android.cc",
  295. "metrics_reporter_stub.cc",
  296. "metrics_utils.cc",
  297. "network_selector_stub.cc",
  298. "sideload_main.cc",
  299. "update_attempter_android.cc",
  300. "update_boot_flags_action.cc",
  301. "update_status_utils.cc",
  302. ],
  303. // Use commonly used shared libraries. libprotobuf-cpp-lite.so is filtered out,
  304. // as it doesn't look beneficial to be installed separately due to its size. Note
  305. // that we explicitly request their recovery variants, so that the expected files
  306. // will be used and installed.
  307. shared_libs: [
  308. "libbase",
  309. "liblog",
  310. ],
  311. static_libs: [
  312. "libpayload_consumer",
  313. "libupdate_engine_boot_control",
  314. "update_metadata-protos",
  315. // We add the static versions of the shared libraries that are not installed to
  316. // recovery image due to size concerns. Need to include all the static library
  317. // dependencies of these static libraries.
  318. "libevent",
  319. "libmodpb64",
  320. "libgtest_prod",
  321. "libprotobuf-cpp-lite",
  322. "libbrillo-stream",
  323. "libbrillo",
  324. "libchrome",
  325. ],
  326. target: {
  327. recovery: {
  328. exclude_shared_libs: [
  329. "libprotobuf-cpp-lite",
  330. "libhwbinder",
  331. "libbrillo-stream",
  332. "libbrillo",
  333. "libchrome",
  334. ],
  335. },
  336. },
  337. required: ["[email protected]"],
  338. }
  339. // libupdate_engine_client (type: shared_library)
  340. // ========================================================
  341. cc_library_shared {
  342. name: "libupdate_engine_client",
  343. cflags: [
  344. "-Wall",
  345. "-Werror",
  346. "-Wno-unused-parameter",
  347. "-DUSE_BINDER=1",
  348. ],
  349. export_include_dirs: ["client_library/include"],
  350. include_dirs: [
  351. // TODO(deymo): Remove "external/cros/system_api/dbus" when dbus is not used.
  352. "external/cros/system_api/dbus",
  353. "system",
  354. ],
  355. aidl: {
  356. local_include_dirs: ["binder_bindings"],
  357. },
  358. shared_libs: [
  359. "libchrome",
  360. "libbrillo",
  361. "libbinder",
  362. "libbrillo-binder",
  363. "libutils",
  364. ],
  365. srcs: [
  366. "binder_bindings/android/brillo/IUpdateEngine.aidl",
  367. "binder_bindings/android/brillo/IUpdateEngineStatusCallback.aidl",
  368. "client_library/client.cc",
  369. "client_library/client_binder.cc",
  370. "parcelable_update_engine_status.cc",
  371. "update_status_utils.cc",
  372. ],
  373. }
  374. // update_engine_client (type: executable)
  375. // ========================================================
  376. // update_engine console client.
  377. cc_binary {
  378. name: "update_engine_client",
  379. defaults: ["ue_defaults"],
  380. // TODO(deymo): Remove external/cros/system_api/dbus once the strings are moved
  381. // out of the DBus interface.
  382. include_dirs: ["external/cros/system_api/dbus"],
  383. shared_libs: [
  384. "libbinder",
  385. "libbinderwrapper",
  386. "libbrillo-binder",
  387. "libutils",
  388. ],
  389. aidl: {
  390. local_include_dirs: ["binder_bindings"],
  391. },
  392. srcs: [
  393. ":libupdate_engine_aidl",
  394. "common/error_code_utils.cc",
  395. "update_engine_client_android.cc",
  396. "update_status_utils.cc",
  397. ],
  398. }
  399. // libpayload_generator (type: static_library)
  400. // ========================================================
  401. // server-side code. This is used for delta_generator and unittests but not
  402. // for any client code.
  403. cc_defaults {
  404. name: "libpayload_generator_exports",
  405. defaults: [
  406. "libpayload_consumer_exports",
  407. "update_metadata-protos_exports",
  408. ],
  409. static_libs: [
  410. "libavb",
  411. "libbrotli",
  412. "libbsdiff",
  413. "libdivsufsort",
  414. "libdivsufsort64",
  415. "liblzma",
  416. "libpayload_consumer",
  417. "libpuffdiff",
  418. "libverity_tree",
  419. "update_metadata-protos",
  420. ],
  421. shared_libs: [
  422. "libbase",
  423. "libext2fs",
  424. ],
  425. }
  426. cc_library_static {
  427. name: "libpayload_generator",
  428. defaults: [
  429. "ue_defaults",
  430. "libpayload_generator_exports",
  431. ],
  432. host_supported: true,
  433. srcs: [
  434. "payload_generator/ab_generator.cc",
  435. "payload_generator/annotated_operation.cc",
  436. "payload_generator/blob_file_writer.cc",
  437. "payload_generator/block_mapping.cc",
  438. "payload_generator/boot_img_filesystem.cc",
  439. "payload_generator/bzip.cc",
  440. "payload_generator/cycle_breaker.cc",
  441. "payload_generator/deflate_utils.cc",
  442. "payload_generator/delta_diff_generator.cc",
  443. "payload_generator/delta_diff_utils.cc",
  444. "payload_generator/ext2_filesystem.cc",
  445. "payload_generator/extent_ranges.cc",
  446. "payload_generator/extent_utils.cc",
  447. "payload_generator/full_update_generator.cc",
  448. "payload_generator/graph_types.cc",
  449. "payload_generator/graph_utils.cc",
  450. "payload_generator/inplace_generator.cc",
  451. "payload_generator/mapfile_filesystem.cc",
  452. "payload_generator/payload_file.cc",
  453. "payload_generator/payload_generation_config_android.cc",
  454. "payload_generator/payload_generation_config.cc",
  455. "payload_generator/payload_signer.cc",
  456. "payload_generator/raw_filesystem.cc",
  457. "payload_generator/squashfs_filesystem.cc",
  458. "payload_generator/tarjan.cc",
  459. "payload_generator/topological_sort.cc",
  460. "payload_generator/xz_android.cc",
  461. ],
  462. }
  463. // delta_generator (type: executable)
  464. // ========================================================
  465. // server-side delta generator.
  466. cc_binary_host {
  467. name: "delta_generator",
  468. defaults: [
  469. "ue_defaults",
  470. "libpayload_generator_exports",
  471. "libpayload_consumer_exports",
  472. ],
  473. static_libs: [
  474. "libavb_host_sysdeps",
  475. "libpayload_consumer",
  476. "libpayload_generator",
  477. ],
  478. srcs: ["payload_generator/generate_delta_main.cc"],
  479. }
  480. cc_test {
  481. name: "ue_unittest_delta_generator",
  482. defaults: [
  483. "ue_defaults",
  484. "libpayload_generator_exports",
  485. "libpayload_consumer_exports",
  486. ],
  487. static_libs: [
  488. "libpayload_consumer",
  489. "libpayload_generator",
  490. ],
  491. srcs: ["payload_generator/generate_delta_main.cc"],
  492. gtest: false,
  493. stem: "delta_generator",
  494. relative_install_path: "update_engine_unittests",
  495. no_named_install_directory: true,
  496. }
  497. // test_http_server (type: executable)
  498. // ========================================================
  499. // Test HTTP Server.
  500. cc_test {
  501. name: "test_http_server",
  502. defaults: ["ue_defaults"],
  503. srcs: [
  504. "common/http_common.cc",
  505. "test_http_server.cc",
  506. ],
  507. gtest: false,
  508. relative_install_path: "update_engine_unittests",
  509. no_named_install_directory: true,
  510. }
  511. // test_subprocess (type: executable)
  512. // ========================================================
  513. // Test helper subprocess program.
  514. cc_test {
  515. name: "test_subprocess",
  516. defaults: ["ue_defaults"],
  517. srcs: ["test_subprocess.cc"],
  518. gtest: false,
  519. relative_install_path: "update_engine_unittests",
  520. no_named_install_directory: true,
  521. }
  522. // Public keys for unittests.
  523. // ========================================================
  524. genrule {
  525. name: "ue_unittest_keys",
  526. cmd: "openssl rsa -in $(location unittest_key.pem) -pubout -out $(location unittest_key.pub.pem) &&" +
  527. "openssl rsa -in $(location unittest_key2.pem) -pubout -out $(location unittest_key2.pub.pem) &&" +
  528. "openssl rsa -in $(location unittest_key_RSA4096.pem) -pubout -out $(location unittest_key_RSA4096.pub.pem)",
  529. srcs: [
  530. "unittest_key.pem",
  531. "unittest_key2.pem",
  532. "unittest_key_RSA4096.pem",
  533. ],
  534. out: [
  535. "unittest_key.pub.pem",
  536. "unittest_key2.pub.pem",
  537. "unittest_key_RSA4096.pub.pem",
  538. ],
  539. }
  540. // Sample images for unittests.
  541. // ========================================================
  542. // Extract sample image from the compressed sample_images.tar.bz2 file used by
  543. // the unittests.
  544. genrule {
  545. name: "ue_unittest_disk_imgs",
  546. cmd: "tar -jxf $(in) -C $(genDir)/gen disk_ext2_1k.img disk_ext2_4k.img disk_ext2_4k_empty.img disk_ext2_unittest.img",
  547. srcs: ["sample_images/sample_images.tar.bz2"],
  548. out: [
  549. "gen/disk_ext2_1k.img",
  550. "gen/disk_ext2_4k.img",
  551. "gen/disk_ext2_4k_empty.img",
  552. "gen/disk_ext2_unittest.img",
  553. ],
  554. }
  555. // update_engine_unittests (type: executable)
  556. // ========================================================
  557. // Main unittest file.
  558. cc_test {
  559. name: "update_engine_unittests",
  560. defaults: [
  561. "ue_defaults",
  562. "libpayload_generator_exports",
  563. "libupdate_engine_android_exports",
  564. ],
  565. required: [
  566. "test_http_server",
  567. "test_subprocess",
  568. "ue_unittest_delta_generator",
  569. ],
  570. static_libs: [
  571. "libpayload_generator",
  572. "libbrillo-test-helpers",
  573. "libgmock",
  574. "libchrome_test_helpers",
  575. "libupdate_engine_android",
  576. ],
  577. shared_libs: [
  578. "libhidltransport",
  579. ],
  580. data: [
  581. ":ue_unittest_disk_imgs",
  582. ":ue_unittest_keys",
  583. "unittest_key.pem",
  584. "unittest_key2.pem",
  585. "unittest_key_RSA4096.pem",
  586. "update_engine.conf",
  587. ],
  588. srcs: [
  589. "boot_control_android_unittest.cc",
  590. "certificate_checker_unittest.cc",
  591. "common/action_pipe_unittest.cc",
  592. "common/action_processor_unittest.cc",
  593. "common/action_unittest.cc",
  594. "common/cpu_limiter_unittest.cc",
  595. "common/fake_prefs.cc",
  596. "common/file_fetcher_unittest.cc",
  597. "common/hash_calculator_unittest.cc",
  598. "common/http_fetcher_unittest.cc",
  599. "common/hwid_override_unittest.cc",
  600. "common/mock_http_fetcher.cc",
  601. "common/prefs_unittest.cc",
  602. "common/proxy_resolver_unittest.cc",
  603. "common/subprocess_unittest.cc",
  604. "common/terminator_unittest.cc",
  605. "common/test_utils.cc",
  606. "common/utils_unittest.cc",
  607. "payload_consumer/bzip_extent_writer_unittest.cc",
  608. "payload_consumer/cached_file_descriptor_unittest.cc",
  609. "payload_consumer/delta_performer_integration_test.cc",
  610. "payload_consumer/delta_performer_unittest.cc",
  611. "payload_consumer/extent_reader_unittest.cc",
  612. "payload_consumer/extent_writer_unittest.cc",
  613. "payload_consumer/fake_file_descriptor.cc",
  614. "payload_consumer/file_descriptor_utils_unittest.cc",
  615. "payload_consumer/file_writer_unittest.cc",
  616. "payload_consumer/filesystem_verifier_action_unittest.cc",
  617. "payload_consumer/postinstall_runner_action_unittest.cc",
  618. "payload_consumer/verity_writer_android_unittest.cc",
  619. "payload_consumer/xz_extent_writer_unittest.cc",
  620. "payload_generator/ab_generator_unittest.cc",
  621. "payload_generator/blob_file_writer_unittest.cc",
  622. "payload_generator/block_mapping_unittest.cc",
  623. "payload_generator/boot_img_filesystem_unittest.cc",
  624. "payload_generator/cycle_breaker_unittest.cc",
  625. "payload_generator/deflate_utils_unittest.cc",
  626. "payload_generator/delta_diff_utils_unittest.cc",
  627. "payload_generator/ext2_filesystem_unittest.cc",
  628. "payload_generator/extent_ranges_unittest.cc",
  629. "payload_generator/extent_utils_unittest.cc",
  630. "payload_generator/fake_filesystem.cc",
  631. "payload_generator/full_update_generator_unittest.cc",
  632. "payload_generator/graph_utils_unittest.cc",
  633. "payload_generator/inplace_generator_unittest.cc",
  634. "payload_generator/mapfile_filesystem_unittest.cc",
  635. "payload_generator/payload_file_unittest.cc",
  636. "payload_generator/payload_generation_config_android_unittest.cc",
  637. "payload_generator/payload_generation_config_unittest.cc",
  638. "payload_generator/payload_signer_unittest.cc",
  639. "payload_generator/squashfs_filesystem_unittest.cc",
  640. "payload_generator/tarjan_unittest.cc",
  641. "payload_generator/topological_sort_unittest.cc",
  642. "payload_generator/zip_unittest.cc",
  643. "testrunner.cc",
  644. "update_attempter_android_unittest.cc",
  645. ],
  646. }
  647. // Brillo update payload generation script
  648. // ========================================================
  649. cc_prebuilt_binary {
  650. name: "brillo_update_payload",
  651. device_supported: false,
  652. host_supported: true,
  653. srcs: ["scripts/brillo_update_payload"],
  654. required: [
  655. "delta_generator",
  656. "shflags",
  657. "simg2img",
  658. ],
  659. target: {
  660. darwin: {
  661. enabled: false,
  662. },
  663. },
  664. }
  665. // AIDL interface between libupdate_engine and the Things jar.
  666. filegroup {
  667. name: "things_update_engine_aidl",
  668. srcs: [
  669. "binder_bindings/android/brillo/IUpdateEngine.aidl",
  670. "binder_bindings/android/brillo/IUpdateEngineStatusCallback.aidl",
  671. ],
  672. }