Add bootstrap_app_json utility for AL app manifests - #767
Merged
Sun Haoran (haoranpb) merged 1 commit intoAug 7, 2026
Merged
Conversation
Co-authored-by: haoranpb <27280733+haoranpb@users.noreply.github.com>
Copilot created this pull request from a session on behalf of
Sun Haoran (haoranpb)
July 31, 2026 12:09
View session
Sun Haoran (haoranpb)
marked this pull request as ready for review
August 6, 2026 12:28
Sun Haoran (haoranpb)
approved these changes
Aug 6, 2026
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a reusable AL manifest bootstrap utility for temporary Business Central apps.
Changes:
- Generates minimal
app.jsonmanifests with derived platform/runtime versions and configurable fields. - Exports the utility and reuses shared version parsing.
- Adds tests for defaults, overrides, and validation.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
src/bcbench/operations/setup_operations.py |
Implements manifest generation and shared major-version parsing. |
src/bcbench/operations/__init__.py |
Exports bootstrap_app_json. |
tests/test_setup_operations.py |
Tests manifest generation and error cases. |
Sun Haoran (haoranpb)
enabled auto-merge (squash)
August 6, 2026 12:31
Wenjie Fan (gggdttt)
approved these changes
Aug 7, 2026
Sun Haoran (haoranpb)
deleted the
copilot/add-utility-function-bootstrap-app-json
branch
August 7, 2026 08:02
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Every AL/BC app needs an
app.json, but categories that build throwaway apps (e.g. the query wrapper in #740) hand-roll the manifest inline. This adds a shared bootstrap utility, per the review discussion on #740.Changes
bootstrap_app_jsoninoperations/setup_operations.py— writes a minimal, compilable manifest into a folder (created if missing) and returns its path.platform/applicationderived from the major ofbc_version(accepts"26.0.12345.0"or"26.0");runtimederived from the platform→runtime offset already used byset_runtime_version, and omitted when the platform predates runtime 1.0.app_idis supplied;publisher,app_version,target,id_rangeare keyword overrides.ValueErroron an unparsable version or invertedid_range.bcbench.operations.set_runtime_versionnow reuses the shared_major_versionhelper — no behavior change.tests/test_setup_operations.pycovering derived versions, overrides, runtime omission, and both error paths.