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

Allow overriding of CMakePresets cache variables and arguments #3537

Merged
merged 24 commits into from
Jan 19, 2024

Conversation

gcampbell-msft
Copy link
Collaborator

This change addresses item #1836.

This changes the behavior of the settings provided by the CMake extension for arguments and environments.

The following changes are proposed:

  • Allow various fields that modify configuration, build, and testing, to override CMakePresets environments and arguments.
  • Specifically, this includes the following fields that are now supported when using presets, while doing various actions
    • cmake.environment (any cmake command)
    • cmake.configureArgs (configure)
    • cmake.configureEnvironment (configure)
    • cmake.buildArgs (build)
    • cmake.buildEnvironment (build)
    • cmake.buildToolsArgs (build, but specific to the build tool)
    • cmake.ctestArgs (test)
    • cmake.testEnvironment (test)
  • With the above changes, we added UI notifications to ensure users are aware of when any of the above settings are possibly overriding settings from their Preset. In general, the UI will appear if they have any setting (from the above list) affecting their configurations.
  • Also, we added log statements that will appear in the output that will notify the user as well.

The purpose of this change

The general purpose is to allow for the settings we provide via VS Code, to be used during CMake Presets so that people can temporarily override various settings and cache variables in order to test and investigate their configuration and project set-up.

Screenshots of various functionality.

Project status view:
If there are settings set in any of the above list, the affected configuration will have a UI string to notify the user:
image

When there are settings that are affecting the configuration, a setting icon will appear that will open the settings to the possible settings that may be affecting the configuration:
image.
This will open the settings as such:
image.

Additionally, if the settings are removed, then the "override settings applied" text will be removed from the UI.

Status bar:
image
An * is added to the status bar if the configure preset, build preset, or test preset icons are visible and there are settings (from the above list) set.

Output pane:
There will be a simple text output that indicates that there are settings defined that may affect or override your preset configuration. This will happen for things like configure, build, test, launch, etc.
Here is an example:
image

@gcampbell-msft
Copy link
Collaborator Author

@snehara99 @benmcmorran @lukka Ping for review. I'd especially like review on the various strings I've modified and added and whether the wording is good, or if I should rework some of them. This includes the strings for tooltips for the command I added, the output text in the output pane, and the text in the project status view.

Other than that, it should be a normal PR review. Thanks!

src/ctest.ts Show resolved Hide resolved
src/projectStatus.ts Outdated Show resolved Hide resolved
.eslintrc.js Show resolved Hide resolved
if (customizedTask && testPreset) {
ctestArgs = ['-T', 'test'].concat(testArgs(testPreset));
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

where are [-T, test] now defined? Are they still being used?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They are still being used, however, we are falling back to allowing the user to have control over it. They are now coming from the ctestDefaultArgs (see line 251 in the new code). In package.json, the default values for ctestDefaultArgs are -T, test, --output-on-failure. So, instead of hardcoding this in, we are now allowing the user to modify the default arguments that are always appended to the front of the command.

src/drivers/cmakeDriver.ts Outdated Show resolved Hide resolved
package.nls.json Outdated Show resolved Hide resolved
snehara99
snehara99 previously approved these changes Jan 18, 2024
benmcmorran
benmcmorran previously approved these changes Jan 18, 2024
src/drivers/cmakeDriver.ts Show resolved Hide resolved
@kupix
Copy link

kupix commented Mar 3, 2024

Fantastic, thank you, although you sounded a bit hesitant @gcampbell-msft that this is a good idea. Here is a clear usecase:

In my CMakePresets.json I have:

  "toolchainFile": "$env{ANDROID_NDK}/build/cmake/android.toolchain.cmake",

On my local machine ANDROID_NDK is /home/xipix/android-ndk-r26c. However when this builds on GitHub Actions, ANDROID_NDK has a different value, controlled by GitHub and subject to change. The change allows me to use CMakePresets.json in CI which improves coherence with developer builds.

JeremieA added a commit to JeremieA/vscode-cmake-tools that referenced this pull request May 13, 2024
Fixes microsoft#3754.
This issue was introduced in microsoft#3537 (cmake.buildToolsArgs was ignored for presets before).
gcampbell-msft added a commit that referenced this pull request Jun 24, 2024
…3755)

* presets + cmake.buildToolArgs: make sure `--` is added in all cases

Fixes #3754.
This issue was introduced in #3537 (cmake.buildToolsArgs was ignored for presets before).

* Update changelog

---------

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>
gcampbell-msft added a commit that referenced this pull request Jul 3, 2024
* reversed order of creating workspace browse configurations (#3758)

* reversed order of creating workspace browse configurations

* updated tests

* minimized change by only reversing fileGroups, and reverted tests

* Add clarity in the build log when builds are out of source (#3778)

* Add chesscc to the allow-list of compilers. (#3777)

Co-authored-by: snehara99 <113148726+snehara99@users.noreply.github.com>

* Fix doubling of cpack args passed by package preset (#3766)

* Remove unnecessary logging about string expansion (#3761)

* Remove unnecessary logging about string expansion

* Fix typo in var name

---------

Co-authored-by: snehara99 <113148726+snehara99@users.noreply.github.com>

* Fix UI for settings override of package presets (#3770)

* Fix UI for settings override of package presets

* Fix linter errors

* Skip full configure on variant change for multi-config generators (#3763)

* Don't fully configure after variant change for multi-config generators. Only change parameter for build and refresh IntelliSense.

* Added missing return on 'if else'

* Removed unnecessary log. No previous configure message was printed before it.'

* Run clean-configure when workflow has different configure preset than project (#3768)

* Let cmake.configureArgs overwrite the default cmake args (#3762)

Co-authored-by: snehara99 <113148726+snehara99@users.noreply.github.com>

* Handle "~" in binaryDir path (#3764)

* File system APIs don't recognize ~ in paths and because of this the extension cannot properly interpret cmake file-api jsons to list targets.

* Fix path typo

---------

Co-authored-by: snehara99 <113148726+snehara99@users.noreply.github.com>

* Warning when VS installation instance not found (#3775)

* Add warning about not found VS installation instance and suggestion to re-scan kits, at the request of developers in the community.

* Fix linter errors

---------

Co-authored-by: snehara99 <113148726+snehara99@users.noreply.github.com>

* Fix GitHub 3602, mention --build-config even for default test preset (#3779)

* Better validations that validate before running.  (#3774)

* initial commit

* add better values

* check notice and changelog before release version

* Update kits-variants doc with unsupported commands that are specific for presets (#3784)

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* colorization support in pre-release (#3794)

* colorization support in pre-release

* update changelog

* Sort CMakeLists.txt by depth (#3789)

* Sort CMakeLists.txt by depth

* Add changes to CHANGELOG.md

---------

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* Fixed string parameters and added clarification to the log message (#3787)

* Localization - Translated Strings (#3753)

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* fix schema field in v8 schema (#3809)

* Add check that limits when we -R a regex of all tests (#3814)

* fix ctest

* only try to be smart about this in the test explorer entry points

* updating comment

* add try catch in debug createRunProfile

* Localization - Translated Strings (#3816)

* Update CHANGELOG.md

* update localization for project status view and quick pick (#3810)

* fix issue with test results not found (#3823)

* update braces dependency (#3839)

* Fixes #3725 - user presets not read correctly (#3826)

* get all presets to show in inherit

* if new configure preset inherits from a user preset add to the user presets file

* todo: finish update for different types of presets

* checks for configure inherit and inherit. todo - check workflow

* cleanup + mark as isUserPreset

* undo use isuserpreset field

* cleanup and changelog

* cleanup

* rename interface

* update workflow preset to not extend preset + refactor inheritsfromuserpreset func

* remove preset class fields from workflow preset

* more workflow preset cleanup

* Fixes #3811 - checks for cmake.exe again if it wasnt present the previous time  (#3840)

checks for exe again if it wasn't present the previous time

* Tree view for tests using test suite delimiter (#3759)

* Implement treeview for tests using test suite delimiter

* Support regular expressions for delimiters

* Improve UI string

* Improve UI string

* Address CR comments

* Fix spacing

* make sure to pass entry point through

---------

Co-authored-by: Garrett Campbell <gcampbell@microsoft.com>
Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* Update telemetry API to latest version. (#3843)

* presets + cmake.buildToolArgs: make sure `--` is added in all cases (#3755)

* presets + cmake.buildToolArgs: make sure `--` is added in all cases

Fixes #3754.
This issue was introduced in #3537 (cmake.buildToolsArgs was ignored for presets before).

* Update changelog

---------

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* Update CHANGELOG.md

* Fixes #3140 - Test log unavailable (#3752)

* Using \r\n as line ending

Seems like \r\n is the line ending characters in the Test Output even on systems different from win32

* Specify the test item in the call to appendOutput

Doing so allows to have the output of the test to be printed out in the left part of the "TEST RESULTS" pane when clicking on the desired test in the right part of the same pane.
Before this change we get "The test case did not report any output"

* Adds location information in the call to appendOutput.

The test object may have uri and ranges that can help localization

* Adds entry in the CHANGELOG

---------

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* Upgrade cmake_minimum_required version 3.0.0 -> 3.5.0 (#3805)

* Update cmakeProject.ts

Upgrade cmake_minimum_required version 3.0.0 -> 3.5.0

* Update CHANGELOG.md

---------

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* Add setting for deleting whole build dir when clean configuring (#3783)

* Add setting for deleting whole build dir when clean configuring

* Remove unnecessary tag in new setting in package.json

* Add changelog entry. Remove unnecessary | null from new boolean setting.

---------

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* log error for cmake exe not found (#3847)

* Fixed how we use our '--warn-unused-cli' flag (#3860)

* '--warn-unused-cli' is now used to remove the default '--no-warn-unused-cli' command instead of removing and also adding itself to the arguments

* only removed '--warn--unused-cli' instead of all initial_common_flgs

* Set useCMakePresets context after quick start (#3853)

update active proj to set userpreset context

* remove from pre-release (#3861)

* clean configures when platform differs between old and new selected kit (#3859)

* clean configures when only platform changes between kits

* updated changelog

* check toolset too

* changelog

* update changelog

* add rel to branches (#3867)

---------

Co-authored-by: snehara99 <113148726+snehara99@users.noreply.github.com>
Co-authored-by: Andreea Isac <48239328+andreeis@users.noreply.github.com>
Co-authored-by: Joan Marcè i Igual <jmigual@users.noreply.github.com>
Co-authored-by: CSIGS@microsoft.com <csigs@users.noreply.github.com>
Co-authored-by: Fatima Qarni <fatimaqarni@microsoft.com>
Co-authored-by: vinocher-bc <160914867+vinocher-bc@users.noreply.github.com>
Co-authored-by: Bob Brown <bobbrow@users.noreply.github.com>
Co-authored-by: Jeremie Allard <jeremie.allard@insimo.fr>
Co-authored-by: hippo91 <guillaume.peillex@gmail.com>
Co-authored-by: LiuZengqiang <74355935+LiuZengqiang@users.noreply.github.com>
qarni added a commit that referenced this pull request Aug 22, 2024
* reversed order of creating workspace browse configurations (#3758)

* reversed order of creating workspace browse configurations

* updated tests

* minimized change by only reversing fileGroups, and reverted tests

* Add clarity in the build log when builds are out of source (#3778)

* Add chesscc to the allow-list of compilers. (#3777)

Co-authored-by: snehara99 <113148726+snehara99@users.noreply.github.com>

* Fix doubling of cpack args passed by package preset (#3766)

* Remove unnecessary logging about string expansion (#3761)

* Remove unnecessary logging about string expansion

* Fix typo in var name

---------

Co-authored-by: snehara99 <113148726+snehara99@users.noreply.github.com>

* Fix UI for settings override of package presets (#3770)

* Fix UI for settings override of package presets

* Fix linter errors

* Skip full configure on variant change for multi-config generators (#3763)

* Don't fully configure after variant change for multi-config generators. Only change parameter for build and refresh IntelliSense.

* Added missing return on 'if else'

* Removed unnecessary log. No previous configure message was printed before it.'

* Run clean-configure when workflow has different configure preset than project (#3768)

* Let cmake.configureArgs overwrite the default cmake args (#3762)

Co-authored-by: snehara99 <113148726+snehara99@users.noreply.github.com>

* Handle "~" in binaryDir path (#3764)

* File system APIs don't recognize ~ in paths and because of this the extension cannot properly interpret cmake file-api jsons to list targets.

* Fix path typo

---------

Co-authored-by: snehara99 <113148726+snehara99@users.noreply.github.com>

* Warning when VS installation instance not found (#3775)

* Add warning about not found VS installation instance and suggestion to re-scan kits, at the request of developers in the community.

* Fix linter errors

---------

Co-authored-by: snehara99 <113148726+snehara99@users.noreply.github.com>

* Fix GitHub 3602, mention --build-config even for default test preset (#3779)

* Better validations that validate before running.  (#3774)

* initial commit

* add better values

* check notice and changelog before release version

* Update kits-variants doc with unsupported commands that are specific for presets (#3784)

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* colorization support in pre-release (#3794)

* colorization support in pre-release

* update changelog

* Sort CMakeLists.txt by depth (#3789)

* Sort CMakeLists.txt by depth

* Add changes to CHANGELOG.md

---------

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* Fixed string parameters and added clarification to the log message (#3787)

* Localization - Translated Strings (#3753)

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* fix schema field in v8 schema (#3809)

* Add check that limits when we -R a regex of all tests (#3814)

* fix ctest

* only try to be smart about this in the test explorer entry points

* updating comment

* add try catch in debug createRunProfile

* Localization - Translated Strings (#3816)

* Update CHANGELOG.md

* update localization for project status view and quick pick (#3810)

* fix issue with test results not found (#3823)

* update braces dependency (#3839)

* Fixes #3725 - user presets not read correctly (#3826)

* get all presets to show in inherit

* if new configure preset inherits from a user preset add to the user presets file

* todo: finish update for different types of presets

* checks for configure inherit and inherit. todo - check workflow

* cleanup + mark as isUserPreset

* undo use isuserpreset field

* cleanup and changelog

* cleanup

* rename interface

* update workflow preset to not extend preset + refactor inheritsfromuserpreset func

* remove preset class fields from workflow preset

* more workflow preset cleanup

* Fixes #3811 - checks for cmake.exe again if it wasnt present the previous time  (#3840)

checks for exe again if it wasn't present the previous time

* Tree view for tests using test suite delimiter (#3759)

* Implement treeview for tests using test suite delimiter

* Support regular expressions for delimiters

* Improve UI string

* Improve UI string

* Address CR comments

* Fix spacing

* make sure to pass entry point through

---------

Co-authored-by: Garrett Campbell <gcampbell@microsoft.com>
Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* Update telemetry API to latest version. (#3843)

* presets + cmake.buildToolArgs: make sure `--` is added in all cases (#3755)

* presets + cmake.buildToolArgs: make sure `--` is added in all cases

Fixes #3754.
This issue was introduced in #3537 (cmake.buildToolsArgs was ignored for presets before).

* Update changelog

---------

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* Update CHANGELOG.md

* Fixes #3140 - Test log unavailable (#3752)

* Using \r\n as line ending

Seems like \r\n is the line ending characters in the Test Output even on systems different from win32

* Specify the test item in the call to appendOutput

Doing so allows to have the output of the test to be printed out in the left part of the "TEST RESULTS" pane when clicking on the desired test in the right part of the same pane.
Before this change we get "The test case did not report any output"

* Adds location information in the call to appendOutput.

The test object may have uri and ranges that can help localization

* Adds entry in the CHANGELOG

---------

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* Upgrade cmake_minimum_required version 3.0.0 -> 3.5.0 (#3805)

* Update cmakeProject.ts

Upgrade cmake_minimum_required version 3.0.0 -> 3.5.0

* Update CHANGELOG.md

---------

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* Add setting for deleting whole build dir when clean configuring (#3783)

* Add setting for deleting whole build dir when clean configuring

* Remove unnecessary tag in new setting in package.json

* Add changelog entry. Remove unnecessary | null from new boolean setting.

---------

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* log error for cmake exe not found (#3847)

* Fixed how we use our '--warn-unused-cli' flag (#3860)

* '--warn-unused-cli' is now used to remove the default '--no-warn-unused-cli' command instead of removing and also adding itself to the arguments

* only removed '--warn--unused-cli' instead of all initial_common_flgs

* Set useCMakePresets context after quick start (#3853)

update active proj to set userpreset context

* remove from pre-release (#3861)

* clean configures when platform differs between old and new selected kit (#3859)

* clean configures when only platform changes between kits

* updated changelog

* check toolset too

* changelog

* update changelog

* add rel to branches (#3867)

* update third parties

* fix release pipeline verification

* fix release pipeline

* update release version for prerelease

* fix variable ref

* Localization - Translated Strings (#3833)

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* Use relative intralinks; Point 'issues' to main GH repo (#3858)

* Replace intra-repo absolute URLs with relative ones.
* Replace remaining pointers to `vector-of-bool` with `microsoft`
  in the URLs than must remain absolute.

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* Update Preferred Generator selection logic (#3869)

* Update preferred generator selection logic

* Update changelog

* Fix lint error

* updated command string to better reflect function (#3876)

* Add guard against reloading a file that's not a variants file (#3878)

* Add guard against reloading a file that's not a variants file

* Update CHANGELOG.md

* Update CHANGELOG.md

* Fix debugger hang on restart (#3846)

* telemetry check for trigger, also include trigger and folder in obj for debugger

* update origin telemetry

* add enum for debug origin

* pass in from command info and cleanup

* Update cmakeFileApiDriver.ts take out import

* move to 1.19 changelog

---------

Co-authored-by: Garrett Campbell <gcampbell@microsoft.com>

* update warning to be an error (#3881)

* add try catch and attempt to grab specifically the json (#3868)

* add try catch and attempt to grab specifically the json

* fix lint errors

---------

Co-authored-by: Fatima Qarni <fatimaqarni@microsoft.com>

* show userpresets in project  outline (#3877)

* move user env expansion forkits to after vsenv merged in (#3887)

* move user env expansion forkits to after vsenv merged in

* changelog

* fix for penv and env differentiation

* avoiding stringifying extensionContext (#3880)

* attempt avoiding stringifying extensionContext

* update changelog

* Skip initializing variant manager when using CMakePresets (#3888)

* Fixed spelling in Delete Build Dir On Clean Configure description (#3893)

* Allow CMake to select a default internal generator when the user selects "__unspec__" for the kit (#3889)

* updated to allow no generator when using file api and cmake 3.15.0 or greater

* fixed kit name check

* updated changelog

* throw nogenerator error if kit isn't __unspec__

* Add "Unspecified" Build Type and Use by Default (Kits Only) (#3879)

* add unspecified build type and remove CMAKE_BUILD_TYPE prop when it's used

* reverted commenting out debugger

* let debugger stop on error again

* updated changelog

* updated the docs with the new option

* updated default kit build type

* fix failing tests

---------

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* localize override settings applied (#3896)

* change langext check for cpp (#3897)

* fix debug environment config being overwritten (#3894)

* fix debug environment config being overwritten

* changelog

* localized the additional properties case (#3895)

* show build task if preset is set to activebuildpreset (#3898)

* show build task if preset is set to activebuildpreset

* changelog

* fix our depth search for CMakeLists.txt (#3904)

* if installDir is a relative path, calculate it relative to the source directory (#3903)

* if installDir is a relative path, I calculate it relative to the source dir

* updated location of checking and updating installDir

* combined with expansion check

* add permissions to workflow

* Fix localized file path for schemas (#3906)

* Add setting to control how we use VS Dev Env (#3892)

* committing state, no progress, just thinking through

* fix how we apply and override devenv to ensure we don't accidentally delete preset environment modifications from user

* check if ninja exists and it's the generator, use that to determine if we should add vs devenv as well

* currently broken, but saving state for adding a setting

* this works well, but I need to add back code that prohibits repeated devenv searching with where.exe

* finalize implementation of the setting for useVsDeveloperEnvironment

* minimize branches

* fix import

* update comments

* fix comment

* remove unnecessary comment

* fallback to better architecture/toolset

* update devenv vars and tests

* fix test for mac

* fix tests

* update changelog

* fix test expand and where.exe env

* update test to explicitly test architecture unit test

---------

Co-authored-by: snehara99 <113148726+snehara99@users.noreply.github.com>

* Fix link in configure.md (#3899)

The section is called "General options", not "Generic options".

* Fix typo in configure.md (#3900)

als -> also

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* The kit name for Clang/MSVC too long, put the arch at the front (#3835)

[kit] Found Kit (trusted): Clang 17.0.3 (MSVC CLI) for MSVC 17.10.35004.147 (Visual Studio Community 2022 Release - x86)
[kit] Found Kit (trusted): Clang 17.0.3 (GNU CLI) for MSVC 17.10.35004.147 (Visual Studio Community 2022 Release - x86)
[kit] Found Kit (trusted): Clang 17.0.3 (MSVC CLI) for MSVC 17.10.35004.147 (Visual Studio Community 2022 Release - amd64)
[kit] Found Kit (trusted): Clang 17.0.3 (GNU CLI) for MSVC 17.10.35004.147 (Visual Studio Community 2022 Release - amd64)

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* Update triage-labels.yml

* Update OneLocBuild process (#3912)

* try service connection already there

* use variables

* Delete .github/workflows/closed-fixed-pending-release.yml

* Only visual studio 2015 neesd fixes the windows sdk path (#3837)

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* Dispose of Launch terminal if environment has changed (#3902)

* Compare entire terminal launch environment and dispose if not equal

* Updated CHANGELOG

---------

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* Localization - Translated Strings (#3884)

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* implement  #2521 by adding output channel argument (#3785)

* implement  #2521 by adding output channel argument

* fix failed configuration not showing output channel on "on error"

* implement review, add changelog

* fix changelog

---------

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>
Co-authored-by: Garrett Campbell <gcampbell@microsoft.com>

* doc: cmake.environment is not applied to launch/debug (#3926)

* Don't require Ninja or Make on PATH when checking generators (#3927)

* Preset file expansion on open/save and expansion validation (#3905)

This change changes the way we do preset file expansion. Expansion now occurs upfront on file open or save, and if there are no errors, the expanded presets will be cached so repeated expansion is not necessary every time getAll{type of preset}Presets() is called.

The only time expansion will happen again is on set preset, which will then also apply the VS developer environment as needed. This is avoided on the initial expansion for performance.

If there are errors in expansion, the errors are shown in the problems panel per file. The presets file will also be set to undefined, which will invalidate that file and not allow any presets in that file to be recognized/selected as valid presets. This is in line with the CMake command line experience.

Some notes:

- The ${generator} macro should not work for packagePresets, but should now expand correctly for all other presets and evaluate conditions correctly
- Tertiary preset cache was added (really its just the original presets cache but used in a new way) to account for included json files that wouldnt be in the original presets files

* better match keybindings to what vscode has (#3928)

* better match keybindings to what vscode has

* update changelog

* Revert "Don't require Ninja or Make on PATH when checking generators (#3927)" (#3938)

This reverts commit bbc74d8.

* check for quick start in select configure preset to prevent second configure (#3933)

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* ensure we take deep copy of presets for presetsPlusIncluded (#3939)

* update telemetry key (#3944)

* update telemetry key

* typo

* Fix GitHub 1401, diagnostics relative to workspace folder (#3780)

* Fix GitHub 1401, diagnostics relative to workspace folder

 - relative diagnostics files are searched in build_dir and src_dir,
   first existing file is returned
 - defaults to old behavior : `path.resolve(build_dir, file)`
 - `resolveDiagnostics` has been made async to not slow down IDE when
   testing files

* update ChangeLog for #1401

* fix relative file resolution diagnostics test

 - diagnostics paths always use POSIX separators (see `normalizePath` in
   [src/util.ts](src/util.ts))

---------

Co-authored-by: Sylvain Fargier <sylvain.fargier@cern.ch>
Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* Configure precondition handler to return boolean to signal a successful recovery case (#3776)

* Making configure precondition handler return a boolean helps to differentiate the successful recovery cases

* Fix pre-condition handler prototype errors in tests

* Experiment with prototypes to fix linter errors

* Add setting for building whole build dir when clean configure

* Remove anything related to deleteBuildDirOnCleanConfigure since it's in a different PR. Keep proper promise<bool> prototype for pre-configure handler return and fix appropriately compilation and lint errors in tests.

* Forgot one file to remove deleteBuildDirOnCleanConfigure from

* Remove forgotten comment

* Add changelog entry

* remove changes not needed

* removing more bad changes

* add logic to regenerate the driver after selecting cmakelists

* remove unused imports

* keep sanity check in _beforeConfigureOrBuild

* only ensure we set the variable so that on retry, it works

* switch return

* erroneous update

* fix

---------

Co-authored-by: Garrett Campbell <gcampbell@microsoft.com>
Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* Localization - Translated Strings (#3932)

* Use template for release pipelines (converted from classic) (#3945)

* try to convert release pipeline to yaml

* ensure trigger

* fix variable expansion

* specify name specifically

* add release and fix powershell setup

* fix name

* uncomment vsce task

* only do release pipeline on release branch

* only allow rel branch for release

* enable trigger always, we can rely on manual verification

* evaluate inherit presets based on presets that should be visible from file (#3941)

* initial changes

* modify other preset flows

* fix unused import

* remove unused import

* check for default preset

* acocunt for userpresets

* remove extra condition

---------

Co-authored-by: Garrett Campbell <gcampbell@microsoft.com>

* fix pipelineArtifact reference (#3948)

* fix pipelineArtifact reference

* update variable update

* try corrected destinationPath

* fix destination typo

* switch to targetPath test

* use correct manual validation task

* Update pipeline (#3952)

* fix validation and pipeline, commented out vsce for testing

* fix indentation for job

* uncomment vsce

* Set usepresets context after manually creating presets file (#3935)

Fixes #3854. Support for watching multiple paths (cmakepresets.json/cmakeuserpresets.json/include files) was broken due to a Chokidar bug. Created a wrapper class to handle this scenario.

* Localization - Translated Strings (#3954)

* Ensure we correctly inherit preset from UserPreset (#3958)

* fix

* analyze user presets first because it's the base if it exists

* more updates to fix include files and telemetry, still needs work and testing

* ensure telemetry and other uses of 'all..Presets' is right

* more fixes

* ensure we don't duplicate cmakepresets in userpresets includes

* remove unnecessary return

* unionWith consistency

* add test

* saving progress (#3960)

* only do special handling of ~ in linux, it breaks windows (#3965)

* Remove popups and update defaults for `configureOnOpen` (#3967)

* update defaults and remove popups

* update changelog

* fix types for configureOnOpen

* fix eslint

* Update vscode-tas-client. (#3981)

* add telemetry for developer environment use (#3975)

* fix node versions in pipelines

* remove item from yml

* Localization - Translated Strings (#3984)

* Update cmake-presets.md (#3992)

Fixing broken links

* fix regression of kit environment variables (#3991)

* rollbar try catch (#3985)

Co-authored-by: Fatima Qarni <fatimaqarni@microsoft.com>

* switch to variable

* switch to variable

* fix env expansion (#3997)

* In short, with our recent updates, we are attempting to expand every
string in the environment. This isn't a problem in most cases, but it
exposed a bug in certain linux distros that use aliasing (environment
variables).

Therefore, we should be wiser about what we attempt to expand and only
expand the presets environment variables the user has in their files.
To do this, we need to be smarter about what we save in our cache and
update by reference.


* updated the other presets so they dont always have to reexpand configure preset. when they do, use plusIncludes which has the dev env cached if its been expanded before. also include the inherited parent envs

* Fix environment expansion so we don't expand unnecessary variables - don't save the process.env or parent environment to the environment field of the cache.

* Don't re-expand configure presets in the associated build/test/etc presets.

* Fix expansion reporting issues with reporting an invalid config preset, and changing for each loop to a traditional for loop to make sure we dont have async issues with reporting.

* fix validation bug for not being able to find a null config preset

---------

Co-authored-by: Garrett Campbell <gcampbell@microsoft.com>

* update third parties (#4001)

---------

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Co-authored-by: snehara99 <113148726+snehara99@users.noreply.github.com>
Co-authored-by: Andreea Isac <48239328+andreeis@users.noreply.github.com>
Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>
Co-authored-by: Joan Marcè i Igual <jmigual@users.noreply.github.com>
Co-authored-by: CSIGS@microsoft.com <csigs@users.noreply.github.com>
Co-authored-by: vinocher-bc <160914867+vinocher-bc@users.noreply.github.com>
Co-authored-by: Garrett Campbell <gcampbell@microsoft.com>
Co-authored-by: Bob Brown <bobbrow@users.noreply.github.com>
Co-authored-by: Jeremie Allard <jeremie.allard@insimo.fr>
Co-authored-by: hippo91 <guillaume.peillex@gmail.com>
Co-authored-by: LiuZengqiang <74355935+LiuZengqiang@users.noreply.github.com>
Co-authored-by: Cy 'kkm' Katsnelson <kkm@pobox.com>
Co-authored-by: Jonathan Phippen <30632563+jophippe@users.noreply.github.com>
Co-authored-by: moyo1997 <54333118+moyo1997@users.noreply.github.com>
Co-authored-by: Andrew Shark <ashark@linuxcomp.ru>
Co-authored-by: Yonggang Luo <luoyonggang@gmail.com>
Co-authored-by: stepeos <82703776+stepeos@users.noreply.github.com>
Co-authored-by: fargies <fargies@users.noreply.github.com>
Co-authored-by: Sylvain Fargier <sylvain.fargier@cern.ch>
Co-authored-by: Sean McManus <seanmcm@microsoft.com>
Co-authored-by: Sinem Akinci <99284450+sinemakinci1@users.noreply.github.com>
qarni added a commit that referenced this pull request Aug 28, 2024
* reversed order of creating workspace browse configurations (#3758)

* reversed order of creating workspace browse configurations

* updated tests

* minimized change by only reversing fileGroups, and reverted tests

* Add clarity in the build log when builds are out of source (#3778)

* Add chesscc to the allow-list of compilers. (#3777)

Co-authored-by: snehara99 <113148726+snehara99@users.noreply.github.com>

* Fix doubling of cpack args passed by package preset (#3766)

* Remove unnecessary logging about string expansion (#3761)

* Remove unnecessary logging about string expansion

* Fix typo in var name

---------

Co-authored-by: snehara99 <113148726+snehara99@users.noreply.github.com>

* Fix UI for settings override of package presets (#3770)

* Fix UI for settings override of package presets

* Fix linter errors

* Skip full configure on variant change for multi-config generators (#3763)

* Don't fully configure after variant change for multi-config generators. Only change parameter for build and refresh IntelliSense.

* Added missing return on 'if else'

* Removed unnecessary log. No previous configure message was printed before it.'

* Run clean-configure when workflow has different configure preset than project (#3768)

* Let cmake.configureArgs overwrite the default cmake args (#3762)

Co-authored-by: snehara99 <113148726+snehara99@users.noreply.github.com>

* Handle "~" in binaryDir path (#3764)

* File system APIs don't recognize ~ in paths and because of this the extension cannot properly interpret cmake file-api jsons to list targets.

* Fix path typo

---------

Co-authored-by: snehara99 <113148726+snehara99@users.noreply.github.com>

* Warning when VS installation instance not found (#3775)

* Add warning about not found VS installation instance and suggestion to re-scan kits, at the request of developers in the community.

* Fix linter errors

---------

Co-authored-by: snehara99 <113148726+snehara99@users.noreply.github.com>

* Fix GitHub 3602, mention --build-config even for default test preset (#3779)

* Better validations that validate before running.  (#3774)

* initial commit

* add better values

* check notice and changelog before release version

* Update kits-variants doc with unsupported commands that are specific for presets (#3784)

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* colorization support in pre-release (#3794)

* colorization support in pre-release

* update changelog

* Sort CMakeLists.txt by depth (#3789)

* Sort CMakeLists.txt by depth

* Add changes to CHANGELOG.md

---------

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* Fixed string parameters and added clarification to the log message (#3787)

* Localization - Translated Strings (#3753)

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* fix schema field in v8 schema (#3809)

* Add check that limits when we -R a regex of all tests (#3814)

* fix ctest

* only try to be smart about this in the test explorer entry points

* updating comment

* add try catch in debug createRunProfile

* Localization - Translated Strings (#3816)

* Update CHANGELOG.md

* update localization for project status view and quick pick (#3810)

* fix issue with test results not found (#3823)

* update braces dependency (#3839)

* Fixes #3725 - user presets not read correctly (#3826)

* get all presets to show in inherit

* if new configure preset inherits from a user preset add to the user presets file

* todo: finish update for different types of presets

* checks for configure inherit and inherit. todo - check workflow

* cleanup + mark as isUserPreset

* undo use isuserpreset field

* cleanup and changelog

* cleanup

* rename interface

* update workflow preset to not extend preset + refactor inheritsfromuserpreset func

* remove preset class fields from workflow preset

* more workflow preset cleanup

* Fixes #3811 - checks for cmake.exe again if it wasnt present the previous time  (#3840)

checks for exe again if it wasn't present the previous time

* Tree view for tests using test suite delimiter (#3759)

* Implement treeview for tests using test suite delimiter

* Support regular expressions for delimiters

* Improve UI string

* Improve UI string

* Address CR comments

* Fix spacing

* make sure to pass entry point through

---------

Co-authored-by: Garrett Campbell <gcampbell@microsoft.com>
Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* Update telemetry API to latest version. (#3843)

* presets + cmake.buildToolArgs: make sure `--` is added in all cases (#3755)

* presets + cmake.buildToolArgs: make sure `--` is added in all cases

Fixes #3754.
This issue was introduced in #3537 (cmake.buildToolsArgs was ignored for presets before).

* Update changelog

---------

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* Update CHANGELOG.md

* Fixes #3140 - Test log unavailable (#3752)

* Using \r\n as line ending

Seems like \r\n is the line ending characters in the Test Output even on systems different from win32

* Specify the test item in the call to appendOutput

Doing so allows to have the output of the test to be printed out in the left part of the "TEST RESULTS" pane when clicking on the desired test in the right part of the same pane.
Before this change we get "The test case did not report any output"

* Adds location information in the call to appendOutput.

The test object may have uri and ranges that can help localization

* Adds entry in the CHANGELOG

---------

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* Upgrade cmake_minimum_required version 3.0.0 -> 3.5.0 (#3805)

* Update cmakeProject.ts

Upgrade cmake_minimum_required version 3.0.0 -> 3.5.0

* Update CHANGELOG.md

---------

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* Add setting for deleting whole build dir when clean configuring (#3783)

* Add setting for deleting whole build dir when clean configuring

* Remove unnecessary tag in new setting in package.json

* Add changelog entry. Remove unnecessary | null from new boolean setting.

---------

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* log error for cmake exe not found (#3847)

* Fixed how we use our '--warn-unused-cli' flag (#3860)

* '--warn-unused-cli' is now used to remove the default '--no-warn-unused-cli' command instead of removing and also adding itself to the arguments

* only removed '--warn--unused-cli' instead of all initial_common_flgs

* Set useCMakePresets context after quick start (#3853)

update active proj to set userpreset context

* remove from pre-release (#3861)

* clean configures when platform differs between old and new selected kit (#3859)

* clean configures when only platform changes between kits

* updated changelog

* check toolset too

* changelog

* update changelog

* add rel to branches (#3867)

* update third parties

* fix release pipeline verification

* fix release pipeline

* update release version for prerelease

* fix variable ref

* Localization - Translated Strings (#3833)

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* Use relative intralinks; Point 'issues' to main GH repo (#3858)

* Replace intra-repo absolute URLs with relative ones.
* Replace remaining pointers to `vector-of-bool` with `microsoft`
  in the URLs than must remain absolute.

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* Update Preferred Generator selection logic (#3869)

* Update preferred generator selection logic

* Update changelog

* Fix lint error

* updated command string to better reflect function (#3876)

* Add guard against reloading a file that's not a variants file (#3878)

* Add guard against reloading a file that's not a variants file

* Update CHANGELOG.md

* Update CHANGELOG.md

* Fix debugger hang on restart (#3846)

* telemetry check for trigger, also include trigger and folder in obj for debugger

* update origin telemetry

* add enum for debug origin

* pass in from command info and cleanup

* Update cmakeFileApiDriver.ts take out import

* move to 1.19 changelog

---------

Co-authored-by: Garrett Campbell <gcampbell@microsoft.com>

* update warning to be an error (#3881)

* add try catch and attempt to grab specifically the json (#3868)

* add try catch and attempt to grab specifically the json

* fix lint errors

---------

Co-authored-by: Fatima Qarni <fatimaqarni@microsoft.com>

* show userpresets in project  outline (#3877)

* move user env expansion forkits to after vsenv merged in (#3887)

* move user env expansion forkits to after vsenv merged in

* changelog

* fix for penv and env differentiation

* avoiding stringifying extensionContext (#3880)

* attempt avoiding stringifying extensionContext

* update changelog

* Skip initializing variant manager when using CMakePresets (#3888)

* Fixed spelling in Delete Build Dir On Clean Configure description (#3893)

* Allow CMake to select a default internal generator when the user selects "__unspec__" for the kit (#3889)

* updated to allow no generator when using file api and cmake 3.15.0 or greater

* fixed kit name check

* updated changelog

* throw nogenerator error if kit isn't __unspec__

* Add "Unspecified" Build Type and Use by Default (Kits Only) (#3879)

* add unspecified build type and remove CMAKE_BUILD_TYPE prop when it's used

* reverted commenting out debugger

* let debugger stop on error again

* updated changelog

* updated the docs with the new option

* updated default kit build type

* fix failing tests

---------

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* localize override settings applied (#3896)

* change langext check for cpp (#3897)

* fix debug environment config being overwritten (#3894)

* fix debug environment config being overwritten

* changelog

* localized the additional properties case (#3895)

* show build task if preset is set to activebuildpreset (#3898)

* show build task if preset is set to activebuildpreset

* changelog

* fix our depth search for CMakeLists.txt (#3904)

* if installDir is a relative path, calculate it relative to the source directory (#3903)

* if installDir is a relative path, I calculate it relative to the source dir

* updated location of checking and updating installDir

* combined with expansion check

* add permissions to workflow

* Fix localized file path for schemas (#3906)

* Add setting to control how we use VS Dev Env (#3892)

* committing state, no progress, just thinking through

* fix how we apply and override devenv to ensure we don't accidentally delete preset environment modifications from user

* check if ninja exists and it's the generator, use that to determine if we should add vs devenv as well

* currently broken, but saving state for adding a setting

* this works well, but I need to add back code that prohibits repeated devenv searching with where.exe

* finalize implementation of the setting for useVsDeveloperEnvironment

* minimize branches

* fix import

* update comments

* fix comment

* remove unnecessary comment

* fallback to better architecture/toolset

* update devenv vars and tests

* fix test for mac

* fix tests

* update changelog

* fix test expand and where.exe env

* update test to explicitly test architecture unit test

---------

Co-authored-by: snehara99 <113148726+snehara99@users.noreply.github.com>

* Fix link in configure.md (#3899)

The section is called "General options", not "Generic options".

* Fix typo in configure.md (#3900)

als -> also

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* The kit name for Clang/MSVC too long, put the arch at the front (#3835)

[kit] Found Kit (trusted): Clang 17.0.3 (MSVC CLI) for MSVC 17.10.35004.147 (Visual Studio Community 2022 Release - x86)
[kit] Found Kit (trusted): Clang 17.0.3 (GNU CLI) for MSVC 17.10.35004.147 (Visual Studio Community 2022 Release - x86)
[kit] Found Kit (trusted): Clang 17.0.3 (MSVC CLI) for MSVC 17.10.35004.147 (Visual Studio Community 2022 Release - amd64)
[kit] Found Kit (trusted): Clang 17.0.3 (GNU CLI) for MSVC 17.10.35004.147 (Visual Studio Community 2022 Release - amd64)

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* Update triage-labels.yml

* Update OneLocBuild process (#3912)

* try service connection already there

* use variables

* Delete .github/workflows/closed-fixed-pending-release.yml

* Only visual studio 2015 neesd fixes the windows sdk path (#3837)

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* Dispose of Launch terminal if environment has changed (#3902)

* Compare entire terminal launch environment and dispose if not equal

* Updated CHANGELOG

---------

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* Localization - Translated Strings (#3884)

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* implement  #2521 by adding output channel argument (#3785)

* implement  #2521 by adding output channel argument

* fix failed configuration not showing output channel on "on error"

* implement review, add changelog

* fix changelog

---------

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>
Co-authored-by: Garrett Campbell <gcampbell@microsoft.com>

* doc: cmake.environment is not applied to launch/debug (#3926)

* Don't require Ninja or Make on PATH when checking generators (#3927)

* Preset file expansion on open/save and expansion validation (#3905)

This change changes the way we do preset file expansion. Expansion now occurs upfront on file open or save, and if there are no errors, the expanded presets will be cached so repeated expansion is not necessary every time getAll{type of preset}Presets() is called.

The only time expansion will happen again is on set preset, which will then also apply the VS developer environment as needed. This is avoided on the initial expansion for performance.

If there are errors in expansion, the errors are shown in the problems panel per file. The presets file will also be set to undefined, which will invalidate that file and not allow any presets in that file to be recognized/selected as valid presets. This is in line with the CMake command line experience.

Some notes:

- The ${generator} macro should not work for packagePresets, but should now expand correctly for all other presets and evaluate conditions correctly
- Tertiary preset cache was added (really its just the original presets cache but used in a new way) to account for included json files that wouldnt be in the original presets files

* better match keybindings to what vscode has (#3928)

* better match keybindings to what vscode has

* update changelog

* Revert "Don't require Ninja or Make on PATH when checking generators (#3927)" (#3938)

This reverts commit bbc74d8.

* check for quick start in select configure preset to prevent second configure (#3933)

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* ensure we take deep copy of presets for presetsPlusIncluded (#3939)

* update telemetry key (#3944)

* update telemetry key

* typo

* Fix GitHub 1401, diagnostics relative to workspace folder (#3780)

* Fix GitHub 1401, diagnostics relative to workspace folder

 - relative diagnostics files are searched in build_dir and src_dir,
   first existing file is returned
 - defaults to old behavior : `path.resolve(build_dir, file)`
 - `resolveDiagnostics` has been made async to not slow down IDE when
   testing files

* update ChangeLog for #1401

* fix relative file resolution diagnostics test

 - diagnostics paths always use POSIX separators (see `normalizePath` in
   [src/util.ts](src/util.ts))

---------

Co-authored-by: Sylvain Fargier <sylvain.fargier@cern.ch>
Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* Configure precondition handler to return boolean to signal a successful recovery case (#3776)

* Making configure precondition handler return a boolean helps to differentiate the successful recovery cases

* Fix pre-condition handler prototype errors in tests

* Experiment with prototypes to fix linter errors

* Add setting for building whole build dir when clean configure

* Remove anything related to deleteBuildDirOnCleanConfigure since it's in a different PR. Keep proper promise<bool> prototype for pre-configure handler return and fix appropriately compilation and lint errors in tests.

* Forgot one file to remove deleteBuildDirOnCleanConfigure from

* Remove forgotten comment

* Add changelog entry

* remove changes not needed

* removing more bad changes

* add logic to regenerate the driver after selecting cmakelists

* remove unused imports

* keep sanity check in _beforeConfigureOrBuild

* only ensure we set the variable so that on retry, it works

* switch return

* erroneous update

* fix

---------

Co-authored-by: Garrett Campbell <gcampbell@microsoft.com>
Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* Localization - Translated Strings (#3932)

* Use template for release pipelines (converted from classic) (#3945)

* try to convert release pipeline to yaml

* ensure trigger

* fix variable expansion

* specify name specifically

* add release and fix powershell setup

* fix name

* uncomment vsce task

* only do release pipeline on release branch

* only allow rel branch for release

* enable trigger always, we can rely on manual verification

* evaluate inherit presets based on presets that should be visible from file (#3941)

* initial changes

* modify other preset flows

* fix unused import

* remove unused import

* check for default preset

* acocunt for userpresets

* remove extra condition

---------

Co-authored-by: Garrett Campbell <gcampbell@microsoft.com>

* fix pipelineArtifact reference (#3948)

* fix pipelineArtifact reference

* update variable update

* try corrected destinationPath

* fix destination typo

* switch to targetPath test

* use correct manual validation task

* Update pipeline (#3952)

* fix validation and pipeline, commented out vsce for testing

* fix indentation for job

* uncomment vsce

* Set usepresets context after manually creating presets file (#3935)

Fixes #3854. Support for watching multiple paths (cmakepresets.json/cmakeuserpresets.json/include files) was broken due to a Chokidar bug. Created a wrapper class to handle this scenario.

* Localization - Translated Strings (#3954)

* Ensure we correctly inherit preset from UserPreset (#3958)

* fix

* analyze user presets first because it's the base if it exists

* more updates to fix include files and telemetry, still needs work and testing

* ensure telemetry and other uses of 'all..Presets' is right

* more fixes

* ensure we don't duplicate cmakepresets in userpresets includes

* remove unnecessary return

* unionWith consistency

* add test

* saving progress (#3960)

* only do special handling of ~ in linux, it breaks windows (#3965)

* Remove popups and update defaults for `configureOnOpen` (#3967)

* update defaults and remove popups

* update changelog

* fix types for configureOnOpen

* fix eslint

* Update vscode-tas-client. (#3981)

* add telemetry for developer environment use (#3975)

* fix node versions in pipelines

* remove item from yml

* Localization - Translated Strings (#3984)

* Update cmake-presets.md (#3992)

Fixing broken links

* fix regression of kit environment variables (#3991)

* rollbar try catch (#3985)

Co-authored-by: Fatima Qarni <fatimaqarni@microsoft.com>

* switch to variable

* switch to variable

* fix env expansion (#3997)

* In short, with our recent updates, we are attempting to expand every
string in the environment. This isn't a problem in most cases, but it
exposed a bug in certain linux distros that use aliasing (environment
variables).

Therefore, we should be wiser about what we attempt to expand and only
expand the presets environment variables the user has in their files.
To do this, we need to be smarter about what we save in our cache and
update by reference.


* updated the other presets so they dont always have to reexpand configure preset. when they do, use plusIncludes which has the dev env cached if its been expanded before. also include the inherited parent envs

* Fix environment expansion so we don't expand unnecessary variables - don't save the process.env or parent environment to the environment field of the cache.

* Don't re-expand configure presets in the associated build/test/etc presets.

* Fix expansion reporting issues with reporting an invalid config preset, and changing for each loop to a traditional for loop to make sure we dont have async issues with reporting.

* fix validation bug for not being able to find a null config preset

---------

Co-authored-by: Garrett Campbell <gcampbell@microsoft.com>

* update third parties (#4001)

* return expandedPreset, not preset (#4008)

* return expandedPreset, not preset

* make sure user presets are considered

* Localization - Translated Strings (#4003)

* add change from rel that I didn't do here (#4014)

---------

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Co-authored-by: snehara99 <113148726+snehara99@users.noreply.github.com>
Co-authored-by: Andreea Isac <48239328+andreeis@users.noreply.github.com>
Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>
Co-authored-by: Joan Marcè i Igual <jmigual@users.noreply.github.com>
Co-authored-by: CSIGS@microsoft.com <csigs@users.noreply.github.com>
Co-authored-by: vinocher-bc <160914867+vinocher-bc@users.noreply.github.com>
Co-authored-by: Garrett Campbell <gcampbell@microsoft.com>
Co-authored-by: Bob Brown <bobbrow@users.noreply.github.com>
Co-authored-by: Jeremie Allard <jeremie.allard@insimo.fr>
Co-authored-by: hippo91 <guillaume.peillex@gmail.com>
Co-authored-by: LiuZengqiang <74355935+LiuZengqiang@users.noreply.github.com>
Co-authored-by: Cy 'kkm' Katsnelson <kkm@pobox.com>
Co-authored-by: Jonathan Phippen <30632563+jophippe@users.noreply.github.com>
Co-authored-by: moyo1997 <54333118+moyo1997@users.noreply.github.com>
Co-authored-by: Andrew Shark <ashark@linuxcomp.ru>
Co-authored-by: Yonggang Luo <luoyonggang@gmail.com>
Co-authored-by: stepeos <82703776+stepeos@users.noreply.github.com>
Co-authored-by: fargies <fargies@users.noreply.github.com>
Co-authored-by: Sylvain Fargier <sylvain.fargier@cern.ch>
Co-authored-by: Sean McManus <seanmcm@microsoft.com>
Co-authored-by: Sinem Akinci <99284450+sinemakinci1@users.noreply.github.com>
qarni added a commit that referenced this pull request Sep 3, 2024
* reversed order of creating workspace browse configurations (#3758)

* reversed order of creating workspace browse configurations

* updated tests

* minimized change by only reversing fileGroups, and reverted tests

* Add clarity in the build log when builds are out of source (#3778)

* Add chesscc to the allow-list of compilers. (#3777)

Co-authored-by: snehara99 <113148726+snehara99@users.noreply.github.com>

* Fix doubling of cpack args passed by package preset (#3766)

* Remove unnecessary logging about string expansion (#3761)

* Remove unnecessary logging about string expansion

* Fix typo in var name

---------

Co-authored-by: snehara99 <113148726+snehara99@users.noreply.github.com>

* Fix UI for settings override of package presets (#3770)

* Fix UI for settings override of package presets

* Fix linter errors

* Skip full configure on variant change for multi-config generators (#3763)

* Don't fully configure after variant change for multi-config generators. Only change parameter for build and refresh IntelliSense.

* Added missing return on 'if else'

* Removed unnecessary log. No previous configure message was printed before it.'

* Run clean-configure when workflow has different configure preset than project (#3768)

* Let cmake.configureArgs overwrite the default cmake args (#3762)

Co-authored-by: snehara99 <113148726+snehara99@users.noreply.github.com>

* Handle "~" in binaryDir path (#3764)

* File system APIs don't recognize ~ in paths and because of this the extension cannot properly interpret cmake file-api jsons to list targets.

* Fix path typo

---------

Co-authored-by: snehara99 <113148726+snehara99@users.noreply.github.com>

* Warning when VS installation instance not found (#3775)

* Add warning about not found VS installation instance and suggestion to re-scan kits, at the request of developers in the community.

* Fix linter errors

---------

Co-authored-by: snehara99 <113148726+snehara99@users.noreply.github.com>

* Fix GitHub 3602, mention --build-config even for default test preset (#3779)

* Better validations that validate before running.  (#3774)

* initial commit

* add better values

* check notice and changelog before release version

* Update kits-variants doc with unsupported commands that are specific for presets (#3784)

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* colorization support in pre-release (#3794)

* colorization support in pre-release

* update changelog

* Sort CMakeLists.txt by depth (#3789)

* Sort CMakeLists.txt by depth

* Add changes to CHANGELOG.md

---------

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* Fixed string parameters and added clarification to the log message (#3787)

* Localization - Translated Strings (#3753)

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* fix schema field in v8 schema (#3809)

* Add check that limits when we -R a regex of all tests (#3814)

* fix ctest

* only try to be smart about this in the test explorer entry points

* updating comment

* add try catch in debug createRunProfile

* Localization - Translated Strings (#3816)

* Update CHANGELOG.md

* update localization for project status view and quick pick (#3810)

* fix issue with test results not found (#3823)

* update braces dependency (#3839)

* Fixes #3725 - user presets not read correctly (#3826)

* get all presets to show in inherit

* if new configure preset inherits from a user preset add to the user presets file

* todo: finish update for different types of presets

* checks for configure inherit and inherit. todo - check workflow

* cleanup + mark as isUserPreset

* undo use isuserpreset field

* cleanup and changelog

* cleanup

* rename interface

* update workflow preset to not extend preset + refactor inheritsfromuserpreset func

* remove preset class fields from workflow preset

* more workflow preset cleanup

* Fixes #3811 - checks for cmake.exe again if it wasnt present the previous time  (#3840)

checks for exe again if it wasn't present the previous time

* Tree view for tests using test suite delimiter (#3759)

* Implement treeview for tests using test suite delimiter

* Support regular expressions for delimiters

* Improve UI string

* Improve UI string

* Address CR comments

* Fix spacing

* make sure to pass entry point through

---------

Co-authored-by: Garrett Campbell <gcampbell@microsoft.com>
Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* Update telemetry API to latest version. (#3843)

* presets + cmake.buildToolArgs: make sure `--` is added in all cases (#3755)

* presets + cmake.buildToolArgs: make sure `--` is added in all cases

Fixes #3754.
This issue was introduced in #3537 (cmake.buildToolsArgs was ignored for presets before).

* Update changelog

---------

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* Update CHANGELOG.md

* Fixes #3140 - Test log unavailable (#3752)

* Using \r\n as line ending

Seems like \r\n is the line ending characters in the Test Output even on systems different from win32

* Specify the test item in the call to appendOutput

Doing so allows to have the output of the test to be printed out in the left part of the "TEST RESULTS" pane when clicking on the desired test in the right part of the same pane.
Before this change we get "The test case did not report any output"

* Adds location information in the call to appendOutput.

The test object may have uri and ranges that can help localization

* Adds entry in the CHANGELOG

---------

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* Upgrade cmake_minimum_required version 3.0.0 -> 3.5.0 (#3805)

* Update cmakeProject.ts

Upgrade cmake_minimum_required version 3.0.0 -> 3.5.0

* Update CHANGELOG.md

---------

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* Add setting for deleting whole build dir when clean configuring (#3783)

* Add setting for deleting whole build dir when clean configuring

* Remove unnecessary tag in new setting in package.json

* Add changelog entry. Remove unnecessary | null from new boolean setting.

---------

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* log error for cmake exe not found (#3847)

* Fixed how we use our '--warn-unused-cli' flag (#3860)

* '--warn-unused-cli' is now used to remove the default '--no-warn-unused-cli' command instead of removing and also adding itself to the arguments

* only removed '--warn--unused-cli' instead of all initial_common_flgs

* Set useCMakePresets context after quick start (#3853)

update active proj to set userpreset context

* remove from pre-release (#3861)

* clean configures when platform differs between old and new selected kit (#3859)

* clean configures when only platform changes between kits

* updated changelog

* check toolset too

* changelog

* update changelog

* add rel to branches (#3867)

* update third parties

* fix release pipeline verification

* fix release pipeline

* update release version for prerelease

* fix variable ref

* Localization - Translated Strings (#3833)

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* Use relative intralinks; Point 'issues' to main GH repo (#3858)

* Replace intra-repo absolute URLs with relative ones.
* Replace remaining pointers to `vector-of-bool` with `microsoft`
  in the URLs than must remain absolute.

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* Update Preferred Generator selection logic (#3869)

* Update preferred generator selection logic

* Update changelog

* Fix lint error

* updated command string to better reflect function (#3876)

* Add guard against reloading a file that's not a variants file (#3878)

* Add guard against reloading a file that's not a variants file

* Update CHANGELOG.md

* Update CHANGELOG.md

* Fix debugger hang on restart (#3846)

* telemetry check for trigger, also include trigger and folder in obj for debugger

* update origin telemetry

* add enum for debug origin

* pass in from command info and cleanup

* Update cmakeFileApiDriver.ts take out import

* move to 1.19 changelog

---------

Co-authored-by: Garrett Campbell <gcampbell@microsoft.com>

* update warning to be an error (#3881)

* add try catch and attempt to grab specifically the json (#3868)

* add try catch and attempt to grab specifically the json

* fix lint errors

---------

Co-authored-by: Fatima Qarni <fatimaqarni@microsoft.com>

* show userpresets in project  outline (#3877)

* move user env expansion forkits to after vsenv merged in (#3887)

* move user env expansion forkits to after vsenv merged in

* changelog

* fix for penv and env differentiation

* avoiding stringifying extensionContext (#3880)

* attempt avoiding stringifying extensionContext

* update changelog

* Skip initializing variant manager when using CMakePresets (#3888)

* Fixed spelling in Delete Build Dir On Clean Configure description (#3893)

* Allow CMake to select a default internal generator when the user selects "__unspec__" for the kit (#3889)

* updated to allow no generator when using file api and cmake 3.15.0 or greater

* fixed kit name check

* updated changelog

* throw nogenerator error if kit isn't __unspec__

* Add "Unspecified" Build Type and Use by Default (Kits Only) (#3879)

* add unspecified build type and remove CMAKE_BUILD_TYPE prop when it's used

* reverted commenting out debugger

* let debugger stop on error again

* updated changelog

* updated the docs with the new option

* updated default kit build type

* fix failing tests

---------

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* localize override settings applied (#3896)

* change langext check for cpp (#3897)

* fix debug environment config being overwritten (#3894)

* fix debug environment config being overwritten

* changelog

* localized the additional properties case (#3895)

* show build task if preset is set to activebuildpreset (#3898)

* show build task if preset is set to activebuildpreset

* changelog

* fix our depth search for CMakeLists.txt (#3904)

* if installDir is a relative path, calculate it relative to the source directory (#3903)

* if installDir is a relative path, I calculate it relative to the source dir

* updated location of checking and updating installDir

* combined with expansion check

* add permissions to workflow

* Fix localized file path for schemas (#3906)

* Add setting to control how we use VS Dev Env (#3892)

* committing state, no progress, just thinking through

* fix how we apply and override devenv to ensure we don't accidentally delete preset environment modifications from user

* check if ninja exists and it's the generator, use that to determine if we should add vs devenv as well

* currently broken, but saving state for adding a setting

* this works well, but I need to add back code that prohibits repeated devenv searching with where.exe

* finalize implementation of the setting for useVsDeveloperEnvironment

* minimize branches

* fix import

* update comments

* fix comment

* remove unnecessary comment

* fallback to better architecture/toolset

* update devenv vars and tests

* fix test for mac

* fix tests

* update changelog

* fix test expand and where.exe env

* update test to explicitly test architecture unit test

---------

Co-authored-by: snehara99 <113148726+snehara99@users.noreply.github.com>

* Fix link in configure.md (#3899)

The section is called "General options", not "Generic options".

* Fix typo in configure.md (#3900)

als -> also

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* The kit name for Clang/MSVC too long, put the arch at the front (#3835)

[kit] Found Kit (trusted): Clang 17.0.3 (MSVC CLI) for MSVC 17.10.35004.147 (Visual Studio Community 2022 Release - x86)
[kit] Found Kit (trusted): Clang 17.0.3 (GNU CLI) for MSVC 17.10.35004.147 (Visual Studio Community 2022 Release - x86)
[kit] Found Kit (trusted): Clang 17.0.3 (MSVC CLI) for MSVC 17.10.35004.147 (Visual Studio Community 2022 Release - amd64)
[kit] Found Kit (trusted): Clang 17.0.3 (GNU CLI) for MSVC 17.10.35004.147 (Visual Studio Community 2022 Release - amd64)

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* Update triage-labels.yml

* Update OneLocBuild process (#3912)

* try service connection already there

* use variables

* Delete .github/workflows/closed-fixed-pending-release.yml

* Only visual studio 2015 neesd fixes the windows sdk path (#3837)

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* Dispose of Launch terminal if environment has changed (#3902)

* Compare entire terminal launch environment and dispose if not equal

* Updated CHANGELOG

---------

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* Localization - Translated Strings (#3884)

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* implement  #2521 by adding output channel argument (#3785)

* implement  #2521 by adding output channel argument

* fix failed configuration not showing output channel on "on error"

* implement review, add changelog

* fix changelog

---------

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>
Co-authored-by: Garrett Campbell <gcampbell@microsoft.com>

* doc: cmake.environment is not applied to launch/debug (#3926)

* Don't require Ninja or Make on PATH when checking generators (#3927)

* Preset file expansion on open/save and expansion validation (#3905)

This change changes the way we do preset file expansion. Expansion now occurs upfront on file open or save, and if there are no errors, the expanded presets will be cached so repeated expansion is not necessary every time getAll{type of preset}Presets() is called.

The only time expansion will happen again is on set preset, which will then also apply the VS developer environment as needed. This is avoided on the initial expansion for performance.

If there are errors in expansion, the errors are shown in the problems panel per file. The presets file will also be set to undefined, which will invalidate that file and not allow any presets in that file to be recognized/selected as valid presets. This is in line with the CMake command line experience.

Some notes:

- The ${generator} macro should not work for packagePresets, but should now expand correctly for all other presets and evaluate conditions correctly
- Tertiary preset cache was added (really its just the original presets cache but used in a new way) to account for included json files that wouldnt be in the original presets files

* better match keybindings to what vscode has (#3928)

* better match keybindings to what vscode has

* update changelog

* Revert "Don't require Ninja or Make on PATH when checking generators (#3927)" (#3938)

This reverts commit bbc74d8.

* check for quick start in select configure preset to prevent second configure (#3933)

Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* ensure we take deep copy of presets for presetsPlusIncluded (#3939)

* update telemetry key (#3944)

* update telemetry key

* typo

* Fix GitHub 1401, diagnostics relative to workspace folder (#3780)

* Fix GitHub 1401, diagnostics relative to workspace folder

 - relative diagnostics files are searched in build_dir and src_dir,
   first existing file is returned
 - defaults to old behavior : `path.resolve(build_dir, file)`
 - `resolveDiagnostics` has been made async to not slow down IDE when
   testing files

* update ChangeLog for #1401

* fix relative file resolution diagnostics test

 - diagnostics paths always use POSIX separators (see `normalizePath` in
   [src/util.ts](src/util.ts))

---------

Co-authored-by: Sylvain Fargier <sylvain.fargier@cern.ch>
Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* Configure precondition handler to return boolean to signal a successful recovery case (#3776)

* Making configure precondition handler return a boolean helps to differentiate the successful recovery cases

* Fix pre-condition handler prototype errors in tests

* Experiment with prototypes to fix linter errors

* Add setting for building whole build dir when clean configure

* Remove anything related to deleteBuildDirOnCleanConfigure since it's in a different PR. Keep proper promise<bool> prototype for pre-configure handler return and fix appropriately compilation and lint errors in tests.

* Forgot one file to remove deleteBuildDirOnCleanConfigure from

* Remove forgotten comment

* Add changelog entry

* remove changes not needed

* removing more bad changes

* add logic to regenerate the driver after selecting cmakelists

* remove unused imports

* keep sanity check in _beforeConfigureOrBuild

* only ensure we set the variable so that on retry, it works

* switch return

* erroneous update

* fix

---------

Co-authored-by: Garrett Campbell <gcampbell@microsoft.com>
Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>

* Localization - Translated Strings (#3932)

* Use template for release pipelines (converted from classic) (#3945)

* try to convert release pipeline to yaml

* ensure trigger

* fix variable expansion

* specify name specifically

* add release and fix powershell setup

* fix name

* uncomment vsce task

* only do release pipeline on release branch

* only allow rel branch for release

* enable trigger always, we can rely on manual verification

* evaluate inherit presets based on presets that should be visible from file (#3941)

* initial changes

* modify other preset flows

* fix unused import

* remove unused import

* check for default preset

* acocunt for userpresets

* remove extra condition

---------

Co-authored-by: Garrett Campbell <gcampbell@microsoft.com>

* fix pipelineArtifact reference (#3948)

* fix pipelineArtifact reference

* update variable update

* try corrected destinationPath

* fix destination typo

* switch to targetPath test

* use correct manual validation task

* Update pipeline (#3952)

* fix validation and pipeline, commented out vsce for testing

* fix indentation for job

* uncomment vsce

* Set usepresets context after manually creating presets file (#3935)

Fixes #3854. Support for watching multiple paths (cmakepresets.json/cmakeuserpresets.json/include files) was broken due to a Chokidar bug. Created a wrapper class to handle this scenario.

* Localization - Translated Strings (#3954)

* Ensure we correctly inherit preset from UserPreset (#3958)

* fix

* analyze user presets first because it's the base if it exists

* more updates to fix include files and telemetry, still needs work and testing

* ensure telemetry and other uses of 'all..Presets' is right

* more fixes

* ensure we don't duplicate cmakepresets in userpresets includes

* remove unnecessary return

* unionWith consistency

* add test

* saving progress (#3960)

* only do special handling of ~ in linux, it breaks windows (#3965)

* Remove popups and update defaults for `configureOnOpen` (#3967)

* update defaults and remove popups

* update changelog

* fix types for configureOnOpen

* fix eslint

* Update vscode-tas-client. (#3981)

* add telemetry for developer environment use (#3975)

* fix node versions in pipelines

* remove item from yml

* Localization - Translated Strings (#3984)

* Update cmake-presets.md (#3992)

Fixing broken links

* fix regression of kit environment variables (#3991)

* rollbar try catch (#3985)

Co-authored-by: Fatima Qarni <fatimaqarni@microsoft.com>

* switch to variable

* switch to variable

* fix env expansion (#3997)

* In short, with our recent updates, we are attempting to expand every
string in the environment. This isn't a problem in most cases, but it
exposed a bug in certain linux distros that use aliasing (environment
variables).

Therefore, we should be wiser about what we attempt to expand and only
expand the presets environment variables the user has in their files.
To do this, we need to be smarter about what we save in our cache and
update by reference.


* updated the other presets so they dont always have to reexpand configure preset. when they do, use plusIncludes which has the dev env cached if its been expanded before. also include the inherited parent envs

* Fix environment expansion so we don't expand unnecessary variables - don't save the process.env or parent environment to the environment field of the cache.

* Don't re-expand configure presets in the associated build/test/etc presets.

* Fix expansion reporting issues with reporting an invalid config preset, and changing for each loop to a traditional for loop to make sure we dont have async issues with reporting.

* fix validation bug for not being able to find a null config preset

---------

Co-authored-by: Garrett Campbell <gcampbell@microsoft.com>

* update third parties (#4001)

* return expandedPreset, not preset (#4008)

* return expandedPreset, not preset

* make sure user presets are considered

* Localization - Translated Strings (#4003)

* add change from rel that I didn't do here (#4014)

* fix presets expansion (#4024)

* fix presets expansion

* missed a change

* update changelog

* if Win64 is at the end of the generator, use platform x64 (#4025)

* fix generator logic (#4033)

* fix generator logic

* fix logic

* fix logic

* fix use of gen.name

* Correctly store cache and update `binaryDir` (#4028)

* fix binary dir

* fixes the issue, but more testing and possible improvement to come

* set expandedPreset.binaryDir if already set too

* properly update caches, ensure we correctly store cached presets

* remove some unnecessary comments

* fix linter errors

* update envOverride with expandedPreset env

* update the changelog

* update parent environment when never

---------

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Co-authored-by: snehara99 <113148726+snehara99@users.noreply.github.com>
Co-authored-by: Andreea Isac <48239328+andreeis@users.noreply.github.com>
Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com>
Co-authored-by: Joan Marcè i Igual <jmigual@users.noreply.github.com>
Co-authored-by: CSIGS@microsoft.com <csigs@users.noreply.github.com>
Co-authored-by: vinocher-bc <160914867+vinocher-bc@users.noreply.github.com>
Co-authored-by: Garrett Campbell <gcampbell@microsoft.com>
Co-authored-by: Bob Brown <bobbrow@users.noreply.github.com>
Co-authored-by: Jeremie Allard <jeremie.allard@insimo.fr>
Co-authored-by: hippo91 <guillaume.peillex@gmail.com>
Co-authored-by: LiuZengqiang <74355935+LiuZengqiang@users.noreply.github.com>
Co-authored-by: Cy 'kkm' Katsnelson <kkm@pobox.com>
Co-authored-by: Jonathan Phippen <30632563+jophippe@users.noreply.github.com>
Co-authored-by: moyo1997 <54333118+moyo1997@users.noreply.github.com>
Co-authored-by: Andrew Shark <ashark@linuxcomp.ru>
Co-authored-by: Yonggang Luo <luoyonggang@gmail.com>
Co-authored-by: stepeos <82703776+stepeos@users.noreply.github.com>
Co-authored-by: fargies <fargies@users.noreply.github.com>
Co-authored-by: Sylvain Fargier <sylvain.fargier@cern.ch>
Co-authored-by: Sean McManus <seanmcm@microsoft.com>
Co-authored-by: Sinem Akinci <99284450+sinemakinci1@users.noreply.github.com>
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.

5 participants