THRIFT-3933 Microsoft .Net Core library port and generator for this library
Client: .NET Core
Patch: Volodymyr Gotra <vgotra@gmail.com> PR #1088, with significant improvements by Jens Geyer <jensg@apache.org> PR #1149

This closes #1088
This closes #1149
diff --git a/test/netcore/Makefile.am b/test/netcore/Makefile.am
new file mode 100644
index 0000000..21a6e7d
--- /dev/null
+++ b/test/netcore/Makefile.am
@@ -0,0 +1,68 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+SUBDIRS = . 
+
+THRIFT = $(top_builddir)/compiler/cpp/thrift
+
+GENDIR = ThriftTest/gen-netcore
+
+# Due to a known issue with "dotnet restore" the Thrift.dll dependency cannot be resolved from cmdline.
+# The problem does NOT affect Visual Studio builds, only cmdline. 
+# - For details see https://github.com/dotnet/cli/issues/3199 and related tickets.
+# - Workaround is to temporarily copy the Thrift project into the solution
+COPYCMD = cp  -u -p -r
+	
+
+THRIFTCODE = \
+			ThriftTest/TestClient.cs \
+			ThriftTest/TestServer.cs \
+			ThriftTest/Properties/AssemblyInfo.cs \
+			ThriftTest/Program.cs 
+
+all-local: \
+	ThriftTest.exe
+
+ThriftTest.exe: $(THRIFTCODE)
+	$(MKDIR_P) $(GENDIR)
+	$(THRIFT)  -gen netcore:wcf   -r  -out $(GENDIR)  $(top_srcdir)/test/ThriftTest.thrift
+	$(MKDIR_P) ./Thrift
+	$(COPYCMD)  $(top_srcdir)/lib/netcore/Thrift/*  ./Thrift
+	$(DOTNETCORE) --info
+	$(DOTNETCORE) restore
+	$(DOTNETCORE) build **/*/project.json -r win10-x64 
+	$(DOTNETCORE) build **/*/project.json -r osx.10.11-x64 
+	$(DOTNETCORE) build **/*/project.json -r ubuntu.16.04-x64 
+
+clean-local:
+	$(RM) ThriftTest.exe
+	$(RM) -r $(GENDIR)
+	$(RM) -r ThriftTest/bin
+	$(RM) -r ThriftTest/obj
+	$(RM) -r Thrift
+
+EXTRA_DIST = \
+			 $(THRIFTCODE) \
+			 global.json \
+			 ThriftTest/project.json \
+			 ThriftTest/ThriftTest.sln \
+			 ThriftTest/ThriftTest.xproj \
+			 build.cmd \
+			 build.sh
+