extender
extender copied to clipboard
Ensure consistent application of app manifest
In our implementation, we need to make sure each stage of the manifests are applied correctly.
One use case that doesn't fully work as intended is when a developer wishes to reenable the profiler in a release build:
- Our build_input.yml adds profiler symbols+libs
- Our release_input.appmanifest removes the profiler symbols+libs
- The appmanifest tries to readd the profiler symbols+libs, but they're still not applied
symbols: [ProfilerJS, ProfilerExt]
excludeLibs: [profile_null, profilerext_null]
libs: [profile, profilerext, profiler_js]
In the final result, the profiler info is not being readded. It seems the exclude parts of the previous steps are still applied on the appmanifest, which is not how we intended it.
Cons: We may have situations currently that accidentally rely on this buggy behaviour.
PR that is dependent on this fix: https://github.com/defold/defold/pull/11436