diff --git a/.gitattributes b/.gitattributes
index 2bde29979..269bc192f 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,18 +1,45 @@
-# Auto detect text files and perform LF normalization
+# Catch all for anything we forgot. Add rules if you get CRLF to LF warnings.
* text=auto
-# Custom for Visual Studio
-*.cs diff=csharp
-*.sln text eol=crlf
+# Text files that should be normalized to LF in odb.
+*.cs text eol=lf diff=csharp
+*.xaml text
+*.config text
+*.c text
+*.h text
+*.cpp text
+*.hpp text
-# Standard to msysgit
-*.doc diff=astextplain
-*.DOC diff=astextplain
-*.docx diff=astextplain
-*.DOCX diff=astextplain
-*.dot diff=astextplain
-*.DOT diff=astextplain
-*.pdf diff=astextplain
-*.PDF diff=astextplain
-*.rtf diff=astextplain
-*.RTF diff=astextplain
+*.sln text
+*.csproj text
+*.vcxproj text
+
+*.md text
+*.tt text
+*.sh text
+*.ps1 text
+*.cmd text
+*.bat text
+*.markdown text
+*.msbuild text
+
+
+# Binary files that should not be normalized or diffed
+*.png binary
+*.jpg binary
+*.gif binary
+*.ico binary
+*.rc binary
+
+*.pfx binary
+*.snk binary
+*.dll binary
+*.exe binary
+*.lib binary
+*.exp binary
+*.pdb binary
+*.sdf binary
+*.7z binary
+
+# Generated file should just use CRLF, it's fiiine
+SolutionInfo.cs text eol=crlf diff=csharp
diff --git a/.gitignore b/.gitignore
index b2d4c854c..112c1fdee 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,27 +4,34 @@
# User-specific files
*.suo
*.user
+*.userosscache
*.sln.docstates
+# User-specific files (MonoDevelop/Xamarin Studio)
+*.userprefs
+
# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
+x86/
build/
bld/
[Bb]in/
[Oo]bj/
-# Roslyn cache directories
-*.ide/
+# Visual Studio 2015 cache/options directory
+.vs/
+# Uncomment if you have tasks that create the project's static files in wwwroot
+#wwwroot/
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
-#NUNIT
+# NUNIT
*.VisualState.xml
TestResult.xml
@@ -33,6 +40,12 @@ TestResult.xml
[Rr]eleasePS/
dlldata.c
+# DNX
+*.lock.json
+artifacts/
+*.nuget.props
+*.nuget.targets
+
*_i.c
*_p.c
*_i.h
@@ -65,6 +78,7 @@ _Chutzpah*
ipch/
*.aps
*.ncb
+*.opendb
*.opensdf
*.sdf
*.cachefile
@@ -73,6 +87,7 @@ ipch/
*.psess
*.vsp
*.vspx
+*.sap
# TFS 2012 Local Workspace
$tf/
@@ -85,7 +100,7 @@ _ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user
-# JustCode is a .NET coding addin-in
+# JustCode is a .NET coding add-in
.JustCode
# TeamCity is a build add-in
@@ -97,6 +112,7 @@ _TeamCity*
# NCrunch
_NCrunch_*
.*crunch*.local.xml
+nCrunchTemp_*
# MightyMoose
*.mm.*
@@ -124,36 +140,40 @@ publish/
# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
-## TODO: Comment the next line if you want to checkin your
-## web deploy settings but do note that will include unencrypted
-## passwords
+# TODO: Comment the next line if you want to checkin your web deploy settings
+# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
+*.publishproj
# NuGet Packages
-packages/*
*.nupkg
-## TODO: If the tool you use requires repositories.config
-## uncomment the next line
-!packages/repositories.config
-
-# Enable "build/" folder in the NuGet Packages folder since
-# NuGet packages use it for MSBuild targets.
-# This line needs to be after the ignore of the build folder
-# (and the packages folder if the line above has been uncommented)
-!packages/build/
+# The packages folder can be ignored because of Package Restore
+**/packages/*
+# except build/, which is used as an MSBuild target.
+!**/packages/build/
+# Uncomment if necessary however generally it will be regenerated when needed
+#!**/packages/repositories.config
# Windows Azure Build Output
csx/
*.build.csdef
+# Windows Azure Emulator
+ecf/
+rcf/
+
# Windows Store app package directory
AppPackages/
+BundleArtifacts/
+
+# Visual Studio cache files
+# files ending in .cache can be ignored
+*.[Cc]ache
+# but keep track of directories ending in .cache
+!*.[Cc]ache/
# Others
-sql/
-*.Cache
ClientBin/
-[Ss]tyle[Cc]op.*
~$*
*~
*.dbmdl
@@ -161,6 +181,7 @@ ClientBin/
*.pfx
*.publishsettings
node_modules/
+orleans.codegen.cs
# RIA/Silverlight projects
Generated_Code/
@@ -185,10 +206,36 @@ UpgradeLog*.htm
# Microsoft Fakes
FakesAssemblies/
-# Custom
+# GhostDoc plugin setting file
+*.GhostDoc.xml
-Release/
-AppPackages/
-*.userprefs
+# Node.js Tools for Visual Studio
+.ntvs_analysis.dat
+
+# Visual Studio 6 build log
+*.plg
+
+# Visual Studio 6 workspace options file
+*.opt
+
+# Visual Studio LightSwitch build output
+**/*.HTMLClient/GeneratedArtifacts
+**/*.DesktopClient/GeneratedArtifacts
+**/*.DesktopClient/ModelManifest.xml
+**/*.Server/GeneratedArtifacts
+**/*.Server/ModelManifest.xml
+_Pvt_Extensions
+
+# Paket dependency manager
+.paket/paket.exe
+
+# FAKE - F# Make
+.fake/
+
+# Tools
+tools/
-.DS_Store
+# ReactiveUI
+artifacts/
+src/CommonAssemblyInfo.cs
+src/ReactiveUI.Events/Events_*.cs
diff --git a/.gitmodules b/.gitmodules
deleted file mode 100644
index 9e4b03ccc..000000000
--- a/.gitmodules
+++ /dev/null
@@ -1,3 +0,0 @@
-[submodule "deps/pierce"]
- path = deps/pierce
- url = https://github.com/paulcbetts/pierce.git
diff --git a/.nuget/NuGet.exe b/.nuget/NuGet.exe
deleted file mode 100644
index c41a0d0de..000000000
Binary files a/.nuget/NuGet.exe and /dev/null differ
diff --git a/Akavache.6.0.ReSharper b/Akavache.6.0.ReSharper
deleted file mode 100644
index f47bf156d..000000000
--- a/Akavache.6.0.ReSharper
+++ /dev/null
@@ -1,384 +0,0 @@
-
-
-
-
- SOLUTION
-
-
-
-
-
-
- False
- False
- False
- False
- False
- False
- False
- False
- False
- False
- NEXT_LINE
- NEXT_LINE
- False
- False
- False
- NEXT_LINE
- 1
- 1
- True
-
- - public
- - protected
- - internal
- - private
- - new
- - abstract
- - virtual
- - override
- - sealed
- - static
- - readonly
- - extern
- - unsafe
- - volatile
-
- False
- False
- False
- False
-
-
-
- $object$_On$event$
- $event$Handler
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-]]>
-
-
-
-
-
-
-
-
-
-
-
-
- $object$_On$event$
- $event$Handler
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- $object$_On$event$
- $event$Handler
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Akavache.6.1.ReSharper b/Akavache.6.1.ReSharper
deleted file mode 100644
index 76053da9d..000000000
--- a/Akavache.6.1.ReSharper
+++ /dev/null
@@ -1,383 +0,0 @@
-
-
-
- SOLUTION
-
-
-
-
-
-
- False
- False
- False
- False
- False
- False
- False
- False
- False
- False
- NEXT_LINE
- NEXT_LINE
- False
- False
- False
- NEXT_LINE
- 1
- 1
- True
-
- - public
- - protected
- - internal
- - private
- - new
- - abstract
- - virtual
- - override
- - sealed
- - static
- - readonly
- - extern
- - unsafe
- - volatile
-
- False
- False
- False
- False
-
-
-
- $object$_On$event$
- $event$Handler
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-]]>
-
-
-
-
-
-
-
-
-
-
-
-
- $object$_On$event$
- $event$Handler
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- $object$_On$event$
- $event$Handler
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Akavache.Deprecated/Properties/AssemblyInfo.cs b/Akavache.Deprecated/Properties/AssemblyInfo.cs
deleted file mode 100644
index 3840f8294..000000000
--- a/Akavache.Deprecated/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,38 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("Akavache")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("Akavache")]
-[assembly: AssemblyCopyright("Copyright © 2011")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-
-
-[assembly: InternalsVisibleTo("Akavache.Tests")]
-[assembly: InternalsVisibleTo("Akavache.Sqlite3")]
-[assembly: InternalsVisibleTo("Akavache.Mac")]
-[assembly: InternalsVisibleTo("Akavache.Mobile")]
-[assembly: InternalsVisibleTo("Akavache.Http")]
diff --git a/Akavache.Mobile/Properties/AssemblyInfo.cs b/Akavache.Mobile/Properties/AssemblyInfo.cs
deleted file mode 100644
index 678f069bd..000000000
--- a/Akavache.Mobile/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("Platform specific additions to Akavache")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("Akavache")]
-[assembly: AssemblyCopyright("Copyright © 2012")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("fcf01db6-c782-4773-b9fd-2f9ed197c254")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-
-[assembly: InternalsVisibleTo("Akavache.Tests")]
diff --git a/Akavache.Sqlite3/Properties/AssemblyInfo.cs b/Akavache.Sqlite3/Properties/AssemblyInfo.cs
deleted file mode 100644
index d3ead6e4f..000000000
--- a/Akavache.Sqlite3/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("Akavache SQLite3 implementation")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("Akavache")]
-[assembly: AssemblyCopyright("Copyright © 2012")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-
-[assembly: InternalsVisibleTo("Akavache.Tests")]
diff --git a/Akavache.Tests/Properties/AssemblyInfo.cs b/Akavache.Tests/Properties/AssemblyInfo.cs
deleted file mode 100644
index 55c48937a..000000000
--- a/Akavache.Tests/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright © 2011
-
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("Akavache.Tests")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("Akavache.Tests")]
-[assembly: AssemblyCopyright("Copyright © 2011")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("97bda199-5421-449d-b88e-1097aee3c3ce")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Revision and Build Numbers
-// by using the '*' as shown below:
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
\ No newline at end of file
diff --git a/Akavache/Properties/AssemblyInfo.cs b/Akavache/Properties/AssemblyInfo.cs
deleted file mode 100644
index 646887f5b..000000000
--- a/Akavache/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("Akavache")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("Akavache")]
-[assembly: AssemblyCopyright("Copyright © 2011")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-
-[assembly: InternalsVisibleTo("Akavache.Tests")]
-[assembly: InternalsVisibleTo("Akavache.Sqlite3")]
-[assembly: InternalsVisibleTo("Akavache.Mac")]
-[assembly: InternalsVisibleTo("Akavache.Mobile")]
-[assembly: InternalsVisibleTo("Akavache.Deprecated")]
\ No newline at end of file
diff --git a/BuildPC.cmd b/BuildPC.cmd
deleted file mode 100644
index c5482bd4d..000000000
--- a/BuildPC.cmd
+++ /dev/null
@@ -1 +0,0 @@
-msbuild Akavache.sln /p:Configuration=Release /p:Platform="Any CPU"
\ No newline at end of file
diff --git a/CleanFolders.ps1 b/CleanFolders.ps1
deleted file mode 100644
index 5e561679f..000000000
--- a/CleanFolders.ps1
+++ /dev/null
@@ -1,7 +0,0 @@
-$dirs = Get-ChildItem .\ -include bin,obj -Recurse
-
-foreach ($dir in $dirs)
-{
- Write-Host "Removing $dir"
- Remove-Item $dir.FullName -Force -Recurse
-}
\ No newline at end of file
diff --git a/CommonAssemblyInfo.cs b/CommonAssemblyInfo.cs
deleted file mode 100644
index 6e6a5cd6a..000000000
--- a/CommonAssemblyInfo.cs
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-using System.Reflection;
-
-[assembly: AssemblyVersion("4.1.2")]
-[assembly: AssemblyFileVersion("4.1.2")]
diff --git a/MakeRelease.ps1 b/MakeRelease.ps1
deleted file mode 100644
index 51598363a..000000000
--- a/MakeRelease.ps1
+++ /dev/null
@@ -1,68 +0,0 @@
-Param([string]$version = $null)
-
-$Archs = { "Net45","WP8", "MonoMac", "Monoandroid", "Monotouch", "Portable-Net45+Win8+WP8+Wpa81", "Portable-Win81+Wpa81", "Xamarin.iOS10", "Xamarin.Mac10" }
-$Projects = {"Akavache", "Akavache.Sqlite3", "Akavache.Mobile", "Akavache.Deprecated" }
-
-$SlnFileExists = Test-Path ".\Akavache.sln"
-if ($SlnFileExists -eq $False) {
- echo "*** ERROR: Run this in the project root ***"
- exit -1
-}
-
-$MSBuildLocation = "C:\Program Files (x86)\MSBuild\12.0\bin"
-
-& ".\.nuget\NuGet.exe" restore .\Akavache.sln
-& "$MSBuildLocation\MSBuild.exe" /t:Rebuild /p:Configuration=Release /p:Platform="Any CPU" /maxcpucount:1 .\Akavache.sln
-
-
-###
-### Build the Release directory
-###
-
-if (Test-Path .\Release) {
- rmdir -r -force .\Release
-}
-
-# Update Nuspecs if we have a version
-if($version) {
- $nuspecs = ls -r Akavache*.nuspec
-
- foreach($nuspec in $nuspecs) {
- $xml = New-Object XML
- $xml.Load($nuspec)
-
- # specify NS
- $nsMgr = New-Object System.Xml.XmlNamespaceManager($xml.NameTable)
- $nsMgr.AddNamespace("ns", "http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd")
-
- # PowerShell makes editing XML docs so easy!
- $xml.package.metadata.version = "$version-beta"
-
- # get the akavache dependencies and update them
- $deps = $xml.SelectNodes("//ns:dependency[contains(@id, 'akavache')]", $nsMgr)
- foreach($dep in $deps) {
- $dep.version = "[" + $version + "-beta]"
- }
-
- $xml.Save($nuspec)
- }
-}
-
-foreach-object $Archs | %{mkdir -Path ".\Release\$_"}
-
-foreach-object $Archs | %{
- $currentArch = $_
-
- foreach-object $Projects | %{cp -r -fo ".\$_\bin\Release\$currentArch\*" ".\Release\$currentArch"}
-
- #ls -r | ?{$_.FullName.Contains("bin\Release\$currentArch") -and $_.Length} | %{echo cp $_.FullName ".\Release\$currentArch"}
-}
-
-ls -r .\Release | ?{$_.FullName.Contains("Clousot")} | %{rm $_.FullName}
-
-$specFiles = ls -r [Aa]kavache*.nuspec
-$specFiles | %{.\.nuget\NuGet.exe pack -symbols $_.FullName}
-
-$packages = ls -r Akavache*.nupkg
-
-$packages | %{mv $_.FullName .\Release}
diff --git a/Makefile b/Makefile
deleted file mode 100644
index e9ba819b6..000000000
--- a/Makefile
+++ /dev/null
@@ -1,12 +0,0 @@
-MDTOOL ?= /Applications/Xamarin\ Studio.app/Contents/MacOS/mdtool
-
-.PHONY: all clean
-
-all: Akavache.dll
-
-Akavache.dll:
- /usr/bin/env mono ./.nuget/NuGet.exe restore ./Akavache_XSAll.sln
- $(MDTOOL) build -c:Release Akavache_XSAll.sln
-
-clean:
- $(MDTOOL) build -t:Clean -c:Release Akavache_XSAll.sln
diff --git a/PACKAGING.md b/PACKAGING.md
deleted file mode 100644
index e77e715dc..000000000
--- a/PACKAGING.md
+++ /dev/null
@@ -1,16 +0,0 @@
-## How to ship an Akavache release
-
-1. Bump the version in all the `nuspec` files
-1. Bump the required ReactiveUI version in the `nuspec` file if necessary
-1. Bump the version in all the `AssemblyInfo.cs` files
-1. `msbuild Akavache.sln /p:Configuration=Release`
-1. `mono ext/tools/xamarin-component.exe package component`
-1. Run `nuget.exe pack` on the three .nuspec files (i.e. `Akavache`,
- `Akavache.Sqlite3`, and `Akavache.Mobile`)
-1. Run `nuget.exe push` on the three new nupkg files
-1. Run the MakeRelease.ps1, zip up the folders in the `Release` directory into a
- file called `Akavache x.y.z.zip` (where `x.y.z` is the version)
-1. Commit everything, make a tag: `git tag -a -m "Akavache x.y.z" x.y.z HEAD;
- git push --tags`
-1. Create an entry on Releases
-1. Publish to the Xamarin Component Store
diff --git a/README.md b/README.md
index 87d46e49a..b557bfbd1 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,5 @@
-## Akavache: An Asynchronous Key-Value Store for Native Applications
+## Akavache: An Asynchronous Key-Value Store for Native Applications [![Build status](https://ci.appveyor.com/api/projects/status/4kret7d2wqtd47dk/branch/akavache5-master?svg=true)](https://ci.appveyor.com/project/ghuntley/akavache/branch/akavache5-master)
+
Akavache is an *asynchronous*, *persistent* (i.e. writes to disk) key-value
store created for writing desktop and mobile applications in C#, based on
@@ -11,12 +12,13 @@ settings) as well as cached local data that expires.
Akavache is currently compatible with:
-* Xamarin.iOS / Xamarin.Mac 32-bit
+* Xamarin.iOS / Xamarin.Mac
* Xamarin.Android
* .NET 4.5 Desktop (WPF)
* Windows Phone 8
* WinRT (Windows Store)
* Windows Phone 8.1 Universal Apps
+* Windows 10 (Universal Windows Platform)
### What does that mean?
@@ -40,7 +42,7 @@ added to support:
## Platform-specific notes
-* **Xamarin.iOS / Xamarin.Mac 32-bit** - No issues.
+* **Xamarin.iOS / Xamarin.Mac** - No issues.
* **Xamarin.Android** - No issues.
@@ -61,6 +63,11 @@ added to support:
loading correctly. You must *also* ensure that the Microsoft Visual C++ runtime
is added to your project.
+* **Windows 10 (Universal Windows Platform)** - You must mark your application as `x86`
+ or `ARM`, or else you will get a strange runtime error about SQLitePCL_Raw not
+ loading correctly. You must *also* ensure that the Microsoft Visual C++ runtime
+ is added to your project.
+
### Getting Started
Interacting with Akavache is primarily done through an object called
diff --git a/RELEASENOTES.md b/RELEASENOTES.md
new file mode 100644
index 000000000..e71318db5
--- /dev/null
+++ b/RELEASENOTES.md
@@ -0,0 +1,10 @@
+### 5.0.0
+
+**Breaking Changes**
+
+
+**Bug Fixes**
+
+
+**Features**
+
diff --git a/appveyor.yml b/appveyor.yml
new file mode 100644
index 000000000..1e8b15c84
--- /dev/null
+++ b/appveyor.yml
@@ -0,0 +1,13 @@
+version: 1.0.{build}
+environment:
+ NUGET_SOURCE: https://www.myget.org/F/akavache/api/v2/package
+ NUGET_APIKEY:
+ secure: YP/3KxC2ffsuHNaolPXj66JVGzSjON9FcR2S2OEzn9c6SV14oPzUh1ySyeT+G+aA
+build_script:
+- ps: >-
+ ./bootstrap.ps1
+
+ ./build.cmd
+artifacts:
+- path: artifacts/*
+- path: '**/bin/*'
\ No newline at end of file
diff --git a/Logo.psd b/assets/Logo.psd
similarity index 100%
rename from Logo.psd
rename to assets/Logo.psd
diff --git a/bootstrap.ps1 b/bootstrap.ps1
new file mode 100644
index 000000000..99ded0ada
--- /dev/null
+++ b/bootstrap.ps1
@@ -0,0 +1,56 @@
+set-strictmode -version 2.0
+$ErrorActionPreference="Stop"
+
+$AndroidToolPath = "${env:ProgramFiles(x86)}\Android\android-sdk\tools\android"
+#$AndroidToolPath = "$env:localappdata\Android\android-sdk\tools\android"
+
+Function Get-AllAndroidSDKs() {
+ $output = & $AndroidToolPath list sdk --all
+ $sdks = $output |% {
+ if ($_ -match '(?\d+)- (?.+), revision (?[\d\.]+)') {
+ $sdk = New-Object PSObject
+ Add-Member -InputObject $sdk -MemberType NoteProperty -Name Index -Value $Matches.index
+ Add-Member -InputObject $sdk -MemberType NoteProperty -Name Name -Value $Matches.sdk
+ Add-Member -InputObject $sdk -MemberType NoteProperty -Name Revision -Value $Matches.revision
+ $sdk
+ }
+ }
+ $sdks
+}
+
+Function Execute-AndroidSDKInstall() {
+ [CmdletBinding()]
+ Param(
+ [Parameter(Mandatory=$true, Position=0)]
+ [PSObject[]]$sdks
+ )
+
+ $sdkIndexes = $sdks |% { $_.Index }
+ $sdkIndexArgument = [string]::Join(',', $sdkIndexes)
+ Echo 'y' | & $AndroidToolPath update sdk -u -a -t $sdkIndexArgument
+}
+
+Function Install-AndroidSDK
+{
+ param([string]$Level)
+
+ $sdks = Get-AllAndroidSDKs |? { $_.name -like "sdk platform*API $Level*" -or $_.name -like "google apis*api $Level" }
+ Execute-AndroidSDKInstall -sdks $sdks
+}
+
+#Install-AndroidSDK 10
+#Install-AndroidSDK 11
+#Install-AndroidSDK 12
+#Install-AndroidSDK 13
+#Install-AndroidSDK 14
+Install-AndroidSDK 15
+Install-AndroidSDK 16
+#Install-AndroidSDK 18
+#Install-AndroidSDK 19
+#Install-AndroidSDK 20
+#Install-AndroidSDK 21
+#Install-AndroidSDK 20
+#Install-AndroidSDK 21
+#Install-AndroidSDK 22
+#Install-AndroidSDK 23
+#Install-AndroidSDK 24
diff --git a/build.cake b/build.cake
new file mode 100644
index 000000000..05a085a01
--- /dev/null
+++ b/build.cake
@@ -0,0 +1,256 @@
+//////////////////////////////////////////////////////////////////////
+// ADDINS
+//////////////////////////////////////////////////////////////////////
+
+#addin "Cake.FileHelpers"
+
+//////////////////////////////////////////////////////////////////////
+// TOOLS
+//////////////////////////////////////////////////////////////////////
+
+#tool GitVersion.CommandLine
+#tool GitLink
+
+//////////////////////////////////////////////////////////////////////
+// ARGUMENTS
+//////////////////////////////////////////////////////////////////////
+
+var target = Argument("target", "Default");
+if (string.IsNullOrWhiteSpace(target))
+{
+ target = "Default";
+}
+
+//////////////////////////////////////////////////////////////////////
+// PREPARATION
+//////////////////////////////////////////////////////////////////////
+
+// should MSBuild & GitLink treat any errors as warnings.
+var treatWarningsAsErrors = false;
+
+// Get whether or not this is a local build.
+var local = BuildSystem.IsLocalBuild;
+var isRunningOnUnix = IsRunningOnUnix();
+var isRunningOnWindows = IsRunningOnWindows();
+
+//var isRunningOnBitrise = Bitrise.IsRunningOnBitrise;
+var isRunningOnAppVeyor = AppVeyor.IsRunningOnAppVeyor;
+var isPullRequest = AppVeyor.Environment.PullRequest.IsPullRequest;
+
+var isRepository = StringComparer.OrdinalIgnoreCase.Equals("akavache/akavache", AppVeyor.Environment.Repository.Name);
+
+// Parse release notes.
+var releaseNotes = ParseReleaseNotes("RELEASENOTES.md");
+
+// Get version.
+var version = releaseNotes.Version.ToString();
+var epoch = (long)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds;
+var gitSha = GitVersion().Sha;
+
+var semVersion = local ? string.Format("{0}.{1}", version, epoch) : string.Format("{0}.{1}", version, epoch);
+
+// Define directories.
+var artifactDirectory = "./artifacts/";
+
+// Define global marcos.
+Action Abort = () => { throw new Exception("a non-recoverable fatal error occurred."); };
+
+Action RestorePackages = (solution) =>
+{
+ NuGetRestore(solution);
+};
+
+Action Package = (nuspec, basePath) =>
+{
+ CreateDirectory(artifactDirectory);
+
+ Information("Packaging {0} using {1} as the BasePath.", nuspec, basePath);
+
+ NuGetPack(nuspec, new NuGetPackSettings {
+ Authors = new [] { "Paul Betts" },
+ Owners = new [] { "paulcbetts" },
+
+ ProjectUrl = new Uri("https://github.com/akavache/akavache/"),
+ IconUrl = new Uri("https://avatars0.githubusercontent.com/u/5924219?v=3&s=200"),
+ LicenseUrl = new Uri("https://opensource.org/licenses/MIT"),
+ Copyright = "Copyright (c) GitHub",
+ RequireLicenseAcceptance = false,
+
+ Version = semVersion,
+ Tags = new [] { "Akavache", "Cache", "Xamarin", "Sqlite3", "Magic" },
+ ReleaseNotes = new List(releaseNotes.Notes),
+
+ Symbols = true,
+ Verbosity = NuGetVerbosity.Detailed,
+ OutputDirectory = artifactDirectory,
+ BasePath = basePath,
+ });
+};
+
+Action SourceLink = (solutionFileName) =>
+{
+ GitLink("./", new GitLinkSettings() {
+ RepositoryUrl = "https://github.com/akavache/akavache",
+ SolutionFileName = solutionFileName,
+
+ // nb: I would love to set this to `treatErrorsAsWarnings` which defaults to `false` but GitLink trips over Akavache.Tests :/
+ // Handling project 'Akavache.Tests'
+ // No pdb file found for 'Akavache.Tests', is project built in 'Release' mode with pdb files enabled? Expected file is 'C:\Dropbox\OSS\akavache\Akavache\src\Akavache.Tests\Akavache.Tests.pdb'
+ ErrorsAsWarnings = true,
+ });
+};
+
+
+///////////////////////////////////////////////////////////////////////////////
+// SETUP / TEARDOWN
+///////////////////////////////////////////////////////////////////////////////
+Setup(() =>
+{
+ Information("Building version {0} of Akavache.", semVersion);
+});
+
+Teardown(() =>
+{
+ // Executed AFTER the last task.
+});
+
+//////////////////////////////////////////////////////////////////////
+// TASKS
+//////////////////////////////////////////////////////////////////////
+
+Task("Build")
+ .IsDependentOn("RestorePackages")
+ .IsDependentOn("UpdateAssemblyInfo")
+ .Does (() =>
+{
+ Action build = (filename) =>
+ {
+ var solution = System.IO.Path.Combine("./src/", filename);
+
+ // UWP (project.json) needs to be restored before it will build.
+ RestorePackages(solution);
+
+ Information("Building {0}", solution);
+
+ MSBuild(solution, new MSBuildSettings()
+ .SetConfiguration("Release")
+ .WithProperty("NoWarn", "1591") // ignore missing XML doc warnings
+ .WithProperty("TreatWarningsAsErrors", treatWarningsAsErrors.ToString())
+ .SetVerbosity(Verbosity.Minimal)
+ .SetNodeReuse(false));
+
+ SourceLink(solution);
+ };
+
+ build("Akavache.sln");
+});
+
+Task("UpdateAppVeyorBuildNumber")
+ .WithCriteria(() => isRunningOnAppVeyor)
+ .Does(() =>
+{
+ AppVeyor.UpdateBuildVersion(semVersion);
+});
+
+Task("UpdateAssemblyInfo")
+ .IsDependentOn("UpdateAppVeyorBuildNumber")
+ .Does (() =>
+{
+ var file = "./src/CommonAssemblyInfo.cs";
+
+ CreateAssemblyInfo(file, new AssemblyInfoSettings {
+ Product = "Akavache",
+ Version = version,
+ FileVersion = version,
+ InformationalVersion = semVersion,
+ Copyright = "Copyright (c) Paul Betts"
+ });
+});
+
+Task("RestorePackages").Does (() =>
+{
+ RestorePackages("./src/Akavache.sln");
+});
+
+Task("RunUnitTests")
+ .IsDependentOn("Build")
+ .Does(() =>
+{
+ // XUnit2("./src/Akavache.Tests/bin/x64/Release/Akavache.Tests.dll", new XUnit2Settings {
+ // OutputDirectory = artifactDirectory,
+ // XmlReportV1 = false,
+ // NoAppDomain = true
+ // });
+});
+
+Task("Package")
+ .IsDependentOn("Build")
+ .IsDependentOn("RunUnitTests")
+ .Does (() =>
+{
+ Package("./src/Akavache.nuspec", "./");
+ Package("./src/Akavache.Core.nuspec", "./src/Akavache");
+ Package("./src/Akavache.Deprecated.nuspec", "./src/Akavache.Deprecated");
+ Package("./src/Akavache.Mobile.nuspec", "./src/Akavache.Mobile");
+ Package("./src/Akavache.Sqlite3.nuspec", "./src/Akavache.Sqlite3");
+});
+
+Task("Publish")
+ .IsDependentOn("RunUnitTests")
+ .IsDependentOn("Package")
+ .WithCriteria(() => !local)
+ .WithCriteria(() => !isPullRequest)
+ .WithCriteria(() => isRepository)
+ .Does (() =>
+{
+ // Resolve the API key.
+ var apiKey = EnvironmentVariable("NUGET_APIKEY");
+ if (string.IsNullOrEmpty(apiKey))
+ {
+ throw new Exception("The NUGET_APIKEY environment variable is not defined.");
+ }
+
+ var source = EnvironmentVariable("NUGET_SOURCE");
+ if (string.IsNullOrEmpty(source))
+ {
+ throw new Exception("The NUGET_SOURCE environment variable is not defined.");
+ }
+
+ // only push whitelisted packages.
+ foreach(var package in new[] { "Akavache", "Akavache.Core", "Akavache.Deprecated", "Akavache.Mobile", "Akavache.Sqlite3" })
+ {
+ // only push the package which was created during this build run.
+ var packagePath = artifactDirectory + File(string.Concat(package, ".", semVersion, ".nupkg"));
+ var symbolsPath = artifactDirectory + File(string.Concat(package, ".", semVersion, ".symbols.nupkg"));
+
+ // Push the package.
+ NuGetPush(packagePath, new NuGetPushSettings {
+ Source = source,
+ ApiKey = apiKey
+ });
+
+ // Push the symbols
+ NuGetPush(symbolsPath, new NuGetPushSettings {
+ Source = source,
+ ApiKey = apiKey
+ });
+
+ }
+});
+
+//////////////////////////////////////////////////////////////////////
+// TASK TARGETS
+//////////////////////////////////////////////////////////////////////
+
+Task("Default")
+ .IsDependentOn("Package")
+ .Does (() =>
+{
+});
+
+
+//////////////////////////////////////////////////////////////////////
+// EXECUTION
+//////////////////////////////////////////////////////////////////////
+
+RunTarget(target);
diff --git a/build.cmd b/build.cmd
new file mode 100644
index 000000000..dae70d460
--- /dev/null
+++ b/build.cmd
@@ -0,0 +1,8 @@
+@echo off
+tools\nuget\nuget.exe update -self
+tools\nuget\nuget.exe install xunit.runner.console -OutputDirectory tools -ExcludeVersion
+tools\nuget\nuget.exe install Cake -OutputDirectory tools -ExcludeVersion
+
+tools\Cake\Cake.exe build.cake --target=%1
+
+exit /b %errorlevel%
diff --git a/Akavache/akavache.nuspec b/src/Akavache.Core.nuspec
similarity index 79%
rename from Akavache/akavache.nuspec
rename to src/Akavache.Core.nuspec
index e4e2fa660..bba78cb1c 100644
--- a/Akavache/akavache.nuspec
+++ b/src/Akavache.Core.nuspec
@@ -1,11 +1,7 @@
- 4.1.2
- GitHub
- Paul Betts
- https://github.com/github/Akavache/blob/master/LICENSE
- https://github.com/github/Akavache
+ $version$
@@ -36,20 +32,18 @@
akavache.core
Akavache.Core
- false
An asynchronous, persistent key-value store for desktop and mobile applications on .NET
An asynchronous, persistent key-value store for desktop and mobile applications on .NET
- Copyright GitHub© 2012
-
-
-
+
+
+
diff --git a/Akavache.Deprecated/Akavache.Deprecated.nuspec b/src/Akavache.Deprecated.nuspec
similarity index 65%
rename from Akavache.Deprecated/Akavache.Deprecated.nuspec
rename to src/Akavache.Deprecated.nuspec
index f3b36ac0a..7ecdf9a55 100644
--- a/Akavache.Deprecated/Akavache.Deprecated.nuspec
+++ b/src/Akavache.Deprecated.nuspec
@@ -1,23 +1,20 @@
- 4.1.2
- GitHub
- Paul Betts
- https://github.com/github/Akavache/blob/master/LICENSE
- https://github.com/github/Akavache
+ $version$
akavache.deprecated
Akavache.Deprecated
- false
The deprecated, filesystem-based backend for Akavache
The deprecated, filesystem-based backend for Akavache
- Copyright GitHub© 2012
+
+
+
diff --git a/Akavache.Deprecated/Akavache.Deprecated.csproj b/src/Akavache.Deprecated/Akavache.Deprecated.csproj
similarity index 100%
rename from Akavache.Deprecated/Akavache.Deprecated.csproj
rename to src/Akavache.Deprecated/Akavache.Deprecated.csproj
diff --git a/Akavache.Deprecated/EncryptedBlobCache.cs b/src/Akavache.Deprecated/EncryptedBlobCache.cs
similarity index 100%
rename from Akavache.Deprecated/EncryptedBlobCache.cs
rename to src/Akavache.Deprecated/EncryptedBlobCache.cs
diff --git a/Akavache.Deprecated/PersistentBlobCache.cs b/src/Akavache.Deprecated/PersistentBlobCache.cs
similarity index 100%
rename from Akavache.Deprecated/PersistentBlobCache.cs
rename to src/Akavache.Deprecated/PersistentBlobCache.cs
diff --git a/src/Akavache.Deprecated/Properties/AssemblyInfo.cs b/src/Akavache.Deprecated/Properties/AssemblyInfo.cs
new file mode 100644
index 000000000..b2de87ee8
--- /dev/null
+++ b/src/Akavache.Deprecated/Properties/AssemblyInfo.cs
@@ -0,0 +1,9 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+[assembly: InternalsVisibleTo("Akavache.Tests")]
+[assembly: InternalsVisibleTo("Akavache.Sqlite3")]
+[assembly: InternalsVisibleTo("Akavache.Mac")]
+[assembly: InternalsVisibleTo("Akavache.Mobile")]
+[assembly: InternalsVisibleTo("Akavache.Http")]
diff --git a/Akavache.Deprecated/Registrations.cs b/src/Akavache.Deprecated/Registrations.cs
similarity index 100%
rename from Akavache.Deprecated/Registrations.cs
rename to src/Akavache.Deprecated/Registrations.cs
diff --git a/Akavache.Deprecated/packages.Akavache.Deprecated.config b/src/Akavache.Deprecated/packages.Akavache.Deprecated.config
similarity index 100%
rename from Akavache.Deprecated/packages.Akavache.Deprecated.config
rename to src/Akavache.Deprecated/packages.Akavache.Deprecated.config
diff --git a/Akavache.Mobile/Akavache.Mobile.nuspec b/src/Akavache.Mobile.nuspec
similarity index 57%
rename from Akavache.Mobile/Akavache.Mobile.nuspec
rename to src/Akavache.Mobile.nuspec
index 9d1cff599..62781ff8b 100644
--- a/Akavache.Mobile/Akavache.Mobile.nuspec
+++ b/src/Akavache.Mobile.nuspec
@@ -1,26 +1,22 @@
- 4.1.2
- GitHub
- Paul Betts
- https://github.com/github/Akavache
+ $version$
-
+
- https://raw.github.com/github/Akavache/master/LICENSE
- false
akavache.mobile
Akavache.Mobile
An implementation of ISuspensionDriver that uses Akavache to save app state on tombstoning.
An implementation of ISuspensionDriver that uses Akavache to save app state on tombstoning.
- Copyright GitHub© 2012
-
-
+
+
+
+
diff --git a/Akavache.Mobile/Akavache.Mobile_Monodroid.csproj b/src/Akavache.Mobile/Akavache.Mobile_Monodroid.csproj
similarity index 100%
rename from Akavache.Mobile/Akavache.Mobile_Monodroid.csproj
rename to src/Akavache.Mobile/Akavache.Mobile_Monodroid.csproj
diff --git a/Akavache.Mobile/Akavache.Mobile_WP8.csproj b/src/Akavache.Mobile/Akavache.Mobile_WP8.csproj
similarity index 96%
rename from Akavache.Mobile/Akavache.Mobile_WP8.csproj
rename to src/Akavache.Mobile/Akavache.Mobile_WP8.csproj
index f897820ab..8a43ad8d8 100644
--- a/Akavache.Mobile/Akavache.Mobile_WP8.csproj
+++ b/src/Akavache.Mobile/Akavache.Mobile_WP8.csproj
@@ -56,12 +56,6 @@
-
-
- {A54279A3-3457-41DB-9166-67E05FD0E0B1}
- Akavache_WP8
-
-
..\packages\Newtonsoft.Json.6.0.3\lib\portable-net45+wp80+win8+wpa81\Newtonsoft.Json.dll
@@ -113,4 +107,4 @@
-->
-
+
\ No newline at end of file
diff --git a/Akavache.Mobile/Akavache.Mobile_WinRT.csproj b/src/Akavache.Mobile/Akavache.Mobile_WinRT.csproj
similarity index 100%
rename from Akavache.Mobile/Akavache.Mobile_WinRT.csproj
rename to src/Akavache.Mobile/Akavache.Mobile_WinRT.csproj
diff --git a/Akavache.Mobile/Akavache.Mobile_XamarinIOS.csproj b/src/Akavache.Mobile/Akavache.Mobile_XamarinIOS.csproj
similarity index 100%
rename from Akavache.Mobile/Akavache.Mobile_XamarinIOS.csproj
rename to src/Akavache.Mobile/Akavache.Mobile_XamarinIOS.csproj
diff --git a/Akavache.Mobile/AkavacheDriver.cs b/src/Akavache.Mobile/AkavacheDriver.cs
similarity index 100%
rename from Akavache.Mobile/AkavacheDriver.cs
rename to src/Akavache.Mobile/AkavacheDriver.cs
diff --git a/src/Akavache.Mobile/Properties/AssemblyInfo.cs b/src/Akavache.Mobile/Properties/AssemblyInfo.cs
new file mode 100644
index 000000000..527ad6b25
--- /dev/null
+++ b/src/Akavache.Mobile/Properties/AssemblyInfo.cs
@@ -0,0 +1,5 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+[assembly: InternalsVisibleTo("Akavache.Tests")]
diff --git a/Akavache.Mobile/Registrations.cs b/src/Akavache.Mobile/Registrations.cs
similarity index 100%
rename from Akavache.Mobile/Registrations.cs
rename to src/Akavache.Mobile/Registrations.cs
diff --git a/Akavache.Mobile/packages.Akavache.Mobile_Monodroid.config b/src/Akavache.Mobile/packages.Akavache.Mobile_Monodroid.config
similarity index 100%
rename from Akavache.Mobile/packages.Akavache.Mobile_Monodroid.config
rename to src/Akavache.Mobile/packages.Akavache.Mobile_Monodroid.config
diff --git a/Akavache.Mobile/packages.Akavache.Mobile_Monotouch.config b/src/Akavache.Mobile/packages.Akavache.Mobile_Monotouch.config
similarity index 100%
rename from Akavache.Mobile/packages.Akavache.Mobile_Monotouch.config
rename to src/Akavache.Mobile/packages.Akavache.Mobile_Monotouch.config
diff --git a/Akavache.Mobile/packages.Akavache.Mobile_WP8.config b/src/Akavache.Mobile/packages.Akavache.Mobile_WP8.config
similarity index 100%
rename from Akavache.Mobile/packages.Akavache.Mobile_WP8.config
rename to src/Akavache.Mobile/packages.Akavache.Mobile_WP8.config
diff --git a/Akavache.Mobile/packages.Akavache.Mobile_WinRT.config b/src/Akavache.Mobile/packages.Akavache.Mobile_WinRT.config
similarity index 100%
rename from Akavache.Mobile/packages.Akavache.Mobile_WinRT.config
rename to src/Akavache.Mobile/packages.Akavache.Mobile_WinRT.config
diff --git a/Akavache.Sqlite3/Akavache.Sqlite3.nuspec b/src/Akavache.Sqlite3.nuspec
similarity index 57%
rename from Akavache.Sqlite3/Akavache.Sqlite3.nuspec
rename to src/Akavache.Sqlite3.nuspec
index 31296fe1d..e54623cca 100644
--- a/Akavache.Sqlite3/Akavache.Sqlite3.nuspec
+++ b/src/Akavache.Sqlite3.nuspec
@@ -1,24 +1,21 @@
- 4.1.2
- GitHub
- Paul Betts
- https://github.com/github/Akavache
+ $version$
-
-
+
+
- https://raw.github.com/github/Akavache/master/LICENSE
- false
akavache.sqlite3
Akavache.SQLite3
A backend for Akavache based on SQLite3, particularly recommended on mobile platforms.
A backend for Akavache based on SQLite3, particularly recommended on mobile platforms.
- Copyright GitHub© 2012
+
+
+
diff --git a/Akavache.Sqlite3/Akavache.Sqlite3.csproj b/src/Akavache.Sqlite3/Akavache.Sqlite3.csproj
similarity index 100%
rename from Akavache.Sqlite3/Akavache.Sqlite3.csproj
rename to src/Akavache.Sqlite3/Akavache.Sqlite3.csproj
diff --git a/Akavache.Sqlite3/AsyncLock.cs b/src/Akavache.Sqlite3/AsyncLock.cs
similarity index 100%
rename from Akavache.Sqlite3/AsyncLock.cs
rename to src/Akavache.Sqlite3/AsyncLock.cs
diff --git a/Akavache.Sqlite3/BlockingCollection.cs b/src/Akavache.Sqlite3/BlockingCollection.cs
similarity index 100%
rename from Akavache.Sqlite3/BlockingCollection.cs
rename to src/Akavache.Sqlite3/BlockingCollection.cs
diff --git a/Akavache.Sqlite3/EncryptedBlobCache.cs b/src/Akavache.Sqlite3/EncryptedBlobCache.cs
similarity index 100%
rename from Akavache.Sqlite3/EncryptedBlobCache.cs
rename to src/Akavache.Sqlite3/EncryptedBlobCache.cs
diff --git a/Akavache.Sqlite3/OperationQueue.cs b/src/Akavache.Sqlite3/OperationQueue.cs
similarity index 100%
rename from Akavache.Sqlite3/OperationQueue.cs
rename to src/Akavache.Sqlite3/OperationQueue.cs
diff --git a/Akavache.Sqlite3/OperationQueueCoalescing.cs b/src/Akavache.Sqlite3/OperationQueueCoalescing.cs
similarity index 100%
rename from Akavache.Sqlite3/OperationQueueCoalescing.cs
rename to src/Akavache.Sqlite3/OperationQueueCoalescing.cs
diff --git a/Akavache.Sqlite3/Operations.cs b/src/Akavache.Sqlite3/Operations.cs
similarity index 100%
rename from Akavache.Sqlite3/Operations.cs
rename to src/Akavache.Sqlite3/Operations.cs
diff --git a/Akavache.Sqlite3/PerformanceGraphs.xlsx b/src/Akavache.Sqlite3/PerformanceGraphs.xlsx
similarity index 100%
rename from Akavache.Sqlite3/PerformanceGraphs.xlsx
rename to src/Akavache.Sqlite3/PerformanceGraphs.xlsx
diff --git a/src/Akavache.Sqlite3/Properties/AssemblyInfo.cs b/src/Akavache.Sqlite3/Properties/AssemblyInfo.cs
new file mode 100644
index 000000000..527ad6b25
--- /dev/null
+++ b/src/Akavache.Sqlite3/Properties/AssemblyInfo.cs
@@ -0,0 +1,5 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+[assembly: InternalsVisibleTo("Akavache.Tests")]
diff --git a/Akavache.Sqlite3/Registrations.cs b/src/Akavache.Sqlite3/Registrations.cs
similarity index 100%
rename from Akavache.Sqlite3/Registrations.cs
rename to src/Akavache.Sqlite3/Registrations.cs
diff --git a/Akavache.Sqlite3/SQLite.cs b/src/Akavache.Sqlite3/SQLite.cs
similarity index 100%
rename from Akavache.Sqlite3/SQLite.cs
rename to src/Akavache.Sqlite3/SQLite.cs
diff --git a/Akavache.Sqlite3/SQLiteEncryptedBlobCache.cs b/src/Akavache.Sqlite3/SQLiteEncryptedBlobCache.cs
similarity index 100%
rename from Akavache.Sqlite3/SQLiteEncryptedBlobCache.cs
rename to src/Akavache.Sqlite3/SQLiteEncryptedBlobCache.cs
diff --git a/Akavache.Sqlite3/SqlitePersistentBlobCacheNext.cs b/src/Akavache.Sqlite3/SqlitePersistentBlobCacheNext.cs
similarity index 100%
rename from Akavache.Sqlite3/SqlitePersistentBlobCacheNext.cs
rename to src/Akavache.Sqlite3/SqlitePersistentBlobCacheNext.cs
diff --git a/Akavache.Sqlite3/content/AkavacheSqliteLinkerOverride.cs.pp b/src/Akavache.Sqlite3/content/AkavacheSqliteLinkerOverride.cs.pp
similarity index 100%
rename from Akavache.Sqlite3/content/AkavacheSqliteLinkerOverride.cs.pp
rename to src/Akavache.Sqlite3/content/AkavacheSqliteLinkerOverride.cs.pp
diff --git a/Akavache.Sqlite3/packages.Akavache.Sqlite3.config b/src/Akavache.Sqlite3/packages.Akavache.Sqlite3.config
similarity index 100%
rename from Akavache.Sqlite3/packages.Akavache.Sqlite3.config
rename to src/Akavache.Sqlite3/packages.Akavache.Sqlite3.config
diff --git a/Akavache.Sqlite3/sqlite-ng-notes.md b/src/Akavache.Sqlite3/sqlite-ng-notes.md
similarity index 100%
rename from Akavache.Sqlite3/sqlite-ng-notes.md
rename to src/Akavache.Sqlite3/sqlite-ng-notes.md
diff --git a/Akavache.Sqlite3/sqlite3-hint.txt b/src/Akavache.Sqlite3/sqlite3-hint.txt
similarity index 100%
rename from Akavache.Sqlite3/sqlite3-hint.txt
rename to src/Akavache.Sqlite3/sqlite3-hint.txt
diff --git a/Akavache.Tests/Akavache.Tests.csproj b/src/Akavache.Tests/Akavache.Tests.csproj
similarity index 91%
rename from Akavache.Tests/Akavache.Tests.csproj
rename to src/Akavache.Tests/Akavache.Tests.csproj
index 7f18b7296..3c9c03b06 100644
--- a/Akavache.Tests/Akavache.Tests.csproj
+++ b/src/Akavache.Tests/Akavache.Tests.csproj
@@ -27,15 +27,36 @@
x86
prompt
MinimumRecommendedRules.ruleset
+ false
bin\x86\Release\
TRACE;NET45
true
- pdbonly
+ full
x86
prompt
MinimumRecommendedRules.ruleset
+ false
+
+
+ true
+ bin\x64\Debug\
+ TRACE;DEBUG;NET45
+ full
+ x64
+ prompt
+ MinimumRecommendedRules.ruleset
+
+
+ bin\x64\Release\
+ TRACE;NET45
+ true
+ full
+ x64
+ prompt
+ MinimumRecommendedRules.ruleset
+ false
@@ -125,7 +146,7 @@
-
+
diff --git a/Akavache.Tests/App.xaml b/src/Akavache.Tests/App.xaml
similarity index 100%
rename from Akavache.Tests/App.xaml
rename to src/Akavache.Tests/App.xaml
diff --git a/Akavache.Tests/App.xaml.cs b/src/Akavache.Tests/App.xaml.cs
similarity index 100%
rename from Akavache.Tests/App.xaml.cs
rename to src/Akavache.Tests/App.xaml.cs
diff --git a/Akavache.Tests/AsyncLockTests.cs b/src/Akavache.Tests/AsyncLockTests.cs
similarity index 100%
rename from Akavache.Tests/AsyncLockTests.cs
rename to src/Akavache.Tests/AsyncLockTests.cs
diff --git a/Akavache.Tests/BlobCacheExtensionsFixture.cs b/src/Akavache.Tests/BlobCacheExtensionsFixture.cs
similarity index 100%
rename from Akavache.Tests/BlobCacheExtensionsFixture.cs
rename to src/Akavache.Tests/BlobCacheExtensionsFixture.cs
diff --git a/Akavache.Tests/BlobCacheFixture.cs b/src/Akavache.Tests/BlobCacheFixture.cs
similarity index 100%
rename from Akavache.Tests/BlobCacheFixture.cs
rename to src/Akavache.Tests/BlobCacheFixture.cs
diff --git a/Akavache.Tests/BulkOperationsTest.cs b/src/Akavache.Tests/BulkOperationsTest.cs
similarity index 100%
rename from Akavache.Tests/BulkOperationsTest.cs
rename to src/Akavache.Tests/BulkOperationsTest.cs
diff --git a/Akavache.Tests/CoalescerTests.cs b/src/Akavache.Tests/CoalescerTests.cs
similarity index 100%
rename from Akavache.Tests/CoalescerTests.cs
rename to src/Akavache.Tests/CoalescerTests.cs
diff --git a/Akavache.Tests/IntegrationTestHelper.cs b/src/Akavache.Tests/IntegrationTestHelper.cs
similarity index 100%
rename from Akavache.Tests/IntegrationTestHelper.cs
rename to src/Akavache.Tests/IntegrationTestHelper.cs
diff --git a/Akavache.Tests/Performance/PerfHelper.cs b/src/Akavache.Tests/Performance/PerfHelper.cs
similarity index 100%
rename from Akavache.Tests/Performance/PerfHelper.cs
rename to src/Akavache.Tests/Performance/PerfHelper.cs
diff --git a/Akavache.Tests/Performance/ReadTests.cs b/src/Akavache.Tests/Performance/ReadTests.cs
similarity index 100%
rename from Akavache.Tests/Performance/ReadTests.cs
rename to src/Akavache.Tests/Performance/ReadTests.cs
diff --git a/Akavache.Tests/Performance/WriteTests.cs b/src/Akavache.Tests/Performance/WriteTests.cs
similarity index 100%
rename from Akavache.Tests/Performance/WriteTests.cs
rename to src/Akavache.Tests/Performance/WriteTests.cs
diff --git a/Akavache.Tests/Stresser.cs b/src/Akavache.Tests/Stresser.cs
similarity index 100%
rename from Akavache.Tests/Stresser.cs
rename to src/Akavache.Tests/Stresser.cs
diff --git a/Akavache.Tests/Utility.cs b/src/Akavache.Tests/Utility.cs
similarity index 100%
rename from Akavache.Tests/Utility.cs
rename to src/Akavache.Tests/Utility.cs
diff --git a/Akavache.Tests/UtilityTests.cs b/src/Akavache.Tests/UtilityTests.cs
similarity index 100%
rename from Akavache.Tests/UtilityTests.cs
rename to src/Akavache.Tests/UtilityTests.cs
diff --git a/Akavache.Tests/app.config b/src/Akavache.Tests/app.config
similarity index 100%
rename from Akavache.Tests/app.config
rename to src/Akavache.Tests/app.config
diff --git a/Akavache.Tests/packages.config b/src/Akavache.Tests/packages.config
similarity index 100%
rename from Akavache.Tests/packages.config
rename to src/Akavache.Tests/packages.config
diff --git a/akavache-meta.nuspec b/src/Akavache.nuspec
similarity index 53%
rename from akavache-meta.nuspec
rename to src/Akavache.nuspec
index 6cc825d6a..356a13b5b 100644
--- a/akavache-meta.nuspec
+++ b/src/Akavache.nuspec
@@ -1,22 +1,17 @@
- 4.1.2
- GitHub
- Paul Betts
- https://github.com/github/Akavache/blob/master/LICENSE
- https://github.com/github/Akavache
+ $version$
-
+
akavache
Akavache
- false
An asynchronous, persistent key-value store for desktop and mobile applications on .NET
An asynchronous, persistent key-value store for desktop and mobile applications on .NET
- Copyright GitHub© 2012
+
diff --git a/Akavache.sln b/src/Akavache.sln
similarity index 86%
rename from Akavache.sln
rename to src/Akavache.sln
index 6e428f18e..d653c4e06 100644
--- a/Akavache.sln
+++ b/src/Akavache.sln
@@ -5,14 +5,10 @@ VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Akavache.Tests", "Akavache.Tests\Akavache.Tests.csproj", "{0306DEFB-B42E-48C4-8D03-2AC9E860ADC1}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Akavache_WP8", "Akavache\Akavache_WP8.csproj", "{A54279A3-3457-41DB-9166-67E05FD0E0B1}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Akavache_Net45", "Akavache\Akavache_Net45.csproj", "{B4E665E5-6CAF-4414-A6E2-8DE1C3BCF203}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Akavache_WinRT", "Akavache\Akavache_WinRT.csproj", "{57655198-7A38-48A6-BF95-BE57B2C3D32D}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Akavache.Mobile_WP8", "Akavache.Mobile\Akavache.Mobile_WP8.csproj", "{9F13D088-7B83-4922-97DD-18C4CBBDDEAE}"
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Mobile", "Mobile", "{D3FCAC54-DE89-4D3D-AAFD-68A378A7A9F1}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SQLite", "SQLite", "{9E059863-7633-4919-B6A7-627D80186383}"
@@ -59,16 +55,8 @@ Global
{0306DEFB-B42E-48C4-8D03-2AC9E860ADC1}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
{0306DEFB-B42E-48C4-8D03-2AC9E860ADC1}.Debug|Mixed Platforms.Build.0 = Debug|x86
{0306DEFB-B42E-48C4-8D03-2AC9E860ADC1}.Release|Any CPU.ActiveCfg = Release|x86
- {0306DEFB-B42E-48C4-8D03-2AC9E860ADC1}.Release|Mixed Platforms.ActiveCfg = Release|x86
- {0306DEFB-B42E-48C4-8D03-2AC9E860ADC1}.Release|Mixed Platforms.Build.0 = Release|x86
- {A54279A3-3457-41DB-9166-67E05FD0E0B1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {A54279A3-3457-41DB-9166-67E05FD0E0B1}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {A54279A3-3457-41DB-9166-67E05FD0E0B1}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {A54279A3-3457-41DB-9166-67E05FD0E0B1}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
- {A54279A3-3457-41DB-9166-67E05FD0E0B1}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {A54279A3-3457-41DB-9166-67E05FD0E0B1}.Release|Any CPU.Build.0 = Release|Any CPU
- {A54279A3-3457-41DB-9166-67E05FD0E0B1}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
- {A54279A3-3457-41DB-9166-67E05FD0E0B1}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+ {0306DEFB-B42E-48C4-8D03-2AC9E860ADC1}.Release|Mixed Platforms.ActiveCfg = Release|x64
+ {0306DEFB-B42E-48C4-8D03-2AC9E860ADC1}.Release|Mixed Platforms.Build.0 = Release|x64
{B4E665E5-6CAF-4414-A6E2-8DE1C3BCF203}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B4E665E5-6CAF-4414-A6E2-8DE1C3BCF203}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B4E665E5-6CAF-4414-A6E2-8DE1C3BCF203}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
@@ -85,14 +73,6 @@ Global
{57655198-7A38-48A6-BF95-BE57B2C3D32D}.Release|Any CPU.Build.0 = Release|Any CPU
{57655198-7A38-48A6-BF95-BE57B2C3D32D}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{57655198-7A38-48A6-BF95-BE57B2C3D32D}.Release|Mixed Platforms.Build.0 = Release|Any CPU
- {9F13D088-7B83-4922-97DD-18C4CBBDDEAE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {9F13D088-7B83-4922-97DD-18C4CBBDDEAE}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {9F13D088-7B83-4922-97DD-18C4CBBDDEAE}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {9F13D088-7B83-4922-97DD-18C4CBBDDEAE}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
- {9F13D088-7B83-4922-97DD-18C4CBBDDEAE}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {9F13D088-7B83-4922-97DD-18C4CBBDDEAE}.Release|Any CPU.Build.0 = Release|Any CPU
- {9F13D088-7B83-4922-97DD-18C4CBBDDEAE}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
- {9F13D088-7B83-4922-97DD-18C4CBBDDEAE}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{EB73ADDD-2FE9-44C0-A1AB-20709B979B64}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EB73ADDD-2FE9-44C0-A1AB-20709B979B64}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EB73ADDD-2FE9-44C0-A1AB-20709B979B64}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
@@ -171,7 +151,6 @@ Global
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{0306DEFB-B42E-48C4-8D03-2AC9E860ADC1} = {9E586C5C-5E77-4D58-8222-3E94C60E4756}
- {9F13D088-7B83-4922-97DD-18C4CBBDDEAE} = {D3FCAC54-DE89-4D3D-AAFD-68A378A7A9F1}
{192A477B-BB94-A3C1-F14E-E177EF9FEDB7} = {D3FCAC54-DE89-4D3D-AAFD-68A378A7A9F1}
{FA91337A-9E94-4DBD-801E-05E1FDA78FFC} = {D3FCAC54-DE89-4D3D-AAFD-68A378A7A9F1}
{3CC2AFD6-D25F-4C8E-BD4B-31486F368365} = {D3FCAC54-DE89-4D3D-AAFD-68A378A7A9F1}
diff --git a/Akavache/Akavache_Monodroid.csproj b/src/Akavache/Akavache_Monodroid.csproj
similarity index 99%
rename from Akavache/Akavache_Monodroid.csproj
rename to src/Akavache/Akavache_Monodroid.csproj
index b43254aa4..8b8f4a70a 100644
--- a/Akavache/Akavache_Monodroid.csproj
+++ b/src/Akavache/Akavache_Monodroid.csproj
@@ -70,6 +70,7 @@
True
+ pdbonly
bin\Release\Monoandroid
obj\Release\Monoandroid
MONO; XAMARIN_MOBILE; ANDROID
diff --git a/Akavache/Akavache_Net45.csproj b/src/Akavache/Akavache_Net45.csproj
similarity index 100%
rename from Akavache/Akavache_Net45.csproj
rename to src/Akavache/Akavache_Net45.csproj
diff --git a/Akavache/Akavache_Portable.csproj b/src/Akavache/Akavache_Portable.csproj
similarity index 100%
rename from Akavache/Akavache_Portable.csproj
rename to src/Akavache/Akavache_Portable.csproj
diff --git a/Akavache/Akavache_WP8.csproj b/src/Akavache/Akavache_WP8.csproj
similarity index 100%
rename from Akavache/Akavache_WP8.csproj
rename to src/Akavache/Akavache_WP8.csproj
diff --git a/Akavache/Akavache_WinRT.csproj b/src/Akavache/Akavache_WinRT.csproj
similarity index 100%
rename from Akavache/Akavache_WinRT.csproj
rename to src/Akavache/Akavache_WinRT.csproj
diff --git a/Akavache/Akavache_XamarinIOS.csproj b/src/Akavache/Akavache_XamarinIOS.csproj
similarity index 100%
rename from Akavache/Akavache_XamarinIOS.csproj
rename to src/Akavache/Akavache_XamarinIOS.csproj
diff --git a/Akavache/Akavache_XamarinMac.csproj b/src/Akavache/Akavache_XamarinMac.csproj
similarity index 99%
rename from Akavache/Akavache_XamarinMac.csproj
rename to src/Akavache/Akavache_XamarinMac.csproj
index 1adc60256..101e81d74 100644
--- a/Akavache/Akavache_XamarinMac.csproj
+++ b/src/Akavache/Akavache_XamarinMac.csproj
@@ -36,6 +36,7 @@
true
+ pdbonly
bin\Release\Xamarin.Mac10\
obj\Release\Xamarin.Mac10\
TRACE; MONO; APPKIT; UNIFIED
diff --git a/Akavache/Android/AndroidFilesystemProvider.cs b/src/Akavache/Android/AndroidFilesystemProvider.cs
similarity index 100%
rename from Akavache/Android/AndroidFilesystemProvider.cs
rename to src/Akavache/Android/AndroidFilesystemProvider.cs
diff --git a/Akavache/EncryptionProvider.cs b/src/Akavache/EncryptionProvider.cs
similarity index 100%
rename from Akavache/EncryptionProvider.cs
rename to src/Akavache/EncryptionProvider.cs
diff --git a/Akavache/Facades.cs b/src/Akavache/Facades.cs
similarity index 100%
rename from Akavache/Facades.cs
rename to src/Akavache/Facades.cs
diff --git a/Akavache/HttpMixin.cs b/src/Akavache/HttpMixin.cs
similarity index 100%
rename from Akavache/HttpMixin.cs
rename to src/Akavache/HttpMixin.cs
diff --git a/Akavache/IsolatedStorageProvider.cs b/src/Akavache/IsolatedStorageProvider.cs
similarity index 100%
rename from Akavache/IsolatedStorageProvider.cs
rename to src/Akavache/IsolatedStorageProvider.cs
diff --git a/Akavache/MD5.cs b/src/Akavache/MD5.cs
similarity index 100%
rename from Akavache/MD5.cs
rename to src/Akavache/MD5.cs
diff --git a/Akavache/MD5Managed.cs b/src/Akavache/MD5Managed.cs
similarity index 100%
rename from Akavache/MD5Managed.cs
rename to src/Akavache/MD5Managed.cs
diff --git a/Akavache/MacFilesystemProvider.cs b/src/Akavache/MacFilesystemProvider.cs
similarity index 100%
rename from Akavache/MacFilesystemProvider.cs
rename to src/Akavache/MacFilesystemProvider.cs
diff --git a/Akavache/Portable/BitmapImageExtensions.cs b/src/Akavache/Portable/BitmapImageExtensions.cs
similarity index 100%
rename from Akavache/Portable/BitmapImageExtensions.cs
rename to src/Akavache/Portable/BitmapImageExtensions.cs
diff --git a/Akavache/Portable/BlobCache.cs b/src/Akavache/Portable/BlobCache.cs
similarity index 100%
rename from Akavache/Portable/BlobCache.cs
rename to src/Akavache/Portable/BlobCache.cs
diff --git a/Akavache/Portable/BulkOperationsMixin.cs b/src/Akavache/Portable/BulkOperationsMixin.cs
similarity index 100%
rename from Akavache/Portable/BulkOperationsMixin.cs
rename to src/Akavache/Portable/BulkOperationsMixin.cs
diff --git a/Akavache/Portable/ConcurrentDictionary.cs b/src/Akavache/Portable/ConcurrentDictionary.cs
similarity index 100%
rename from Akavache/Portable/ConcurrentDictionary.cs
rename to src/Akavache/Portable/ConcurrentDictionary.cs
diff --git a/Akavache/Portable/DependencyResolverMixin.cs b/src/Akavache/Portable/DependencyResolverMixin.cs
similarity index 100%
rename from Akavache/Portable/DependencyResolverMixin.cs
rename to src/Akavache/Portable/DependencyResolverMixin.cs
diff --git a/Akavache/Portable/ExceptionHelper.cs b/src/Akavache/Portable/ExceptionHelper.cs
similarity index 100%
rename from Akavache/Portable/ExceptionHelper.cs
rename to src/Akavache/Portable/ExceptionHelper.cs
diff --git a/Akavache/Portable/HttpMixin.cs b/src/Akavache/Portable/HttpMixin.cs
similarity index 100%
rename from Akavache/Portable/HttpMixin.cs
rename to src/Akavache/Portable/HttpMixin.cs
diff --git a/Akavache/Portable/IBlobCache.cs b/src/Akavache/Portable/IBlobCache.cs
similarity index 100%
rename from Akavache/Portable/IBlobCache.cs
rename to src/Akavache/Portable/IBlobCache.cs
diff --git a/Akavache/Portable/IEncryptionProvider.cs b/src/Akavache/Portable/IEncryptionProvider.cs
similarity index 100%
rename from Akavache/Portable/IEncryptionProvider.cs
rename to src/Akavache/Portable/IEncryptionProvider.cs
diff --git a/Akavache/Portable/IFilesystemProvider.cs b/src/Akavache/Portable/IFilesystemProvider.cs
similarity index 100%
rename from Akavache/Portable/IFilesystemProvider.cs
rename to src/Akavache/Portable/IFilesystemProvider.cs
diff --git a/Akavache/Portable/IKeyedOperationQueue.cs b/src/Akavache/Portable/IKeyedOperationQueue.cs
similarity index 100%
rename from Akavache/Portable/IKeyedOperationQueue.cs
rename to src/Akavache/Portable/IKeyedOperationQueue.cs
diff --git a/Akavache/Portable/InMemoryBlobCache.cs b/src/Akavache/Portable/InMemoryBlobCache.cs
similarity index 100%
rename from Akavache/Portable/InMemoryBlobCache.cs
rename to src/Akavache/Portable/InMemoryBlobCache.cs
diff --git a/Akavache/Portable/JsonSerializationMixin.cs b/src/Akavache/Portable/JsonSerializationMixin.cs
similarity index 100%
rename from Akavache/Portable/JsonSerializationMixin.cs
rename to src/Akavache/Portable/JsonSerializationMixin.cs
diff --git a/Akavache/Portable/KeyedOperationQueue.cs b/src/Akavache/Portable/KeyedOperationQueue.cs
similarity index 100%
rename from Akavache/Portable/KeyedOperationQueue.cs
rename to src/Akavache/Portable/KeyedOperationQueue.cs
diff --git a/Akavache/Portable/LoginInfo.cs b/src/Akavache/Portable/LoginInfo.cs
similarity index 100%
rename from Akavache/Portable/LoginInfo.cs
rename to src/Akavache/Portable/LoginInfo.cs
diff --git a/Akavache/Portable/LoginMixin.cs b/src/Akavache/Portable/LoginMixin.cs
similarity index 100%
rename from Akavache/Portable/LoginMixin.cs
rename to src/Akavache/Portable/LoginMixin.cs
diff --git a/Akavache/Portable/PortableUtility.cs b/src/Akavache/Portable/PortableUtility.cs
similarity index 100%
rename from Akavache/Portable/PortableUtility.cs
rename to src/Akavache/Portable/PortableUtility.cs
diff --git a/Akavache/Portable/RelativeTimeMixin.cs b/src/Akavache/Portable/RelativeTimeMixin.cs
similarity index 100%
rename from Akavache/Portable/RelativeTimeMixin.cs
rename to src/Akavache/Portable/RelativeTimeMixin.cs
diff --git a/src/Akavache/Properties/AssemblyInfo.cs b/src/Akavache/Properties/AssemblyInfo.cs
new file mode 100644
index 000000000..872deffbc
--- /dev/null
+++ b/src/Akavache/Properties/AssemblyInfo.cs
@@ -0,0 +1,9 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+[assembly: InternalsVisibleTo("Akavache.Tests")]
+[assembly: InternalsVisibleTo("Akavache.Sqlite3")]
+[assembly: InternalsVisibleTo("Akavache.Mac")]
+[assembly: InternalsVisibleTo("Akavache.Mobile")]
+[assembly: InternalsVisibleTo("Akavache.Deprecated")]
\ No newline at end of file
diff --git a/Akavache/ProtectDataShim.cs b/src/Akavache/ProtectDataShim.cs
similarity index 100%
rename from Akavache/ProtectDataShim.cs
rename to src/Akavache/ProtectDataShim.cs
diff --git a/Akavache/Registrations.cs b/src/Akavache/Registrations.cs
similarity index 100%
rename from Akavache/Registrations.cs
rename to src/Akavache/Registrations.cs
diff --git a/Akavache/SimpleFilesystemProvider.cs b/src/Akavache/SimpleFilesystemProvider.cs
similarity index 100%
rename from Akavache/SimpleFilesystemProvider.cs
rename to src/Akavache/SimpleFilesystemProvider.cs
diff --git a/Akavache/StreamMixins.cs b/src/Akavache/StreamMixins.cs
similarity index 100%
rename from Akavache/StreamMixins.cs
rename to src/Akavache/StreamMixins.cs
diff --git a/Akavache/Utility.cs b/src/Akavache/Utility.cs
similarity index 100%
rename from Akavache/Utility.cs
rename to src/Akavache/Utility.cs
diff --git a/Akavache/WP8/WP8EncryptionProvider.cs b/src/Akavache/WP8/WP8EncryptionProvider.cs
similarity index 100%
rename from Akavache/WP8/WP8EncryptionProvider.cs
rename to src/Akavache/WP8/WP8EncryptionProvider.cs
diff --git a/Akavache/WinRT/WinRTEncryptionProvider.cs b/src/Akavache/WinRT/WinRTEncryptionProvider.cs
similarity index 100%
rename from Akavache/WinRT/WinRTEncryptionProvider.cs
rename to src/Akavache/WinRT/WinRTEncryptionProvider.cs
diff --git a/Akavache/WinRT/WinRTFilesystemProvider.cs b/src/Akavache/WinRT/WinRTFilesystemProvider.cs
similarity index 100%
rename from Akavache/WinRT/WinRTFilesystemProvider.cs
rename to src/Akavache/WinRT/WinRTFilesystemProvider.cs
diff --git a/Akavache/WinRT/WinRTShims.cs b/src/Akavache/WinRT/WinRTShims.cs
similarity index 100%
rename from Akavache/WinRT/WinRTShims.cs
rename to src/Akavache/WinRT/WinRTShims.cs
diff --git a/Akavache/packages.Akavache_Monodroid.config b/src/Akavache/packages.Akavache_Monodroid.config
similarity index 100%
rename from Akavache/packages.Akavache_Monodroid.config
rename to src/Akavache/packages.Akavache_Monodroid.config
diff --git a/Akavache/packages.Akavache_Net45.config b/src/Akavache/packages.Akavache_Net45.config
similarity index 100%
rename from Akavache/packages.Akavache_Net45.config
rename to src/Akavache/packages.Akavache_Net45.config
diff --git a/Akavache/packages.Akavache_Portable.config b/src/Akavache/packages.Akavache_Portable.config
similarity index 100%
rename from Akavache/packages.Akavache_Portable.config
rename to src/Akavache/packages.Akavache_Portable.config
diff --git a/Akavache/packages.Akavache_WP8.config b/src/Akavache/packages.Akavache_WP8.config
similarity index 100%
rename from Akavache/packages.Akavache_WP8.config
rename to src/Akavache/packages.Akavache_WP8.config
diff --git a/Akavache/packages.Akavache_WinRT.config b/src/Akavache/packages.Akavache_WinRT.config
similarity index 100%
rename from Akavache/packages.Akavache_WinRT.config
rename to src/Akavache/packages.Akavache_WinRT.config
diff --git a/Akavache/packages.Akavache_XamarinIOS.config b/src/Akavache/packages.Akavache_XamarinIOS.config
similarity index 100%
rename from Akavache/packages.Akavache_XamarinIOS.config
rename to src/Akavache/packages.Akavache_XamarinIOS.config
diff --git a/Akavache/packages.Akavache_XamarinMac.config b/src/Akavache/packages.Akavache_XamarinMac.config
similarity index 100%
rename from Akavache/packages.Akavache_XamarinMac.config
rename to src/Akavache/packages.Akavache_XamarinMac.config
diff --git a/src/CommonAssemblyInfo.cs b/src/CommonAssemblyInfo.cs
new file mode 100644
index 000000000..c68dd6e69
--- /dev/null
+++ b/src/CommonAssemblyInfo.cs
@@ -0,0 +1,13 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by Cake.
+//
+//------------------------------------------------------------------------------
+using System.Reflection;
+
+[assembly: AssemblyProduct("Akavache")]
+[assembly: AssemblyVersion("0.0.1")]
+[assembly: AssemblyFileVersion("0.0.1")]
+[assembly: AssemblyInformationalVersion("0.0.0.1")]
+[assembly: AssemblyCopyright("Copyright (c) Paul Betts")]
+
diff --git a/Rebracer.xml b/src/Rebracer.xml
similarity index 100%
rename from Rebracer.xml
rename to src/Rebracer.xml
diff --git a/tools/nuget/NuGet.exe b/tools/nuget/NuGet.exe
new file mode 100644
index 000000000..6bb79fe53
Binary files /dev/null and b/tools/nuget/NuGet.exe differ