Skip to content

Add RFC for pre-built app bundle publishing specification#437

Merged
shannah merged 2 commits intomasterfrom
claude/add-bundle-publishing-rfc-FnRSI
Mar 13, 2026
Merged

Add RFC for pre-built app bundle publishing specification#437
shannah merged 2 commits intomasterfrom
claude/add-bundle-publishing-rfc-FnRSI

Conversation

@shannah
Copy link
Copy Markdown
Owner

@shannah shannah commented Mar 13, 2026

Summary

This PR adds a comprehensive RFC document that defines the canonical specification for jDeploy's pre-built app bundle publishing feature. The RFC establishes the schema, naming conventions, and discovery mechanisms that clients and external tools should use to work with pre-built native application bundles.

Key Changes

  • Added bundle publishing RFC (rfc/bundle-publishing-spec.md) that documents:
    • Configuration schema for declaring target platforms in jdeploy.artifacts
    • Published package.json output format with url and sha256 fields
    • Complete field reference and valid platform keys (mac-x64, mac-arm64, win-x64, win-arm64, linux-x64, linux-arm64)
    • Algorithm for external tools to detect and discover pre-built bundles
    • Bundle JAR naming convention and contents specification
    • Upload destination routing (GitHub Releases vs S3)
    • S3 configuration via environment variables
    • Integrity verification procedures using SHA-256 hashes

Notable Details

  • Specifies that only the published package.json is modified with download URLs and checksums, while source package.json retains only configuration
  • Documents the merge strategy for artifact entries, preserving user-defined fields
  • Clarifies that CLI variant bundles are only produced for Windows (macOS CLI binaries are included in the .app bundle)
  • Provides pseudocode examples for bundle detection and URL retrieval
  • Establishes upload routing logic based on publish target and S3 configuration
  • Notes that bundles do not include an embedded JVM, matching existing installer behavior

This RFC serves as the authoritative reference for the bundle publishing feature implementation (PR #436).

https://claude.ai/code/session_015WNb4G3Wb6cxatBZCkg2b7

claude added 2 commits March 13, 2026 17:11
Add rfc/bundle-publishing-spec.md as the canonical source of truth for the
package.json artifacts schema introduced in PR #436. This spec defines the
exact structure that external projects should use to detect whether pre-built
app bundles exist, including platform keys, field reference, detection
algorithm, naming conventions, and integrity verification.

https://claude.ai/code/session_015WNb4G3Wb6cxatBZCkg2b7
Expand the Bundle JAR Contents section with full directory trees for each
platform (macOS .app structure, Windows .exe, Linux ELF), describe the
embedded app.xml manifest, and clarify what bundles do not include.

https://claude.ai/code/session_015WNb4G3Wb6cxatBZCkg2b7
@shannah shannah merged commit c026203 into master Mar 13, 2026
17 checks passed
@shannah shannah deleted the claude/add-bundle-publishing-rfc-FnRSI branch March 13, 2026 17:20
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.

2 participants