-
Notifications
You must be signed in to change notification settings - Fork 45
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update projects to .NET sdk, support
netstandard2.0
, drop tfms, etc (…
…#38) create a modern package, use .net sdk, cleanup infra, add ci. ## Supported frameworks add support for `netstandard2.0` drop support for discontinued `net40-client` target framework. it's not used anymore in .NET >= 4.5 ref https://docs.microsoft.com/en-us/dotnet/framework/deployment/client-profile drop support for `netstandard1.6`, it's useful only in .NET Core v1. replaced by `netstandard2.0` drop support for `.NETPortable`( `portable-net45+win8+wp8+wpa81` ) target framework. the PCL profiles are replaced by .NET Standard. - the compiler defines `PCL` is not used anymore. The code is not yet removed because it's a big change, but because the compiler define is not set, the code is unused ## Dependencies pin `FSharp.Core` to be >= v4.3.4 for all target framework to simplify deps ## Projects add `global.json` to pin .net core sdk version to make build deterministic upgrade form FSharp.NET.Sdk style (deprecated in .NET Core Sdk 1.0) to .NET Sdk fsproj cleanup shared props and fsproj, using conventions of .NET Sdk: - refactor common properties in an automatically imported `Directory.Build.props` - move props near usage in projects - remove now useless FParsec.Samples.Common.targets - upgrade tests from netcoreapp2.0 to netcoreapp2.1 remove old VS11 projects, new projects works in VS ## Build script update `pack.ps1` powershell script, to use `dotnet` commands instead of msbuild/nuget nupkgs are generated in `~/bin/nupkg` ## CI Add appveyor: - run `pack.ps1` - version suffix autogenerated by buildId/branch/PR. no suffix if is a tag (so just tag to generate a stable version) - generated nupkgs are in the artifacts tab of appveyor, ready to download Add travis: - osx/ubuntu - run `dotnet build` on both `Release` and `Release-LowTrust` configurations - run tests only if `netcoreapp`. It can run also `net45` test using mono but i am too lazy to write the if in the travis script (but the matrix is there) ## Issues fix #34 (support `netstandard` and `net` tfms) fix #21 (just run `dotnet` commands, but replacing the powershell is easy too)
- Loading branch information
1 parent
9e4763e
commit 61894fe
Showing
38 changed files
with
539 additions
and
1,438 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -11,4 +11,5 @@ obj/ | |
*.swp | ||
*.pdb | ||
packages/ | ||
version.props | ||
version.props | ||
/.vs/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
language: csharp | ||
|
||
mono: 5.18.0 | ||
dotnet: 2.1.500 | ||
|
||
install: | ||
# workaround for missing .net 4.5 targing pack | ||
- export FrameworkPathOverride=$(dirname $(which mono))/../lib/mono/4.5/ | ||
|
||
script: | ||
- dotnet build FParsec.sln -c $CONFIGURATION -v n | ||
- | | ||
if [ "$RUN_TESTS" == "1" ]; then | ||
dotnet run --no-build -p Test -c $CONFIGURATION -f $TFM | ||
fi | ||
env: | ||
- CONFIGURATION=Release | ||
TFM=net45 | ||
- CONFIGURATION=Release-LowTrust | ||
TFM=net45 | ||
- CONFIGURATION=Release-LowTrust | ||
TFM=netcoreapp2.1 | ||
RUN_TESTS=1 | ||
|
||
matrix: | ||
include: | ||
- os: linux | ||
dist: trusty | ||
sudo: required | ||
- os: osx | ||
osx_image: xcode9 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,53 +1,67 @@ | ||
{ | ||
// See https://go.microsoft.com/fwlink/?LinkId=733558 | ||
// for the documentation about the tasks.json format | ||
"version": "0.1.0", | ||
"command": "dotnet", | ||
"isShellCommand": true, | ||
"args": [], | ||
"version": "2.0.0", | ||
"tasks": [ | ||
{ | ||
"taskName": "Restore (Config: Debug-LowTrust)", | ||
"suppressTaskName": true, | ||
"args": ["restore", "/p:Configuration=Debug-LowTrust"], | ||
"showOutput": "always", | ||
"label": "Restore (Config: Debug-LowTrust)", | ||
"command": "dotnet restore /p:Configuration=Debug-LowTrust", | ||
"type": "shell", | ||
"group": "build", | ||
"presentation": { | ||
"reveal": "always" | ||
}, | ||
"problemMatcher": "$msCompile" | ||
}, | ||
{ | ||
"taskName": "Build .NET Core Test (Config: Debug-LowTrust)", | ||
"suppressTaskName": true, | ||
"args": ["build", "Test", "-c", "Debug-LowTrust", "-f", "netcoreapp2.0"], | ||
"isBuildCommand": true, | ||
"showOutput": "silent", | ||
"label": "Build .NET Core Test (Config: Debug-LowTrust)", | ||
"command": "dotnet build Test -c Debug-LowTrust -f netcoreapp2.1", | ||
"type": "shell", | ||
"group": "build", | ||
"presentation": { | ||
"reveal": "silent" | ||
}, | ||
"problemMatcher": "$msCompile" | ||
}, | ||
{ | ||
"taskName": "Build .NET 4.5 Test (Config: Debug-LowTrust)", | ||
"suppressTaskName": true, | ||
"args": ["build", "Test", "-c", "Debug-LowTrust", "-f", "net45"], | ||
"showOutput": "silent", | ||
"label": "Build .NET 4.5 Test (Config: Debug-LowTrust)", | ||
"command": "dotnet build Test -c Debug-LowTrust -f net45", | ||
"type": "shell", | ||
"group": "build", | ||
"presentation": { | ||
"reveal": "silent" | ||
}, | ||
"problemMatcher": "$msCompile" | ||
}, | ||
{ | ||
"taskName": "Build All (Config: Debug-LowTrust)", | ||
"suppressTaskName": true, | ||
"args": ["build", "-c", "Debug-LowTrust"], | ||
"showOutput": "silent", | ||
"label": "Build All (Config: Debug-LowTrust)", | ||
"command": "dotnet build -c Debug-LowTrust", | ||
"type": "shell", | ||
"group": "build", | ||
"presentation": { | ||
"reveal": "silent" | ||
}, | ||
"problemMatcher": "$msCompile" | ||
}, | ||
{ | ||
"taskName": "Test .NET Core (Config: Debug-LowTrust)", | ||
"suppressTaskName": true, | ||
"args": [ "Test/bin/Debug-LowTrust/netcoreapp2.0/Test.dll" ], | ||
"isTestCommand": true, | ||
"showOutput": "always" | ||
"label": "Test .NET Core (Config: Debug-LowTrust)", | ||
"command": "dotnet Test/bin/Debug-LowTrust/netcoreapp2.1/Test.dll", | ||
"type": "shell", | ||
"group": "test", | ||
"presentation": { | ||
"reveal": "always" | ||
}, | ||
"problemMatcher": "$msCompile" | ||
}, | ||
|
||
{ | ||
"taskName": "Test .NET 4.5 (Config: Debug-LowTrust)", | ||
"suppressTaskName": true, | ||
"label": "Test .NET 4.5 (Config: Debug-LowTrust)", | ||
"command": "Test/bin/Debug-LowTrust/net45/Test.exe", | ||
"showOutput": "always" | ||
"type": "shell", | ||
"group": "test", | ||
"presentation": { | ||
"reveal": "always" | ||
}, | ||
"problemMatcher": "$msCompile" | ||
} | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.