-
Notifications
You must be signed in to change notification settings - Fork 515
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[msbuild] Automatically detect any Entitlements.plist files in the root project in .NET. #15729
[msbuild] Automatically detect any Entitlements.plist files in the root project in .NET. #15729
Conversation
…ot project in .NET. Also provide a way out by setting EnableDefaultCodesignEntitlements=false. Fixes https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1595888.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
…or the simulator to get old behavior.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
✅ 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 Mac Catalina (10.15) passed 💻✅ All tests on macOS Mac Catalina (10.15) passed. Pipeline on Agent |
❌ [PR Build] Tests on macOS M1 - Mac Big Sur (11.5) failed ❌Failed tests are:
Pipeline on Agent |
🔥 [CI Build] Test results 🔥Test results❌ Tests failed on VSTS: simulator tests 0 tests crashed, 8 tests failed, 215 tests passed. Failures❌ bcl tests
Html Report (VSDrops) Download Successes✅ cecil: All 1 tests passed. Html Report (VSDrops) Download Pipeline on Agent |
Test failures are unrelated (dotnet/xharness#922). |
…ot project in .NET. (#15729) Also provide a way out by setting EnableDefaultCodesignEntitlements=false. Fixes https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1595888.
…titlements. This is the behavior in legacy Xamarin (for mobile projects): if a project contains a CodesignEntitlements=Entitlements.plist property, we require a provisioning profile (and failing the build if none is found). In .NET, the expected behavior is that if a file is in the project directory, it should be detected automatically and handled accordingly. We didn't do this for the initial release of .NET, but we implemented it later (xamarin#15729). However, this turned out to be complicated, because many templates provide an Entitlements.plist file, and now suddenly just the presence of such a file would require a provisioning profile, which also means setting up the whole rigmarole of Apple's certificates and provisioning profiles (and even potentially getting a paid Apple Developer account). This usually worked well in legacy Xamarin, because in templates only the Release configuration would set the CodesignEntitlements=Entitlements.plist property, and thus we'd only require a provisioning profile for release builds (and the Entitlements.plist file would be ignored for Debug builds). Here we change the default behavior when building for .NET so that we only require a provisioning profile if the Entitlements.plist file is empty (i.e. doesn't request any entitlements). I've also implemented an override, where setting the CodesignRequireProvisioningProfile=true property will override our default logic. Fixes https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1613459.
…titlements. (#15918) This is the behavior in legacy Xamarin (for mobile projects): if a project contains a CodesignEntitlements=Entitlements.plist property, we require a provisioning profile (and failing the build if none is found). In .NET, the expected behavior is that if a file is in the project directory, it should be detected automatically and handled accordingly. We didn't do this for the initial release of .NET, but we implemented it later (#15729). However, this turned out to be complicated, because many templates provide an Entitlements.plist file, and now suddenly just the presence of such a file would require a provisioning profile, which also means setting up the whole rigmarole of Apple's certificates and provisioning profiles (and even potentially getting a paid Apple Developer account). This usually worked well in legacy Xamarin, because in templates only the Release configuration would set the CodesignEntitlements=Entitlements.plist property, and thus we'd only require a provisioning profile for release builds (and the Entitlements.plist file would be ignored for Debug builds). Here we change the default behavior when building for .NET so that we only require a provisioning profile if the Entitlements.plist file is empty (i.e. doesn't request any entitlements). I've also implemented an override, where setting the CodesignRequireProvisioningProfile=true property will override our default logic. Fixes https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1613459.
Also provide a way out by setting EnableDefaultCodesignEntitlements=false.
Fixes https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1595888.