Skip to content
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

Generate Mono.Android.projitems file from BuildAndroidPlatform.cs specs #3422

Merged
merged 1 commit into from Aug 15, 2019

Conversation

@gugavaro
Copy link
Contributor

gugavaro commented Aug 1, 2019

Generate Mono.Android.Apis.projitems file from BuildAndroidPlatform.cs specs. The idea here is to have less moving parts to be updated everytime there is a new Api available. This new projitem file is generated during build and will live under bin\Build$(Configuration)

  • Rename file from Mono.Android.projitem to Mono.Android.Apis.projitem so we don't have the same file name as the Mono.Android.pojitem that lives under src/Mono.Android/obj/$(configuration)/android-$(api-version)/mcw
  • Modify AndroidPlatform.cs under xaprepare to support all fields we need to export to the projitem file.
  • Create a new xaprepare step that will flush the data to the projitem xml file
  • Update BuildAndroidPlatforms.cs with new fields and apis info. Note that although framework field and include field look similar we cannot overload the framework field to be used as include field because it is used with different purpose.
  • Remove current Mono.Android.projitems
  • Update all references to point to the new location
@gugavaro gugavaro force-pushed the gugavaro_mono.android.projitems branch from 7222b75 to e2a9113 Aug 2, 2019
@gugavaro gugavaro requested review from jonpryor and removed request for jonpryor and grendello Aug 2, 2019
@gugavaro gugavaro changed the title [DoNotReview] Generate Mono.Android.projitems file from BuildAndroidPlatform.cs specs Generate Mono.Android.projitems file from BuildAndroidPlatform.cs specs Aug 2, 2019
@gugavaro gugavaro removed the do-not-merge label Aug 2, 2019
@gugavaro gugavaro requested review from grendello and jonpryor Aug 2, 2019
@gugavaro gugavaro force-pushed the gugavaro_mono.android.projitems branch 2 times, most recently from d1be18d to 1553d7a Aug 2, 2019
public uint ApiLevel { get; }
public string PlatformID { get; }
public string Framework { get; }
public bool Stable { get; }
public bool Supported { get; }
public string Include { get; }

This comment has been minimized.

Copy link
@jonpryor

jonpryor Aug 6, 2019

Member

Given that the Include value is the Framework value -- when specified -- why introduce Include in the first place?

Just use the Framework value in the <AndroidApiInfo Include="{androidPlatform.Framework}">.

This comment has been minimized.

Copy link
@gugavaro

gugavaro Aug 9, 2019

Author Contributor

Hi @jonpryor, I tried to do that, but it seems the framework field is being used for other purposes. When I added the missing framework versions I got all sorts of different errors and was unable build. Maybe @grendello knows the reason and has a suggestion on how I could fix it to use the framework and avoid the new field.

This comment has been minimized.

Copy link
@grendello

grendello Aug 12, 2019

Member

Framework corresponds to the old makefile FRAMEWORKS (and friends) variable - it should only be used when the framework in question is supported by us and the new Include property appears to extend beyond that set.

This comment has been minimized.

Copy link
@gugavaro

gugavaro Aug 12, 2019

Author Contributor

@jonpryor do you have any other concerns?

… from BuildAndroidPlatforms.cs
@gugavaro gugavaro force-pushed the gugavaro_mono.android.projitems branch from 1553d7a to 1c874b1 Aug 8, 2019
public uint ApiLevel { get; }
public string PlatformID { get; }
public string Framework { get; }
public bool Stable { get; }
public bool Supported { get; }
public string Include { get; }

This comment has been minimized.

Copy link
@grendello

grendello Aug 12, 2019

Member

Framework corresponds to the old makefile FRAMEWORKS (and friends) variable - it should only be used when the framework in question is supported by us and the new Include property appears to extend beyond that set.

@gugavaro gugavaro requested a review from jonpryor Aug 12, 2019
@jonpryor jonpryor merged commit 7a9204d into master Aug 15, 2019
12 of 13 checks passed
12 of 13 checks passed
macOS PR Release Pipeline Build Build finished. 357506 tests run, 1992 skipped, 4 failed.
Details
Ubuntu PR Release Pipeline Build Build finished. No test results found.
Details
Xamarin.Android Build #merge-f22a333fa6de194f15690654b07c9a13ff35bf89-1 succeeded
Details
Xamarin.Android (Mac Build) Mac Build succeeded
Details
Xamarin.Android (Prepare bundle) Prepare bundle succeeded
Details
Xamarin.Android (Test APK Instrumentation) Test APK Instrumentation succeeded
Details
Xamarin.Android (Test Designer Mac) Test Designer Mac succeeded
Details
Xamarin.Android (Test Designer Windows) Test Designer Windows succeeded
Details
Xamarin.Android (Test MSBuild Mac) Test MSBuild Mac succeeded
Details
Xamarin.Android (Test MSBuild With Emulator Mac) Test MSBuild With Emulator Mac succeeded
Details
Xamarin.Android (Test TimeZoneInfo With Emulator Mac) Test TimeZoneInfo With Emulator Mac succeeded
Details
Xamarin.Android (Windows Build and Test) Windows Build and Test succeeded
Details
license/cla All CLA requirements met.
Details
@gugavaro gugavaro deleted the gugavaro_mono.android.projitems branch Aug 15, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants
You can’t perform that action at this time.