Skip to content

Un-strip Material Icons Core binding so the Icons type binds#1454

Merged
jonathanpeppers merged 3 commits into
mainfrom
copilot/xamarin-androidx-compose-empty-assembly
Jun 7, 2026
Merged

Un-strip Material Icons Core binding so the Icons type binds#1454
jonathanpeppers merged 3 commits into
mainfrom
copilot/xamarin-androidx-compose-empty-assembly

Conversation

Copilot AI commented Jun 7, 2026

Copy link
Copy Markdown
Contributor

Xamarin.AndroidX.Compose.Material.Icons.Core.Android shipped an empty managed assembly: the -android binding's Metadata.xml removed /api/package wholesale, stripping all 282 upstream classes including androidx.compose.material.icons.Icons.

Changes

  • material-icons-core-android/Transforms/Metadata.xml — drop the blanket <remove-node path="/api/package" />. The binding compiles clean, exposing Icons plus the Filled/Outlined/Rounded/Sharp/TwoTone/AutoMirrored icon sets. Added managedName transforms for the five automirrored.* packages so they bind under AndroidX.Compose.Material.Icons.AutoMirrored.* (proper C# casing).
  • PublicAPI.Unshipped.txt — regenerated (Icons type + nested sets, AutoMirrored casing).
  • published-namespaces.txt — add the 11 new AndroidX.Compose.Material.Icons.* namespaces (AutoMirrored casing).
  • config.json — bump material-icons-core and material-icons-core-android 1.7.8.51.7.8.6.

The non-.Android material-icons-core AAR carries no classes.jar (manifest only), so it stays empty by design — the types live in the -android artifact per the KMP metapackage layout.

// Now resolvable from the binding:
var icons = AndroidX.Compose.Material.Icons.Icons.Filled;

Co-authored-by: jonathanpeppers <840039+jonathanpeppers@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix empty managed assembly issue in Xamarin.AndroidX.Compose.Material.Icons.Core Un-strip Material Icons Core binding so the Icons type binds Jun 7, 2026
Copilot AI requested a review from jonathanpeppers June 7, 2026 03:21
Comment thread published-namespaces.txt Outdated
@jonathanpeppers jonathanpeppers marked this pull request as ready for review June 7, 2026 18:55
Copilot AI review requested due to automatic review settings June 7, 2026 18:55

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR fixes the Xamarin.AndroidX.Compose.Material.Icons.Core.Android binding producing an empty managed assembly by un-stripping the material-icons-core-android API surface, allowing the AndroidX.Compose.Material.Icons.Icons type (and related icon set namespaces) to bind and be published.

Changes:

  • Removed the blanket /api/package removal transform from material-icons-core-android so upstream types are no longer stripped.
  • Updated the regenerated public API surface for material-icons-core-android.
  • Added newly published AndroidX.Compose.Material.Icons.* namespaces and bumped NuGet revision for the affected artifacts.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.

File Description
source/androidx.compose.material/material-icons-core-android/Transforms/Metadata.xml Stops stripping all packages so Icons and related types bind.
source/androidx.compose.material/material-icons-core-android/PublicAPI/PublicAPI.Unshipped.txt Regenerated PublicAPI entries reflecting the newly exposed surface.
published-namespaces.txt Adds the new AndroidX.Compose.Material.Icons.* namespaces to the published list.
config.json Bumps NuGet revision for material-icons-core and material-icons-core-android to ship the binding-only change.

Co-authored-by: jonathanpeppers <840039+jonathanpeppers@users.noreply.github.com>
@jonathanpeppers jonathanpeppers merged commit dcee6dc into main Jun 7, 2026
2 checks passed
@jonathanpeppers jonathanpeppers deleted the copilot/xamarin-androidx-compose-empty-assembly branch June 7, 2026 22:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Xamarin.AndroidX.Compose.Material.Icons.Core: managed assembly is empty (no Icons type)

3 participants