Commit 3659364
authored
Add Support for ASP.NET Installation (#1843)
* wip - separate out worker paths so contexts are needed for every call, but there is less potential for things to go wrong and less code duplication
* Further isolate code, need to isolate the install tracker now
* migrate install tracker to use event stream instead of being coupled to the context
* move installtracker to a singleton and fix tests
the install tracker really only needs to exist once since the event stream and extension state are global, this will prevent errors from different states of promises and simplify our code with this design pattern to decouple the installation tracking mechanism from the context object, which will reduce code duplication for aspnet install feature additions
* Fix some issues with the test during code migration
* Fix issue with accessing instance
I forgot to ctrl s!
* Clean up logic with install key generation
* Remove duplicate source of truth for architecture
* Improve logging and error handling of install tracker
This class is super annoying to debug without better logging
* Update some broken components of the tests
* Prevent saying object object in the log output by expanding the object
* Tests working
We used to need to concat these tests results with different contexts but not any longer
* FIx uninstall all commands
* Fix the file rename
* Improve logging messages
* Add mode handling for aspnet
* Add ASP NET Support
* Add Generic -> Mode Specific Event Stream Class Hierarchy
* [wip] create events for all 'modal' events
* Dont hold a generic arg obj because it becomes too unwieldy
* Fix some issues with the test and sdk extension
* Add 'mode' to the acquire context
This will allow API callers to set the mode to call aspnet without having to write a new endpoint call. We can default to runtime for when it wasnt provided that would be the old behavior.
* Move 'installMode' into the acquire context
This allows API callers to provide the mode,
We remove it from the worker context to dedupe this and prevent 2x sources of truth.
Now this is a bit weird because some API endpoints will take the mode even though the API endpoint is only for one mode. We will just ignore the mode for that. Eventually we can try to transition all of the related calls to a single endpoint based on 'mode' which would simplify API usage.
* Code cleanup
* De-Dupe Test Code
* Add Requested Events to Republisher
* Update InstallKey pattern to include ~aspnetcore
This is a bit strange since - used to be for 'global' and ~ for architecture. There are only so many path safe characters to use, more importantly though we dont rely on the install key as the information for the install anymore, it is stored in the DotnetInstall object. ~ has logic in place to not account for a 'legacy' install, so ~ with aspnet (which would not have existed before arch was added) is also a bet that will work with pre-existing logic.
* fix build issues
* Add ASP.NET Directory Provider
* Only Report Total Success if Path exists
The path can be undefined if an error throws so its not a success
* Add ASP.NET API to sample extension
* Resolve Asp Net Runtime versions as Runtime versions
* Fix mistake on test
* Fix bug with install script param
* add source-map-support to allow build in CI
this got removed and passed earlier somehow
* respond to linter
* add source map support
* Respond to linter
* Add test for specific telemetry messages
* 2.0.7 branding
* Prevent circular import
* rewrite completion event so we can test the modaleventrepublisher
* fix linter issue
* Revert new test since the object is not mockable
* Get rid of check for event that cannot be published via mocks
* Fix bug where logging was not up to date
to prevent i/o costs the file is dumped at the end of error handling, but this means other events past error handling dont get added to the log. This fixes this.
* respond to pr feedback1 parent 0655891 commit 3659364
File tree
45 files changed
+845
-405
lines changed- .vscode
- sample
- src
- vscode-dotnet-runtime-extension
- src
- test/functional
- vscode-dotnet-runtime-library/src
- Acquisition
- EventStream
- Utils
- test/unit
- vscode-dotnet-sdk-extension
- src
- test/functional
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
45 files changed
+845
-405
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
15 | | - | |
| 15 | + | |
| 16 | + | |
16 | 17 | | |
17 | 18 | | |
18 | 19 | | |
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
34 | 39 | | |
35 | 40 | | |
36 | 41 | | |
| |||
46 | 51 | | |
47 | 52 | | |
48 | 53 | | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
49 | 59 | | |
50 | 60 | | |
51 | 61 | | |
| |||
112 | 122 | | |
113 | 123 | | |
114 | 124 | | |
| 125 | + | |
115 | 126 | | |
116 | 127 | | |
117 | 128 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| 10 | + | |
10 | 11 | | |
11 | 12 | | |
12 | 13 | | |
13 | | - | |
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
| 17 | + | |
17 | 18 | | |
18 | 19 | | |
19 | 20 | | |
| |||
76 | 77 | | |
77 | 78 | | |
78 | 79 | | |
79 | | - | |
| 80 | + | |
| 81 | + | |
80 | 82 | | |
81 | 83 | | |
82 | 84 | | |
| |||
87 | 89 | | |
88 | 90 | | |
89 | 91 | | |
90 | | - | |
| 92 | + | |
91 | 93 | | |
92 | 94 | | |
93 | 95 | | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
94 | 104 | | |
95 | 105 | | |
96 | 106 | | |
| |||
120 | 130 | | |
121 | 131 | | |
122 | 132 | | |
123 | | - | |
124 | | - | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
125 | 137 | | |
126 | 138 | | |
127 | | - | |
128 | | - | |
129 | | - | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
130 | 142 | | |
131 | | - | |
| 143 | + | |
| 144 | + | |
132 | 145 | | |
133 | 146 | | |
134 | 147 | | |
135 | | - | |
| 148 | + | |
| 149 | + | |
136 | 150 | | |
137 | 151 | | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
138 | 160 | | |
139 | 161 | | |
140 | 162 | | |
| |||
148 | 170 | | |
149 | 171 | | |
150 | 172 | | |
| 173 | + | |
151 | 174 | | |
152 | 175 | | |
153 | 176 | | |
| 177 | + | |
154 | 178 | | |
155 | 179 | | |
156 | 180 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
121 | 121 | | |
122 | 122 | | |
123 | 123 | | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
124 | 131 | | |
125 | 132 | | |
126 | 133 | | |
| |||
1814 | 1821 | | |
1815 | 1822 | | |
1816 | 1823 | | |
| 1824 | + | |
1817 | 1825 | | |
1818 | 1826 | | |
1819 | 1827 | | |
| |||
1823 | 1831 | | |
1824 | 1832 | | |
1825 | 1833 | | |
1826 | | - | |
| 1834 | + | |
1827 | 1835 | | |
1828 | 1836 | | |
1829 | 1837 | | |
| |||
1837 | 1845 | | |
1838 | 1846 | | |
1839 | 1847 | | |
| 1848 | + | |
1840 | 1849 | | |
1841 | 1850 | | |
1842 | 1851 | | |
| |||
1865 | 1874 | | |
1866 | 1875 | | |
1867 | 1876 | | |
| 1877 | + | |
1868 | 1878 | | |
1869 | 1879 | | |
1870 | 1880 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
10 | 18 | | |
11 | 19 | | |
12 | 20 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
0 commit comments