-
Notifications
You must be signed in to change notification settings - Fork 30
Portable Option for Xamarin? #141
Comments
Step one is to generate PCL packages. That can be done through FAKE and Paket and should be fairly straight-forward. Would you like to attempt it? We would need to make these changes for:
|
@jwood803 I went ahead and filed the issue with FParsec: https://bitbucket.org/fparsec/main/issues/35/support-android-and-ios-pcl-targets |
Awesome! Thanks @panesofglass! I'll see if I can mess with step one from above this weekend. |
@jwood803 Freya and Arachne have virtually identical build scripts. Once you fix one, the other should be a cinch. I think you will need to add a loop around the builds to run for each target profile, then add the various profiles to the |
Would Aether need to be included as part of step one, as well? |
I think you'd need to do Aether first, then Chiron and Hekate could be done On 5 December 2015 at 18:17, Jon Wood notifications@github.com wrote:
|
@jwood803 yes! I knew I was forgetting one of the libs! Thanks for adding it! |
Aether (and Chiron and Hekate) are currently in RCs for new releases On 5 December 2015 at 19:31, Ryan Riley notifications@github.com wrote:
|
@jwood803 you'll also need to change the paket.dependencies file to add the portable profiles you want. I think at present I've limited things to @kolektiv iirc, fsharpx had something like this, but I don't know the state of those projects now nor whether they use paket. |
@jwood803 looks like Profile 259 should work. I just tried adding FParsec directly, and XS appeared to load them. I don't have an active license, so I can't build. Would you mind trying? |
I added FParsec (using this version as it seems to be the more widely used/downloaded) and it built without any issues in a PCL project in Xamarin. |
@jwood803 that means we only need to get the builds for step 1 generating PCL assemblies and add the desired PCL constraints to the respective |
Question: is it worth also backing up to .NET 4.0 Client profile, too? I don't recall whether we have any > .NET 4.0 requirements, though we might. I'm also not sure whether it's worth the effort at this point. PCL and .NET Core are likely more important. |
Is there any point if support will be ending soon: https://support.microsoft.com/en-us/gp/framework_faq?wa=wsignin1.0 |
@TWith2Sugars no! Thank you for looking that up! |
Yes, thank you @TWith2Sugars! @panesofglass I'll mess with your recommendations over the weekend or the holidays, whichever comes first :p |
And I just happened to see this bit of awesomeness from @dsyme. I'm sure this will help out with the stuff here. |
Aha, indeed! So, Aether, Chiron, Hekate are now all portable (Profile259). The current pre-release of Arachne is the same. It's just Freya now which needs to take that step, but all dependencies are prepared! At the moment the only block is working out the right approach to builds (x-platform builds for portable etc. don't seem to be possible, so working out what the right thing to do in terms of solution/project versioning etc. is currently on the slate). However, once we've got that nailed down (and there's some discussion starting using Arachne as the test case: https://github.com/freya-fs/arachne/issues/31) then there's no reason I can think of that Freya won't be too. Hopefully for the final 3.0.0! I'm not sure what server people will run it on, but it should be available :) |
Are we close on this? Need to fix Travis builds, but I think this is just waiting on the release, right? |
Apologies, I haven't had much time lately, but I should have some during the weekend. |
So I think we need to fix the Travis build for Arachne (our test bed) then push the 3.0 final of Arachne which will make all dependencies portable. At that point we can take whatever approach we've taken with Arachne with Freya (a lot of grunt work, but nothing too complex I think). At that point, I think we can go 3.0 with Freya... |
We need to make a decision on this (and Arachne). @panesofglass did you manage to find an approach for Travis? |
I also see numerous warnings and errors trying to build on my Mac, which differ when trying to build with either the homebrew installation or Xamarin installation. @7sharp9, any thoughts? homebrew:
Xamarin:
|
What version of XS are you building with? The current preview edition has full support for PCL including a drop down to change which PCL you are currently using. |
@7sharp9 I'm using 5.10.1 (build 6). |
Apologies I've been off on this lately. Are there still dependencies that are needed or just for me to quit being lazy and update the build? 😄 |
It's nearly there, pretty much all dependencies (except Freya itself) are compatible now. Hoping to find the time to push things out with Freya in the next week or two, as it's not far away. |
Released netstandard2.0 packages. |
I was just wondering if it was possible to make this compatible to load in a Xamarin project. I think this may open up quite a bit more potential for Freya. Or at least discuss it here. :]
Currently, if you try to bring in the NuGet through a Portable Class Library in a Xamarin project, you get this message that it is,
Unable to resolve dependency 'Aether (= 8.0.0-rc2)'.
When I try to bring in Aether it gives an error I expected for trying to load onto a PCL project:Could not install package 'Aether 7.0.2'. You are trying to install this package into a project that targets 'portable-net45+win+wp80+MonoTouch10+MonoAndroid10+xamarinmac20+xamarinios10', but the package does not contain any assembly references or content files that are compatible with that framework.
I also tried loading onto the Xamarin.iOS and Xamarin.Android projects separately and they also give errors from their respective project types.
Could not install package 'Aether 7.0.2'. You are trying to install this package into a project that targets 'Xamarin.iOS,Version=v1.0', but the package does not contain any assembly references or content files that are compatible with that framework.
and
Could not install package 'Aether 7.0.2'. You are trying to install this package into a project that targets 'MonoAndroid,Version=v6.0', but the package does not contain any assembly references or content files that are compatible with that framework.
I'll be more than happy to help if anything is needed for this!
The text was updated successfully, but these errors were encountered: