diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 00000000000..831615c2554
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,3 @@
+language: csharp
+solution: src/Elasticsearch.sln
+script: ./build.sh
diff --git a/build.sh b/build.sh
index bca610409ba..9a4b4e0b599 100755
--- a/build.sh
+++ b/build.sh
@@ -1,5 +1,5 @@
NUGET="build/tools/nuget/nuget.exe"
-FAKE="build/tools/FAKE/tools/Fake.exe"
+FAKE="build/tools/FAKE/tools/FAKE.exe"
NUNIT="build/tools/NUnit.Runners/tools/nunit-console.exe"
FSHARPCLI="build/tools/Fsharp.Formatting.CommandTool/Fsharp.Formatting.CommandTool.nupkg"
SOURCELINK="build/tools/SourceLink.Fake/SourceLink.Fake.nupkg"
@@ -8,7 +8,7 @@ SOURCELINK="build/tools/SourceLink.Fake/SourceLink.Fake.nupkg"
if [[ ! -f "$NUGET" ]]; then
echo NUGET not found.. Download...
mkdir -p build/tools/nuget
- curl -o $NUGET http://build.nuget.org/drops/client/master/NuGet.exe
+ curl -o $NUGET https://nugetbuild.cloudapp.net/drops/client/master/NuGet.exe
fi
#we need FAKE to process our build scripts
@@ -40,6 +40,9 @@ libdir=$PWD/build/tools/FAKE/tools/
$FSHARPI --lib:$libdir $@
EOF
chmod +x fsharpi
-mono --runtime=v4.0 "$FAKE" build/build.fsx $@
+mono --runtime=v4.0 "$FAKE" build/build.fsx "skiptests=1" $@
+MONOEXIT=$?
rm fsharpi
-#"build\tools\FAKE\tools\Fake.exe" "build\build.fsx" "target=%TARGET%" "version=%VERSION%"
+#FORCE exit code to be that of calling fake not the last rm action
+exit $MONOEXIT
+#"build\tools\FAKE\tools\Fake.exe" "build\build.fsx" "target=%TARGET%" "version=%VERSION%" "skiptests=1"
diff --git a/build/build.fsx b/build/build.fsx
index 4c17d13c068..5e706c7e2f8 100644
--- a/build/build.fsx
+++ b/build/build.fsx
@@ -1,5 +1,5 @@
// include Fake lib
-#r @"tools/FAKE/tools/FakeLib.dll"
+#r @"FakeLib.dll"
#load @"InheritDoc.fsx"
open Fake
open System
@@ -31,7 +31,7 @@ Target "BuildApp" (fun _ ->
//Override the prebuild event because it just calls a fake task BuildApp depends on anyways
let msbuildProperties = [
("Configuration","Release");
- ("PreBuildEvent","ECHO");
+ ("PreBuildEvent","echo");
]
//Compile each csproj and output it seperately in build/output/PROJECTNAME
@@ -73,7 +73,7 @@ Target "CreateKeysIfAbsent" (fun _ ->
)
let getFileVersion = fun _ ->
- let assemblyFileContents = ReadFileAsString @"src\NEST\Properties\AssemblyInfo.cs"
+ let assemblyFileContents = ReadFileAsString @"src/Nest/Properties/AssemblyInfo.cs"
let re = @"\[assembly\: AssemblyFileVersionAttribute\(""([^""]+)""\)\]"
let matches = Regex.Matches(assemblyFileContents,re)
let defaultVersion = regex_replace re "$1" (matches.Item(0).Captures.Item(0).Value)
@@ -231,7 +231,7 @@ Target "Nightly" (fun _ ->
==> "CreateKeysIfAbsent"
=?> ("Version", hasBuildParam "version")
==> "BuildApp"
- ==> "Test"
+ =?> ("Test", (not (hasBuildParam "skiptests")))
==> "Build"
"CreateKeysIfAbsent"
@@ -248,4 +248,4 @@ Target "Nightly" (fun _ ->
"CreateKeysIfAbsent"
"Version"
// start build
-RunTargetOrDefault "Build"
\ No newline at end of file
+RunTargetOrDefault "Build"
diff --git a/dep/repositories.config b/dep/repositories.config
index 8a535b8985d..cf4469a86fe 100644
--- a/dep/repositories.config
+++ b/dep/repositories.config
@@ -7,6 +7,7 @@
+
diff --git a/src/Nest/ExposedInternals/NestSerializer.cs b/src/Nest/ExposedInternals/NestSerializer.cs
index 4c8f9aed089..94ca3bfca11 100644
--- a/src/Nest/ExposedInternals/NestSerializer.cs
+++ b/src/Nest/ExposedInternals/NestSerializer.cs
@@ -1,317 +1,316 @@
-using System;
-using System.Collections.Generic;
-using System.Diagnostics.PerformanceData;
-using System.IO;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Elasticsearch.Net;
-using Elasticsearch.Net.Serialization;
-using Nest.Resolvers;
-using Newtonsoft.Json;
-
-namespace Nest
-{
- public class NestSerializer : INestSerializer
- {
- private readonly IConnectionSettingsValues _settings;
- private readonly JsonSerializerSettings _serializationSettings;
- private readonly ElasticInferrer _infer;
-
- public NestSerializer(IConnectionSettingsValues settings)
- {
- this._settings = settings;
- this._serializationSettings = this.CreateSettings();
- this._infer = new ElasticInferrer(this._settings);
- }
-
- public virtual byte[] Serialize(object data, SerializationFormatting formatting = SerializationFormatting.Indented)
- {
- var format = formatting == SerializationFormatting.None ? Formatting.None : Formatting.Indented;
- var serialized = JsonConvert.SerializeObject(data, format, this._serializationSettings);
- return serialized.Utf8Bytes();
- }
-
- public string Stringify(object valueType)
- {
- if (valueType == null)
- return null;
- var s = valueType as string;
- if (s != null)
- return s;
- var ss = valueType as string[];
- if (ss != null)
- return string.Join(",", ss);
-
- var pns = valueType as IEnumerable