-
Notifications
You must be signed in to change notification settings - Fork 95
GenerateJavaStubs is invoked before initializing supported frameworks appropriately #567
Comments
Can you guys add some public task that we can use for this? |
@atsushieno is this only an issue on Linux? Using "private" MSBuild tasks at the time was the only path to get things working, but I'm not sure what marks a task private versus non-private. @atsushieno are you saying there needs to be an It would probably have to be two targets:
Then add tests making sure they don't get broken. This would also come at a cost, because Embeddinator would have to again rely on an unreleased Xamarin.Android if those were added. |
@jonathanpeppers I have no idea. I know it is problematic and it doesn't work fine on Linux. I rather assume you are based on bogus assumption and incorrectly premised setup that every Mac (and Linux) must have former versions of Xamarin.Android. If you prepare clean CI environment that never installs any Xamarin.Android and make sure that it still works, then I trust the outcome (well, it does not have to be you who prepare it). |
Then @jonpryor needs to rethink about collecting everything in xamarin-android then. I keep saying that idea is wrong. |
To make it clear, I just ran E4k from NuGet package (i.e. as of 0.3.0) with my Mac which only has installed VSMac and Xamarin.Android from alpha channel, and things still don't work. What I observe from here is that even with the packaged Xamarin.Android e4k still has dependencies on local setup, or it totally does not work anywhere (in case @jonathanpeppers verified behavior with some local changes, which I often get trapped with my code).
For environment:
|
Please test with master (0.4.0), there are some issues updating NuGet due to the migration to MS namespace. |
Just for some updates; I'm getting closer to get it working. Now with the updated #566 , I could successfully finish the command below i.e. GenerateJavaStubs issue is gone:
This was achieved by adding another non-public target dependency https://github.com/mono/Embeddinator-4000/pull/566/files#diff-aad38e8 . Also, this means that there should still be And with
|
@atsushieno were you able to solve the error: cannot find -lmonosgen-2.0 error? I am running into the same issue on Windows and I am not sure how to fix it. |
I have a pending PR to fix toolchain location lookup at #566 , but it is reportedly not working on Windows... |
I think the root cause of the problem is the same as #530 but current code base is implemented to invoke non-public features and targets in Xamarin.Android build tasks (which you are not supposed to do of course) and thus it runs GenerateJavaStubs task before appropriate supported frameworks.
Namely, GenerateJavaStubs.proj build fails at:
The NRE is caused by accessing MonoAndroidHelper.SupportedVersions which is null.
The text was updated successfully, but these errors were encountered: