Skip to content
  1. Apr 09, 2020
    • Dan Willemsen's avatar
      soong config: add value_variable substitution · ec8d490d
      Dan Willemsen authored
      There are some cases that aren't handled with the existing variable
      types for booleans or known lists of strings. Similarly to our
      product_variables that uses %s / %d for things like
      PLATFORM_SDK_VERSION, allow vendors to define their own config variables
      to be substituted into properties.
      
      For example, some of the makefiles that I've attempted to convert had
      the option to pass in version numbers from the board, or the default
      display size:
      
        -DDISPLAY_VERSION=550
        -DDISP_H=1080
      
      These examples happen to be integers, but since our configuration
      language (make) doesn't support numbers, %s works just as well.
      
      This change will allow the above to be represented using:
      
        soong_config_module_type {
            name: "acme_cc_defaults",
            module_type: "cc_defaults",
            config_namespace: "acme",
            value_variables: [
                "DISPLAY_VERSION",
      	  "DISP_H",
            ],
            properties: ["cflags"],
        }
      
        acme_cc_defaults {
            name: "my_defaults",
            soong_config_variables: {
                DISPLAY_VERSION: {
      	      cflags: ["-DDISPLAY_VERSION=%s"],
      	  },
      	  DISP_H: {
      	      cflags: ["-DDISP_H=%s"],
      	  }
            },
        }
      
      Bug: 153161144
      Test: built-in tests
      Change-Id: I18f35746b5cc39c304a136980249e886d38c6df6
      Merged-In: I18f35746b5cc39c304a136980249e886d38c6df6
      (cherry picked from commit b0935db8)
      ec8d490d
    • Julien Desprez's avatar
    • Julien Desprez's avatar
    • Automerger Merge Worker's avatar
      Add support for order-only dependencies to RuleBuilder · 82f316b8
      Automerger Merge Worker authored
      Test: TestRuleBuilder
      Change-Id: I1609a790dd4d0a03c8308b6e552622fe33fa2499
      Bug: 153071808
      Merged-In: Icfa98d6840b1dc2e273ba29c33011635d1cf93b1
      82f316b8
    • Automerger Merge Worker's avatar
      Add an order-only dependency on the build number file · c372774b
      Automerger Merge Worker authored
      Remote execution and other tools can be confused by references to
      build_number.txt without a dependency.  Add an order-only dependency,
      which maintains the current behavior.
      
      Test: BUILD_NUMBER=1 && m aapt && aapt version # shows 1
            BUILD_NUMBER=2 && m aapt && aapt version # shows 1
            rm out/soong/.intermediates/frameworks/base/tools/aapt/aapt/linux_glibc_x86_64/aapt
            BUILD_NUMBER=2 && m aapt && aapt version # shows 2
      Change-Id: Icfa98d6840b1dc2e273ba29c33011635d1cf93b1
      Bug: 153071808
      Merged-In: I1609a790dd4d0a03c8308b6e552622fe33fa2499
      c372774b
    • Ulya Trafimovich's avatar
      Relax boot image check to allow platform Jacoco variant in a coverage build. · b4d816e0
      Ulya Trafimovich authored
      Test: m nothing
      Test: m EMMA_INSTRUMENT=true EMMA_INSTRUMENT_FRAMEWORK=true nothing
      
      Bug: 153533941
      
      Change-Id: I5847ec282f6b481cee61ed9ec6b6928c9a41fae7
      Merged-In: I5847ec282f6b481cee61ed9ec6b6928c9a41fae7
      (cherry picked from commit e0ce4ba4)
      b4d816e0
    • Ulya Trafimovich's avatar
      Forbid generating boot image files for jars in updatable modules. · cc21bba9
      Ulya Trafimovich authored
      This is to guard against the potential situation when someone adds
      updatable modules to the list of boot jars by mistake.
      
      Test: aosp_walleye-userdebug builds.
      
      Test: Manually break the checks and observe the errors:
        - move updatable module 'conscrypt' from
          PRODUCT_UPDATABLE_BOOT_JARS to ART_APEX_JARS:
            internal error: module 'conscrypt' from updatable apex 'com.android.conscrypt' is not allowed in the ART boot image
      
        - add updatable module 'conscrypt' to ART_APEX_JARS
          (but do not remove it from PRODUCT_UPDATABLE_BOOT_JARS):
            error: A jar in PRODUCT_UPDATABLE_BOOT_JARS must not be in PRODUCT_BOOT_JARS, but conscrypt is.
      
        - move updatable module 'framework-tethering' from
          PRODUCT_UPDATABLE_BOOT_JARS to PRODUCT_BOOT_JARS:
            internal error: module 'framework-tethering' from updatable apex 'com.android.tethering' is not allowed in the framework boot image
      
        - add non-updatable (in AOSP) module 'android.net.ipsec.ike'
          to PRODUCT_BOOT_JARS:
            internal error: failed to find a dex jar path for module 'com.android.ipsec.ike', note that some jars may be filtered out by module constraints
      
      Bug: 147579140
      
      Exempt-From-Owner-Approval: cherry-pick, approved in AOSP.
      
      Change-Id: I25ca2f52530fcfa1f9823b2cfa3485db9c0d0db1
      Merged-In: I25ca2f52530fcfa1f9823b2cfa3485db9c0d0db1
      (cherry picked from commit b28cc375)
      cc21bba9
    • Jaewoong Jung's avatar
  2. Apr 08, 2020
  3. Apr 07, 2020
  4. Apr 06, 2020
  5. Apr 05, 2020
  6. Apr 04, 2020
    • Jaewoong Jung's avatar
      Use 0777 instead of FileInfo() for dirs. · 4f5edfc4
      Jaewoong Jung authored
      Golang's FileInfo() implementation recognizes FAT filesystem directories
      correctly, but doesn't actually add executable bits, which essentially
      makes them inaccessible. Use 0777 when we know we're dealing with
      directories.
      
      Fixes: 153207404
      Test: manually tested with an aar file with FAT permission bits.
      Change-Id: Ie9f5320bc44d24b2f9d54d4036bb1747456655bb
      4f5edfc4
  7. Apr 03, 2020
    • TreeHugger Robot's avatar
    • Yi Kong's avatar
      bc6341b8
    • Dan Willemsen's avatar
      soong_config: bool_variables shortcut · 1934adc0
      Dan Willemsen authored
      Using a lot of boolean variables can become very verbose without adding
      really any new information:
      
            variables: ["a", "b", "c"],
        }
      
        soong_config_bool_variable {
            name: "a",
        }
      
        soong_config_bool_variable {
            name: "b",
        }
      
        soong_config_bool_variable {
            name: "c",
        }
      
      Now turns into:
      
            bool_variables: ["a", "b", "c"],
        }
      
      Bug: 153161144
      Test: built-in tests
      Change-Id: If5455a38433431c7ecbce1e5b32cfbb47f42602a
      Merged-In: If5455a38433431c7ecbce1e5b32cfbb47f42602a
      (cherry picked from commit 2b8b89cf)
      1934adc0
    • Yi Kong's avatar
      Add platform-wide sampling PGO option · e6a9e64f
      Yi Kong authored
      This causes the compiler to emit some additional debug infomation that
      will be used for sampling PGO. These debug infomation will get stripped
      so it only affects intermediate files.
      
      Test: build
      Bug: 79161490
      Bug: 153039105
      Change-Id: Ie4d1d5ffbd311ba6e268cb94a618f5272be246ef
      Merged-In: Ie4d1d5ffbd311ba6e268cb94a618f5272be246ef
      (cherry picked from commit ceb5b76c)
      e6a9e64f
    • Vladimir Marko's avatar
      Add file with updatable BCP packages to /system/etc/ · b92ae27c
      Vladimir Marko authored
      Make `permitted_packages` mandatory for updatable boot class
      path jars. Collect the permitted_packages from those jars to
      a file installed as /system/etc/updatable_bcp_packages.txt .
      
      (cherry picked from commit 205e6c2a)
      
      Test: aosp_taimen-userdebug boots.
      Test: adb shell cat /system/etc/updatable-bcp-packages
      Test: Manual, remove permitted_packages from framework-tethering,
            build fails.
      Bug: 151314205
      Merged-In: I21def97ace9081e707910d449943c683189f16cf
      Change-Id: I68486f0d8d3368636e1a5324321bd0106fbe241a
      b92ae27c
    • David Srbecky's avatar
      Distinguish boot images by target rather than arch · 163bda65
      David Srbecky authored
      We plan to add boot image variants for host tests.
      Distinguishing the variants by arch does not work,
      since both host and device can have the same arch.
      
      (cherry picked from commit c177ebec)
      
      Test: m
      Bug: 152037801
      Merged-In: Iea73c77367affb074f97a0fc318389417ce537da
      Change-Id: I8b95882bb00cd2fd1f6cfd8a2784f9ebb957eec6
      163bda65
    • Bill Peckham's avatar
  8. Apr 02, 2020
    • Dan Willemsen's avatar
      Fix long mac test times; only initialize host settings once · 2071132e
      Dan Willemsen authored
      It looks like sometime in late February our Mac builds started taking
      ~10 minutes longer than before. On my local workstation the Soong tests
      were taking >25 minutes before completing (likely because I don't have
      the older SDKs installed, and we iterate from older to newer to find the
      oldest installed SDK).
      
      Most of this time was spend running the `xcrun` tools to interrogate the
      system about which Mac SDKs are installed and where the tools are. This
      will never change during any build or test, so wrap it all in a
      sync.Once so that we only ever call them once.
      
      And remove the macSdkPath variable, which has been unused for years and
      no longer works (as we don't allow the use of xcode-select during the
      build).
      
      Bug: 153010389
      Test: prebuilts/build-tools/build-prebuilts.sh on a Mac
      Change-Id: I39b2d49739e628e4c11bec4805b25039115d2fd0
      Merged-In: I39b2d49739e628e4c11bec4805b25039115d2fd0
      (cherry picked from commit 6ba5367a)
      2071132e
    • Bill Peckham's avatar
      Include partition tag in apexkeys.txt. · 1c610cfe
      Bill Peckham authored
      The partition tag helps merge_target_files.py determine
      which apexkeys.txt to select from the framework partial
      target files and which to select from the vendor partial
      target files. The partition tag is the pysical partition
      name, for example, a system_ext module on a device where
      system_ext is at system/system_ext has a system
      partition tag.
      
      Bug: 138942268
      Change-Id: Ia07887b34f1aa77dae94ef23610dfef83c1a5849
      Merged-In: Ia07887b34f1aa77dae94ef23610dfef83c1a5849
      1c610cfe
    • Jooyung Han's avatar
      Apex: support codenames for min_sdk_version · 29e91d21
      Jooyung Han authored
      Apex can use codenames like "Q", "R" for its min_sdk_version property.
      Also, cc_library can use codenames for its stubs.versions.
      
      Bug: 152655956
      Test: vendor/google/build/build_mainline_modules.sh
      Change-Id: I077ad7b2ac5d90b4c8708921e43846206f05ba70
      29e91d21
    • Anton Hansson's avatar
  9. Apr 01, 2020
  10. Mar 31, 2020
    • Dan Shi's avatar
      Merge "Rename VTS to VTS10" am: 7182c45f am: 4058983c am: 8989420f am: 2d2a3643 · 1a9a9127
      Dan Shi authored
      Bug: 151896491
      Test: none
      
      Change-Id: Iee9324c4edefef56171ecfac64fd11a9595e5f7c
      Merged-In: Iadad4ba96bf9a7f3b1d12c9d4eeb90fb1ed0841d
      Merged-In: Iee9324c4edefef56171ecfac64fd11a9595e5f7c
      (cherry picked from commit ee3ec387)
      1a9a9127
    • Anton Hansson's avatar
      Remove neverallow rules for framework-mediaprovider · a5cb6fe9
      Anton Hansson authored
      We actually want some targets (in particular, the MediaProvider apk)
      to link against framework-mediaprovider.
      
      The gist of what the neverallow rule achieves (disallow general use)
      is achieved equally well with visibility rules, which
      framework-mediaprovider already has.
      
      Bug: 152891096
      Test: m nothing
      Change-Id: Ic4b0a571985b9ad1dfdd56d45035f224a622700e
      a5cb6fe9
    • Artur Satayev's avatar
      Use modular removed-dex.txt files for greylisting. · a8ec5599
      Artur Satayev authored
      Use droidstubs for public and system stubs to provide a list of @removed APIs. As these APIs are not present in the stubs, they are not whitelisted / greylised automatically. Keep them on greylist manually.
      
      Bug: 143864733
      Test: diff out/soong/hiddenapi/hiddenapi-flags.csv
      Change-Id: I4c8e6899fadfdfd1da82f6f453cc92e71aa9b78c
      Merged-In: I4c8e6899fadfdfd1da82f6f453cc92e71aa9b78c
      Exempt-From-Owner-Approval: clean cherry-pick
      (cherry picked from commit c7fb5c99)
      a8ec5599
  11. Mar 30, 2020
Loading