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

[Xamarin.Android.Build.Tasks] Allow users to specify modules for apk sets. #5327

Merged
merged 3 commits into from
Mar 9, 2021

Conversation

dellis1972
Copy link
Contributor

@dellis1972 dellis1972 commented Nov 24, 2020

Context #4810

When using app bundles users install the application from an apkset.
At this time this only contains the base application. However we might
in the future support dynamic features in some fashion. In this case
developers should be able to pick which features they want installed.

This commit adds an AndroidInstallModules ItemGroup which will allow
developers to specify which modules to install. By default it will be
empty. This means all modules which are to be installed on first install
will be installed. So there is no change in the current behavior.

This commit also adds support for passing additional arguments to
bundle tool via the new AndroidBundleToolExtraArgs property.

@jonpryor
Copy link
Member

Some "public facing" documentation would be useful, not so much so that we can have something in Documentation, but more to validate that how this works is appropriate. (It'll become part of the commit message!)

For example, this approach involves using the @(AndroidInstallModules) item group. Item groups can't be specified on the command line. Is this a problem? Is there an expectation to be able to specify modules on a msbuild /t:Install command line, or is editing the .csproj the preferred experience?

@dellis1972
Copy link
Contributor Author

@jonpryor currently this new AndroidInstallModules is not very useful. Its the beginning of a much larger piece of work outlined in #4810 (comment). I can document the new ItemGroup, but users will currently have no use for it since we need to do allot of the other stuff on the list at #4810 (comment) to make it useful.

…ets.

Context dotnet#4810

When using app bundles users install the application from an `apkset`.
At this time this only contains the base application. However we might
in the future support dynamic features in some fashion. In this case
developers should be able to pick which features they want installed.

This commit adds an `AndroidInstallModules` ItemGroup which will allow
developers to specify which modules to install. By default it will be
empty. This means all modules which are to be installed on first install
will be installed. So there is no change in the current behavior.

This commit also adds support for passing additional arguments to
`bundletool` via the new `$(AndroidBundleToolExtraArgs)` property.
@dellis1972
Copy link
Contributor Author

@jonpryor I had added the docs for the ItemGroup here https://github.com/xamarin/xamarin-android/pull/5327/files#diff-db5645f8a1e864de401ac4a261afe73af36e10043135012bebc8cacfeb3820d0R149. There isn't much more to say since uses can't use this feature yet unless they build a module completely manually (and process is not not documented).

Base automatically changed from master to main March 5, 2021 23:08
@jonpryor jonpryor merged commit ee4b983 into dotnet:main Mar 9, 2021
@github-actions github-actions bot locked and limited conversation to collaborators Jan 24, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants