blob: 4e7ac4e4145c385467bd744416ea009409068758 [file] [log] [blame]
Jan Tattermusch015874f2018-08-01 12:15:44 +02001@rem Copyright 2018 The gRPC Authors
2@rem
3@rem Licensed under the Apache License, Version 2.0 (the "License");
4@rem you may not use this file except in compliance with the License.
5@rem You may obtain a copy of the License at
6@rem
7@rem http://www.apache.org/licenses/LICENSE-2.0
8@rem
9@rem Unless required by applicable law or agreed to in writing, software
10@rem distributed under the License is distributed on an "AS IS" BASIS,
11@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12@rem See the License for the specific language governing permissions and
13@rem limitations under the License.
14
15@rem Current package versions
Juanli Shen8ceb27a2018-08-27 14:27:55 -070016set VERSION=1.16.0-dev
Jan Tattermusch015874f2018-08-01 12:15:44 +020017
18@rem Adjust the location of nuget.exe
19set NUGET=C:\nuget\nuget.exe
20set DOTNET=dotnet
21
22mkdir ..\..\artifacts
23
24@rem Collect the artifacts built by the previous build step
25mkdir nativelibs
26powershell -Command "cp -r ..\..\input_artifacts\csharp_ext_* nativelibs"
27
28@rem Collect protoc artifacts built by the previous build step
29mkdir protoc_plugins
30powershell -Command "cp -r ..\..\input_artifacts\protoc_* protoc_plugins"
31
32%DOTNET% restore Grpc.sln || goto :error
33
34@rem To be able to build, we also need to put grpc_csharp_ext to its normal location
35xcopy /Y /I nativelibs\csharp_ext_windows_x64\grpc_csharp_ext.dll ..\..\cmake\build\x64\Release\
36
37%DOTNET% build --configuration Release Grpc.Core || goto :error
Jan Tattermusch015874f2018-08-01 12:15:44 +020038@rem build HealthCheck to get hold of Google.Protobuf.dll assembly
39%DOTNET% build --configuration Release Grpc.HealthCheck || goto :error
40
Jan Tattermuschabcb0fd2018-08-01 16:05:36 +020041@rem copy Grpc assemblies to the unity package skeleton
42@rem TODO(jtattermusch): Add Grpc.Auth assembly and its dependencies
Jan Tattermusch015874f2018-08-01 12:15:44 +020043copy /Y Grpc.Core\bin\Release\net45\Grpc.Core.dll unitypackage\unitypackage_skeleton\Plugins\Grpc.Core\lib\net45\Grpc.Core.dll || goto :error
Jan Tattermusch5e94c0d2018-08-02 09:31:42 +020044copy /Y Grpc.Core\bin\Release\net45\Grpc.Core.pdb unitypackage\unitypackage_skeleton\Plugins\Grpc.Core\lib\net45\Grpc.Core.pdb || goto :error
45copy /Y Grpc.Core\bin\Release\net45\Grpc.Core.xml unitypackage\unitypackage_skeleton\Plugins\Grpc.Core\lib\net45\Grpc.Core.xml || goto :error
Jan Tattermusch015874f2018-08-01 12:15:44 +020046
47@rem copy desktop native libraries to the unity package skeleton
48copy /Y nativelibs\csharp_ext_linux_x86\libgrpc_csharp_ext.so unitypackage\unitypackage_skeleton\Plugins\Grpc.Core\runtimes\linux\x86\libgrpc_csharp_ext.so || goto :error
49copy /Y nativelibs\csharp_ext_linux_x64\libgrpc_csharp_ext.so unitypackage\unitypackage_skeleton\Plugins\Grpc.Core\runtimes\linux\x64\libgrpc_csharp_ext.so || goto :error
50copy /Y nativelibs\csharp_ext_macos_x86\libgrpc_csharp_ext.dylib unitypackage\unitypackage_skeleton\Plugins\Grpc.Core\runtimes\osx\x86\grpc_csharp_ext.bundle || goto :error
51copy /Y nativelibs\csharp_ext_macos_x64\libgrpc_csharp_ext.dylib unitypackage\unitypackage_skeleton\Plugins\Grpc.Core\runtimes\osx\x64\grpc_csharp_ext.bundle || goto :error
52copy /Y nativelibs\csharp_ext_windows_x86\grpc_csharp_ext.dll unitypackage\unitypackage_skeleton\Plugins\Grpc.Core\runtimes\win\x86\grpc_csharp_ext.dll || goto :error
53copy /Y nativelibs\csharp_ext_windows_x64\grpc_csharp_ext.dll unitypackage\unitypackage_skeleton\Plugins\Grpc.Core\runtimes\win\x64\grpc_csharp_ext.dll || goto :error
54
55@rem add Android and iOS native libraries
56copy /Y nativelibs\csharp_ext_linux_android_armeabi-v7a\libgrpc_csharp_ext.so unitypackage\unitypackage_skeleton\Plugins\Grpc.Core\runtimes\android\armeabi-v7a\libgrpc_csharp_ext.so || goto :error
57copy /Y nativelibs\csharp_ext_linux_android_arm64-v8a\libgrpc_csharp_ext.so unitypackage\unitypackage_skeleton\Plugins\Grpc.Core\runtimes\android\arm64-v8a\libgrpc_csharp_ext.so || goto :error
58copy /Y nativelibs\csharp_ext_linux_android_x86\libgrpc_csharp_ext.so unitypackage\unitypackage_skeleton\Plugins\Grpc.Core\runtimes\android\x86\libgrpc_csharp_ext.so || goto :error
59copy /Y nativelibs\csharp_ext_macos_ios\libgrpc_csharp_ext.a unitypackage\unitypackage_skeleton\Plugins\Grpc.Core\runtimes\ios\libgrpc_csharp_ext.a || goto :error
60copy /Y nativelibs\csharp_ext_macos_ios\libgrpc.a unitypackage\unitypackage_skeleton\Plugins\Grpc.Core\runtimes\ios\libgrpc.a || goto :error
61
62@rem add gRPC dependencies
63@rem TODO(jtattermusch): also include XMLdoc
64copy /Y Grpc.Core\bin\Release\net45\System.Interactive.Async.dll unitypackage\unitypackage_skeleton\Plugins\System.Interactive.Async\lib\net45\System.Interactive.Async.dll || goto :error
65
66@rem add Google.Protobuf
67@rem TODO(jtattermusch): also include XMLdoc
68copy /Y Grpc.HealthCheck\bin\Release\net45\Google.Protobuf.dll unitypackage\unitypackage_skeleton\Plugins\Google.Protobuf\lib\net45\Google.Protobuf.dll || goto :error
69
70@rem create a zipfile that will act as a Unity package
Jan Tattermusch29e49472018-08-06 18:22:31 +020071cd unitypackage\unitypackage_skeleton
72zip -r ..\..\grpc_unity_package.zip Plugins
73cd ..\..
Jan Tattermusch9f3ff1a2018-08-01 17:13:09 +020074copy /Y grpc_unity_package.zip ..\..\artifacts\grpc_unity_package.%VERSION%.zip || goto :error
Jan Tattermusch015874f2018-08-01 12:15:44 +020075
76goto :EOF
77
78:error
79echo Failed!
80exit /b %errorlevel%