diff --git a/README.md b/README.md index 2e6cd8a34..cea789ac0 100644 --- a/README.md +++ b/README.md @@ -75,7 +75,7 @@ Our convention is to create feature branches `dev/feature` off our integration b ## Setup build environment -We use the [.NET Command Line Interface][dotnet-cli] (`dotnet-cli`) to build the managed components, and [CMake][] to build the native components. Install `dotnet-cli` by following their documentation. Then install the following dependencies (assuming Ubuntu 14.04): +We use the [.NET Command Line Interface][dotnet-cli] (`dotnet-cli`) to build the managed components, and [CMake][] to build the native components. Install `dotnet-cli` by following their documentation (make sure to install the `dotnet-dev` package to get the latest version). Then install the following dependencies (assuming Ubuntu 14.04): ```sh sudo apt-get install g++ cmake make libboost-filesystem-dev lldb-3.6 strace @@ -94,7 +94,11 @@ sudo apt-get install libpam0g-dev libssl-dev libcurl4-openssl-dev ## Building -The following steps are done by `./build.sh`. Note that `dotnet restore` must be done at least once from the top directory to obtain all the necessary .NET packages. The variable `$BIN` is the output directory, `bin`. +The command `dotnet restore` must be done at least once from the top directory to obtain all the necessary .NET packages; unfortunately, we also have to temporarily patch `System.Console.dll` until the API is officially updated, so run `./patch.sh`. + +Build with `./build.sh`, which does the following steps. + +> The variable `$BIN` is the output directory, `bin`. ### Native @@ -170,10 +174,6 @@ make clean && make -j && make reg Sadly, `dotnet-test` is not fully supported on Linux, so our xUnit tests do not currently run. We may be able to work around this, or get the `dotnet-cli` team to fix their xUnit runner. GitHub [issue](https://github.com/dotnet/cli/issues/407). -### Pester - -While Pester gets deployed and can be invoked, it has an issue asking for confirmation to do anything, and refuses to execute multiple `It` blocks. Need to work with upstream PowerShell teams to solve this. - ### Remoting Connecting to PowerShell on Linux gets quite far, but bails out to due `Cannot convert the "System.Management.Automation.Host.Size" value of type "System.String" to type "System.Type".` diff --git a/patch.sh b/patch.sh new file mode 100755 index 000000000..4d946f375 --- /dev/null +++ b/patch.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +dotnet restore +echo Patching System.Console.dll +curl -fLo \ + ~/.dnx/packages/System.Console/4.0.0-rc2-23616/ref/dotnet5.4/System.Console.dll \ + 'https://github.com/andschwa/corefx/raw/cc1ad3b33318c44d6c615d449b2db7b1715e8e60/System.Console.dll'