From c536ab214d2291fab7442c1ef473d2ea64282495 Mon Sep 17 00:00:00 2001 From: Kazuki Sakamoto Date: Thu, 12 Jan 2017 10:23:41 -0800 Subject: [PATCH] Update buck build in Visual Studio Summary: - Always launch buck build for Build, but copy native library when it was changed - Rename Facebook.Yoga.Mac.Test to Facebook.Yoga.Mac.Sample - Add Facebook.Yoga.Mac.Tests for NUnit test. - "Run Unit Tests" menu item was activated for the target, but Mono still can't find libyoga.dylib Closes https://github.com/facebook/yoga/pull/332 Reviewed By: emilsjolander Differential Revision: D4408799 Pulled By: splhack fbshipit-source-id: b3f5f9ebd8265cc152ca859176afbf54efa8f170 --- csharp/Mac/CustomBuildAction.targets | 15 ++-- .../AppDelegate.cs | 2 +- .../Entitlements.plist | 0 .../Facebook.Yoga.Mac.Sample.csproj} | 4 +- .../Info.plist | 4 +- .../Main.cs | 2 +- .../Main.storyboard | 12 +-- .../ViewController.cs | 2 +- .../ViewController.designer.cs | 2 +- .../Entitlements.plist | 6 ++ .../Facebook.Yoga.Mac.Tests.csproj | 78 +++++++++++++++++++ csharp/Mac/Facebook.Yoga.Mac.Tests/Info.plist | 30 +++++++ csharp/Mac/Facebook.Yoga.Mac.Tests/Main.cs | 20 +++++ .../Facebook.Yoga.Mac.Tests/packages.config | 4 + csharp/Mac/Facebook.Yoga.Mac.sln | 26 +++++-- csharp/Mac/buck-build.sh | 6 ++ .../CustomBuildAction.targets | 15 ++-- 17 files changed, 189 insertions(+), 39 deletions(-) rename csharp/Mac/{Facebook.Yoga.Mac.Test => Facebook.Yoga.Mac.Sample}/AppDelegate.cs (94%) rename csharp/Mac/{Facebook.Yoga.Mac.Test => Facebook.Yoga.Mac.Sample}/Entitlements.plist (100%) rename csharp/Mac/{Facebook.Yoga.Mac.Test/Facebook.Yoga.Mac.Test.csproj => Facebook.Yoga.Mac.Sample/Facebook.Yoga.Mac.Sample.csproj} (94%) rename csharp/Mac/{Facebook.Yoga.Mac.Test => Facebook.Yoga.Mac.Sample}/Info.plist (89%) rename csharp/Mac/{Facebook.Yoga.Mac.Test => Facebook.Yoga.Mac.Sample}/Main.cs (91%) rename csharp/Mac/{Facebook.Yoga.Mac.Test => Facebook.Yoga.Mac.Sample}/Main.storyboard (98%) rename csharp/Mac/{Facebook.Yoga.Mac.Test => Facebook.Yoga.Mac.Sample}/ViewController.cs (99%) rename csharp/Mac/{Facebook.Yoga.Mac.Test => Facebook.Yoga.Mac.Sample}/ViewController.designer.cs (91%) create mode 100644 csharp/Mac/Facebook.Yoga.Mac.Tests/Entitlements.plist create mode 100644 csharp/Mac/Facebook.Yoga.Mac.Tests/Facebook.Yoga.Mac.Tests.csproj create mode 100644 csharp/Mac/Facebook.Yoga.Mac.Tests/Info.plist create mode 100644 csharp/Mac/Facebook.Yoga.Mac.Tests/Main.cs create mode 100644 csharp/Mac/Facebook.Yoga.Mac.Tests/packages.config create mode 100755 csharp/Mac/buck-build.sh diff --git a/csharp/Mac/CustomBuildAction.targets b/csharp/Mac/CustomBuildAction.targets index 2ac58ff0..db3cbddf 100644 --- a/csharp/Mac/CustomBuildAction.targets +++ b/csharp/Mac/CustomBuildAction.targets @@ -1,15 +1,10 @@ + - - Buck;CopyInNativeLib;$(CompileDependsOn) + NativeLibrary;$(CompileDependsOn) - - - - - - - - + + + diff --git a/csharp/Mac/Facebook.Yoga.Mac.Test/AppDelegate.cs b/csharp/Mac/Facebook.Yoga.Mac.Sample/AppDelegate.cs similarity index 94% rename from csharp/Mac/Facebook.Yoga.Mac.Test/AppDelegate.cs rename to csharp/Mac/Facebook.Yoga.Mac.Sample/AppDelegate.cs index f6a46196..fa4bbf95 100644 --- a/csharp/Mac/Facebook.Yoga.Mac.Test/AppDelegate.cs +++ b/csharp/Mac/Facebook.Yoga.Mac.Sample/AppDelegate.cs @@ -9,7 +9,7 @@ using AppKit; using Foundation; -namespace Facebook.Yoga.Mac.Test +namespace Facebook.Yoga.Mac.Sample { [Register("AppDelegate")] public class AppDelegate : NSApplicationDelegate diff --git a/csharp/Mac/Facebook.Yoga.Mac.Test/Entitlements.plist b/csharp/Mac/Facebook.Yoga.Mac.Sample/Entitlements.plist similarity index 100% rename from csharp/Mac/Facebook.Yoga.Mac.Test/Entitlements.plist rename to csharp/Mac/Facebook.Yoga.Mac.Sample/Entitlements.plist diff --git a/csharp/Mac/Facebook.Yoga.Mac.Test/Facebook.Yoga.Mac.Test.csproj b/csharp/Mac/Facebook.Yoga.Mac.Sample/Facebook.Yoga.Mac.Sample.csproj similarity index 94% rename from csharp/Mac/Facebook.Yoga.Mac.Test/Facebook.Yoga.Mac.Test.csproj rename to csharp/Mac/Facebook.Yoga.Mac.Sample/Facebook.Yoga.Mac.Sample.csproj index 70535e37..4337f095 100644 --- a/csharp/Mac/Facebook.Yoga.Mac.Test/Facebook.Yoga.Mac.Test.csproj +++ b/csharp/Mac/Facebook.Yoga.Mac.Sample/Facebook.Yoga.Mac.Sample.csproj @@ -6,8 +6,8 @@ {64E0AB97-A904-4607-A535-EEA5A966C09E} {A3F8F2AB-B479-4A4A-A458-A89E7DC349F1};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} Exe - Facebook.Yoga.Mac.Test - Facebook.Yoga.Mac.Test + Facebook.Yoga.Mac.Sample + Facebook.Yoga.Mac.Sample v2.0 Xamarin.Mac Resources diff --git a/csharp/Mac/Facebook.Yoga.Mac.Test/Info.plist b/csharp/Mac/Facebook.Yoga.Mac.Sample/Info.plist similarity index 89% rename from csharp/Mac/Facebook.Yoga.Mac.Test/Info.plist rename to csharp/Mac/Facebook.Yoga.Mac.Sample/Info.plist index 7e955671..3c1e9003 100644 --- a/csharp/Mac/Facebook.Yoga.Mac.Test/Info.plist +++ b/csharp/Mac/Facebook.Yoga.Mac.Sample/Info.plist @@ -3,9 +3,9 @@ CFBundleName - Facebook.Yoga.Mac.Test + Facebook.Yoga.Mac.Sample CFBundleIdentifier - com.companyname.facebook-yoga-mac-test + com.facebook.facebook-yoga-mac-sample CFBundleShortVersionString 1.0 CFBundleVersion diff --git a/csharp/Mac/Facebook.Yoga.Mac.Test/Main.cs b/csharp/Mac/Facebook.Yoga.Mac.Sample/Main.cs similarity index 91% rename from csharp/Mac/Facebook.Yoga.Mac.Test/Main.cs rename to csharp/Mac/Facebook.Yoga.Mac.Sample/Main.cs index 97adb4db..17e74ec2 100644 --- a/csharp/Mac/Facebook.Yoga.Mac.Test/Main.cs +++ b/csharp/Mac/Facebook.Yoga.Mac.Sample/Main.cs @@ -8,7 +8,7 @@ using AppKit; -namespace Facebook.Yoga.Mac.Test +namespace Facebook.Yoga.Mac.Sample { static class MainClass { diff --git a/csharp/Mac/Facebook.Yoga.Mac.Test/Main.storyboard b/csharp/Mac/Facebook.Yoga.Mac.Sample/Main.storyboard similarity index 98% rename from csharp/Mac/Facebook.Yoga.Mac.Test/Main.storyboard rename to csharp/Mac/Facebook.Yoga.Mac.Sample/Main.storyboard index 1d8f728d..6b7fa93d 100644 --- a/csharp/Mac/Facebook.Yoga.Mac.Test/Main.storyboard +++ b/csharp/Mac/Facebook.Yoga.Mac.Sample/Main.storyboard @@ -10,11 +10,11 @@ - + - + - + @@ -28,7 +28,7 @@ - + @@ -46,7 +46,7 @@ - + @@ -627,7 +627,7 @@ - + diff --git a/csharp/Mac/Facebook.Yoga.Mac.Test/ViewController.cs b/csharp/Mac/Facebook.Yoga.Mac.Sample/ViewController.cs similarity index 99% rename from csharp/Mac/Facebook.Yoga.Mac.Test/ViewController.cs rename to csharp/Mac/Facebook.Yoga.Mac.Sample/ViewController.cs index e802aa4e..4fe8d75b 100644 --- a/csharp/Mac/Facebook.Yoga.Mac.Test/ViewController.cs +++ b/csharp/Mac/Facebook.Yoga.Mac.Sample/ViewController.cs @@ -13,7 +13,7 @@ using AppKit; using Foundation; using CoreGraphics; -namespace Facebook.Yoga.Mac.Test +namespace Facebook.Yoga.Mac.Sample { public static class NSViewYogaExtensions { diff --git a/csharp/Mac/Facebook.Yoga.Mac.Test/ViewController.designer.cs b/csharp/Mac/Facebook.Yoga.Mac.Sample/ViewController.designer.cs similarity index 91% rename from csharp/Mac/Facebook.Yoga.Mac.Test/ViewController.designer.cs rename to csharp/Mac/Facebook.Yoga.Mac.Sample/ViewController.designer.cs index 1cf1e327..1f97731d 100644 --- a/csharp/Mac/Facebook.Yoga.Mac.Test/ViewController.designer.cs +++ b/csharp/Mac/Facebook.Yoga.Mac.Sample/ViewController.designer.cs @@ -6,7 +6,7 @@ // using Foundation; -namespace Facebook.Yoga.Mac.Test +namespace Facebook.Yoga.Mac.Sample { [Register("ViewController")] partial class ViewController diff --git a/csharp/Mac/Facebook.Yoga.Mac.Tests/Entitlements.plist b/csharp/Mac/Facebook.Yoga.Mac.Tests/Entitlements.plist new file mode 100644 index 00000000..9ae59937 --- /dev/null +++ b/csharp/Mac/Facebook.Yoga.Mac.Tests/Entitlements.plist @@ -0,0 +1,6 @@ + + + + + + diff --git a/csharp/Mac/Facebook.Yoga.Mac.Tests/Facebook.Yoga.Mac.Tests.csproj b/csharp/Mac/Facebook.Yoga.Mac.Tests/Facebook.Yoga.Mac.Tests.csproj new file mode 100644 index 00000000..0c67b1cb --- /dev/null +++ b/csharp/Mac/Facebook.Yoga.Mac.Tests/Facebook.Yoga.Mac.Tests.csproj @@ -0,0 +1,78 @@ + + + + Debug + AnyCPU + {9FCB6149-DFA8-4EAA-B4DB-2E91A5D8FF77} + {A3F8F2AB-B479-4A4A-A458-A89E7DC349F1};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + Exe + Facebook.Yoga.Mac.Tests + Facebook.Yoga.Mac.Tests + v2.0 + Xamarin.Mac + Resources + + + true + full + false + bin\Debug + DEBUG; + prompt + 4 + false + Mac Developer + false + false + false + true + true + true + HttpClientHandler + Default + None + x86_64 + + + pdbonly + true + bin\Release + + prompt + 4 + false + true + false + true + true + true + SdkOnly + HttpClientHandler + Default + + + + + ..\packages\NUnit.2.6.4\lib\nunit.framework.dll + + + + + + + + + + + + + + + + {19A1C7D7-C9CC-476A-B604-DF6A3DE1BA71} + Facebook.Yoga.Mac + + + + + diff --git a/csharp/Mac/Facebook.Yoga.Mac.Tests/Info.plist b/csharp/Mac/Facebook.Yoga.Mac.Tests/Info.plist new file mode 100644 index 00000000..2671eb56 --- /dev/null +++ b/csharp/Mac/Facebook.Yoga.Mac.Tests/Info.plist @@ -0,0 +1,30 @@ + + + + + CFBundleName + Facebook.Yoga.Mac.Tests + CFBundleIdentifier + com.facebook.facebook-yoga-mac-tests + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + LSMinimumSystemVersion + 10.11 + CFBundleDevelopmentRegion + en + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + APPL + CFBundleSignature + ???? + NSHumanReadableCopyright + ${AuthorCopyright} + NSPrincipalClass + NSApplication + NSMainStoryboardFile + Main + + diff --git a/csharp/Mac/Facebook.Yoga.Mac.Tests/Main.cs b/csharp/Mac/Facebook.Yoga.Mac.Tests/Main.cs new file mode 100644 index 00000000..d3c588bc --- /dev/null +++ b/csharp/Mac/Facebook.Yoga.Mac.Tests/Main.cs @@ -0,0 +1,20 @@ +/** + * Copyright 2014-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the license found in the + * LICENSE-examples file in the root directory of this source tree. + */ + +using System; +using System.Reflection; + +namespace Facebook.Yoga.Mac.Tests +{ + static class MainClass + { + static void Main(string[] args) + { + } + } +} diff --git a/csharp/Mac/Facebook.Yoga.Mac.Tests/packages.config b/csharp/Mac/Facebook.Yoga.Mac.Tests/packages.config new file mode 100644 index 00000000..a6115df1 --- /dev/null +++ b/csharp/Mac/Facebook.Yoga.Mac.Tests/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/csharp/Mac/Facebook.Yoga.Mac.sln b/csharp/Mac/Facebook.Yoga.Mac.sln index c99766c6..b44f1bbf 100644 --- a/csharp/Mac/Facebook.Yoga.Mac.sln +++ b/csharp/Mac/Facebook.Yoga.Mac.sln @@ -1,25 +1,39 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 2012 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facebook.Yoga.Mac.Test", "Facebook.Yoga.Mac.Test\Facebook.Yoga.Mac.Test.csproj", "{64E0AB97-A904-4607-A535-EEA5A966C09E}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facebook.Yoga.Mac", "Facebook.Yoga.Mac.csproj", "{19A1C7D7-C9CC-476A-B604-DF6A3DE1BA71}" EndProject Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Facebook.Yoga.Shared", "..\Facebook.Yoga\Facebook.Yoga.Shared.shproj", "{91C42D32-291D-4B72-90B4-551663D60B8B}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facebook.Yoga.Mac.Sample", "Facebook.Yoga.Mac.Sample\Facebook.Yoga.Mac.Sample.csproj", "{64E0AB97-A904-4607-A535-EEA5A966C09E}" +EndProject +Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Facebook.Yoga.Shared.Tests", "..\tests\Facebook.Yoga\Facebook.Yoga.Shared.Tests.shproj", "{4EDC82D9-A201-4831-8FE0-98F468F8E4AE}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Shared", "Shared", "{9352A9B6-F93B-45DD-8BCE-4696A62B3789}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facebook.Yoga.Mac.Tests", "Facebook.Yoga.Mac.Tests\Facebook.Yoga.Mac.Tests.csproj", "{9FCB6149-DFA8-4EAA-B4DB-2E91A5D8FF77}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {64E0AB97-A904-4607-A535-EEA5A966C09E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {64E0AB97-A904-4607-A535-EEA5A966C09E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {64E0AB97-A904-4607-A535-EEA5A966C09E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {64E0AB97-A904-4607-A535-EEA5A966C09E}.Release|Any CPU.Build.0 = Release|Any CPU {19A1C7D7-C9CC-476A-B604-DF6A3DE1BA71}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {19A1C7D7-C9CC-476A-B604-DF6A3DE1BA71}.Debug|Any CPU.Build.0 = Debug|Any CPU {19A1C7D7-C9CC-476A-B604-DF6A3DE1BA71}.Release|Any CPU.ActiveCfg = Release|Any CPU {19A1C7D7-C9CC-476A-B604-DF6A3DE1BA71}.Release|Any CPU.Build.0 = Release|Any CPU + {64E0AB97-A904-4607-A535-EEA5A966C09E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {64E0AB97-A904-4607-A535-EEA5A966C09E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {64E0AB97-A904-4607-A535-EEA5A966C09E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {64E0AB97-A904-4607-A535-EEA5A966C09E}.Release|Any CPU.Build.0 = Release|Any CPU + {9FCB6149-DFA8-4EAA-B4DB-2E91A5D8FF77}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9FCB6149-DFA8-4EAA-B4DB-2E91A5D8FF77}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9FCB6149-DFA8-4EAA-B4DB-2E91A5D8FF77}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9FCB6149-DFA8-4EAA-B4DB-2E91A5D8FF77}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {91C42D32-291D-4B72-90B4-551663D60B8B} = {9352A9B6-F93B-45DD-8BCE-4696A62B3789} + {4EDC82D9-A201-4831-8FE0-98F468F8E4AE} = {9352A9B6-F93B-45DD-8BCE-4696A62B3789} EndGlobalSection EndGlobal diff --git a/csharp/Mac/buck-build.sh b/csharp/Mac/buck-build.sh new file mode 100755 index 00000000..de1a32a2 --- /dev/null +++ b/csharp/Mac/buck-build.sh @@ -0,0 +1,6 @@ +#!/bin/sh +if buck --version >/dev/null 2>&1; then true; else + echo "SKIP: Need to install buck https://buckbuild.com/setup/getting_started.html" + exit 0 +fi +buck build $1 diff --git a/csharp/iOS/Facebook.Yoga.iOS/CustomBuildAction.targets b/csharp/iOS/Facebook.Yoga.iOS/CustomBuildAction.targets index 06e8be25..04a1b830 100644 --- a/csharp/iOS/Facebook.Yoga.iOS/CustomBuildAction.targets +++ b/csharp/iOS/Facebook.Yoga.iOS/CustomBuildAction.targets @@ -1,13 +1,10 @@  - Buck;CopyInNativeLib;$(CompileDependsOn) - - - - - - - - + NativeLibrary;$(CompileDependsOn) + + + + +