diff --git a/Hyperion.PerfTest/Program.cs b/Hyperion.PerfTest/Program.cs
deleted file mode 100644
index fc00791f..00000000
--- a/Hyperion.PerfTest/Program.cs
+++ /dev/null
@@ -1,57 +0,0 @@
-#region copyright
-// -----------------------------------------------------------------------
-//
-// Copyright (C) 2015-2016 AsynkronIT
-// Copyright (C) 2016-2016 Akka.NET Team
-//
-// -----------------------------------------------------------------------
-#endregion
-
-using System;
-using System.Threading;
-using Hyperion.PerfTest.Tests;
-
-namespace Hyperion.PerfTest
-{
- internal class Program
- {
- private static void Main(string[] args)
- {
- var t = new Thread(Run);
- t.Priority = ThreadPriority.Highest;
- t.IsBackground = true;
-
- t.Start();
- Console.ReadLine();
- }
-
- private static void Run()
- {
- var largeStructTest = new LargeStructTest();
- largeStructTest.Run(1000000);
-
- var guidArrayTest = new GuidArrayTest();
- guidArrayTest.Run(30000);
-
- var guidTest = new GuidTest();
- guidTest.Run(1000000);
-
- var dateTimeOffsetTest = new DateTimeOffsetTest();
- dateTimeOffsetTest.Run(1000000);
-
- var typicalPersonArrayTest = new TypicalPersonArrayTest();
- typicalPersonArrayTest.Run(1000);
-
- var typicalPersonTest = new TypicalPersonTest();
- typicalPersonTest.Run(100000);
-
- var typicalMessageArrayTest = new TypicalMessageArrayTest();
- typicalMessageArrayTest.Run(10000);
-
- var typicalMessageTest = new TypicalMessageTest();
- typicalMessageTest.Run(1000000);
-
- Console.ReadLine();
- }
- }
-}
\ No newline at end of file
diff --git a/Hyperion.PerfTest/Tests/DateTimeOffsetTest.cs b/Hyperion.PerfTest/Tests/DateTimeOffsetTest.cs
deleted file mode 100644
index a1530099..00000000
--- a/Hyperion.PerfTest/Tests/DateTimeOffsetTest.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-#region copyright
-// -----------------------------------------------------------------------
-//
-// Copyright (C) 2015-2016 AsynkronIT
-// Copyright (C) 2016-2016 Akka.NET Team
-//
-// -----------------------------------------------------------------------
-#endregion
-
-using System;
-
-namespace Hyperion.PerfTest.Tests
-{
- class DateTimeOffsetTest : TestBase
- {
- protected override DateTimeOffset GetValue()
- {
- return DateTimeOffset.Now;
- }
- }
-}
diff --git a/Hyperion.sln b/Hyperion.sln
index 31d67710..9cfc24f0 100644
--- a/Hyperion.sln
+++ b/Hyperion.sln
@@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.27004.2005
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hyperion", "Hyperion\Hyperion.csproj", "{7AF8D2B6-9F1F-4A1C-8673-48E533108385}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hyperion", "src\Hyperion\Hyperion.csproj", "{7AF8D2B6-9F1F-4A1C-8673-48E533108385}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Build", "Build", "{2F3D4EC4-3A41-48C2-9DEA-0510B0FF89B4}"
ProjectSection(SolutionItems) = preProject
@@ -15,11 +15,11 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Build", "Build", "{2F3D4EC4
RELEASE_NOTES.md = RELEASE_NOTES.md
EndProjectSection
EndProject
-Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "Hyperion.Tests.FSharpData", "Hyperion.Tests.FSharpData\Hyperion.Tests.FSharpData.fsproj", "{1E406A85-C7F5-4F62-9D72-88C67FF2D743}"
+Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "Hyperion.Tests.FSharpData", "src\Hyperion.Tests.FSharpData\Hyperion.Tests.FSharpData.fsproj", "{1E406A85-C7F5-4F62-9D72-88C67FF2D743}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hyperion.Benchmarks", "Hyperion.Benchmarks\Hyperion.Benchmarks.csproj", "{CAE2DB69-0BE7-4B11-96DB-D5B61D35607F}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hyperion.Benchmarks", "src\Hyperion.Benchmarks\Hyperion.Benchmarks.csproj", "{CAE2DB69-0BE7-4B11-96DB-D5B61D35607F}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Hyperion.Tests", "Hyperion.Tests\Hyperion.Tests.csproj", "{EA096BA2-3B4C-4878-B9AD-5A88D164EBF0}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Hyperion.Tests", "src\Hyperion.Tests\Hyperion.Tests.csproj", "{EA096BA2-3B4C-4878-B9AD-5A88D164EBF0}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
diff --git a/build.fsx b/build.fsx
index 61e2df4e..3a3c1bc2 100644
--- a/build.fsx
+++ b/build.fsx
@@ -7,149 +7,178 @@ open System.Text
open Fake
open Fake.DotNetCli
+open Fake.DocFxHelper
+open Fake.FileHelper
-// Variables
+// Information about the project for Nuget and Assembly info files
let configuration = "Release"
-// Directories
-let output = __SOURCE_DIRECTORY__ @@ "build"
-let outputTests = output @@ "TestResults"
-let outputPerfTests = output @@ "perf"
-let outputBinaries = output @@ "binaries"
-let outputNuGet = output @@ "nuget"
-let outputBinariesNet45 = outputBinaries @@ "net45"
-let outputBinariesNetStandard = outputBinaries @@ "netstandard1.6"
-
+// Read release notes and version
+let solutionFile = FindFirstMatchingFile "*.sln" __SOURCE_DIRECTORY__ // dynamically look up the solution
let buildNumber = environVarOrDefault "BUILD_NUMBER" "0"
+let preReleaseVersionSuffix = (if (not (buildNumber = "0")) then (buildNumber) else "") + "-beta"
let versionSuffix =
match (getBuildParam "nugetprerelease") with
- | "dev" -> (if (not (buildNumber = "0")) then (buildNumber) else "") + "-beta"
+ | "dev" -> preReleaseVersionSuffix
| _ -> ""
+let releaseNotes =
+ File.ReadLines "./RELEASE_NOTES.md"
+ |> ReleaseNotesHelper.parseReleaseNotes
+
+// Directories
+let toolsDir = __SOURCE_DIRECTORY__ @@ "tools"
+let output = __SOURCE_DIRECTORY__ @@ "bin"
+let outputTests = __SOURCE_DIRECTORY__ @@ "TestResults"
+let outputPerfTests = __SOURCE_DIRECTORY__ @@ "PerfResults"
+let outputNuGet = output @@ "nuget"
+
+// Copied from original NugetCreate target
+let nugetDir = output @@ "nuget"
+let workingDir = output @@ "build"
+let nugetExe = FullName @"./tools/nuget.exe"
+
Target "Clean" (fun _ ->
CleanDir output
CleanDir outputTests
CleanDir outputPerfTests
- CleanDir outputBinaries
CleanDir outputNuGet
- CleanDir outputBinariesNet45
- CleanDir outputBinariesNetStandard
-
+ CleanDir "docs/_site"
CleanDirs !! "./**/bin"
CleanDirs !! "./**/obj"
)
-Target "RestorePackages" (fun _ ->
- let additionalArgs = if versionSuffix.Length > 0 then [sprintf "/p:VersionSuffix=%s" versionSuffix] else []
+Target "AssemblyInfo" (fun _ ->
+ XmlPokeInnerText "./src/common.props" "//Project/PropertyGroup/VersionPrefix" releaseNotes.AssemblyVersion
+ XmlPokeInnerText "./src/common.props" "//Project/PropertyGroup/PackageReleaseNotes" (releaseNotes.Notes |> String.concat "\n")
+)
+Target "RestorePackages" (fun _ ->
DotNetCli.Restore
(fun p ->
{ p with
- Project = "./Hyperion.sln"
- NoCache = false
- AdditionalArgs = additionalArgs })
+ Project = solutionFile
+ NoCache = false})
)
-Target "Build" (fun _ ->
- let additionalArgs = if versionSuffix.Length > 0 then [sprintf "/p:VersionSuffix=%s" versionSuffix] else []
-
- if (isWindows) then
- let projects = !! "./**/*.csproj" ++ "./**/*.fsproj"
-
- let runSingleProject project =
- DotNetCli.Build
- (fun p ->
- { p with
- Project = project
- Configuration = configuration
- AdditionalArgs = additionalArgs })
-
- projects |> Seq.iter (runSingleProject)
- else
+Target "Build" (fun _ ->
+ let additionalArgs = if versionSuffix.Length > 0 then [sprintf "/p:VersionSuffix=%s" versionSuffix;"--no-incremental"] else ["--no-incremental"]
+
+ let runSingleProject project =
DotNetCli.Build
(fun p ->
{ p with
- Project = "./Hyperion/Hyperion.csproj"
- Framework = "netstandard1.6"
+ Project = project
Configuration = configuration
- AdditionalArgs = additionalArgs })
+ AdditionalArgs = additionalArgs}) // "Rebuild"
- DotNetCli.Build
- (fun p ->
- { p with
- Project = "./Hyperion.Tests/Hyperion.Tests.csproj"
- Framework = "netcoreapp1.1"
- Configuration = configuration
- AdditionalArgs = additionalArgs })
+ let assemblies = !! "./src/**/*.*sproj"
+
+ assemblies |> Seq.iter (runSingleProject)
)
-Target "RunTests" (fun _ ->
- if (isWindows) then
- let projects = !! "./**/Hyperion.Tests.csproj"
+//--------------------------------------------------------------------------------
+// Tests targets
+//--------------------------------------------------------------------------------
+module internal ResultHandling =
+ let (|OK|Failure|) = function
+ | 0 -> OK
+ | x -> Failure x
- let runSingleProject project =
- DotNetCli.Test
- (fun p ->
- { p with
- Project = project
- Configuration = configuration })
+ let buildErrorMessage = function
+ | OK -> None
+ | Failure errorCode ->
+ Some (sprintf "xUnit2 reported an error (Error Code %d)" errorCode)
- projects |> Seq.iter (runSingleProject)
- else
- DotNetCli.Test
- (fun p ->
- { p with
- Project = "./Hyperion.Tests/Hyperion.Tests.csproj"
- Framework = "netcoreapp1.1"
- Configuration = configuration })
-)
+ let failBuildWithMessage = function
+ | DontFailBuild -> traceError
+ | _ -> (fun m -> raise(FailedTestsException m))
-Target "CopyOutput" (fun _ ->
- // .NET 4.5
- if (isWindows) then
- DotNetCli.Publish
- (fun p ->
- { p with
- Project = "./Hyperion/Hyperion.csproj"
- Framework = "net45"
- Output = outputBinariesNet45
- Configuration = configuration })
+ let failBuildIfXUnitReportedError errorLevel =
+ buildErrorMessage
+ >> Option.iter (failBuildWithMessage errorLevel)
- // .NET Core
- DotNetCli.Publish
- (fun p ->
- { p with
- Project = "./Hyperion/Hyperion.csproj"
- Framework = "netstandard1.6"
- Output = outputBinariesNetStandard
- Configuration = configuration })
+Target "RunTests" (fun _ ->
+ let projects =
+ match (isWindows) with
+ | true -> !! "./src/**/*.Tests.csproj"
+ | _ -> !! "./src/**/*.Tests.csproj" // if you need to filter specs for Linux vs. Windows, do it here
+
+ let runSingleProject project =
+ let result = ExecProcess(fun info ->
+ info.FileName <- "dotnet"
+ info.WorkingDirectory <- (Directory.GetParent project).FullName
+ info.Arguments <- (sprintf "xunit -c Release -nobuild -parallel none -teamcity -xml %s_xunit.xml" (outputTests @@ fileNameWithoutExt project))) (TimeSpan.FromMinutes 30.)
+
+ ResultHandling.failBuildIfXUnitReportedError TestRunnerErrorLevel.DontFailBuild result
+
+ projects |> Seq.iter (log)
+ projects |> Seq.iter (runSingleProject)
)
-//--------------------------------------------------------------------------------
-// Benchmarks
-//--------------------------------------------------------------------------------
+Target "NBench" <| fun _ ->
+ let nbenchTestPath = findToolInSubPath "NBench.Runner.exe" (toolsDir @@ "NBench.Runner*")
+ printfn "Using NBench.Runner: %s" nbenchTestPath
+
+ let nbenchTestAssemblies = !! "./src/**/*Tests.Performance.csproj"
+
+ let runNBench assembly =
+ let includes = getBuildParam "include"
+ let excludes = getBuildParam "exclude"
+ let teamcityStr = (getBuildParam "teamcity")
+ let enableTeamCity =
+ match teamcityStr with
+ | null -> false
+ | "" -> false
+ | _ -> bool.Parse teamcityStr
+
+ let args = StringBuilder()
+ |> append assembly
+ |> append (sprintf "output-directory=\"%s\"" outputPerfTests)
+ |> append (sprintf "concurrent=\"%b\"" true)
+ |> append (sprintf "trace=\"%b\"" true)
+ |> append (sprintf "teamcity=\"%b\"" enableTeamCity)
+ |> appendIfNotNullOrEmpty includes "include="
+ |> appendIfNotNullOrEmpty excludes "include="
+ |> toText
+
+ let result = ExecProcess(fun info ->
+ info.FileName <- nbenchTestPath
+ info.WorkingDirectory <- (Path.GetDirectoryName (FullName nbenchTestPath))
+ info.Arguments <- args) (System.TimeSpan.FromMinutes 45.0) (* Reasonably long-running task. *)
+ if result <> 0 then failwithf "NBench.Runner failed. %s %s" nbenchTestPath args
+
+ nbenchTestAssemblies |> Seq.iter runNBench
-Target "Benchmarks" (fun _ ->
- () //TODO: complete BenchmarkDotNet setup
-)
//--------------------------------------------------------------------------------
// Nuget targets
//--------------------------------------------------------------------------------
-Target "CreateNuget" (fun _ ->
- DotNetCli.Pack
- (fun p ->
- { p with
- Project = "./Hyperion/Hyperion.csproj"
- Configuration = configuration
- AdditionalArgs = ["--include-symbols"]
- VersionSuffix = versionSuffix
- OutputPath = outputNuGet })
+let overrideVersionSuffix (project:string) =
+ match project with
+ | _ -> versionSuffix // add additional matches to publish different versions for different projects in solution
+Target "CreateNuget" (fun _ ->
+ let projects = !! "src/**/*.csproj"
+ -- "src/**/*Tests.csproj" // Don't publish unit tests
+ -- "src/**/*Tests*.csproj"
+ -- "src/**/*.Demo.csproj" // Don't publish demo apps
+
+ let runSingleProject project =
+ DotNetCli.Pack
+ (fun p ->
+ { p with
+ Project = project
+ Configuration = configuration
+ AdditionalArgs = ["--include-symbols"]
+ VersionSuffix = overrideVersionSuffix project
+ OutputPath = outputNuGet })
+
+ projects |> Seq.iter (runSingleProject)
)
Target "PublishNuget" (fun _ ->
- let projects = !! "./build/nuget/*.nupkg" -- "./build/nuget/*.symbols.nupkg"
+ let projects = !! "./bin/nuget/*.nupkg" -- "./bin/nuget/*.symbols.nupkg"
let apiKey = getBuildParamOrDefault "nugetkey" ""
let source = getBuildParamOrDefault "nugetpublishurl" ""
let symbolSource = getBuildParamOrDefault "symbolspublishurl" ""
@@ -175,6 +204,22 @@ Target "PublishNuget" (fun _ ->
projects |> Seq.iter (runSingleProject)
)
+//--------------------------------------------------------------------------------
+// Documentation
+//--------------------------------------------------------------------------------
+Target "DocFx" (fun _ ->
+ DotNetCli.Restore (fun p -> { p with Project = solutionFile })
+ DotNetCli.Build (fun p -> { p with Project = solutionFile; Configuration = configuration })
+
+ let docsPath = "./docs"
+
+ DocFx (fun p ->
+ { p with
+ Timeout = TimeSpan.FromMinutes 30.0;
+ WorkingDirectory = docsPath;
+ DocFxJson = docsPath @@ "docfx.json" })
+)
+
//--------------------------------------------------------------------------------
// Help
//--------------------------------------------------------------------------------
@@ -182,49 +227,19 @@ Target "PublishNuget" (fun _ ->
Target "Help" <| fun _ ->
List.iter printfn [
"usage:"
- "/build [target]"
+ "./build.ps1 [target]"
""
" Targets for building:"
" * Build Builds"
" * Nuget Create and optionally publish nugets packages"
" * RunTests Runs tests"
- " * Benchmarks Run BenchmarkDotNet performance tests"
" * All Builds, run tests, creates and optionally publish nuget packages"
+ " * DocFx Creates a DocFx-based website for this solution"
""
" Other Targets"
" * Help Display this help"
""]
-Target "HelpNuget" <| fun _ ->
- List.iter printfn [
- "usage: "
- "build Nuget [nugetkey= [nugetpublishurl=]] "
- " [symbolspublishurl=] "
- ""
- "In order to publish a nuget package, keys must be specified."
- "If a key is not specified the nuget packages will only be created on disk"
- "After a build you can find them in build/nuget"
- ""
- "For pushing nuget packages to nuget.org and symbols to symbolsource.org"
- "you need to specify nugetkey="
- " build Nuget nugetKey="
- ""
- "For pushing the ordinary nuget packages to another place than nuget.org specify the url"
- " nugetkey= nugetpublishurl= "
- ""
- "For pushing symbols packages specify:"
- " symbolskey= symbolspublishurl= "
- ""
- "Examples:"
- " build Nuget Build nuget packages to the build/nuget folder"
- ""
- " build Nuget versionsuffix=beta1 Build nuget packages with the custom version suffix"
- ""
- " build Nuget nugetkey=123 Build and publish to nuget.org and symbolsource.org"
- ""
- " build Nuget nugetprerelease=dev nugetkey=123 nugetpublishurl=http://abcsymbolspublishurl=http://xyz"
- ""]
-
//--------------------------------------------------------------------------------
// Target dependencies
//--------------------------------------------------------------------------------
@@ -234,24 +249,21 @@ Target "All" DoNothing
Target "Nuget" DoNothing
// build dependencies
-"Clean" ==> "RestorePackages" ==> "Build" ==> "CopyOutput" ==> "BuildRelease"
+"Clean" ==> "RestorePackages" ==> "AssemblyInfo" ==> "Build" ==> "BuildRelease"
// tests dependencies
-"Clean" ==> "RestorePackages" ==> "Build" ==> "RunTests"
-"Clean" ==> "RestorePackages" ==> "Build"
-
-// benchmark dependencies
-"BuildRelease" ==> "Benchmarks"
// nuget dependencies
"Clean" ==> "RestorePackages" ==> "Build" ==> "CreateNuget"
-"CreateNuget" ==> "PublishNuget"
-"PublishNuget" ==> "Nuget"
+"CreateNuget" ==> "PublishNuget" ==> "Nuget"
+
+// docs
+"BuildRelease" ==> "Docfx"
// all
"BuildRelease" ==> "All"
"RunTests" ==> "All"
-"Benchmarks" ==> "All"
+//"NBench" ==> "All"
"Nuget" ==> "All"
RunTargetOrDefault "Help"
\ No newline at end of file
diff --git a/build.ps1 b/build.ps1
index 41178df5..f2180fc3 100644
--- a/build.ps1
+++ b/build.ps1
@@ -29,13 +29,15 @@ Param(
[string[]]$ScriptArgs
)
-$FakeVersion = "4.63.0"
-$NBenchVersion = "0.3.4"
+$FakeVersion = "4.61.2"
+$NBenchVersion = "1.0.1"
$DotNetChannel = "LTS";
$DotNetVersion = "2.0.0";
$DotNetInstallerUri = "https://raw.githubusercontent.com/dotnet/cli/v$DotNetVersion/scripts/obtain/dotnet-install.ps1";
-$NugetVersion = "4.3.0";
+$NugetVersion = "4.1.0";
$NugetUrl = "https://dist.nuget.org/win-x86-commandline/v$NugetVersion/nuget.exe"
+$ProtobufVersion = "3.2.0"
+$DocfxVersion = "2.21.1"
# Make sure tools folder exists
$PSScriptRoot = Split-Path $MyInvocation.MyCommand.Path -Parent
@@ -70,6 +72,8 @@ Function Remove-PathVariable([string]$VariableToRemove)
$FoundDotNetCliVersion = $null;
if (Get-Command dotnet -ErrorAction SilentlyContinue) {
$FoundDotNetCliVersion = dotnet --version;
+ $env:DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
+ $env:DOTNET_CLI_TELEMETRY_OPTOUT=1
}
if($FoundDotNetCliVersion -ne $DotNetVersion) {
@@ -78,7 +82,7 @@ if($FoundDotNetCliVersion -ne $DotNetVersion) {
mkdir -Force $InstallPath | Out-Null;
}
(New-Object System.Net.WebClient).DownloadFile($DotNetInstallerUri, "$InstallPath\dotnet-install.ps1");
- & $InstallPath\dotnet-install.ps1 -Channel $DotNetChannel -Version $DotNetVersion -InstallDir $InstallPath;
+ & $InstallPath\dotnet-install.ps1 -Channel $DotNetChannel -Version $DotNetVersion -InstallDir $InstallPath -Architecture x64;
Remove-PathVariable "$InstallPath"
$env:PATH = "$InstallPath;$env:PATH"
@@ -125,6 +129,20 @@ if (!(Test-Path $NBenchDllPath)) {
}
}
+###########################################################################
+# Docfx
+###########################################################################
+
+# Make sure Docfx has been installed.
+$DocfxExePath = Join-Path $ToolPath "docfx.console/tools/docfx.exe"
+if (!(Test-Path $DocfxExePath)) {
+ Write-Host "Installing Docfx..."
+ Invoke-Expression "&`"$NugetPath`" install docfx.console -ExcludeVersion -Version $DocfxVersion -OutputDirectory `"$ToolPath`"" | Out-Null;
+ if ($LASTEXITCODE -ne 0) {
+ Throw "An error occured while restoring docfx.console from NuGet."
+ }
+}
+
###########################################################################
# RUN BUILD SCRIPT
###########################################################################
diff --git a/build.sh b/build.sh
index 97f08cc0..90e7d528 100755
--- a/build.sh
+++ b/build.sh
@@ -7,10 +7,10 @@
SCRIPT_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
TOOLS_DIR=$SCRIPT_DIR/tools
NUGET_EXE=$TOOLS_DIR/nuget.exe
-NUGET_URL=https://dist.nuget.org/win-x86-commandline/v3.5.0/nuget.exe
-FAKE_VERSION=4.63.0
+NUGET_URL=https://dist.nuget.org/win-x86-commandline/v4.1.0/nuget.exe
+FAKE_VERSION=4.61.2
FAKE_EXE=$TOOLS_DIR/FAKE/tools/FAKE.exe
-DOTNET_VERSION=2.0.0
+DOTNET_VERSION=2.0.3
DOTNET_INSTALLER_URL=https://raw.githubusercontent.com/dotnet/cli/v$DOTNET_VERSION/scripts/obtain/dotnet-install.sh
# Define default arguments.
@@ -86,6 +86,11 @@ if [ ! -f "$FAKE_EXE" ]; then
exit 1
fi
+###########################################################################
+# WORKAROUND FOR MONO
+###########################################################################
+export FrameworkPathOverride=/usr/lib/mono/4.5/
+
###########################################################################
# RUN BUILD SCRIPT
###########################################################################
diff --git a/docs/api/index.md b/docs/api/index.md
new file mode 100644
index 00000000..9e0155be
--- /dev/null
+++ b/docs/api/index.md
@@ -0,0 +1 @@
+# API Docs
\ No newline at end of file
diff --git a/docs/articles/index.md b/docs/articles/index.md
new file mode 100644
index 00000000..9d45024d
--- /dev/null
+++ b/docs/articles/index.md
@@ -0,0 +1,3 @@
+# Introduction
+
+Article text goes here.
\ No newline at end of file
diff --git a/docs/articles/toc.yml b/docs/articles/toc.yml
new file mode 100644
index 00000000..4262931e
--- /dev/null
+++ b/docs/articles/toc.yml
@@ -0,0 +1,2 @@
+- name: Introduction
+ href: index.md
\ No newline at end of file
diff --git a/docs/docfx.json b/docs/docfx.json
new file mode 100644
index 00000000..ae92cc07
--- /dev/null
+++ b/docs/docfx.json
@@ -0,0 +1,67 @@
+{
+ "metadata": [
+ {
+ "src": [
+ {
+ "files": [ "**/*.csproj" ],
+ "exclude": [
+ "**/obj/**",
+ "**/bin/**",
+ "_site/**",
+ "**/*Tests*.csproj",
+ "**/*Tests.*.csproj"
+ ],
+ "src": "../src"
+ }
+ ],
+ "dest": "api"
+ }
+ ],
+ "build": {
+ "content": [
+ {
+ "files": [
+ "api/**.yml",
+ "api/index.md"
+ ]
+ },
+ {
+ "files": [
+ "articles/**.md",
+ "articles/**/toc.yml",
+ "toc.yml",
+ "*.md"
+ ],
+ "exclude": [
+ "obj/**",
+ "_site/**"
+ ]
+ },
+ ],
+ "resource": [
+ {
+ "files": [
+ "images/**"
+ ],
+ "exclude": [
+ "obj/**",
+ "_site/**"
+ ]
+ }
+ ],
+ "dest": "_site",
+ "globalMetadata": {
+ "_appTitle": "gdax_stsdfsdf",
+ "_disableContribution": "true",
+ "_appLogoPath": "/images/icon.png",
+ },
+ "globalMetadataFiles": [],
+ "fileMetadataFiles": [],
+ "template": [
+ "default",
+ "template"
+ ],
+ "postProcessors": [],
+ "noLangKeyword": false
+ }
+}
\ No newline at end of file
diff --git a/docs/images/icon.png b/docs/images/icon.png
new file mode 100644
index 00000000..86698cd6
Binary files /dev/null and b/docs/images/icon.png differ
diff --git a/docs/index.md b/docs/index.md
new file mode 100644
index 00000000..2270f838
--- /dev/null
+++ b/docs/index.md
@@ -0,0 +1 @@
+# Introduction to My Project
\ No newline at end of file
diff --git a/docs/toc.yml b/docs/toc.yml
new file mode 100644
index 00000000..0fcaa0f4
--- /dev/null
+++ b/docs/toc.yml
@@ -0,0 +1,6 @@
+- name: Home
+ href: index.md
+- name: Documentation
+ href: articles/
+- name: API Reference
+ href: api/
\ No newline at end of file
diff --git a/Hyperion.Benchmarks/Hyperion.Benchmarks.csproj b/src/Hyperion.Benchmarks/Hyperion.Benchmarks.csproj
similarity index 83%
rename from Hyperion.Benchmarks/Hyperion.Benchmarks.csproj
rename to src/Hyperion.Benchmarks/Hyperion.Benchmarks.csproj
index 2bedeb73..35efa975 100644
--- a/Hyperion.Benchmarks/Hyperion.Benchmarks.csproj
+++ b/src/Hyperion.Benchmarks/Hyperion.Benchmarks.csproj
@@ -3,6 +3,7 @@
Exe
netcoreapp2.0
+ false
diff --git a/Hyperion.Benchmarks/Program.cs b/src/Hyperion.Benchmarks/Program.cs
similarity index 100%
rename from Hyperion.Benchmarks/Program.cs
rename to src/Hyperion.Benchmarks/Program.cs
diff --git a/Hyperion.Benchmarks/Prolog.cs b/src/Hyperion.Benchmarks/Prolog.cs
similarity index 100%
rename from Hyperion.Benchmarks/Prolog.cs
rename to src/Hyperion.Benchmarks/Prolog.cs
diff --git a/Hyperion.Benchmarks/SerializeClassesBenchmark.cs b/src/Hyperion.Benchmarks/SerializeClassesBenchmark.cs
similarity index 100%
rename from Hyperion.Benchmarks/SerializeClassesBenchmark.cs
rename to src/Hyperion.Benchmarks/SerializeClassesBenchmark.cs
diff --git a/Hyperion.Benchmarks/SerializeCollectionsBenchmark.cs b/src/Hyperion.Benchmarks/SerializeCollectionsBenchmark.cs
similarity index 100%
rename from Hyperion.Benchmarks/SerializeCollectionsBenchmark.cs
rename to src/Hyperion.Benchmarks/SerializeCollectionsBenchmark.cs
diff --git a/Hyperion.Benchmarks/SerializeFSharpDataTypesBenchmark.cs b/src/Hyperion.Benchmarks/SerializeFSharpDataTypesBenchmark.cs
similarity index 100%
rename from Hyperion.Benchmarks/SerializeFSharpDataTypesBenchmark.cs
rename to src/Hyperion.Benchmarks/SerializeFSharpDataTypesBenchmark.cs
diff --git a/Hyperion.Benchmarks/SerializeImmutableCollectionsBenchmark.cs b/src/Hyperion.Benchmarks/SerializeImmutableCollectionsBenchmark.cs
similarity index 100%
rename from Hyperion.Benchmarks/SerializeImmutableCollectionsBenchmark.cs
rename to src/Hyperion.Benchmarks/SerializeImmutableCollectionsBenchmark.cs
diff --git a/Hyperion.Benchmarks/SerializePrimitivesBenchmark.cs b/src/Hyperion.Benchmarks/SerializePrimitivesBenchmark.cs
similarity index 100%
rename from Hyperion.Benchmarks/SerializePrimitivesBenchmark.cs
rename to src/Hyperion.Benchmarks/SerializePrimitivesBenchmark.cs
diff --git a/Hyperion.Benchmarks/SerializeStructsBenchmark.cs b/src/Hyperion.Benchmarks/SerializeStructsBenchmark.cs
similarity index 100%
rename from Hyperion.Benchmarks/SerializeStructsBenchmark.cs
rename to src/Hyperion.Benchmarks/SerializeStructsBenchmark.cs
diff --git a/Hyperion.Tests.FSharpData/Hyperion.Tests.FSharpData.fsproj b/src/Hyperion.Tests.FSharpData/Hyperion.Tests.FSharpData.fsproj
similarity index 100%
rename from Hyperion.Tests.FSharpData/Hyperion.Tests.FSharpData.fsproj
rename to src/Hyperion.Tests.FSharpData/Hyperion.Tests.FSharpData.fsproj
diff --git a/Hyperion.Tests.FSharpData/Types.fs b/src/Hyperion.Tests.FSharpData/Types.fs
similarity index 100%
rename from Hyperion.Tests.FSharpData/Types.fs
rename to src/Hyperion.Tests.FSharpData/Types.fs
diff --git a/Hyperion.Tests/AttributeTests.cs b/src/Hyperion.Tests/AttributeTests.cs
similarity index 100%
rename from Hyperion.Tests/AttributeTests.cs
rename to src/Hyperion.Tests/AttributeTests.cs
diff --git a/Hyperion.Tests/Bugs.cs b/src/Hyperion.Tests/Bugs.cs
similarity index 100%
rename from Hyperion.Tests/Bugs.cs
rename to src/Hyperion.Tests/Bugs.cs
diff --git a/Hyperion.Tests/CollectionTests.cs b/src/Hyperion.Tests/CollectionTests.cs
similarity index 100%
rename from Hyperion.Tests/CollectionTests.cs
rename to src/Hyperion.Tests/CollectionTests.cs
diff --git a/Hyperion.Tests/CustomObjectTests.cs b/src/Hyperion.Tests/CustomObjectTests.cs
similarity index 100%
rename from Hyperion.Tests/CustomObjectTests.cs
rename to src/Hyperion.Tests/CustomObjectTests.cs
diff --git a/Hyperion.Tests/CyclicTests.cs b/src/Hyperion.Tests/CyclicTests.cs
similarity index 100%
rename from Hyperion.Tests/CyclicTests.cs
rename to src/Hyperion.Tests/CyclicTests.cs
diff --git a/Hyperion.Tests/DelegateTests.cs b/src/Hyperion.Tests/DelegateTests.cs
similarity index 100%
rename from Hyperion.Tests/DelegateTests.cs
rename to src/Hyperion.Tests/DelegateTests.cs
diff --git a/Hyperion.Tests/EncapsulationTests.cs b/src/Hyperion.Tests/EncapsulationTests.cs
similarity index 100%
rename from Hyperion.Tests/EncapsulationTests.cs
rename to src/Hyperion.Tests/EncapsulationTests.cs
diff --git a/Hyperion.Tests/ExpressionTests.cs b/src/Hyperion.Tests/ExpressionTests.cs
similarity index 100%
rename from Hyperion.Tests/ExpressionTests.cs
rename to src/Hyperion.Tests/ExpressionTests.cs
diff --git a/Hyperion.Tests/FSharpTests.cs b/src/Hyperion.Tests/FSharpTests.cs
similarity index 100%
rename from Hyperion.Tests/FSharpTests.cs
rename to src/Hyperion.Tests/FSharpTests.cs
diff --git a/Hyperion.Tests/Hyperion.Tests.csproj b/src/Hyperion.Tests/Hyperion.Tests.csproj
similarity index 59%
rename from Hyperion.Tests/Hyperion.Tests.csproj
rename to src/Hyperion.Tests/Hyperion.Tests.csproj
index f0d5dfc6..7c291918 100644
--- a/Hyperion.Tests/Hyperion.Tests.csproj
+++ b/src/Hyperion.Tests/Hyperion.Tests.csproj
@@ -1,15 +1,17 @@
+
- net461;netcoreapp1.1
+ net461;netcoreapp2.0
+ 2.0.3
-
+
-
-
-
+
+
+
diff --git a/Hyperion.Tests/ISerializableTests.cs b/src/Hyperion.Tests/ISerializableTests.cs
similarity index 100%
rename from Hyperion.Tests/ISerializableTests.cs
rename to src/Hyperion.Tests/ISerializableTests.cs
diff --git a/Hyperion.Tests/IlCompilerTests.cs b/src/Hyperion.Tests/IlCompilerTests.cs
similarity index 100%
rename from Hyperion.Tests/IlCompilerTests.cs
rename to src/Hyperion.Tests/IlCompilerTests.cs
diff --git a/Hyperion.Tests/ImmutableCollectionsTests.cs b/src/Hyperion.Tests/ImmutableCollectionsTests.cs
similarity index 100%
rename from Hyperion.Tests/ImmutableCollectionsTests.cs
rename to src/Hyperion.Tests/ImmutableCollectionsTests.cs
diff --git a/Hyperion.Tests/InterfaceTests.cs b/src/Hyperion.Tests/InterfaceTests.cs
similarity index 100%
rename from Hyperion.Tests/InterfaceTests.cs
rename to src/Hyperion.Tests/InterfaceTests.cs
diff --git a/Hyperion.Tests/PrimitivesTests.cs b/src/Hyperion.Tests/PrimitivesTests.cs
similarity index 100%
rename from Hyperion.Tests/PrimitivesTests.cs
rename to src/Hyperion.Tests/PrimitivesTests.cs
diff --git a/Hyperion.Tests/Something.cs b/src/Hyperion.Tests/Something.cs
similarity index 100%
rename from Hyperion.Tests/Something.cs
rename to src/Hyperion.Tests/Something.cs
diff --git a/Hyperion.Tests/SurrogateTests.cs b/src/Hyperion.Tests/SurrogateTests.cs
similarity index 100%
rename from Hyperion.Tests/SurrogateTests.cs
rename to src/Hyperion.Tests/SurrogateTests.cs
diff --git a/Hyperion.Tests/TestBase.cs b/src/Hyperion.Tests/TestBase.cs
similarity index 100%
rename from Hyperion.Tests/TestBase.cs
rename to src/Hyperion.Tests/TestBase.cs
diff --git a/Hyperion.Tests/UnsupportedTypeSerializerTests.cs b/src/Hyperion.Tests/UnsupportedTypeSerializerTests.cs
similarity index 100%
rename from Hyperion.Tests/UnsupportedTypeSerializerTests.cs
rename to src/Hyperion.Tests/UnsupportedTypeSerializerTests.cs
diff --git a/Hyperion/.vscode/launch.json b/src/Hyperion/.vscode/launch.json
similarity index 100%
rename from Hyperion/.vscode/launch.json
rename to src/Hyperion/.vscode/launch.json
diff --git a/Hyperion/.vscode/tasks.json b/src/Hyperion/.vscode/tasks.json
similarity index 100%
rename from Hyperion/.vscode/tasks.json
rename to src/Hyperion/.vscode/tasks.json
diff --git a/Hyperion/Attributes.cs b/src/Hyperion/Attributes.cs
similarity index 100%
rename from Hyperion/Attributes.cs
rename to src/Hyperion/Attributes.cs
diff --git a/Hyperion/ByteArrayKey.cs b/src/Hyperion/ByteArrayKey.cs
similarity index 100%
rename from Hyperion/ByteArrayKey.cs
rename to src/Hyperion/ByteArrayKey.cs
diff --git a/Hyperion/ByteArrayKeyComparer.cs b/src/Hyperion/ByteArrayKeyComparer.cs
similarity index 100%
rename from Hyperion/ByteArrayKeyComparer.cs
rename to src/Hyperion/ByteArrayKeyComparer.cs
diff --git a/Hyperion/Compilation/Compiler.cs b/src/Hyperion/Compilation/Compiler.cs
similarity index 100%
rename from Hyperion/Compilation/Compiler.cs
rename to src/Hyperion/Compilation/Compiler.cs
diff --git a/Hyperion/Compilation/ExpressionEx.cs b/src/Hyperion/Compilation/ExpressionEx.cs
similarity index 100%
rename from Hyperion/Compilation/ExpressionEx.cs
rename to src/Hyperion/Compilation/ExpressionEx.cs
diff --git a/Hyperion/Compilation/ICompiler.cs b/src/Hyperion/Compilation/ICompiler.cs
similarity index 100%
rename from Hyperion/Compilation/ICompiler.cs
rename to src/Hyperion/Compilation/ICompiler.cs
diff --git a/Hyperion/Compilation/IlBuilder.cs b/src/Hyperion/Compilation/IlBuilder.cs
similarity index 100%
rename from Hyperion/Compilation/IlBuilder.cs
rename to src/Hyperion/Compilation/IlBuilder.cs
diff --git a/Hyperion/Compilation/IlCompiler.cs b/src/Hyperion/Compilation/IlCompiler.cs
similarity index 100%
rename from Hyperion/Compilation/IlCompiler.cs
rename to src/Hyperion/Compilation/IlCompiler.cs
diff --git a/Hyperion/Compilation/IlCompilerContext.cs b/src/Hyperion/Compilation/IlCompilerContext.cs
similarity index 100%
rename from Hyperion/Compilation/IlCompilerContext.cs
rename to src/Hyperion/Compilation/IlCompilerContext.cs
diff --git a/Hyperion/Compilation/IlExpression.cs b/src/Hyperion/Compilation/IlExpression.cs
similarity index 100%
rename from Hyperion/Compilation/IlExpression.cs
rename to src/Hyperion/Compilation/IlExpression.cs
diff --git a/Hyperion/DefaultCodeGenerator.cs b/src/Hyperion/DefaultCodeGenerator.cs
similarity index 100%
rename from Hyperion/DefaultCodeGenerator.cs
rename to src/Hyperion/DefaultCodeGenerator.cs
diff --git a/Hyperion/Delegates.cs b/src/Hyperion/Delegates.cs
similarity index 100%
rename from Hyperion/Delegates.cs
rename to src/Hyperion/Delegates.cs
diff --git a/Hyperion/DeserializeSession.cs b/src/Hyperion/DeserializeSession.cs
similarity index 100%
rename from Hyperion/DeserializeSession.cs
rename to src/Hyperion/DeserializeSession.cs
diff --git a/Hyperion/Extensions/ReflectionEx.cs b/src/Hyperion/Extensions/ReflectionEx.cs
similarity index 100%
rename from Hyperion/Extensions/ReflectionEx.cs
rename to src/Hyperion/Extensions/ReflectionEx.cs
diff --git a/Hyperion/Extensions/StreamEx.cs b/src/Hyperion/Extensions/StreamEx.cs
similarity index 100%
rename from Hyperion/Extensions/StreamEx.cs
rename to src/Hyperion/Extensions/StreamEx.cs
diff --git a/Hyperion/Extensions/StringEx.cs b/src/Hyperion/Extensions/StringEx.cs
similarity index 100%
rename from Hyperion/Extensions/StringEx.cs
rename to src/Hyperion/Extensions/StringEx.cs
diff --git a/Hyperion/Extensions/TypeEx.cs b/src/Hyperion/Extensions/TypeEx.cs
similarity index 100%
rename from Hyperion/Extensions/TypeEx.cs
rename to src/Hyperion/Extensions/TypeEx.cs
diff --git a/Hyperion/Hyperion.csproj b/src/Hyperion/Hyperion.csproj
similarity index 100%
rename from Hyperion/Hyperion.csproj
rename to src/Hyperion/Hyperion.csproj
diff --git a/Hyperion/ICodeGenerator.cs b/src/Hyperion/ICodeGenerator.cs
similarity index 100%
rename from Hyperion/ICodeGenerator.cs
rename to src/Hyperion/ICodeGenerator.cs
diff --git a/Hyperion/Internal/Annotations.cs b/src/Hyperion/Internal/Annotations.cs
similarity index 100%
rename from Hyperion/Internal/Annotations.cs
rename to src/Hyperion/Internal/Annotations.cs
diff --git a/Hyperion/NoAllocBitConverter.cs b/src/Hyperion/NoAllocBitConverter.cs
similarity index 100%
rename from Hyperion/NoAllocBitConverter.cs
rename to src/Hyperion/NoAllocBitConverter.cs
diff --git a/Hyperion/Properties/AssemblyInfo.cs b/src/Hyperion/Properties/AssemblyInfo.cs
similarity index 100%
rename from Hyperion/Properties/AssemblyInfo.cs
rename to src/Hyperion/Properties/AssemblyInfo.cs
diff --git a/Hyperion/Serializer.cs b/src/Hyperion/Serializer.cs
similarity index 100%
rename from Hyperion/Serializer.cs
rename to src/Hyperion/Serializer.cs
diff --git a/Hyperion/SerializerFactories/ArraySerializerFactory.cs b/src/Hyperion/SerializerFactories/ArraySerializerFactory.cs
similarity index 100%
rename from Hyperion/SerializerFactories/ArraySerializerFactory.cs
rename to src/Hyperion/SerializerFactories/ArraySerializerFactory.cs
diff --git a/Hyperion/SerializerFactories/ConsistentArraySerializerFactory.cs b/src/Hyperion/SerializerFactories/ConsistentArraySerializerFactory.cs
similarity index 100%
rename from Hyperion/SerializerFactories/ConsistentArraySerializerFactory.cs
rename to src/Hyperion/SerializerFactories/ConsistentArraySerializerFactory.cs
diff --git a/Hyperion/SerializerFactories/ConstructorInfoSerializerFactory.cs b/src/Hyperion/SerializerFactories/ConstructorInfoSerializerFactory.cs
similarity index 100%
rename from Hyperion/SerializerFactories/ConstructorInfoSerializerFactory.cs
rename to src/Hyperion/SerializerFactories/ConstructorInfoSerializerFactory.cs
diff --git a/Hyperion/SerializerFactories/DefaultDictionarySerializerFactory.cs b/src/Hyperion/SerializerFactories/DefaultDictionarySerializerFactory.cs
similarity index 100%
rename from Hyperion/SerializerFactories/DefaultDictionarySerializerFactory.cs
rename to src/Hyperion/SerializerFactories/DefaultDictionarySerializerFactory.cs
diff --git a/Hyperion/SerializerFactories/DelegateSerializerFactory.cs b/src/Hyperion/SerializerFactories/DelegateSerializerFactory.cs
similarity index 100%
rename from Hyperion/SerializerFactories/DelegateSerializerFactory.cs
rename to src/Hyperion/SerializerFactories/DelegateSerializerFactory.cs
diff --git a/Hyperion/SerializerFactories/DictionarySerializerFactory.cs b/src/Hyperion/SerializerFactories/DictionarySerializerFactory.cs
similarity index 100%
rename from Hyperion/SerializerFactories/DictionarySerializerFactory.cs
rename to src/Hyperion/SerializerFactories/DictionarySerializerFactory.cs
diff --git a/Hyperion/SerializerFactories/EnumerableSerializerFactory.cs b/src/Hyperion/SerializerFactories/EnumerableSerializerFactory.cs
similarity index 100%
rename from Hyperion/SerializerFactories/EnumerableSerializerFactory.cs
rename to src/Hyperion/SerializerFactories/EnumerableSerializerFactory.cs
diff --git a/Hyperion/SerializerFactories/ExceptionSerializerFactory.cs b/src/Hyperion/SerializerFactories/ExceptionSerializerFactory.cs
similarity index 100%
rename from Hyperion/SerializerFactories/ExceptionSerializerFactory.cs
rename to src/Hyperion/SerializerFactories/ExceptionSerializerFactory.cs
diff --git a/Hyperion/SerializerFactories/ExpandoObjectSerializerFactory.cs b/src/Hyperion/SerializerFactories/ExpandoObjectSerializerFactory.cs
similarity index 100%
rename from Hyperion/SerializerFactories/ExpandoObjectSerializerFactory.cs
rename to src/Hyperion/SerializerFactories/ExpandoObjectSerializerFactory.cs
diff --git a/Hyperion/SerializerFactories/FSharpListSerializerFactory.cs b/src/Hyperion/SerializerFactories/FSharpListSerializerFactory.cs
similarity index 100%
rename from Hyperion/SerializerFactories/FSharpListSerializerFactory.cs
rename to src/Hyperion/SerializerFactories/FSharpListSerializerFactory.cs
diff --git a/Hyperion/SerializerFactories/FSharpMapSerializerFactory.cs b/src/Hyperion/SerializerFactories/FSharpMapSerializerFactory.cs
similarity index 100%
rename from Hyperion/SerializerFactories/FSharpMapSerializerFactory.cs
rename to src/Hyperion/SerializerFactories/FSharpMapSerializerFactory.cs
diff --git a/Hyperion/SerializerFactories/FieldInfoSerializerFactory.cs b/src/Hyperion/SerializerFactories/FieldInfoSerializerFactory.cs
similarity index 100%
rename from Hyperion/SerializerFactories/FieldInfoSerializerFactory.cs
rename to src/Hyperion/SerializerFactories/FieldInfoSerializerFactory.cs
diff --git a/Hyperion/SerializerFactories/FromSurrogateSerializerFactory.cs b/src/Hyperion/SerializerFactories/FromSurrogateSerializerFactory.cs
similarity index 100%
rename from Hyperion/SerializerFactories/FromSurrogateSerializerFactory.cs
rename to src/Hyperion/SerializerFactories/FromSurrogateSerializerFactory.cs
diff --git a/Hyperion/SerializerFactories/ISerializableSerializerFactory.cs b/src/Hyperion/SerializerFactories/ISerializableSerializerFactory.cs
similarity index 100%
rename from Hyperion/SerializerFactories/ISerializableSerializerFactory.cs
rename to src/Hyperion/SerializerFactories/ISerializableSerializerFactory.cs
diff --git a/Hyperion/SerializerFactories/ImmutableCollectionsSerializerFactory.cs b/src/Hyperion/SerializerFactories/ImmutableCollectionsSerializerFactory.cs
similarity index 100%
rename from Hyperion/SerializerFactories/ImmutableCollectionsSerializerFactory.cs
rename to src/Hyperion/SerializerFactories/ImmutableCollectionsSerializerFactory.cs
diff --git a/Hyperion/SerializerFactories/MethodInfoSerializerFactory.cs b/src/Hyperion/SerializerFactories/MethodInfoSerializerFactory.cs
similarity index 100%
rename from Hyperion/SerializerFactories/MethodInfoSerializerFactory.cs
rename to src/Hyperion/SerializerFactories/MethodInfoSerializerFactory.cs
diff --git a/Hyperion/SerializerFactories/PropertyInfoSerializerFactory.cs b/src/Hyperion/SerializerFactories/PropertyInfoSerializerFactory.cs
similarity index 100%
rename from Hyperion/SerializerFactories/PropertyInfoSerializerFactory.cs
rename to src/Hyperion/SerializerFactories/PropertyInfoSerializerFactory.cs
diff --git a/Hyperion/SerializerFactories/ToSurrogateSerializerFactory.cs b/src/Hyperion/SerializerFactories/ToSurrogateSerializerFactory.cs
similarity index 100%
rename from Hyperion/SerializerFactories/ToSurrogateSerializerFactory.cs
rename to src/Hyperion/SerializerFactories/ToSurrogateSerializerFactory.cs
diff --git a/Hyperion/SerializerFactories/ValueSerializerFactory.cs b/src/Hyperion/SerializerFactories/ValueSerializerFactory.cs
similarity index 100%
rename from Hyperion/SerializerFactories/ValueSerializerFactory.cs
rename to src/Hyperion/SerializerFactories/ValueSerializerFactory.cs
diff --git a/Hyperion/SerializerOptions.cs b/src/Hyperion/SerializerOptions.cs
similarity index 100%
rename from Hyperion/SerializerOptions.cs
rename to src/Hyperion/SerializerOptions.cs
diff --git a/Hyperion/SerializerSession.cs b/src/Hyperion/SerializerSession.cs
similarity index 100%
rename from Hyperion/SerializerSession.cs
rename to src/Hyperion/SerializerSession.cs
diff --git a/Hyperion/Surrogate.cs b/src/Hyperion/Surrogate.cs
similarity index 100%
rename from Hyperion/Surrogate.cs
rename to src/Hyperion/Surrogate.cs
diff --git a/Hyperion/ValueSerializers/BoolSerializer.cs b/src/Hyperion/ValueSerializers/BoolSerializer.cs
similarity index 100%
rename from Hyperion/ValueSerializers/BoolSerializer.cs
rename to src/Hyperion/ValueSerializers/BoolSerializer.cs
diff --git a/Hyperion/ValueSerializers/ByteArraySerializer.cs b/src/Hyperion/ValueSerializers/ByteArraySerializer.cs
similarity index 100%
rename from Hyperion/ValueSerializers/ByteArraySerializer.cs
rename to src/Hyperion/ValueSerializers/ByteArraySerializer.cs
diff --git a/Hyperion/ValueSerializers/ByteSerializer.cs b/src/Hyperion/ValueSerializers/ByteSerializer.cs
similarity index 100%
rename from Hyperion/ValueSerializers/ByteSerializer.cs
rename to src/Hyperion/ValueSerializers/ByteSerializer.cs
diff --git a/Hyperion/ValueSerializers/CharSerializer.cs b/src/Hyperion/ValueSerializers/CharSerializer.cs
similarity index 100%
rename from Hyperion/ValueSerializers/CharSerializer.cs
rename to src/Hyperion/ValueSerializers/CharSerializer.cs
diff --git a/Hyperion/ValueSerializers/ConsistentArraySerializer.cs b/src/Hyperion/ValueSerializers/ConsistentArraySerializer.cs
similarity index 100%
rename from Hyperion/ValueSerializers/ConsistentArraySerializer.cs
rename to src/Hyperion/ValueSerializers/ConsistentArraySerializer.cs
diff --git a/Hyperion/ValueSerializers/DateTimeOffsetSerializer.cs b/src/Hyperion/ValueSerializers/DateTimeOffsetSerializer.cs
similarity index 100%
rename from Hyperion/ValueSerializers/DateTimeOffsetSerializer.cs
rename to src/Hyperion/ValueSerializers/DateTimeOffsetSerializer.cs
diff --git a/Hyperion/ValueSerializers/DateTimeSerializer.cs b/src/Hyperion/ValueSerializers/DateTimeSerializer.cs
similarity index 100%
rename from Hyperion/ValueSerializers/DateTimeSerializer.cs
rename to src/Hyperion/ValueSerializers/DateTimeSerializer.cs
diff --git a/Hyperion/ValueSerializers/DecimalSerializer.cs b/src/Hyperion/ValueSerializers/DecimalSerializer.cs
similarity index 100%
rename from Hyperion/ValueSerializers/DecimalSerializer.cs
rename to src/Hyperion/ValueSerializers/DecimalSerializer.cs
diff --git a/Hyperion/ValueSerializers/DoubleSerializer.cs b/src/Hyperion/ValueSerializers/DoubleSerializer.cs
similarity index 100%
rename from Hyperion/ValueSerializers/DoubleSerializer.cs
rename to src/Hyperion/ValueSerializers/DoubleSerializer.cs
diff --git a/Hyperion/ValueSerializers/FloatSerializer.cs b/src/Hyperion/ValueSerializers/FloatSerializer.cs
similarity index 100%
rename from Hyperion/ValueSerializers/FloatSerializer.cs
rename to src/Hyperion/ValueSerializers/FloatSerializer.cs
diff --git a/Hyperion/ValueSerializers/FromSurrogateSerializer.cs b/src/Hyperion/ValueSerializers/FromSurrogateSerializer.cs
similarity index 100%
rename from Hyperion/ValueSerializers/FromSurrogateSerializer.cs
rename to src/Hyperion/ValueSerializers/FromSurrogateSerializer.cs
diff --git a/Hyperion/ValueSerializers/GuidSerializer.cs b/src/Hyperion/ValueSerializers/GuidSerializer.cs
similarity index 100%
rename from Hyperion/ValueSerializers/GuidSerializer.cs
rename to src/Hyperion/ValueSerializers/GuidSerializer.cs
diff --git a/Hyperion/ValueSerializers/Int16Serializer.cs b/src/Hyperion/ValueSerializers/Int16Serializer.cs
similarity index 100%
rename from Hyperion/ValueSerializers/Int16Serializer.cs
rename to src/Hyperion/ValueSerializers/Int16Serializer.cs
diff --git a/Hyperion/ValueSerializers/Int32Serializer.cs b/src/Hyperion/ValueSerializers/Int32Serializer.cs
similarity index 100%
rename from Hyperion/ValueSerializers/Int32Serializer.cs
rename to src/Hyperion/ValueSerializers/Int32Serializer.cs
diff --git a/Hyperion/ValueSerializers/Int64Serializer.cs b/src/Hyperion/ValueSerializers/Int64Serializer.cs
similarity index 100%
rename from Hyperion/ValueSerializers/Int64Serializer.cs
rename to src/Hyperion/ValueSerializers/Int64Serializer.cs
diff --git a/Hyperion/ValueSerializers/KnownTypeObjectSerializer.cs b/src/Hyperion/ValueSerializers/KnownTypeObjectSerializer.cs
similarity index 100%
rename from Hyperion/ValueSerializers/KnownTypeObjectSerializer.cs
rename to src/Hyperion/ValueSerializers/KnownTypeObjectSerializer.cs
diff --git a/Hyperion/ValueSerializers/NullSerializer.cs b/src/Hyperion/ValueSerializers/NullSerializer.cs
similarity index 100%
rename from Hyperion/ValueSerializers/NullSerializer.cs
rename to src/Hyperion/ValueSerializers/NullSerializer.cs
diff --git a/Hyperion/ValueSerializers/ObjectReferenceSerializer.cs b/src/Hyperion/ValueSerializers/ObjectReferenceSerializer.cs
similarity index 100%
rename from Hyperion/ValueSerializers/ObjectReferenceSerializer.cs
rename to src/Hyperion/ValueSerializers/ObjectReferenceSerializer.cs
diff --git a/Hyperion/ValueSerializers/ObjectSerializer.cs b/src/Hyperion/ValueSerializers/ObjectSerializer.cs
similarity index 100%
rename from Hyperion/ValueSerializers/ObjectSerializer.cs
rename to src/Hyperion/ValueSerializers/ObjectSerializer.cs
diff --git a/Hyperion/ValueSerializers/SByteSerializer.cs b/src/Hyperion/ValueSerializers/SByteSerializer.cs
similarity index 100%
rename from Hyperion/ValueSerializers/SByteSerializer.cs
rename to src/Hyperion/ValueSerializers/SByteSerializer.cs
diff --git a/Hyperion/ValueSerializers/SessionAwareByteArrayRequiringValueSerializer.cs b/src/Hyperion/ValueSerializers/SessionAwareByteArrayRequiringValueSerializer.cs
similarity index 100%
rename from Hyperion/ValueSerializers/SessionAwareByteArrayRequiringValueSerializer.cs
rename to src/Hyperion/ValueSerializers/SessionAwareByteArrayRequiringValueSerializer.cs
diff --git a/Hyperion/ValueSerializers/SessionAwareByteArrayRequiringValueSerializer.cs.orig b/src/Hyperion/ValueSerializers/SessionAwareByteArrayRequiringValueSerializer.cs.orig
similarity index 100%
rename from Hyperion/ValueSerializers/SessionAwareByteArrayRequiringValueSerializer.cs.orig
rename to src/Hyperion/ValueSerializers/SessionAwareByteArrayRequiringValueSerializer.cs.orig
diff --git a/Hyperion/ValueSerializers/SessionIgnorantValueSerializer.cs b/src/Hyperion/ValueSerializers/SessionIgnorantValueSerializer.cs
similarity index 100%
rename from Hyperion/ValueSerializers/SessionIgnorantValueSerializer.cs
rename to src/Hyperion/ValueSerializers/SessionIgnorantValueSerializer.cs
diff --git a/Hyperion/ValueSerializers/StringSerializer.cs b/src/Hyperion/ValueSerializers/StringSerializer.cs
similarity index 100%
rename from Hyperion/ValueSerializers/StringSerializer.cs
rename to src/Hyperion/ValueSerializers/StringSerializer.cs
diff --git a/Hyperion/ValueSerializers/SystemObjectSerializer.cs b/src/Hyperion/ValueSerializers/SystemObjectSerializer.cs
similarity index 100%
rename from Hyperion/ValueSerializers/SystemObjectSerializer.cs
rename to src/Hyperion/ValueSerializers/SystemObjectSerializer.cs
diff --git a/Hyperion/ValueSerializers/ToSurrogateSerializer.cs b/src/Hyperion/ValueSerializers/ToSurrogateSerializer.cs
similarity index 100%
rename from Hyperion/ValueSerializers/ToSurrogateSerializer.cs
rename to src/Hyperion/ValueSerializers/ToSurrogateSerializer.cs
diff --git a/Hyperion/ValueSerializers/TypeSerializer.cs b/src/Hyperion/ValueSerializers/TypeSerializer.cs
similarity index 100%
rename from Hyperion/ValueSerializers/TypeSerializer.cs
rename to src/Hyperion/ValueSerializers/TypeSerializer.cs
diff --git a/Hyperion/ValueSerializers/UInt16Serializer.cs b/src/Hyperion/ValueSerializers/UInt16Serializer.cs
similarity index 100%
rename from Hyperion/ValueSerializers/UInt16Serializer.cs
rename to src/Hyperion/ValueSerializers/UInt16Serializer.cs
diff --git a/Hyperion/ValueSerializers/UInt32Serializer.cs b/src/Hyperion/ValueSerializers/UInt32Serializer.cs
similarity index 100%
rename from Hyperion/ValueSerializers/UInt32Serializer.cs
rename to src/Hyperion/ValueSerializers/UInt32Serializer.cs
diff --git a/Hyperion/ValueSerializers/UInt64Serializer.cs b/src/Hyperion/ValueSerializers/UInt64Serializer.cs
similarity index 100%
rename from Hyperion/ValueSerializers/UInt64Serializer.cs
rename to src/Hyperion/ValueSerializers/UInt64Serializer.cs
diff --git a/Hyperion/ValueSerializers/UnsupportedTypeSerializer.cs b/src/Hyperion/ValueSerializers/UnsupportedTypeSerializer.cs
similarity index 100%
rename from Hyperion/ValueSerializers/UnsupportedTypeSerializer.cs
rename to src/Hyperion/ValueSerializers/UnsupportedTypeSerializer.cs
diff --git a/Hyperion/ValueSerializers/ValueSerializer.cs b/src/Hyperion/ValueSerializers/ValueSerializer.cs
similarity index 100%
rename from Hyperion/ValueSerializers/ValueSerializer.cs
rename to src/Hyperion/ValueSerializers/ValueSerializer.cs
diff --git a/common.props b/src/common.props
similarity index 76%
rename from common.props
rename to src/common.props
index dbd501d2..67f066e7 100644
--- a/common.props
+++ b/src/common.props
@@ -3,15 +3,14 @@
Copyright © 2016-2017 Akka.NET Team
Akka.NET Team
0.9.6
- Placeholder
+ Resolving issues with conflicting binary being downloaded via NuGet with version bump.
http://getakka.net/images/akkalogo.png
-
https://github.com/akkadotnet/Hyperion
https://github.com/akkadotnet/Hyperion/blob/master/LICENSE
$(NoWarn);CS1591
- 2.3.0-beta4-*
+ 2.3.0
15.3.0
\ No newline at end of file