-
Notifications
You must be signed in to change notification settings - Fork 45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cross-platform build, maybe with Paket+FAKE? #21
Comments
You can probably use this to build on linux, just remember not to commit the project files 😜 |
@rmunn You should be able to build FParsec with Mono using the VS11 solution files. At least that used to work. @cloudRoutine Thank you for helping out with a Paket build! Unfortunately, I won't have time for anything FParsec related other than critical bug fixes for a few weeks. In any case, I'd rather make the existing build work on Linux than introduce another build script and dependency. |
…#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)
Since I have some free time right now, I've been trying to test out the
digit-separator
branch as requested in #2 (comment), but I only have a Linux development machine, so PowerShell build scripts aren't all that easy for me to use. Result: the Windows-only build process for FParsec is currently blocking me from making any progress on helping with #2.Would you be interested in a cross-platform build process, using Paket and FAKE instead of NuGet and PowerShell? I can't guarantee that I'd have time to work on it anytime soon, but I would be willing to put in the work if you'd find it useful — and if I can find the time (always the biggest limiting factor for me). I just don't want to invest the time in making a cross-platform build process if you wouldn't find that useful.
The text was updated successfully, but these errors were encountered: