-
Notifications
You must be signed in to change notification settings - Fork 1.4k
enable out of process execution of inline tasks #11948
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
Merged
Merged
Changes from all commits
Commits
Show all changes
61 commits
Select commit
Hold shift + click to select a range
d564eb1
wip
JanProvaznik 4b37477
wip2
JanProvaznik 5eee401
refactor envvar to traits
JanProvaznik f1ebda6
cleanup taskexecutionhost
JanProvaznik 7a7b77b
inline task cache per dll
JanProvaznik 9c5c01e
undo unnecessary path caching
JanProvaznik 2bb1960
nit
JanProvaznik c76be28
small fixes
JanProvaznik efc743e
refactor
JanProvaznik 86c24fb
other task factories
JanProvaznik ffa53f9
add error for custom taskfactories, cleanup
JanProvaznik e6f35e6
docstring
JanProvaznik 26b2a3e
roslyncodetaskfactory outofproc tests, fix excluding intrinsictaskfac…
JanProvaznik 2e10e3e
hacks
JanProvaznik 8edeef3
Support testhost.exe in TaskHost-launching tests (#11956)
rainersigwald f83e5be
fix test?
JanProvaznik 56baac4
test?
JanProvaznik 33fbac6
remove nonsense
JanProvaznik b8f8544
codetaskfactory adjustment
JanProvaznik 4c9bf0a
nit
JanProvaznik af47117
reflect output/required parameters in generated class
JanProvaznik 2af5fcd
also fix codetaskfactory output params
JanProvaznik 7cf539d
adjust codegen tests
JanProvaznik 08b5369
fix test
JanProvaznik 26e2c8d
Merge branch 'main' into kickroslyntasks
JanProvaznik 93201bd
reset formatting changes in resx
JanProvaznik fdf157f
new cleanup strategy
JanProvaznik 77ab86e
add to docs
JanProvaznik 7f42c45
cleanup
JanProvaznik 2144eda
oops
JanProvaznik 1b844f1
refactor duplicate assembly resolution and load manifest code
JanProvaznik 603649c
cleanup
JanProvaznik 01ea9a9
pr feedback
JanProvaznik 89ed92d
rm tmp directories inproc mode
JanProvaznik 2cf138d
Revert "rm tmp directories inproc mode"
JanProvaznik c6e012c
revert dll location when not opted in
JanProvaznik 5824662
fix
JanProvaznik c7a8bb8
Merge branch 'main' into kickroslyntasks
JanProvaznik 0f28704
feedback
JanProvaznik eda1b41
Merge branch 'kickroslyntasks' of https://github.com/JanProvaznik/msb…
JanProvaznik 427d87c
feedback2
JanProvaznik d9f9697
Merge branch 'main' into kickroslyntasks
JanProvaznik 4a41b78
Merge remote-tracking branch 'upstream/main' into kickroslyntasks
JanProvaznik 67841ab
Merge branch 'main' into kickroslyntasks
SimaTian 9e7641c
fix after merge
SimaTian 37322a7
Merge branch 'main' into kickroslyntasks
JanProvaznik 198764b
load inline tasks from bytes, cleanup at the end of build
JanProvaznik 427a1d3
fix
JanProvaznik 02956ca
different strategy for path propagation
JanProvaznik 361b57f
fix out of proc factory caching, add test
JanProvaznik 1e78ecb
nullable
JanProvaznik de40b50
fix tests
JanProvaznik 1913eaa
simplify taskexecutionhost logic
JanProvaznik 9e79373
prevent cache pollution
JanProvaznik 9cfc104
Merge branch 'main' into kickroslyntasks
JanProvaznik 23a9eea
make caching robust and refactor it
JanProvaznik e3be660
resolve comment in code
JanProvaznik b2d8f7f
Merge branch 'kickroslyntasks' of https://github.com/JanProvaznik/msb…
JanProvaznik 4dbbc82
fix telemetry taskhost reporting for inline tasks
JanProvaznik 4cb53de
resolve feedback
JanProvaznik d6d7d48
Merge branch 'main' into kickroslyntasks
JanProvaznik File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,33 +1,36 @@ | ||
| # MSBuild environment variables list | ||
|
|
||
| This document describes the environment variables that are respected in MSBuild, its purpose and usage. | ||
| This document describes the environment variables that are respected in MSBuild, its purpose and usage. | ||
|
|
||
| Some of the env variables listed here are unsupported, meaning there is no guarantee that variable or a specific combination of multiple variables will be respected in upcoming release, so please use at your own risk. | ||
|
|
||
| * `MSBuildDebugEngine=1` & `MSBUILDDEBUGPATH=<DIRECTORY>` | ||
| * Set this to cause any MSBuild invocation launched within this environment to emit binary logs and additional debugging information to `<DIRECTORY>`. Useful when debugging build or evaluation issues when you can't directly influence the MSBuild invocation, such as in Visual Studio. More details on [capturing binary logs](./Providing-Binary-Logs.md) | ||
| * `MSBUILDTARGETOUTPUTLOGGING=1` | ||
| * Set this to enable [printing all target outputs to the log](https://learn.microsoft.com/archive/blogs/msbuild/displaying-target-output-items-using-the-console-logger). | ||
| * `MSBUILDLOGTASKINPUTS=1` | ||
| * Log task inputs (not needed if there are any diagnostic loggers already). | ||
| * `MSBUILDEMITSOLUTION=1` | ||
| * Save the generated .proj file for the .sln that is used to build the solution. The generated files are emitted into a binary log by default and their presence on disk can break subsequent builds. | ||
| * `MSBUILDENABLEALLPROPERTYFUNCTIONS=1` | ||
| * Enable [additional property functions](https://devblogs.microsoft.com/visualstudio/msbuild-property-functions/). If you need this level of detail you are generally served better with a binary log than the text log. | ||
| * `MSBUILDLOGVERBOSERARSEARCHRESULTS=1` | ||
| * In ResolveAssemblyReference task, log verbose search results. | ||
| * `MSBUILDLOGCODETASKFACTORYOUTPUT=1` | ||
| * Dump generated code for task to a <GUID>.txt file in the TEMP directory | ||
| * `MSBUILDDISABLENODEREUSE=1` | ||
| * Set this to not leave MSBuild processes behind (see `/nr:false`, but the environment variable is useful to also set this for Visual Studio for example). | ||
| * `MSBUILDLOGASYNC=1` | ||
| * Enable asynchronous logging. | ||
| * `MSBUILDDEBUGONSTART=1` | ||
| * Launches debugger on build start. Works on Windows operating systems only. | ||
| * Setting the value of 2 allows for manually attaching a debugger to a process ID. This works on Windows and non-Windows operating systems. | ||
| * `MSBUILDDEBUGSCHEDULER=1` & `MSBUILDDEBUGPATH=<DIRECTORY>` | ||
| * Dumps scheduler state at specified directory. | ||
|
|
||
| * `MsBuildSkipEagerWildCardEvaluationRegexes` | ||
| * If specified, overrides the default behavior of glob expansion. During glob expansion, if the path with wildcards that is being processed matches one of the regular expressions provided in the [environment variable](#msbuildskipeagerwildcardevaluationregexes), the path is not processed (expanded). | ||
| * The value of the environment variable is a list of regular expressions, separated by semicolon (;). | ||
| - `MSBuildDebugEngine=1` & `MSBUILDDEBUGPATH=<DIRECTORY>` | ||
| - Set this to cause any MSBuild invocation launched within this environment to emit binary logs and additional debugging information to `<DIRECTORY>`. Useful when debugging build or evaluation issues when you can't directly influence the MSBuild invocation, such as in Visual Studio. More details on [capturing binary logs](./Providing-Binary-Logs.md) | ||
| - `MSBUILDTARGETOUTPUTLOGGING=1` | ||
| - Set this to enable [printing all target outputs to the log](https://learn.microsoft.com/archive/blogs/msbuild/displaying-target-output-items-using-the-console-logger). | ||
| - `MSBUILDLOGTASKINPUTS=1` | ||
| - Log task inputs (not needed if there are any diagnostic loggers already). | ||
| - `MSBUILDEMITSOLUTION=1` | ||
| - Save the generated .proj file for the .sln that is used to build the solution. The generated files are emitted into a binary log by default and their presence on disk can break subsequent builds. | ||
| - `MSBUILDENABLEALLPROPERTYFUNCTIONS=1` | ||
| - Enable [additional property functions](https://devblogs.microsoft.com/visualstudio/msbuild-property-functions/). If you need this level of detail you are generally served better with a binary log than the text log. | ||
| - `MSBUILDLOGVERBOSERARSEARCHRESULTS=1` | ||
| - In ResolveAssemblyReference task, log verbose search results. | ||
| - `MSBUILDLOGCODETASKFACTORYOUTPUT=1` | ||
| - Dump generated code for task to a `<GUID>.txt` file in the TEMP directory | ||
| - `MSBUILDDISABLENODEREUSE=1` | ||
| - Set this to not leave MSBuild processes behind (see `/nr:false`, but the environment variable is useful to also set this for Visual Studio for example). | ||
| - `MSBUILDLOGASYNC=1` | ||
| - Enable asynchronous logging. | ||
| - `MSBUILDDEBUGONSTART=1` | ||
| - Launches debugger on build start. Works on Windows operating systems only. | ||
| - Setting the value of 2 allows for manually attaching a debugger to a process ID. This works on Windows and non-Windows operating systems. | ||
| - `MSBUILDDEBUGSCHEDULER=1` & `MSBUILDDEBUGPATH=<DIRECTORY>` | ||
| - Dumps scheduler state at specified directory. | ||
| - `MsBuildSkipEagerWildCardEvaluationRegexes` | ||
| - If specified, overrides the default behavior of glob expansion. During glob expansion, if the path with wildcards that is being processed matches one of the regular expressions provided in the [environment variable](#msbuildskipeagerwildcardevaluationregexes), the path is not processed (expanded). | ||
| - The value of the environment variable is a list of regular expressions, separated by semicolon (;). | ||
| - `MSBUILDFORCEALLTASKSOUTOFPROCESS` | ||
| - Set this to force all tasks to run out of process (except inline tasks). | ||
| - `MSBUILDFORCEINLINETASKFACTORIESOUTOFPROC` | ||
| - Set this to force all inline tasks to run out of process. It is not compatible with custom TaskFactories. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.