fsprojects / Paket

A dependency manager for .NET with support for NuGet packages and Git repositories.
https://fsprojects.github.io/Paket/
MIT License
2.02k stars 520 forks source link

Invalid resolution on macOS for 'monoandroid10.0' #3820

Open TimLariviere opened 4 years ago

TimLariviere commented 4 years ago

Description

Using the newly released version of Paket (5.243.0) that adds support for MonoAndroid10.0 TFM, I'm noticing a difference between macOS and Windows.

For the Xamarin.Forms 4.5.0.495 package, on Windows it resolves perfectly the MonoAndroid10.0 dependencies, but on macOS it resolves for MonoAndroid9.0.

Repro steps

  1. Download paket.exe from the Release 5.243.0

  2. Create the following paket.dependencies

    framework: monoandroid10.0
    source https://api.nuget.org/v3/index.json
    nuget Xamarin.Forms <= 4.6.0
  3. Run paket install

    • Windows: .\paket.exe install
    • macOS: mono .\paket.exe install
  4. Check the paket.lock file on both OS paket.lock.Windows.txt paket.lock.macOS.txt

Expected behavior

Both macOS and Windows should resolve dependencies with respect for MonoAndroid10.0.

    Xamarin.Forms (4.5.0.495)
      Xamarin.AndroidX.Browser (>= 1.0)
      Xamarin.AndroidX.Legacy.Support.V4 (>= 1.0)
      Xamarin.AndroidX.Lifecycle.LiveData (>= 2.1)
      Xamarin.Google.Android.Material (>= 1.0)

Actual behavior

Windows is resolving for MonoAndroid10.0 perfectly, macOS resolves for MonoAndroid9.0 instead for some reasons.

    Xamarin.Forms (4.5.0.495)
      Xamarin.AndroidX.Browser (>= 1.0)
      Xamarin.AndroidX.Legacy.Support.V4 (>= 1.0)
      Xamarin.AndroidX.Lifecycle.LiveData (>= 2.1)
      Xamarin.Google.Android.Material (>= 1.0)
    Xamarin.Forms (4.5.0.495)
      Xamarin.Android.Support.CustomTabs (>= 28.0.0.3)
      Xamarin.Android.Support.Design (>= 28.0.0.3)
      Xamarin.Android.Support.v4 (>= 28.0.0.3)
      Xamarin.Android.Support.v7.AppCompat (>= 28.0.0.3)
      Xamarin.Android.Support.v7.CardView (>= 28.0.0.3)

Known workarounds

No workaround known. Run paket install on Windows for the moment.

TimLariviere commented 4 years ago

~There also seems to be a related error when restoring on macOS a valid lock file generated by Windows.~

~There was a problem while setting up the environment: -> Error during parsing of '/Users/timothelariviere/Git/GitHub/Fabulous/paket.lock'. -> invalid parameter 'monoandroid10.0' after >= or < in '== monoandroid10.0'~

This one was because of FAKE not using the correct version of Paket.