bekir-ozturk / insertions-client Goto Github PK
View Code? Open in Web Editor NEWTool that inserts .NET Core SDK into VS
Tool that inserts .NET Core SDK into VS
Consider a trace entry that explicitly calls out the full path to default.config being saved at the end of the processing.
input:
..>InsertionsClient.exe -d:\Repos\VS.corext\Configs\default.config -m:\GitHub\insertions-client\tests\InsertionsClientTest\Assets\manifest.json -idut
The time stamp of the file system for the specified default.config file does not correspond to the end time of the run.
20-4-2020 02:52:05.682962|thread:1|Saving modified config file: C:\GitHub\insertions-client\tests\InsertionsClientTest\Assets\default.config
20-4-2020 02:52:05.714238|thread:1|Save success.
20-4-2020 02:52:05.734160|thread:1|Statistics:
When a package in default.config is updated, file and package names referring to the content of the nuget needs to be changed as well.
Variables defined in props files automatically handle these updates. But updating the variables is still a manual process.
Improve the tool so that values of the variables defined in props files are automatically updated when the tool is run.
exit criteria:
The No. Items: statistic is not comma formatted & it should as are the rest of the stats' numbers.
Example:
20-4-2020 02:52:05.787640|thread:1|NotAPackage - Asset belongs to a resource or a supplementary file; not to a package.
No. Items: 1595
Average: 22.4614-ms
Minimum: 1.0000-ms
Maximum:
9,939.0000-ms
Instead of ignore.txt. Now I think it is easier to do allowlist than filter out. Since the components that SDK owns are finite.
Visual Studio Installer shows users how much disk space is needed to install each component.
Swr files should be updated to reflect the install size during insertion.
One of the ways to solve this:
Exit criteria:
consider reporting usage & failure events to a service that enables BI
Command line:
C:\src\_test\insertions\VS Repo>C:\src\insertions-client\src\InsertionsClient\bin\Debug\netcoreapp3.1\InsertionsClient.exe -d:"C:\src\_test\insertions\VS Repo\.corext\Configs\default.config" -m:"..\Aux Files\sample_manifest.json"
Log output:
21-4-2020 12:38:47.672526|thread:1|The directory to search for .props files: C:\src\_test\insertions\VS Repo\src\SetupPackages
21-4-2020 12:38:49.648488|thread:13|There is an issue downloading nuget package: NuGet.Protocol.Core.Types.FatalProtocolException: Unable to load the service index for source https://pkgs.dev.azure.com/devdiv/_packaging/VS-CoreXtFeeds/nuget/v3/index.json.
---> System.Net.Http.HttpRequestException: Response status code does not indicate success: 401 (Unauthorized).
at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
at NuGet.Protocol.HttpSource.<>c__DisplayClass14_0`1.<<GetAsync>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at NuGet.Common.ConcurrencyUtilities.ExecuteWithFileLockedAsync[T](String filePath, Func`2 action, CancellationToken token)
at NuGet.Common.ConcurrencyUtilities.ExecuteWithFileLockedAsync[T](String filePath, Func`2 action, CancellationToken token)
at NuGet.Protocol.HttpSource.GetAsync[T](HttpSourceCachedRequest request, Func`2 processAsync, ILogger log, CancellationToken token)
at NuGet.Protocol.ServiceIndexResourceV3Provider.GetServiceIndexResourceV3(SourceRepository source, DateTime utcNow, ILogger log, CancellationToken token)
--- End of inner exception stack trace ---
at NuGet.Protocol.ServiceIndexResourceV3Provider.GetServiceIndexResourceV3(SourceRepository source, DateTime utcNow, ILogger log, CancellationToken token)
at NuGet.Protocol.ServiceIndexResourceV3Provider.TryCreate(SourceRepository source, CancellationToken token)
at NuGet.Protocol.Core.Types.SourceRepository.GetResourceAsync[T](CancellationToken token)
at NuGet.Protocol.Core.Types.SourceRepository.GetResourceAsync[T]()
at NuGet.Protocol.HttpFileSystemBasedFindPackageByIdResourceProvider.TryCreate(SourceRepository sourceRepository, CancellationToken token)
at NuGet.Protocol.Core.Types.SourceRepository.GetResourceAsync[T](CancellationToken token)
at NuGet.Protocol.Core.Types.SourceRepository.GetResourceAsync[T]()
at Microsoft.Net.Insertions.Api.PropsVariableDeducer.GetPackageFileList(DefaultConfigUpdater defaultConfigUpdater, PackageUpdateResult packageUpdate) in C:\src\insertions-client\src\InsertionsClient\Api\Props\PropsVariableDeducer.cs:line 122
...
Completed successfully.
Running the tool again with the same command line but without undoing the changes it's made to config files does not log the errors anymore.
My first code drop of the tool started as a simple 2 parameter command line. Now boasting support for 9 input parameters; some of which with dependency with others.
Until the insertions client codebase is integrated into a fully automated VS insertions process, a GUI option may make life easier for tool users.
It's time to move the repo to the proper owner.
Currently, InsertionApi and the command line input parsing are both done in the same console project.
Create a class library for the insertion api and keep console app as a separate project so that we can reference the api independently within other projects.
Default timeout value is 240 seconds, which is passed as milliseconds to the async method.
Operation times out since 240 milliseconds is too short.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.