[msbuild] Automatically add the 'com.apple.security.cs.allow-jit' entitlement for desktop release builds. Fixes #15745. - #15927
Conversation
…itlement for desktop release builds. Fixes dotnet#15745. * Add support for specifying custom entitlements with an MSBuild item group. * Use this new support to automatically add the 'com.apple.security.cs.allow-jit' entitlement to .NET desktop apps when building for release, since all apps that go through notarization will need it in order to be able to use the JIT. It's possible to override the default behavior by adding something like this to the project file: <ItemGroup> <CustomEntitlements Include="com.apple.security.cs.allow-jit" Type="Remove" /> </ItemGroup> Fixes dotnet#15745.
💻 [PR Build] Tests on macOS Mac Catalina (10.15) passed 💻✅ All tests on macOS Mac Catalina (10.15) passed. Pipeline on Agent |
✅ API diff for current PR / commitLegacy Xamarin (No breaking changes)
NET (empty diffs)
✅ API diff vs stableLegacy Xamarin (No breaking changes).NET (No breaking changes)✅ Generator diffGenerator diff is empty Pipeline on Agent |
❌ [PR Build] Tests on macOS M1 - Mac Big Sur (11.5) failed ❌Failed tests are:
Pipeline on Agent |
| bool booleanValue; | ||
| if (string.Equals (value, "true", StringComparison.OrdinalIgnoreCase)) { | ||
| booleanValue = true; | ||
| } else if (string.Equals (value, "false", StringComparison.OrdinalIgnoreCase)) { | ||
| booleanValue = false; |
There was a problem hiding this comment.
Why not use https://docs.microsoft.com/en-us/dotnet/api/system.boolean.tryparse?view=net-6.0 look like it supports several representations for bool:
// The example displays the following output:
// Unable to parse '<null>'.
// Unable to parse ''.
// 'True' --> True
// 'False' --> False
// 'true' --> True
// 'false' --> False
// ' true ' --> True
// Unable to parse '0'.
// Unable to parse '1'.
// Unable to parse '-1'.
// Unable to parse 'string'.
mandel-macaque
left a comment
There was a problem hiding this comment.
Approving but you could use the try parse method.
🔥 [CI Build] Test results 🔥Test results❌ Tests failed on VSTS: simulator tests 6 tests crashed, 16 tests failed, 184 tests passed. Failures❌ bcl testsDetails
Html Report (VSDrops) Download ❌ generator tests🔥 Failed catastrophically on VSTS: simulator tests - generator (no summary found). Html Report (VSDrops) Download ❌ interdependent_binding_projects tests🔥 Failed catastrophically on VSTS: simulator tests - interdependent_binding_projects (no summary found). Html Report (VSDrops) Download ❌ linker testsDetails
Html Report (VSDrops) Download ❌ monotouch testsDetails
Html Report (VSDrops) Download ❌ mtouch tests🔥 Failed catastrophically on VSTS: simulator tests - mtouch (no summary found). Html Report (VSDrops) Download ❌ xammac tests🔥 Failed catastrophically on VSTS: simulator tests - xammac (no summary found). Html Report (VSDrops) Download ❌ xcframework tests🔥 Failed catastrophically on VSTS: simulator tests - xcframework (no summary found). Html Report (VSDrops) Download ❌ xtro tests🔥 Failed catastrophically on VSTS: simulator tests - xtro (no summary found). Html Report (VSDrops) Download Successes✅ cecil: All 1 tests passed. Html Report (VSDrops) Download Pipeline on Agent |
🔥 [CI Build] Test results 🔥Test results❌ Tests failed on VSTS: simulator tests 1 tests crashed, 12 tests failed, 209 tests passed. Failures❌ monotouch tests [attempt 2]Details
Html Report (VSDrops) Download ❌ xtro tests🔥 Failed catastrophically on VSTS: simulator tests - xtro (no summary found). Html Report (VSDrops) Download Successes✅ bcl: All 69 tests passed. [attempt 2] Html Report (VSDrops) Download Pipeline on Agent |
🔥 [CI Build] Test results 🔥Test results❌ Tests failed on VSTS: simulator tests 0 tests crashed, 12 tests failed, 211 tests passed. Failures❌ monotouch tests [attempt 3]Details
Html Report (VSDrops) Download Successes✅ bcl: All 69 tests passed. [attempt 2] Html Report (VSDrops) Download Pipeline on Agent |
|
Test failures are unrelated (#15939). |
entitlement to .NET desktop apps when building for release, since all apps that
go through notarization will need it in order to be able to use the JIT.
It's possible to override the default behavior by adding something like this to the project file:
Fixes #15745.