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

Add MonoAndroid70 to Forms/Map .nuspec #679

Merged
merged 1 commit into from Jan 18, 2017

Conversation

Projects
None yet
6 participants
@kingces95
Member

kingces95 commented Jan 12, 2017

Users want to upgrade to Xamarin.Support.* v25 but cannot because XF locks its version at v23 (in .nuspec, see version="[23.3.0]"). If we simply unlocked the version then they can reference v25 however those assemblies reference Android SDK API 25 which if not installed will break their build. So we have to make sure that by default, when they upgrade, API 25 is present. The VS SDK installer is not owned by Xamarin's division so are forced to wait till May for the installer to add API 25 during a VS upgrade. That upgrade will also include Xamarin.Android (XA) which will support MonoAndroid70. XA will automatically update Android csproj files at load time to MonoAndroid71. Hence, for users that simply upgrade VS in May, XF knows that if referring project is MonoAndroid70 or greater than API 25 is present and XS.* v25 can be referenced hence the change in the .nuspec.

XS v25 also removed an event signature so we changed to using the java methods to hook and unhook hence the source code changes.

@rmarinho rmarinho changed the title from Add MonoAndroid70 to Forms/Map .nuspec (Do Not Merge!) to Add MonoAndroid70 to Forms/Map .nuspec Jan 12, 2017

@jassmith jassmith merged commit fb024a6 into master Jan 18, 2017

6 checks passed

Android-UITests-C8 Finished TeamCity Build Xamarin.Forms :: Debug :: Cycle 8 :: UI Tests :: OSX Test Cloud Package - Run Android 6.0.1 : Tests passed: 351, i…
Details
OSX-Debug-C8 Finished TeamCity Build Xamarin.Forms :: Debug :: Cycle 8 :: OSX Debug : Running
Details
Windows-Debug-C8 Finished TeamCity Build Xamarin.Forms :: Debug :: Cycle 8 :: Windows Debug : Tests passed: 3695, ignored: 10
Details
iOS10-UITests-C8 Finished TeamCity Build Xamarin.Forms :: Debug :: Cycle 8 :: UI Tests :: OSX Test Cloud Package - Run iOS Unified iOS10 : Tests passed: 34…
Details
iOS8-UITests-C8 Finished TeamCity Build Xamarin.Forms :: Debug :: Cycle 8 :: UI Tests :: OSX Test Cloud Package - Run iOS Unified IOS8 : Tests passed: 344…
Details
iOS9-UITests-C8 Finished TeamCity Build Xamarin.Forms :: Debug :: Cycle 8 :: UI Tests :: OSX Test Cloud Package - Run iOS Unified iOS9 : Tests passed: 346…
Details
@brandonrisell

This comment has been minimized.

Show comment
Hide comment
@brandonrisell

brandonrisell Mar 2, 2017

This change allows a project to get into some strange states.

For example:

  • We updated all nuget packages after the most recent Xamarin release, which updated our Android Support libraries.
  • We then decided to add the share plugin, https://github.com/jguertl/SharePlugin, which worked great in development, until we tried a release build and the linker choked.
  • I put in an issue, jguertl/SharePlugin#44, and downgraded support libraries to 24.2.1 so that share plugin worked.
  • James Montemagno put out a beta build that is built against 25.1.1 yesterday, jguertl/SharePlugin#44 (comment).
  • I updated Support packages again, and installed beta build of share plugin. Working great.
  • Today, decided to add deep linking to android, and find out that Xamarin.Forms.AppLinks won't install because it requires v23.3.0 of the Android support libraries.
  • So I'm back to downgrading.

Now it's not that much work to downgrade and upgrade the packages, it's just a bit odd that Xamarin.Forms lets you update to android support versions that no other forms packages support. I feel like maybe the better approach is for the user who needs newer versions of the Android Support packages to utilize -IgnoreDependencies, and then install the versions that they specifically need.

This change allows a project to get into some strange states.

For example:

  • We updated all nuget packages after the most recent Xamarin release, which updated our Android Support libraries.
  • We then decided to add the share plugin, https://github.com/jguertl/SharePlugin, which worked great in development, until we tried a release build and the linker choked.
  • I put in an issue, jguertl/SharePlugin#44, and downgraded support libraries to 24.2.1 so that share plugin worked.
  • James Montemagno put out a beta build that is built against 25.1.1 yesterday, jguertl/SharePlugin#44 (comment).
  • I updated Support packages again, and installed beta build of share plugin. Working great.
  • Today, decided to add deep linking to android, and find out that Xamarin.Forms.AppLinks won't install because it requires v23.3.0 of the Android support libraries.
  • So I'm back to downgrading.

Now it's not that much work to downgrade and upgrade the packages, it's just a bit odd that Xamarin.Forms lets you update to android support versions that no other forms packages support. I feel like maybe the better approach is for the user who needs newer versions of the Android Support packages to utilize -IgnoreDependencies, and then install the versions that they specifically need.

@rmarinho rmarinho deleted the lib25 branch Jun 22, 2017

@samhouts samhouts added this to the 2.3.4 milestone Jun 27, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment