Skip to content

Code Quality: Introduced a new build experience #17025

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

Closed
wants to merge 6 commits into from

Conversation

Lamparter
Copy link
Contributor

Resolved / Related Issues

Steps used to test these changes

  1. Build Files
  2. ...and if it works, this PR works

This PR introduces a new build experience for Files, where you can select the app environment using Visual Studio's built-in interface (this use case is the reason Configuration settings exist in Visual Studio)

image

I've created MSBuild targets that generate an AppX manifest file on the spot, and add correct assets appropriate to the build.

Ultimately, this PR simplifies the build experience by:

  • Removing the CD scripts Configure-*.ps1 (mostly)
  • Generating the AppX manifest file on the spot, so no clunky designer or copied files
  • Removing unnecessary configurations (aka Code Quality: Removed unnecessary configurations #16569)
  • Copying app assets at compile time
    • (no need to replace them manually, and all references to the app tiles are now src/Files.App/Assets/AppTiles/Current/** which contains the app tiles relevant to the build type.
  • Hiding unnecessary generated files through the ignore, such as AppX manifest files and automatically generated app tile assets.

@Lamparter
Copy link
Contributor Author

I'm aware that the issue #16680 wasn't marked as ready to build, but the exact benefits and differences introduced by this are hard to outline in the issue.
It is easier to just implement and then the reviewer can try it out for themselves.

@Lamparter
Copy link
Contributor Author

This level of integration is tricky to describe, as the actual benefits of this are unrealistic to measure outside of the actual implementation.
Perhaps this can serve as a "demo" for how it could be implemented in other apps.

@Lamparter Lamparter closed this Apr 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Code Quality: Add a solution configuration for each build of the app
1 participant