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

Commit 4dcf6595 authored by Paul Duffin's avatar Paul Duffin
Browse files

Add analyze_bcpf.py script to help manage bootclasspath_fragments

The analyze_bcpf.py script can be used by bootclasspath_fragment owners
to help setup their fragment and also to debug issues that arise during
use.

It is run by specifying the name of the bootclasspath_fragment module
in the --bcpf option. If specified the --apex and --sdk options will
allow the tool to produce more helpful messages.

The script currently:
* Builds out/soong/hiddenapi/hiddenapi-stub-flags.txt and checks any
  inconsistencies between those flags and the flags generated for the
  bootclasspath_fragment.

* Builds out/soong/hiddenapi/hiddenapi-flags.csv and checks any
  inconsistencies between those flags and the flags generated for the
  bootclasspath_fragment. It will describe the changes that need to
  be made in order to fix any inconsistencies in the flags.

Bug: 202154151
Test: m analyze_bcpf && analyze_bcpf --bcpf art-bootclasspath-fragment
      atest --host analyze_bcpf_test
Change-Id: I824fd9d527d246dfe56725c073d89a0b0e72d25a
parent 0f2a718c
Loading
Loading
Loading
Loading
+42 −0
Original line number Diff line number Diff line
@@ -18,6 +18,48 @@ package {
    default_applicable_licenses: ["Android-Apache-2.0"],
}

python_binary_host {
    name: "analyze_bcpf",
    main: "analyze_bcpf.py",
    srcs: ["analyze_bcpf.py"],
    libs: [
        "signature_trie",
    ],
    version: {
        py2: {
            enabled: false,
        },
        py3: {
            enabled: true,
            embedded_launcher: true,
        },
    },
}

python_test_host {
    name: "analyze_bcpf_test",
    main: "analyze_bcpf_test.py",
    srcs: [
        "analyze_bcpf.py",
        "analyze_bcpf_test.py",
    ],
    libs: [
        "signature_trie",
    ],
    version: {
        py2: {
            enabled: false,
        },
        py3: {
            enabled: true,
            embedded_launcher: true,
        },
    },
    test_options: {
        unit_test: true,
    },
}

python_binary_host {
    name: "merge_csv",
    main: "merge_csv.py",