Mostly using R# to automatically refactor, with some manual
fixups where it wouldn't work automatically (e.g. xml comments
on fields) or some it seemed to miss.
Some minor code reformatting was also done on properties near
other stuff I was manually inspecting.
I (Jason Shirk) ran https://github.com/dotnet/codeformatter with the default rules, basically:
codeformatter /nocopyright "/c:DEBUG,UNIX,CORECLR" @files.rsp
This caused a few problems building, which were fixed up manually.
Notable changes:
`this.` is removed unless needed to disambiguate.
private instance fields are renamed to have a `_` prefix.
private static fields are renamed to have a `s_` prefix.
I left some projects alone (like PackageManagement) and also left some generated code alone.
- introduce SDK project with our dependencies and CoreCLR framework
for runtime.
- Move dependencies for Full from ConsoleHost to powershell-win-full
- make powershell-win-full Top-level project
- Change build.psm1 to do publish for -FullCLR build
- Update docs
Again due to the fact that relying on Console.IsOutputRedirected (as
System.Console does for these APIs) causes bugs when pseudo-TTYs are
used (since the output is not redirected, but the APIs nonetheless can't
be used properly). So we ran into a problem where the value of CursorTop
and Console.BufferHeight were lies, and so we accidentally attempted to
set it numbers below zero. Guard everything.
- Replace src\powershell top level project by two
new root-level projects:
- src\powershell-unix
- src\powershell-windows
- Break src\Modules into more granular structure:
- Shared
- Windows+Unix-Core
- Windows-Core
- Windows-Core+Full
- Windows-Full
- To be created: Unix-Core. We will do it as a separate PR
- Fix#1122 : Platform-specific set of Modules (and assemblies)
- Fix Start-TypeGen to work with new top level folders layout
This uses System.Console instead of ConsoleControl to read keys into a
SecureString in a portable manner. The Windows implementation is left
untouched.
This is reconciled with the .NET Core 1.0 Unix ConsolePal
implementation, with additional error handling for when System.Console
returns unusable values.
- Add Start-PSBuild -Clean
- Normalize $env:PATH references in .\build.psm1
- Add more logging in Resolve-Xaml for troubleshooting
- Always use msbuild from the Microsoft.NET v4.0.30319
- Rename Resolve-Xaml into Start-XamlGen for consistency with Start-TypeGen and Start-ResGen
- Disable pwrshplugin build temporarely
- Add activities as a dependency to ConsoleHost
- This creates a minor ambiguity in the type resolution in ConsoleHost.
We are specifying a namespace name to workaround it.