diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..603ad01 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,6 @@ +**/obj/ +**/bin/ +packages/ +paket-files +.git +.paket/*.exe diff --git a/.travis.yml b/.travis.yml index 9085b60..be8eb26 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,4 @@ language: csharp -# mono: none matrix: allow_failures: @@ -12,6 +11,15 @@ matrix: sudo: required dotnet: 2.1.104 + - os: linux + services: + - docker + before_script: + - ./docko build + + script: + - ./docko run --rm cec bash -c "./run test" + # https://docs.travis-ci.com/user/reference/osx/#OS-X-Version - os: osx # OSX 10.13 osx_image: xcode9.3 @@ -22,5 +30,5 @@ before_script: - bash -c "./run init" script: - - bash -c "./run test:restore" + - bash -c "./run restore" - bash -c "./run test" diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..6bdb5c0 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,42 @@ +# TODO: publish this dev image +FROM microsoft/dotnet:2.0.7-sdk-2.1.105 AS dev-env +WORKDIR /app + +RUN echo \ + && apt update \ + && apt install -y apt-transport-https + +# MONO + +# https://unix.stackexchange.com/a/253476/45041 +RUN echo \ + && export CODENAME="$(dpkg --status tzdata|grep Provides|cut -f2 -d'-')" \ + && apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF \ + && echo "deb https://download.mono-project.com/repo/ubuntu stable-$CODENAME main" | tee /etc/apt/sources.list.d/mono-official-stable.list \ + && apt update \ + && apt install -y mono-complete + +# PAKET + +ENV PAKET_VERSION 5.156.0 +ENV PAKET "mono /app/.paket/paket.exe" + +COPY . ./ +RUN echo \ + && cd /app/.paket \ + && wget https://github.com/fsprojects/Paket/releases/download/$PAKET_VERSION/paket.bootstrapper.exe \ + && chmod +x ./paket.bootstrapper.exe \ + && mono ./paket.bootstrapper.exe \ + && chmod +x ./paket.exe \ + && ${PAKET} restore + + +FROM microsoft/dotnet:2.0.7-sdk-2.1.105 AS build-env +# TODO.. + + +# Build runtime image +FROM microsoft/aspnetcore:2.0 AS release +WORKDIR /app +COPY --from=build-env /app/out . +ENTRYPOINT ["dotnet", "aspnetapp.dll"] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..42bf79b --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.4' +services: + cec: + build: + context: . + dockerfile: Dockerfile + target: dev-env + volumes: + - .:/app diff --git a/docko b/docko new file mode 100755 index 0000000..feb92b0 --- /dev/null +++ b/docko @@ -0,0 +1,40 @@ +#!/bin/bash +# Thanks, mac OS -.- +PAKET="./.paket/paket.exe" +FAKE="packages/build/FAKE/tools/FAKE.exe" + +EXAMPLES_PROJ="examples/Examples.fsproj" +TEST_PROJ="tests/Test.CryptoExchangeClient/Test.CryptoExchangeClient.fsproj" +SRC_PROJ="src/CryptoExchangeClient.fsproj" + +COMPOSE="docker-compose -f docker-compose.yml --project-directory . -p crypto-exchange-client" + +function __run { + + # First arg + given_command=$1 + # The rest of the args + arguments=${@:2} + + # For Sub-command redirection + sub_command=$2 + sub_arguments=${@:3} + + + # For debugging + # echo "cmd: $given_command" + # echo "args: $arguments" + + case $given_command in + bash) ${COMPOSE} run --rm cec bash;; + + *) + echo "forwarding to docker-compose" + ${COMPOSE} $@ + esac +} + +# Also allow non-sourced running +if [ $1 ]; then + __run $* +fi diff --git a/global.json b/global.json.bak similarity index 100% rename from global.json rename to global.json.bak diff --git a/paket.dependencies b/paket.dependencies index 72027ad..0fe299b 100644 --- a/paket.dependencies +++ b/paket.dependencies @@ -1,18 +1,18 @@ source https://www.nuget.org/api/v2 -nuget Chessie 0.6.0 -nuget Colorful.Console 1.2.6 -nuget CryptoExchangeClient 0.4.0 +nuget Chessie ~> 0.6 +nuget Colorful.Console ~> 1.2 +nuget CryptoExchangeClient ~> 0.3 nuget Expecto -nuget FSharp.Core 4.3.4 -nuget FSharp.Data 3.0.0-beta3 beta -nuget FSharp.Json 0.3.3 +nuget FSharp.Core ~> 4.3 +nuget FSharp.Data ~> 3.0.0-beta3 beta +nuget FSharp.Json ~> 0.3 clitool Microsoft.DotNet.Watcher.Tools -nuget Microsoft.NET.Test.Sdk 15.3.0-preview-20170628-02 preview -nuget Paket 5.156.0 -nuget Rationals 1.3.1 -nuget RestSharp 106.3.0-alpha0018 alpha -nuget SocketLite.PCL 4.2.1 -nuget WebsocketClientLite.PCL 4.2.5 -nuget xunit 2.2.0 -nuget xunit.runner.visualstudio 2.2.0 +nuget Microsoft.NET.Test.Sdk ~> 15.3.0-preview-20170628-02 preview +nuget Paket ~> 5.156 +nuget Rationals ~> 1.3 +nuget RestSharp ~> 106.3.0-alpha0018 alpha +nuget SocketLite.PCL ~> 4.2 +nuget WebsocketClientLite.PCL ~> 4.2 +nuget xunit ~> 2.2 +nuget xunit.runner.visualstudio ~> 2.2 nuget YoloDev.Expecto.TestSdk diff --git a/paket.lock b/paket.lock index 5f6b9f5..fbb3212 100644 --- a/paket.lock +++ b/paket.lock @@ -152,20 +152,20 @@ NUGET System.Threading.Timer (>= 4.0.1) System.Xml.ReaderWriter (>= 4.0.11) System.Xml.XDocument (>= 4.0.11) - Microsoft.NETCore.App (2.0.6) - restriction: >= netcoreapp2.0 - Microsoft.NETCore.DotNetHostPolicy (>= 2.0.6) - restriction: >= netcoreapp2.0 - Microsoft.NETCore.Platforms (>= 2.0.1) - restriction: >= netcoreapp2.0 + Microsoft.NETCore.App (2.0.7) - restriction: >= netcoreapp2.0 + Microsoft.NETCore.DotNetHostPolicy (>= 2.0.7) - restriction: >= netcoreapp2.0 + Microsoft.NETCore.Platforms (>= 2.0.2) - restriction: >= netcoreapp2.0 NETStandard.Library (>= 2.0.1) - restriction: >= netcoreapp2.0 - Microsoft.NETCore.DotNetAppHost (2.0.6) - restriction: >= netcoreapp2.0 - Microsoft.NETCore.DotNetHostPolicy (2.0.6) - restriction: >= netcoreapp2.0 - Microsoft.NETCore.DotNetHostResolver (>= 2.0.6) - Microsoft.NETCore.DotNetHostResolver (2.0.6) - restriction: >= netcoreapp2.0 - Microsoft.NETCore.DotNetAppHost (>= 2.0.6) - Microsoft.NETCore.Jit (2.0.6) - restriction: && (>= uap10.0) (< uap10.1) - Microsoft.NETCore.Platforms (2.0.1) - restriction: || (>= monoandroid) (>= xamarinios) + Microsoft.NETCore.DotNetAppHost (2.0.7) - restriction: >= netcoreapp2.0 + Microsoft.NETCore.DotNetHostPolicy (2.0.7) - restriction: >= netcoreapp2.0 + Microsoft.NETCore.DotNetHostResolver (>= 2.0.7) + Microsoft.NETCore.DotNetHostResolver (2.0.7) - restriction: >= netcoreapp2.0 + Microsoft.NETCore.DotNetAppHost (>= 2.0.7) + Microsoft.NETCore.Jit (2.0.7) - restriction: && (>= uap10.0) (< uap10.1) + Microsoft.NETCore.Platforms (2.0.2) - restriction: || (>= monoandroid) (>= xamarinios) Microsoft.NETCore.Portable.Compatibility (1.0.2) - restriction: && (>= uap10.0) (< uap10.1) - Microsoft.NETCore.Runtime.CoreCLR (2.0.6) - restriction: && (>= uap10.0) (< uap10.1) - Microsoft.NETCore.Jit (>= 2.0.6) + Microsoft.NETCore.Runtime.CoreCLR (2.0.7) - restriction: && (>= uap10.0) (< uap10.1) + Microsoft.NETCore.Jit (>= 2.0.7) Microsoft.NETCore.Targets (2.0) - restriction: && (< net40) (>= netstandard2.0) Microsoft.NETCore.UniversalWindowsPlatform (6.0.8) - restriction: >= uap10.0 Microsoft.Net.Native.Compiler (>= 1.7.3) - restriction: < uap10.1 @@ -421,9 +421,9 @@ NUGET System.Threading (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.5) (< win8) (< wp8) (< wpa81)) System.Configuration.ConfigurationManager (4.4.1) - restriction: && (< net45) (>= netstandard2.0) System.Security.Cryptography.ProtectedData (>= 4.4) - restriction: || (&& (< net461) (>= netstandard2.0)) (>= netcoreapp2.0) - System.Console (4.3) - restriction: && (< net40) (>= netstandard2.0) + System.Console (4.3.1) - restriction: && (< net40) (>= netstandard2.0) Microsoft.NETCore.Platforms (>= 1.1) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - Microsoft.NETCore.Targets (>= 1.1) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) + Microsoft.NETCore.Targets (>= 1.1.2) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.IO (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.Runtime (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.Text.Encoding (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) @@ -766,7 +766,7 @@ NUGET System.Resources.ResourceManager (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (< portable-net45+win8+wp8+wpa81) System.Threading (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8+wpa81) - System.Private.ServiceModel (4.4.1) - restriction: || (&& (>= netcoreapp2.0) (>= uap10.0)) (&& (>= netstandard2.0) (>= uap10.0)) (&& (< netstandard2.0) (>= uap10.0) (< uap10.1)) (&& (< portable-net45+win8+wp8) (>= uap10.0)) + System.Private.ServiceModel (4.4.2) - restriction: || (&& (>= netcoreapp2.0) (>= uap10.0)) (&& (>= netstandard2.0) (>= uap10.0)) (&& (< netstandard2.0) (>= uap10.0) (< uap10.1)) (&& (< portable-net45+win8+wp8) (>= uap10.0)) Microsoft.NETCore.Platforms (>= 2.0) NETStandard.Library (>= 1.6.1) - restriction: || (&& (>= netstandard1.3) (< netstandard2.0)) (< netstandard1.3) System.Collections.NonGeneric (>= 4.3) - restriction: || (&& (>= netstandard1.3) (< netstandard2.0)) (< netstandard1.3) @@ -1029,31 +1029,36 @@ NUGET System.Security.Principal (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.Text.Encoding (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.Threading (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.ServiceModel.Duplex (4.4.1) - restriction: && (>= uap10.0) (< uap10.1) + System.ServiceModel.Duplex (4.4.2) - restriction: && (>= uap10.0) (< uap10.1) NETStandard.Library (>= 1.6.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8)) (< portable-net45+win8) - System.Private.ServiceModel (>= 4.4.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< net45) (>= netstandard2.0)) (>= netcoreapp2.0) (< portable-net45+win8) + System.Private.ServiceModel (>= 4.4.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8) + System.Private.ServiceModel (>= 4.4.2) - restriction: || (&& (< net45) (>= netstandard2.0)) (>= netcoreapp2.0) System.ServiceModel.Primitives (>= 4.4.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8)) (&& (< net45) (>= netstandard2.0)) (>= net461) (>= netcoreapp2.0) (< portable-net45+win8) - System.ServiceModel.Http (4.4.1) - restriction: && (>= uap10.0) (< uap10.1) + System.ServiceModel.Http (4.4.2) - restriction: && (>= uap10.0) (< uap10.1) NETStandard.Library (>= 1.6.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8)) (&& (>= netstandard1.0) (< portable-net45+win8) (< wp8)) (< portable-net45+win8+wp8) System.Net.WebHeaderCollection (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8) - System.Private.ServiceModel (>= 4.4.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< net45) (>= netstandard2.0)) (>= netcoreapp2.0) (< portable-net45+win8+wp8) + System.Private.ServiceModel (>= 4.4.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8) + System.Private.ServiceModel (>= 4.4.2) - restriction: || (&& (< net45) (>= netstandard2.0)) (>= netcoreapp2.0) System.Runtime.Serialization.Xml (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8)) (< portable-net45+win8+wp8) System.ServiceModel.Primitives (>= 4.4.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8)) (&& (< net45) (>= netstandard2.0)) (>= net461) (>= netcoreapp2.0) (&& (>= netstandard1.0) (< portable-net45+win8) (< wp8)) (< portable-net45+win8+wp8) - System.ServiceModel.NetTcp (4.4.1) - restriction: && (>= uap10.0) (< uap10.1) + System.ServiceModel.NetTcp (4.4.2) - restriction: && (>= uap10.0) (< uap10.1) NETStandard.Library (>= 1.6.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8)) (< portable-net45+win8) - System.Private.ServiceModel (>= 4.4.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< net45) (>= netstandard2.0)) (>= netcoreapp2.0) (< portable-net45+win8) + System.Private.ServiceModel (>= 4.4.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8) + System.Private.ServiceModel (>= 4.4.2) - restriction: || (&& (< net45) (>= netstandard2.0)) (>= netcoreapp2.0) System.Runtime.Serialization.Xml (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8)) (< portable-net45+win8) System.ServiceModel.Primitives (>= 4.4.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8)) (&& (< net45) (>= netstandard2.0)) (&& (>= net46) (< netstandard2.0)) (>= net461) (>= netcoreapp2.0) (< portable-net45+win8) - System.ServiceModel.Primitives (4.4.1) - restriction: || (&& (>= net461) (>= uap10.0)) (&& (>= netcoreapp2.0) (>= uap10.0)) (&& (< netstandard1.3) (>= uap10.0) (< win8)) (&& (>= netstandard2.0) (>= uap10.0)) (&& (< netstandard2.0) (>= uap10.0) (< uap10.1)) (&& (< portable-net45+win8) (>= uap10.0)) (&& (< portable-net45+win8+wp8) (>= uap10.0)) + System.ServiceModel.Primitives (4.4.2) - restriction: || (&& (>= net461) (>= uap10.0)) (&& (>= netcoreapp2.0) (>= uap10.0)) (&& (< netstandard1.3) (>= uap10.0) (< win8)) (&& (>= netstandard2.0) (>= uap10.0)) (&& (< netstandard2.0) (>= uap10.0) (< uap10.1)) (&& (< portable-net45+win8) (>= uap10.0)) (&& (< portable-net45+win8+wp8) (>= uap10.0)) NETStandard.Library (>= 1.6.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8)) (&& (>= net46) (< net461) (< netstandard2.0)) (&& (>= netstandard1.0) (< portable-net45+win8) (< wp8)) (< portable-net45+win8+wp8) System.ComponentModel.EventBasedAsync (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8)) (&& (>= netstandard1.0) (< portable-net45+win8) (< wp8)) (< portable-net45+win8+wp8) - System.Private.ServiceModel (>= 4.4.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< net45) (>= netstandard2.0)) (>= netcoreapp2.0) (< portable-net45+win8+wp8) + System.Private.ServiceModel (>= 4.4.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8) + System.Private.ServiceModel (>= 4.4.2) - restriction: || (&& (< net45) (>= netstandard2.0)) (>= netcoreapp2.0) System.Runtime.Serialization.Primitives (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8)) (&& (>= netstandard1.0) (< portable-net45+win8) (< wp8)) (< portable-net45+win8+wp8) System.Runtime.Serialization.Xml (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8)) (&& (>= netstandard1.0) (< portable-net45+win8) (< wp8)) (< portable-net45+win8+wp8) System.Security.Principal (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8)) (< portable-net45+win8+wp8) - System.ServiceModel.Security (4.4.1) - restriction: && (>= uap10.0) (< uap10.1) + System.ServiceModel.Security (4.4.2) - restriction: && (>= uap10.0) (< uap10.1) NETStandard.Library (>= 1.6.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8)) (&& (>= netstandard1.0) (< portable-net45+win8) (< wp8)) (< portable-net45+win8+wp8) - System.Private.ServiceModel (>= 4.4.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< net45) (>= netstandard2.0)) (>= netcoreapp2.0) (< portable-net45+win8+wp8) + System.Private.ServiceModel (>= 4.4.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (< portable-net45+win8+wp8) + System.Private.ServiceModel (>= 4.4.2) - restriction: || (&& (< net45) (>= netstandard2.0)) (>= netcoreapp2.0) System.Runtime.Serialization.Xml (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8)) (< portable-net45+win8+wp8) System.ServiceModel.Primitives (>= 4.4.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8)) (&& (< net45) (>= netstandard2.0)) (>= netcoreapp2.0) (&& (>= netstandard1.0) (< portable-net45+win8) (< wp8)) (< portable-net45+win8+wp8) System.Text.Encoding (4.3) - restriction: || (&& (< net45) (< netstandard1.2) (>= netstandard1.4) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netstandard1.4) (< portable-net45+win8+wpa81)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) diff --git a/run b/run index fce5fb9..fc39ad1 100755 --- a/run +++ b/run @@ -1,7 +1,17 @@ #!/bin/bash +function __exe_shim { + . /etc/os-release + os_name="$ID" + # MacOS, non-ubuntu debian-based OSes + if [ "$(uname)" == "Darwin" ]; then echo "mono "; fi + if [ "$os_name" == "debian" ]; then echo "mono "; fi -PAKET="./.paket/paket.exe" + # Ubuntu / Windows + echo "" +} + +PAKET="$(__exe_shim) ./.paket/paket.exe" FAKE="packages/build/FAKE/tools/FAKE.exe" EXAMPLES_PROJ="examples/Examples.fsproj" @@ -25,7 +35,7 @@ function __run { # echo "args: $arguments" case $given_command in - p) ${PAKET} $arguments;; + p) echo ": $PAKET :" && ${PAKET} $arguments;; dn) dotnet $arguments;; paket) ${PAKET} $arguments;; fake) ${FAKE} $arguments Fake.fsx;; @@ -44,6 +54,11 @@ function __run { dotnet build $arguments ;; + rebuild) + ( ./run clean:all ) && \ + ( ./run build ) + ;; + clean:all) echo "Cleaning..." # Don't name any folders bin or obj @@ -55,9 +70,13 @@ function __run { cd .paket \ rm paket.exe paket.bootstrapper* \ + local exeshim=__exe_shim + + echo "shim: $exeshim" + wget https://github.com/fsprojects/Paket/releases/download/5.156.0/paket.bootstrapper.exe \ && chmod +x paket.bootstrapper.exe \ - && ./paket.bootstrapper.exe \ + && ${exeshim} ./paket.bootstrapper.exe \ && chmod +x paket.exe ;; diff --git a/src/CryptoExchangeClient.fsproj b/src/CryptoExchangeClient.fsproj index 8aa5d88..e453e04 100644 --- a/src/CryptoExchangeClient.fsproj +++ b/src/CryptoExchangeClient.fsproj @@ -8,7 +8,7 @@ https://github.com/NullVoxPopuli/CryptoExchangeClient/blob/master/LICENSE Clients for multiple cryptocurrency exchanges. All clients have a shared interface for common actions. - cryptocurrency, blockchain, rest, websocket, api, client, crypto, bitcoin, exchange + cryptocurrency, blockchain, rest, websocket, api, client, crypto, bitcoin, exchange, ethereum true