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 @@
+
+
+
+