Commit graph

1459 commits

Author SHA1 Message Date
Sergei Vorobev e7f07688ff Scope Microsoft.PowerShell.Security exported functions for unix 2016-07-28 12:33:25 -07:00
Sergei Vorobev 06252836ea Make 'cd' go to the HOME directory 2016-07-27 18:43:19 -07:00
Jason Shirk (POWERSHELL) 9a20bf6f97 Change $PSVersionTable.PSVersion to 6.0.0-alpha 2016-07-27 10:53:11 -07:00
Jason Shirk (POWERSHELL) be8e39782f Add SemanticVersion type 2016-07-27 10:53:11 -07:00
Sergei Vorobev 7d866679d0 Address some feedback
- Name fields more descriptive
- Use .AddRange instead of foreach
2016-07-26 17:45:49 -07:00
Sergei Vorobev 3fd885ef2d Add-Type: add mscorlib.dll to the list of default references
Fix #1361
On CoreCLR 1.0.0 RTM the layout changed compare to RC2.
This change accounts for it.
This change also cleans up some left-overs for SecureString ref.
2016-07-26 17:45:49 -07:00
Sergei Vorobev 4450005a52 Fix TypeGen with the new layout 2016-07-26 16:59:45 -07:00
Sergei Vorobev e97af44674 Rename src/powershell-windows to src/powershell-win-core
- Update build.psm1
- Update docs
2016-07-26 16:48:57 -07:00
Sergei Vorobev 6626720e44 Introduce Microsoft.PowerShell.SDK
- 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
2016-07-26 16:48:57 -07:00
Sergei Vorobev 52569380c7 Merge pull request #1519 from PowerShell/vors/json
Fix ConvertFrom-Json to handle mutlilines
2016-07-26 14:37:36 -07:00
Andrew Schwartzmeyer 41173a3b65 Rename IsCore to IsCoreCLR 2016-07-26 11:54:08 -07:00
Andrew Schwartzmeyer 9ba6ba359d Re-enable assembly name comparison 2016-07-26 11:54:08 -07:00
Andrew Schwartzmeyer b400ba3688 Use CORECLR to guard analysis progress record 2016-07-26 11:53:53 -07:00
Andrew Schwartzmeyer f0e64c2c6c Clean up ApplicationBase work-around 2016-07-26 11:49:54 -07:00
Andrew Schwartzmeyer d40131ae44 Clean up PSMODULEPATH Windows work-around 2016-07-26 11:49:54 -07:00
Andrew Schwartzmeyer cf8ddc10d6 Remove deprecated guard of resource verification 2016-07-26 11:49:54 -07:00
Sergei Vorobev 3240a2d369 Fix ConvertFrom-Json to handle mutlilines
Fix #956

Add Newtonsoft.Json.JsonSerializationException to catch block
that determines which mode to use: single-string or multi-string
2016-07-26 11:11:44 -07:00
Andrew Schwartzmeyer a1c7d127eb Add WSManPluginWrapper to AssemblyLoadContext
This function is required for PSRP on Linux, as we need to wrap the call
into WSManPluginManagedEntryWrapper.InitPlugin such that it is invoked
via reflection from an assembly loaded with our custom context.
2016-07-25 15:22:56 -07:00
Mike Richmond 0d49cb8aa5 Merge pull request #1490 from PowerShell/mirichmo/pwrshplugin-optimization-and-build-fix
Fixing bug in pwrshplugin config file reader and wrapping mc.exe call…
2016-07-25 09:00:32 -07:00
Andrew Schwartzmeyer bcfe498ef4 Guard ProgressPane for pseudo-TTYs
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.
2016-07-24 17:13:39 -07:00
Andrew Schwartzmeyer 79daea0132 Remove deprecated catch
These colors can be set now.
2016-07-24 16:20:46 -07:00
Francisco Gamino 3a898cb888 Addressing code review comments about the mshtml isolation work. 2016-07-24 16:20:46 -07:00
Francisco Gamino 46f8e0d60d Make Invoke-WebRequest cmdlet work on CoreCLR without mshtml 2016-07-24 16:20:46 -07:00
Francisco Gamino b7115879c3 Added new file structure for CoreCLR and FullCLR files. 2016-07-24 16:20:46 -07:00
Francisco Gamino 4c748211af Moved WebCmdlet files to subfile, and added new file structure for CoreCLR and FullCLR files. 2016-07-24 16:20:46 -07:00
Sergei Vorobev c76651e850 Update .gitignore files 2016-07-24 09:17:22 -07:00
Sergei Vorobev 7f274a356d Update building/internals.md docs 2016-07-22 16:11:38 -07:00
Sergei Vorobev 3674bacfa8 Copy pwrshplugin into the Full CLR version artifacts 2016-07-22 16:11:37 -07:00
Sergei Vorobev 875402ad53 Create separate Top-level directory per platform
- 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
2016-07-22 16:11:29 -07:00
Mike Richmond 156418ceab Fixing bug in pwrshplugin config file reader and wrapping mc.exe calls in vcvarsall.bat. 2016-07-22 15:04:46 -07:00
Andy Schwartzmeyer 5cec5f1b04 Merge pull request #1487 from PowerShell/andschwa/convert-utf
Convert UTF-16 files to UTF-8
2016-07-22 14:44:29 -07:00
PowerShell Team 165f2a86c3 Convert UTF-16 files to UTF-8 2016-07-22 13:54:34 -07:00
Sergei Vorobev f3408da9f0 Merge pull request #1485 from PowerShell/vors/execution-policy-tests
Scope ExecutionPolicy tests to current user to allow it run without admin escalation
2016-07-22 13:43:22 -07:00
Jason Shirk 1c3361bf20 Merge pull request #1483 from lzybkr/if_unix
Change preprocessor macro LINUX to UNIX
2016-07-22 13:14:28 -07:00
Sergei Vorobev f78c796175 Update src/powershell-native/.gitignore 2016-07-22 13:00:02 -07:00
Sergei Vorobev fb34100328 Merge pull request #1474 from PowerShell/vors/remove-cimcmdlets-binary
Remove *BinaryMiLog cmdlets
2016-07-22 11:39:33 -07:00
Jason Shirk (POWERSHELL) 673dd2c355 Change preprocessor macro LINUX to UNIX 2016-07-22 10:49:45 -07:00
Manikyam Bavandla 56196c4ad4 Updating an error message
Updating an error message
2016-07-21 20:01:03 -07:00
Manikyam Bavandla 8472f27532 Updating Test-RunningAsElevated to return true on *nix and OS X.
Permission models on *nix can be very complex, to the point that you
could never possibly guess without simply trying what you need to try;
This is totally different from Windows where you can know what you can
or cannot do with/without admin rights.
2016-07-21 19:35:11 -07:00
Sergei Vorobev cf821a17a1 Remove *BinaryMiLog cmdlets 2016-07-21 16:55:20 -07:00
Manikyam Bavandla MSFT 042d1e99bb Merge pull request #1458 from PowerShell/psedition_rename
Rename Desktop & Core PSEditions to WindowsPowerShell & PowerShellCore
2016-07-21 15:29:00 -07:00
Lee Holmes 105bf9c9ff Merge pull request #1452 from PowerShell/vors/remove-links
Remove unusable links from the source code
2016-07-21 13:12:28 -07:00
Andy Schwartzmeyer 6259c4a4c0 Merge pull request #1462 from PowerShell/johnkord-MMI_full_version
Setting MMI dependency in SMA to full version instead of wildcard
2016-07-21 12:16:01 -07:00
John Kordich 6ce8523ad9 Setting MMI dependency in SMA to full version instead of wildcard 2016-07-21 10:41:38 -07:00
Andrew Schwartzmeyer 8eda0df29e Remove CommandLineParameterBinderNativeMethods
This was dead code. PreParseCommandLine was called only when tracing was
enabled, which meant that the tracing itself was useless, as it was not
tracing what the actual code was doing.

I believe the intention of this tracing was to "guess" how the native
commands on Windows *might* parse their command-line arguments, but the
traced result was not guaranteed to be accurate. Since we cannot provide
accurate tracing, the tracer was removed in its entirety.

The PreParseCommandLine function was the only place where
CommandLineToArgv was called, so with it removed, the entire native
methods class here can be removed.
2016-07-21 10:39:16 -07:00
Andrew Schwartzmeyer c9c3e0b9be Remove managed CommandLineToArgv
It is entirely unused.
2016-07-21 10:39:16 -07:00
Manikyam Bavandla 3dcd621786 Merge branch 'master' into psedition_rename 2016-07-20 18:31:06 -07:00
Manikyam Bavandla 81e5a7e7aa Update PSEdition values to Rename Desktop & Core to WindowsPowerShell and PowerShellCore
$PSVersionTable.PSEdition currently supports Desktop and Core enums.
Because PowerShell is going to be Open and also available on Linux/Mac
from August, we decided to rename these values so as to make it clear to
the end user.
We decided to use the names WindowsPowerShell,PowerShellCore.
2016-07-20 18:30:21 -07:00
Sergei Vorobev 20c4172754 Remove unusable links from the source code 2016-07-20 16:55:00 -07:00
Alex Jordan 17b4bb354c Changing description of SetBufferContents function 2016-07-19 21:09:54 -07:00
Alex Jordan d9ac6d6401 Implementing Write-Progress using SetBufferContents 2016-07-19 21:07:06 -07:00
Mike Richmond f68ec925d0 Fixing comment support for the ConfigFileReader 2016-07-19 16:41:13 -07:00
Mike Richmond 4e7f582d43 Adding ConfigFileReader back into the plugin and fixing it to more efficiently parse the configuration file. 2016-07-19 16:41:13 -07:00
Mike Richmond d7618d731d Additional fixes in preparation for review and pull request 2016-07-19 16:41:13 -07:00
Mike Richmond 4e349ddc2c Resolved link issues to run pwrshplugin.dll on Nano Server and Windows 10 2016-07-19 16:41:13 -07:00
Mike Richmond c3bf2547e6 Backing up changes where the CoreCLR version runs on Nano Server. It still has the pwrshplugin!WSManPluginStartup call issue. 2016-07-19 16:41:13 -07:00
Mike Richmond 77a26b6b77 Additional code changes and link fixes 2016-07-19 16:41:13 -07:00
Mike Richmond 8948aa7efb Initial changes to split the CMake project into a hierarchical set of CMakeLists.txt files 2016-07-19 16:41:13 -07:00
Manikyam Bavandla MSFT a466d4b351 Merge pull request #1429 from PowerShell/psget
[PowerShellGet] Enabling Proxy support on Linux.
2016-07-19 12:08:42 -07:00
Manikyam Bavandla 7c32155421 Enable Check-PSGalleryApiAvailability on Linux
Updating Enable Check-PSGalleryApiAvailability on Linux to use
[System.Net.NetworkInformation.NetworkInterface]::GetIsNetworkAvailable()
2016-07-18 19:28:02 -07:00
Andrew Schwartzmeyer 0f04de1e96 Fix some documentation warnings
Mostly low-hanging fruit and Linux additions/changes.
2016-07-18 19:08:28 -07:00
Andrew Schwartzmeyer 790a07222e Disable some XML documentation warnings
Some projects have more warnings than I can fix.
2016-07-18 19:07:32 -07:00
Andrew Schwartzmeyer b6f26ad7cc Enable XML documentation generation
This is enabled for PowerShell projects, but not PackageManagment,
WSMan, Cim, or MMI.
2016-07-18 18:40:42 -07:00
Manikyam Bavandla 258fd792fc Enabling Proxy support on Linux
Enabling Proxy support on Linux
2016-07-18 18:23:22 -07:00
Quoc Truong 28dfca8638 Change variable name to make code more readable 2016-07-18 16:13:22 -07:00
Quoc Truong e3015e5acf Improve performance of installing packages with dependencies for nugetprovider and find-package 2016-07-18 14:14:59 -07:00
Jason Shirk 5a1432e234 Merge pull request #1388 from PowerShell/andschwa/default-editmode
Use Emacs as DefaultEditMode on Linux / OS X
2016-07-15 15:57:58 -07:00
Andrew Schwartzmeyer c6758603ae Set DefaultEditMode to Emacs on Linux / OS X 2016-07-15 13:40:16 -07:00
Andrew Schwartzmeyer b3ef98036d Set bindings based on options
This is instead of hard-coding a call to SetDefaultWindowsBindings().
2016-07-15 13:39:29 -07:00
Andrew Schwartzmeyer ab83e00475 Refactor switch into SetDefaultBindings(EditMode) 2016-07-15 13:38:55 -07:00
Sergei Vorobev 736eaade3c Add CimCmdlets module in the produced package of core modules 2016-07-15 13:25:38 -07:00
Andrew Schwartzmeyer ed39a00f29 Add GetLStat
faccessat() does not support AT_SYMLINK_NOFOLLOW on OS X, so instead,
we use the success of lstat() to determine if the file (not following
symbolic links) exists. Also allowed for some refactoring.
2016-07-14 19:45:14 -07:00
Andrew Schwartzmeyer 70aa6af960 Remove unnecessary indirection from Platform.Unix 2016-07-14 17:34:12 -07:00
Andrew Schwartzmeyer 74c3262f03 Fix failing New-Item tests
PowerShell expects the behavior of NativeItemExists to not follow
symbolic links.
2016-07-14 17:34:12 -07:00
Andrew Schwartzmeyer 35e24ce6d4 Clean up CreateSymLink() 2016-07-14 17:34:12 -07:00
Andrew Schwartzmeyer ad94ddb3f1 Guard IsWinPEHost 2016-07-14 17:34:12 -07:00
Andrew Schwartzmeyer 89508ae99d Revert IsWinPEHost changes 2016-07-14 17:34:12 -07:00
Andrew Schwartzmeyer a9484e45e9 Remove Platform.SupportsRemoveDrive query 2016-07-14 17:34:12 -07:00
Andrew Schwartzmeyer dbe16ca5d7 Remove Platform.SupportsReparsePoints query 2016-07-14 17:34:12 -07:00
Andrew Schwartzmeyer 465e55d32a Remove Platform.HasNetworkDriveSupport query 2016-07-14 17:34:12 -07:00
Andrew Schwartzmeyer 662e390902 Remove Platform.HasGroupPolicySupport query 2016-07-14 17:34:12 -07:00
Andrew Schwartzmeyer ab882cb04d Remove Platform.UseDotNetToQueryFileAttributes query 2016-07-14 17:34:12 -07:00
Andrew Schwartzmeyer 2249afcd0a Remove Platform.HasUNCSupport query 2016-07-14 17:34:12 -07:00
Andrew Schwartzmeyer 58fe228dc0 Remove Platform.HasFileShares query 2016-07-14 17:34:12 -07:00
Andrew Schwartzmeyer 527f30a013 Remove Platform.HasSingleRootFilesystem query 2016-07-14 17:34:12 -07:00
Andrew Schwartzmeyer e6c037c666 Remove Platform.HasExecutionPolicy query
Also change Get-ExecutionPolicy to not throw, but to return
Unrestricted (which is the effect of the actual policy).
2016-07-14 17:34:12 -07:00
Andrew Schwartzmeyer 73a1a51f69 Remove Platform.HasRegistry query 2016-07-14 17:34:12 -07:00
Andrew Schwartzmeyer c2cd059aa8 Remove Platform.HasDriveAutoMounting query 2016-07-14 17:34:12 -07:00
Andrew Schwartzmeyer c9a4197af1 Remove Platform.HasAmsi query 2016-07-14 17:34:12 -07:00
Andrew Schwartzmeyer 46cfa26812 Remove Platform.HasCom query 2016-07-14 17:34:12 -07:00
Andrew Schwartzmeyer 5ef851a170 Port NativeItemExists for Linux
Without using .NET
2016-07-14 17:34:12 -07:00
Andrew Schwartzmeyer e89fa7b1dc Clean up IsExecutable and IsSymLink 2016-07-14 17:34:12 -07:00
Andrew Schwartzmeyer 4e518fe1c7 Remove Platform class override of PlatformNotSupportedException
This was confusing and unused in most places, exception itself removed
in cleanup.
2016-07-14 17:34:12 -07:00
Andrew Schwartzmeyer 093587fecb Rename Native so it is Unix.NativeMethods
Like the rest of PowerShell.
2016-07-14 17:34:12 -07:00
Andrew Schwartzmeyer 6a23655b2f Rename LinuxPlatform to Unix
Since it supports both Linux and OS X. This follows the .NET Core
convention.
2016-07-14 17:34:12 -07:00
Andrew Schwartzmeyer 551e2e6fc4 Format CorePsPlatform 2016-07-14 17:34:12 -07:00
Andrew Schwartzmeyer 77a9b4b5d2 Remove unnecessary throws in CorePsPlatform 2016-07-14 17:34:12 -07:00
Andrew Schwartzmeyer 90a5382b30 Add bool IsFile(char*) to libpsl-native 2016-07-14 17:34:12 -07:00
Andrew Schwartzmeyer 3dacf45789 Revert NativeItemExists changes from baseline 2016-07-14 17:34:12 -07:00
Andrew Schwartzmeyer 955d5f8bcb Add bool IsDirectory(char*) to libpsl-native 2016-07-14 17:34:12 -07:00