-
Notifications
You must be signed in to change notification settings - Fork 564
[nunit] build X.A.NUnitLite.dll with API level 19 #547
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
Conversation
|
Unit test execution failed on macOS+xbuild PR Build, and I'm not at all sure why. There's an emulator... ...but we can't access the package manager? All following Re-reading, it gets weirder: We never create an emulator. A device is already attached, as far as This is very fishy; I'm going to kick off a new build. |
| <Private>False</Private> | ||
| </ProjectReference> | ||
| <ProjectReference Include="..\Xamarin.Android.Build.Tasks\Xamarin.Android.Build.Tasks.csproj"> | ||
| <ProjectReference Condition=" '$(AndroidApiLevel)' >= 24 " Include="..\Xamarin.Android.Build.Tasks\Xamarin.Android.Build.Tasks.csproj"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think > needs escaping in XML. It can be, but I don't believe it's required, and >= is certainly easier to read...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it was probably escaped by XS or emacs. will try to use >
|
build |
|
The rebuild worked. I don't know why it failed last time. |
- current NUnitLite was built with latest API level. that was problematic, because it was referencing BaseBundle class, which is only available in API >= 21, see https://developer.android.com/reference/android/os/BaseBundle.html - so instead of using latest API, we now build it with API 19. that's the lowes API level we can use, because src/Xamarin.Android.NUnitLite/Gui/Instrumentations/TestSuiteInstrumentation.cs is using global::Android.OS.Environment.DirectoryDocuments which is avalable in API level >= 19, see https://developer.android.com/reference/android/os/Environment.html#DIRECTORY_DOCUMENTS - also the X.A.Build.Tasks project reference is now conditional, because it requires API level >= 24. it is OK, because we build it in leeroy-all rule with latest API level and default build uses latest API level too. the project reference itself is there to ensure the build ordering, so we can safely make it conditional - it fixes bugs #53418 and #53884
ec087fc to
3d6a67a
Compare
|
ok, removed the escaping |
Fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=53418 Fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=53884 - current NUnitLite was built with latest API level. that was problematic, because it was referencing BaseBundle class, which is only available in API >= 21, see https://developer.android.com/reference/android/os/BaseBundle.html - so instead of using latest API, we now build it with API 19. that's the lowes API level we can use, because src/Xamarin.Android.NUnitLite/Gui/Instrumentations/TestSuiteInstrumentation.cs is using global::Android.OS.Environment.DirectoryDocuments which is avalable in API level >= 19, see https://developer.android.com/reference/android/os/Environment.html#DIRECTORY_DOCUMENTS - also the X.A.Build.Tasks project reference is now conditional, because it requires API level >= 24. it is OK, because we build it in leeroy-all rule with latest API level and default build uses latest API level too. the project reference itself is there to ensure the build ordering, so we can safely make it conditional
Changes: dotnet/java-interop@bd7c60a...cedf4d0 * dotnet/java-interop@cedf4d0: [build] Convert more projects to Short-Form projects (#547) Update `src/Mono.Android` to not check target framework of referenced console apps. These project references only exist to ensure a particular build order, so we can skip target framework version compatibility checks.
Changes: dotnet/java-interop@a84d19e...2cab35c * dotnet/java-interop@2cab35cc: [build] Convert more projects to Short-Form projects (#547) Update `src/Mono.Android` to not check target framework of referenced console apps. These project references only exist to ensure a particular build order, so we can skip target framework version compatibility checks.
current NUnitLite was built with latest API level. that was
problematic, because it was referencing BaseBundle class, which is
only available in API >= 21, see
https://developer.android.com/reference/android/os/BaseBundle.html
so instead of using latest API, we now build it with API 19. that's
the lowes API level we can use, because
src/Xamarin.Android.NUnitLite/Gui/Instrumentations/TestSuiteInstrumentation.cs
is using global::Android.OS.Environment.DirectoryDocuments which is
avalable in API level >= 19, see
https://developer.android.com/reference/android/os/Environment.html#DIRECTORY_DOCUMENTS
also the X.A.Build.Tasks project reference is now conditional,
because it requires API level >= 24. it is OK, because we build it
in leeroy-all rule with latest API level and default build uses
latest API level too. the project reference itself is there to
ensure the build ordering, so we can safely make it conditional
it fixes bugs #53418 and #53884