Skip to content

Fix AppManifests processing - #363

Open
dansiegel wants to merge 6 commits into
masterfrom
fix/appmanifests-engine
Open

Fix AppManifests processing#363
dansiegel wants to merge 6 commits into
masterfrom
fix/appmanifests-engine

Conversation

@dansiegel

@dansiegel dansiegel commented May 30, 2026

Copy link
Copy Markdown
Owner

Cleanup note: I removed stale bot inline comments and rewrote Dan-authored review notes here to read naturally. The remaining ### 💡 Codex Review entry is a submitted bot review header, which is not editable/deletable by API, so it remains for traceability.

@chatgpt-codex-connector chatgpt-codex-connector Bot 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 87bb3cb132

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@dansiegel

dansiegel commented May 30, 2026

Copy link
Copy Markdown
Owner Author

I found two blockers.

  • src/Mobile.BuildTools.XamarinSdk/Mobile.BuildTools.XamarinSdk.csproj: LangVersion=13.0 does not work with .NET 8 here (CSC : error CS1617: Invalid option '13.0' for /langversion when forcing 8.0.421). Use a version supported by the repo toolchain.
  • src/Mobile.BuildTools.AppManifests/AppleManifests.targets: manifest generation targets _AppManifest / _PartialAppManifest, but current MAUI/.NET iOS targets consume $(AppBundleManifest) and @(PartialAppManifest) in _CompileAppManifest, so generated info-plist data can be missed.

This is important because the target-file text tests in this PR don’t evaluate the real Apple target graph, so this regression was not caught by those tests.

I reproduced the .NET 8 toolchain issue locally.

I’d still mark this as request-changes until resolved.

@dansiegel

dansiegel commented May 30, 2026

Copy link
Copy Markdown
Owner Author

I found additional blockers:

  • The packaged AppManifests target fails MSBuild evaluation as an SDK-style consumer. In a minimal net10.0-android restore/build, using the generated Mobile.BuildTools.AppManifests package raises:
    MSB4067: The element <Import> beneath element <When> is unrecognized.
    This is because Import can’t live under Choose/When and the package behavior never reaches the Android/iOS target flow. Import should be moved to top-level conditional Import entries.
  • _MobileBuildToolsAppManifestTasksDll currently points at $(MSBuildThisFileDirectory)Mobile.BuildTools.dll, but the package ships Mobile.BuildTools.AppManifests.dll. After fixing import shape, task resolution will fail unless this is corrected.

Also missing here is at least one package-consumer smoke test that restores this nupkg into a real SDK-style target and runs target evaluation.

I also found LangVersion=13.0 in XamarinSdk with no observable need for C# 13, so this increases avoidable churn.

Given the above, I still need this as request-changes.

@dansiegel

dansiegel commented May 30, 2026

Copy link
Copy Markdown
Owner Author

Latest commit updates now address the review items:

  • global.json updated to the .NET 10 train (9.0.300/latestPatch) to avoid newer preview SDK selection in VS 2022 CI
  • AppManifests imports converted to valid conditional <Import> elements
  • task assembly path corrected to Mobile.BuildTools.AppManifests.dll
  • missing task dependencies added to the standalone package
  • Apple manifest wiring updated to set AppBundleManifest and PartialAppManifest while preserving legacy names
  • LangVersion reduced to 12.0
  • regression tests for target behavior added

I also re-ran restore/build/test and got green results, including packaged iOS smoke restore and PR checks.

Repository owner deleted a comment from chatgpt-codex-connector Bot Jun 2, 2026
@dansiegel

dansiegel commented Jun 2, 2026

Copy link
Copy Markdown
Owner Author

I cleaned up a few stale review notes. The remaining Codex review entry is GitHub’s submitted review record, so I’m leaving it for traceability.

@chatgpt-codex-connector chatgpt-codex-connector Bot 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 86e32afb74

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/Mobile.BuildTools.AppManifests/AppleManifests.targets Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ddfcec0a43

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/Mobile.BuildTools.AppManifests/AppleManifests.targets Outdated
@dansiegel
dansiegel force-pushed the fix/appmanifests-engine branch from ddfcec0 to 1e28f19 Compare June 3, 2026 03:02

@chatgpt-codex-connector chatgpt-codex-connector Bot 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 1e28f19c6c

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread .github/actions/msbuild-build/action.yml Outdated
@dansiegel
dansiegel force-pushed the fix/appmanifests-engine branch from 1e28f19 to c8e8ff1 Compare June 3, 2026 03:15

@chatgpt-codex-connector chatgpt-codex-connector Bot 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c8e8ff193e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@dansiegel
dansiegel force-pushed the fix/appmanifests-engine branch from c8e8ff1 to ee68e52 Compare June 3, 2026 03:33
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.

1 participant