Jan Tattermusch | 015874f | 2018-08-01 12:15:44 +0200 | [diff] [blame] | 1 | @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 Shen | 8ceb27a | 2018-08-27 14:27:55 -0700 | [diff] [blame] | 16 | set VERSION=1.16.0-dev |
Jan Tattermusch | 015874f | 2018-08-01 12:15:44 +0200 | [diff] [blame] | 17 | |
| 18 | @rem Adjust the location of nuget.exe |
| 19 | set NUGET=C:\nuget\nuget.exe |
| 20 | set DOTNET=dotnet |
| 21 | |
| 22 | mkdir ..\..\artifacts |
| 23 | |
| 24 | @rem Collect the artifacts built by the previous build step |
| 25 | mkdir nativelibs |
| 26 | powershell -Command "cp -r ..\..\input_artifacts\csharp_ext_* nativelibs" |
| 27 | |
| 28 | @rem Collect protoc artifacts built by the previous build step |
| 29 | mkdir protoc_plugins |
| 30 | powershell -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 |
| 35 | xcopy /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 Tattermusch | 015874f | 2018-08-01 12:15:44 +0200 | [diff] [blame] | 38 | @rem build HealthCheck to get hold of Google.Protobuf.dll assembly |
| 39 | %DOTNET% build --configuration Release Grpc.HealthCheck || goto :error |
| 40 | |
Jan Tattermusch | abcb0fd | 2018-08-01 16:05:36 +0200 | [diff] [blame] | 41 | @rem copy Grpc assemblies to the unity package skeleton |
| 42 | @rem TODO(jtattermusch): Add Grpc.Auth assembly and its dependencies |
Jan Tattermusch | 015874f | 2018-08-01 12:15:44 +0200 | [diff] [blame] | 43 | copy /Y Grpc.Core\bin\Release\net45\Grpc.Core.dll unitypackage\unitypackage_skeleton\Plugins\Grpc.Core\lib\net45\Grpc.Core.dll || goto :error |
Jan Tattermusch | 5e94c0d | 2018-08-02 09:31:42 +0200 | [diff] [blame] | 44 | copy /Y Grpc.Core\bin\Release\net45\Grpc.Core.pdb unitypackage\unitypackage_skeleton\Plugins\Grpc.Core\lib\net45\Grpc.Core.pdb || goto :error |
| 45 | copy /Y Grpc.Core\bin\Release\net45\Grpc.Core.xml unitypackage\unitypackage_skeleton\Plugins\Grpc.Core\lib\net45\Grpc.Core.xml || goto :error |
Jan Tattermusch | 015874f | 2018-08-01 12:15:44 +0200 | [diff] [blame] | 46 | |
| 47 | @rem copy desktop native libraries to the unity package skeleton |
| 48 | copy /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 |
| 49 | copy /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 |
| 50 | copy /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 |
| 51 | copy /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 |
| 52 | copy /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 |
| 53 | copy /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 |
| 56 | copy /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 |
| 57 | copy /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 |
| 58 | copy /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 |
| 59 | copy /Y nativelibs\csharp_ext_macos_ios\libgrpc_csharp_ext.a unitypackage\unitypackage_skeleton\Plugins\Grpc.Core\runtimes\ios\libgrpc_csharp_ext.a || goto :error |
| 60 | copy /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 |
| 64 | copy /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 |
| 68 | copy /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 Tattermusch | 29e4947 | 2018-08-06 18:22:31 +0200 | [diff] [blame] | 71 | cd unitypackage\unitypackage_skeleton |
| 72 | zip -r ..\..\grpc_unity_package.zip Plugins |
| 73 | cd ..\.. |
Jan Tattermusch | 9f3ff1a | 2018-08-01 17:13:09 +0200 | [diff] [blame] | 74 | copy /Y grpc_unity_package.zip ..\..\artifacts\grpc_unity_package.%VERSION%.zip || goto :error |
Jan Tattermusch | 015874f | 2018-08-01 12:15:44 +0200 | [diff] [blame] | 75 | |
| 76 | goto :EOF |
| 77 | |
| 78 | :error |
| 79 | echo Failed! |
| 80 | exit /b %errorlevel% |