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

Use Configuration.StartsWith('Debug') instead of Configuration == 'Debug' for Debug specific build settings #44920

Open
SteveBush opened this issue Nov 15, 2024 · 2 comments
Labels
Area-NetSDK untriaged Request triage from a team member

Comments

@SteveBush
Copy link

Description

I use Azure pipelines to build the core and platform-specific libraries for my Maui application. I use build configurations to control which projects are built on each Azure-hosted build agent (Windows, MacOS, Linux). For example, I use "Debug-MacOS" as a build configuration for projects that can be built on the MacOS build host. Similarly, I use Debug-Windows to indicate projects that can only be built on the Windows build agent. I have analogous build configurations for release. In Visual Studio on Windows, I have the option of building the configuration "Debug-Windows" or just "Debug" which includes all projects.

My feature requests are two-fold:

  1. Document all build settings that are tied to "Debug" or "Release" configurations. Every release, I spend hours trying to figure out things like AOTCompile, Trimming, release-only optimizations and debug-only configuration settings.
  2. Instead of using Configuration == 'Debug', use Configuration.StartsWith('Debug'). Similarly, for Release configurations. This allows the developer to have they own configurations that behave like Debug or Release without having to hardcode 'Debug' or 'Release'. I could have a build configuration like 'Debug-Simulator' that would automatically reflect MAUI's view of debug settings.

Public API Changes

  • Change all references to Configuration == 'Debug' to Configuration.StartsWith('Debug')
  • Change all references to Configuration == 'Release' to Configuration.StartsWith('Release')
  • Update the developer documents to reflect these changes.

Intended Use-Case

Support for build configurations outside of "Debug" and "Release"

@bcaceiro
Copy link

I subscribe this completely. Havbing multiple configurations is quite common, where we only change possibly a environment variable. Also, hot reload only works with configuration == "Debug", should work with "DebugX" etc.

@mattleibow mattleibow transferred this issue from dotnet/maui Nov 18, 2024
@dotnet-issue-labeler dotnet-issue-labeler bot added Area-NetSDK untriaged Request triage from a team member labels Nov 18, 2024
@mattleibow
Copy link
Member

I moved this to dotnet/sdk because this is the way the SDK works and I feel like people have been asking for this type of thing for years... Especially people doing white labelling.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-NetSDK untriaged Request triage from a team member
Projects
None yet
Development

No branches or pull requests

3 participants