From ab0d6b1aba9322ccab4d8b7ebdd0bbed4571c1a8 Mon Sep 17 00:00:00 2001 From: ovcharsa Date: Thu, 16 May 2019 16:20:12 +0300 Subject: [PATCH] Minor enchantments * Add nuspec * Add developers guide * Add ms visual studio solution * Migrate to nunit 3 * Bump target framevork to 4.5 --- .gitignore | 3 ++ CONTRIBUTION.md | 40 ++++++++++++++ Erlectric.nuspec | 26 +++++++++ Erlectric.sln | 31 +++++++++++ Makefile | 17 ++++-- TestResult.xml | 44 +++++++++++++++ lib/nunit.framework.dll | Bin 123904 -> 0 bytes nuget.config | 8 +++ src/Erlectric/Erlectric.csproj | 16 +++--- tests/Erlectric.Tests/Erlectric.Tests.csproj | 54 ++++++++++++++++++- tests/Erlectric.Tests/packages.config | 4 ++ 11 files changed, 232 insertions(+), 11 deletions(-) create mode 100644 CONTRIBUTION.md create mode 100644 Erlectric.nuspec create mode 100644 Erlectric.sln create mode 100644 TestResult.xml delete mode 100644 lib/nunit.framework.dll create mode 100644 nuget.config create mode 100644 tests/Erlectric.Tests/packages.config diff --git a/.gitignore b/.gitignore index af93c01..63837c2 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,6 @@ bin obj *.pidb *.userprefs +.vs/ +packages/ +znull.erlectric.1.0.0.nupkg diff --git a/CONTRIBUTION.md b/CONTRIBUTION.md new file mode 100644 index 0000000..a19849c --- /dev/null +++ b/CONTRIBUTION.md @@ -0,0 +1,40 @@ +# Developers Guide + +## Buind Environment Setup + +### Windows-Mono +Follow only if you're a cli-geek. +> NOTE: Commands below uses [chocolatey project](https://chocolatey.org) to install packages on windows environment +* install `mono` +``` +choco install -y mono --version 5.20.1.19 +``` +* Install nunit3 console runner +``` +choco install -y nunit-console-runner --version 3.10.0 +``` +* Install `nuget` binaries for command line +``` +choco install -y nuget.commandline --version 5.0.2 +``` +* Install `msys2` binaries to run make. +> **NOTE:** You may also need to update path enviroment to use gnu tools from windows command line +``` +choco install -y msys2 +# Upgradle to latest binaries distribution +msys2_shell.cmd -msys -c "pacman -S -u --noconfirm" +# install make +msys2_shell.cmd -msys -c "pacman -S -y --noconfirm msys/make" +``` + +### Windows-VisualStudio +* Install visual studio (Latest verified version in `2017 Community`) +* Follow instructions to download additionl worksets +* Open `Erlectric.sln` +* ... +* GL HF + +## Build +``` +make +``` diff --git a/Erlectric.nuspec b/Erlectric.nuspec new file mode 100644 index 0000000..4e7ddec --- /dev/null +++ b/Erlectric.nuspec @@ -0,0 +1,26 @@ + + + + znull.erlectric + 1.0.0 + Erlectric + https://github.com/znull + https://github.com/znull + LICENSE + https://github.com/znull/erlectric + false + + Erlectric is a partial implementation of erlang's External Term Format for C#. + It serves as the backend for csharp-bert, but may be used independently. + The name and inspiration come from the excellent erlastic module for python. + + Initial version of the package + Copyright © 2013 Jason Lunz + erlang + + + + + + + \ No newline at end of file diff --git a/Erlectric.sln b/Erlectric.sln new file mode 100644 index 0000000..8aeee18 --- /dev/null +++ b/Erlectric.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.28307.168 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Erlectric", "src\Erlectric\Erlectric.csproj", "{A4A96C58-7257-4975-8B54-DDADFA902008}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Erlectric.Tests", "tests\Erlectric.Tests\Erlectric.Tests.csproj", "{9498AE7F-89D6-4BC8-BB5D-6E22B9FC79CC}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {A4A96C58-7257-4975-8B54-DDADFA902008}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A4A96C58-7257-4975-8B54-DDADFA902008}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A4A96C58-7257-4975-8B54-DDADFA902008}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A4A96C58-7257-4975-8B54-DDADFA902008}.Release|Any CPU.Build.0 = Release|Any CPU + {9498AE7F-89D6-4BC8-BB5D-6E22B9FC79CC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9498AE7F-89D6-4BC8-BB5D-6E22B9FC79CC}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9498AE7F-89D6-4BC8-BB5D-6E22B9FC79CC}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9498AE7F-89D6-4BC8-BB5D-6E22B9FC79CC}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {ADC6A1B8-A866-4842-B3A3-082881BF2CDB} + EndGlobalSection +EndGlobal diff --git a/Makefile b/Makefile index f9bf4d4..6652864 100644 --- a/Makefile +++ b/Makefile @@ -1,15 +1,26 @@ BUILD_CONFIG = Debug ERLECTRIC_TEST_DLL = tests/Erlectric.Tests/bin/$(BUILD_CONFIG)/Erlectric.Tests.dll -NUNIT_OPTS = -noresult -nologo -stoponerror -labels +NUNIT_OPTS = +BUILD_OPTS = -test: +all: packages build test rel + +build: packages xbuild src/Erlectric/Erlectric.csproj xbuild tests/Erlectric.Tests/Erlectric.Tests.csproj - nunit-console $(ERLECTRIC_TEST_DLL) $(NUNIT_OPTS) +test: build + nunit3-console $(ERLECTRIC_TEST_DLL) $(NUNIT_OPTS) + +packages: + nuget restore -ConfigFile nuget.config + +rel: all + nuget pack Erlectric.nuspec clean: rm -rf src/*/bin rm -rf src/*/obj rm -rf tests/*/bin rm -rf tests/*/obj + rm -rf packages diff --git a/TestResult.xml b/TestResult.xml new file mode 100644 index 0000000..6e46cc7 --- /dev/null +++ b/TestResult.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/nunit.framework.dll b/lib/nunit.framework.dll deleted file mode 100644 index f0e8b9d0d73a5091ed0698439791f3346b4fd914..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 123904 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%0D_oe@(fLH98yTI@=vGGf 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 diff --git a/nuget.config b/nuget.config new file mode 100644 index 0000000..f079d9b --- /dev/null +++ b/nuget.config @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/Erlectric/Erlectric.csproj b/src/Erlectric/Erlectric.csproj index e73ab88..3fddeef 100644 --- a/src/Erlectric/Erlectric.csproj +++ b/src/Erlectric/Erlectric.csproj @@ -1,33 +1,35 @@ - + - Debug - AnyCPU + Debug + bin\$(Configuration) + AnyCPU 10.0.0 2.0 {A4A96C58-7257-4975-8B54-DDADFA902008} Library Erlectric Erlectric - v4.0 + v4.5 + true full false - bin\Debug DEBUG prompt 4 false + false none false - bin\Release prompt 4 false + false @@ -40,4 +42,4 @@ - + \ No newline at end of file diff --git a/tests/Erlectric.Tests/Erlectric.Tests.csproj b/tests/Erlectric.Tests/Erlectric.Tests.csproj index 3223012..762a495 100644 --- a/tests/Erlectric.Tests/Erlectric.Tests.csproj +++ b/tests/Erlectric.Tests/Erlectric.Tests.csproj @@ -1 +1,53 @@ - Debug AnyCPU 10.0.0 2.0 {9498AE7F-89D6-4BC8-BB5D-6E22B9FC79CC} Library Erlectric.Tests Erlectric.Tests v4.0 true full false bin\Debug DEBUG prompt 4 false none false bin\Release prompt 4 false False ..\..\lib\nunit.framework.dll {A4A96C58-7257-4975-8B54-DDADFA902008} Erlectric \ No newline at end of file + + + + Debug + AnyCPU + 10.0.0 + 2.0 + {9498AE7F-89D6-4BC8-BB5D-6E22B9FC79CC} + Library + Erlectric.Tests + Erlectric.Tests + v4.5 + + + + true + full + false + bin\Debug + DEBUG + prompt + 4 + false + false + + + none + false + bin\Release + prompt + 4 + false + false + + + + + + + + ../../packages\NUnit.3.12.0\lib\net45\nunit.framework.dll + + + + + + + {A4A96C58-7257-4975-8B54-DDADFA902008} + Erlectric + + + + \ No newline at end of file diff --git a/tests/Erlectric.Tests/packages.config b/tests/Erlectric.Tests/packages.config new file mode 100644 index 0000000..0d8f9bc --- /dev/null +++ b/tests/Erlectric.Tests/packages.config @@ -0,0 +1,4 @@ + + + +