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 f0e8b9d..0000000 Binary files a/lib/nunit.framework.dll and /dev/null differ 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 @@ + + + +