Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create optional bill of materials output #9294

Open
jpobst opened this issue Sep 10, 2024 · 0 comments
Open

Create optional bill of materials output #9294

jpobst opened this issue Sep 10, 2024 · 0 comments
Assignees
Labels
Area: App+Library Build Issues when building Library projects or Application projects. enhancement Proposed change to current functionality.

Comments

@jpobst
Copy link
Contributor

jpobst commented Sep 10, 2024

We often get support requests of the form "this works when I build my app on my machine, but fails when I build it on CI". These usually point to a difference in build environments between the machines. Technically, the versions used for all the build tools are probably in a .binlog, but it takes a lot of spelunking and knowledge to be able to compare two .binlog's. Some information is also available in $(IntermediateOutputPath)build.props but it's hidden deep in the obj directory.

If we made this process easier, would it empower users to self-diagnose build environment differences between machines, eliminating the need for our help?

Possible Solution

Nothing is done by default. A user can add the following MSBuild to their project to generate a BOM manifest that is written to the $(OutputPath):

<AndroidGenerateBOMManifest>true</AndroidGenerateBOMManifest>

The file written to the project output can be whatever format but should contain the following non-exhaustive list of information:

  • OS Version
  • .NET version
  • Workload version(s)
  • Build Tools version
  • Android SDK version
  • JDK version
  • Cmdline Tools version
  • Linker version
  • Aapt2 version
  • ApkSigner version
  • R8 version
  • etc.
@jpobst jpobst added enhancement Proposed change to current functionality. Area: App+Library Build Issues when building Library projects or Application projects. labels Sep 10, 2024
@dotnet-policy-service dotnet-policy-service bot added the needs-triage Issues that need to be assigned. label Sep 10, 2024
@jpobst jpobst removed the needs-triage Issues that need to be assigned. label Sep 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: App+Library Build Issues when building Library projects or Application projects. enhancement Proposed change to current functionality.
Projects
None yet
Development

No branches or pull requests

3 participants