Skip to content

Commit

Permalink
Rebase onto .NET Core 1.1 (PowerShell#2737)
Browse files Browse the repository at this point in the history
* Rebase onto .NET Core 1.1

Modify `Build.psm1` and `project.json` files to use .NET Core 1.1.

.NET Core 1.1 ships with an older dotnet/cli than has currently been used,
so we revert to use case-sensitive directory names for dependencies.

.NET Core 1.1 is a pre-requisite for supporting Fedora 24.

* PSReadLine: Bump major version of PSReadline to 6.0.0-*

* Microsoft.PowerShell.Commands.Utility: Bump major version of Microsoft.CodeAnalysis.Csharp

* Microsoft.PowerShell.SDK: Revert attempt to import netcoreapp1.1 instead of dnxcore

* build.psm1: Restore ability to specify version of dotnet-install.sh
  • Loading branch information
randomvariable authored and daxian-dbw committed Dec 8, 2016
1 parent e568fda commit 32a8601
Show file tree
Hide file tree
Showing 24 changed files with 170 additions and 172 deletions.
20 changes: 9 additions & 11 deletions build.psm1
Original file line number Diff line number Diff line change
Expand Up @@ -401,7 +401,7 @@ cmd.exe /C cd /d "$location" "&" "$($vcVarsPath)\vcvarsall.bat" "$NativeHostArch
if($PSModuleRestore)
{
# Downloading the PowerShellGet and PackageManagement modules.
# $Options.Output is pointing to something like "...\src\powershell-win-core\bin\Debug\netcoreapp1.0\win10-x64\publish\powershell.exe",
# $Options.Output is pointing to something like "...\src\powershell-win-core\bin\Debug\netcoreapp1.1\win10-x64\publish\powershell.exe",
# so we need to get its parent directory
$publishPath = Split-Path $Options.Output -Parent
log "Restore PowerShell modules to $publishPath"
Expand Down Expand Up @@ -429,7 +429,7 @@ function New-PSOptions {
[ValidateSet("Linux", "Debug", "Release", "CodeCoverage", "")]
[string]$Configuration,

[ValidateSet("netcoreapp1.0", "net451")]
[ValidateSet("netcoreapp1.1", "net451")]
[string]$Framework,

# These are duplicated from Start-PSBuild
Expand Down Expand Up @@ -506,7 +506,7 @@ function New-PSOptions {
$Framework = if ($FullCLR) {
"net451"
} else {
"netcoreapp1.0"
"netcoreapp1.1"
}
Write-Verbose "Using framework '$Framework'"
}
Expand Down Expand Up @@ -893,7 +893,7 @@ function Start-PSxUnit {
function Install-Dotnet {
[CmdletBinding()]
param(
[string]$Channel = "rel-1.0.0",
[string]$Channel = "preview",
[string]$Version,
[switch]$NoSudo
)
Expand All @@ -902,9 +902,7 @@ function Install-Dotnet {
# Note that when it is null, Invoke-Expression (but not &) must be used to interpolate properly
$sudo = if (!$NoSudo) { "sudo" }

# this url is temporarely alternated because of https://github.com/dotnet/cli/issues/4715
# it should be reverted back to "https://raw.githubusercontent.com/dotnet/cli/rel/1.0.0/scripts/obtain" ASAP
$obtainUrl = "https://raw.githubusercontent.com/dotnet/cli/9855dc0088cf7e56e24860c734f33fe8353f38a6/scripts/obtain"
$obtainUrl = "https://raw.githubusercontent.com/dotnet/cli/v1.0.0-preview2-1-3177/scripts/obtain"

# Install for Linux and OS X
if ($IsLinux -or $IsOSX) {
Expand All @@ -924,7 +922,7 @@ function Install-Dotnet {
Write-Warning "This script only removes prior versions of dotnet for Ubuntu 14.04 and OS X"
}

# Install new dotnet 1.0.0 preview packages
# Install new dotnet 1.1.0 preview packages
$installScript = "dotnet-install.sh"
Start-NativeExecution {
curl -sO $obtainUrl/$installScript
Expand Down Expand Up @@ -952,11 +950,11 @@ function Start-PSBootstrap {
SupportsShouldProcess=$true,
ConfirmImpact="High")]
param(
[string]$Channel = "rel-1.0.0",
[string]$Channel = "preview",
# we currently pin dotnet-cli version, because tool
# is currently migrating to msbuild toolchain
# and requires constant updates to our build process.
[string]$Version = "1.0.0-preview3-003930",
[string]$Version = "1.0.0-preview2-1-003177",
[switch]$Package,
[switch]$NoSudo,
[switch]$Force
Expand Down Expand Up @@ -1152,7 +1150,7 @@ function Start-PSPackage {
-not $Script:Options.CrossGen -or ## Last build didn't specify -CrossGen
$Script:Options.Runtime -ne $Runtime -or ## Last build wasn't for the required RID
$Script:Options.Configuration -ne $Configuration -or ## Last build was with configuration other than 'Release'
$Script:Options.Framework -ne "netcoreapp1.0") ## Last build wasn't for CoreCLR
$Script:Options.Framework -ne "netcoreapp1.1") ## Last build wasn't for CoreCLR
{
# It's possible that the most recent build doesn't satisfy the package requirement but
# an earlier build does. e.g., run the following in order on win10-x64:
Expand Down
2 changes: 1 addition & 1 deletion docs/building/linux.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ Start-PSBuild
Congratulations! If everything went right, PowerShell is now built.
The `Start-PSBuild` script will output the location of the executable:

`./src/powershell-unix/bin/Linux/netcoreapp1.0/ubuntu.14.04-x64/powershell`.
`./src/powershell-unix/bin/Linux/netcoreapp1.1/ubuntu.14.04-x64/powershell`.

You should now be running the `powershell` that you just built, if your run the above executable.
You can run our cross-platform Pester tests with `Start-PSPester`, and our xUnit tests with `Start-PSxUnit`.
Expand Down
2 changes: 1 addition & 1 deletion docs/building/macos.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,6 @@ download the `pkg` from our GitHub releases page using your browser, complete th
start a `powershell` session, and use `Start-PSBuild` from the module.

The output directory will be slightly different because your runtime identifier is different.
PowerShell will be at `./src/powershell-unix/bin/Linux/netcoreapp1.0/osx.10.11-x64/powershell`,
PowerShell will be at `./src/powershell-unix/bin/Linux/netcoreapp1.1/osx.10.11-x64/powershell`,
or `osx.10.10` depending on your operating system version.
Note that configuration is still `Linux` because it would be silly to make yet another separate configuration when it's used solely to work-around a CLI issue.
2 changes: 1 addition & 1 deletion docs/building/windows-core.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ Congratulations! If everything went right, PowerShell is now built and executabl

This location is of the form `./[project]/bin/[configuration]/[framework]/[rid]/[binary name]`,
and our project is `powershell`, configuration is `Debug` by default,
framework is `netcoreapp1.0`, runtime identifier is **probably** `win10-x64`
framework is `netcoreapp1.1`, runtime identifier is **probably** `win10-x64`
(but will depend on your operating system;
don't worry, `dotnet --info` will tell you what it was), and binary name is `powershell`.
The function `Get-PSOutput` will return the path to the executable;
Expand Down
2 changes: 1 addition & 1 deletion docs/cmdlet-example/project.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
"netstandard1.3": {
"imports": [ "net40" ],
"dependencies": {
"Microsoft.NETCore": "5.0.3-preview1-001100-00",
"Microsoft.NETCore": "5.0.3-rc2-0-0",
"Microsoft.NETCore.Portable.Compatibility": "1.0.3-beta-24514-00"
}
}
Expand Down
6 changes: 3 additions & 3 deletions src/Microsoft.PowerShell.Commands.Management/project.json
Original file line number Diff line number Diff line change
Expand Up @@ -93,9 +93,9 @@
}
},
"dependencies": {
"System.ServiceProcess.ServiceController": "4.3.0-preview1-24530-04",
"System.Net.NameResolution": "4.3.0-preview1-24530-04",
"System.Net.Ping": "4.3.0-preview1-24530-04"
"System.ServiceProcess.ServiceController": "4.3.0",
"System.Net.NameResolution": "4.3.0",
"System.Net.Ping": "4.3.0"
}
},
"net451": {
Expand Down
4 changes: 2 additions & 2 deletions src/Microsoft.PowerShell.Commands.Utility/project.json
Original file line number Diff line number Diff line change
Expand Up @@ -105,8 +105,8 @@
},
"imports": [ "dnxcore50", "portable-net45+win8" ],
"dependencies": {
"Microsoft.CodeAnalysis.CSharp": "1.3.1-beta1-20160616-03",
"System.Diagnostics.TextWriterTraceListener": "4.3.0-preview1-24530-04"
"Microsoft.CodeAnalysis.CSharp": "2.0.0-rc",
"System.Diagnostics.TextWriterTraceListener": "4.3.0"
}
},
"net451": {
Expand Down
4 changes: 2 additions & 2 deletions src/Microsoft.PowerShell.ConsoleHost/project.json
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,8 @@
}
},
"dependencies": {
"System.Xml.XDocument": "4.3.0-preview1-24530-04",
"System.IO.MemoryMappedFiles": "4.3.0-preview1-24530-04"
"System.Xml.XDocument": "4.3.0",
"System.IO.MemoryMappedFiles": "4.3.0"
}
},
"net451": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,11 @@
"define": [ "CORECLR" ]
},
"dependencies": {
"NETStandard.Library": "1.6.1-preview1-24530-04",
"System.Runtime.Loader": "4.3.0-preview1-24530-04",
"System.Reflection.Metadata": "1.4.1-preview1-24530-04",
"System.Reflection.TypeExtensions": "4.3.0-preview1-24530-04",
"System.Security.Cryptography.Algorithms": "4.3.0-preview1-24530-04"
"NETStandard.Library": "1.6.1",
"System.Runtime.Loader": "4.3.0",
"System.Reflection.Metadata": "1.4.1",
"System.Reflection.TypeExtensions": "4.3.0",
"System.Security.Cryptography.Algorithms": "4.3.0"
}
}
}
Expand Down
10 changes: 5 additions & 5 deletions src/Microsoft.PowerShell.CoreCLR.Eventing/project.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,11 +43,11 @@
"define": [ "CORECLR" ]
},
"dependencies": {
"NETStandard.Library": "1.6.1-preview1-24530-04",
"System.Security.Principal": "4.3.0-preview1-24530-04",
"System.Security.Principal.Windows": "4.3.0-preview1-24530-04",
"System.Diagnostics.TraceSource": "4.3.0-preview1-24530-04",
"System.Security.SecureString": "4.3.0-preview1-24530-04"
"NETStandard.Library": "1.6.1",
"System.Security.Principal": "4.3.0",
"System.Security.Principal.Windows": "4.3.0",
"System.Diagnostics.TraceSource": "4.3.0",
"System.Security.SecureString": "4.3.0"
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion src/Microsoft.PowerShell.LocalAccounts/project.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@
"define": [ "CORECLR" ]
},
"dependencies": {
"System.Net.NameResolution": "4.3.0-preview1-24530-04"
"System.Net.NameResolution": "4.3.0"
}
},
"net451": {
Expand Down
Loading

0 comments on commit 32a8601

Please sign in to comment.