tag | 2901c175d2365ff5e038403f1fbc1c48e4080cbd | |
---|---|---|
tagger | The Android Open Source Project <initial-contribution@android.com> | Thu Feb 18 09:57:27 2021 -0800 |
object | 8ec690764eb1defbea4a7aaf65f00c6e2fe6663a |
Android S Preview 1
commit | 8ec690764eb1defbea4a7aaf65f00c6e2fe6663a | [log] [tgz] |
---|---|---|
author | ThiƩbaud Weksteen <tweek@google.com> | Mon Feb 15 18:54:26 2021 +0000 |
committer | Colin Cross <ccross@android.com> | Tue Feb 16 21:45:01 2021 -0800 |
tree | d9d1ac687c2ed914df9a9966efea2ed9b9774b32 | |
parent | e980b25b954389a6e4a2d96aa8c696a47d99c776 [diff] |
Fix ReplaceExtension ReplaceExtension had an unexpected behaviour when the file did not have an extension. In certain cases, the final path would be severely trimmed: out/.intermediates/my_file would become out/.new_extension. Explicitly handle the case by appending the new extension. Test: Run checkbuild on Android Soong Change-Id: Ie27a98845894cfaee5af5e2a02d44168c40ed821 This is an imported pull request from https://github.com/google/blueprint/pull/345 GitOrigin-RevId: f9166c0e6151499b4b1a23b89b0bc133203a1116 Change-Id: I63f0798177545792440b8a84b04f1090590f1642
Blueprint is a meta-build system that reads in Blueprints files that describe modules that need to be built, and produces a Ninja manifest describing the commands that need to be run and their dependencies. Where most build systems use built-in rules or a domain-specific language to describe the logic for converting module descriptions to build rules, Blueprint delegates this to per-project build logic written in Go. For large, heterogenous projects this allows the inherent complexity of the build logic to be maintained in a high-level language, while still allowing simple changes to individual modules by modifying easy to understand Blueprints files.