odox ships three applications — xodt, xods, xodp — and therefore six store products: three Microsoft Store reservations and three Mac App Store bundles. ship's model is one repo, one release, one set of targets, and one product behind each store target, so odox's store lanes cannot be opened by adding targets to its profile.
What is in the repository
packaging/windows/identity.psd1 is committed and carries an Applications table keyed by binary with three entries: Excelano.OdoxText / 9N90RJZDXQZC, Excelano.OdoxGrid / 9MWKG7FFB4DZ, Excelano.OdoxDeck / 9P8ZDZPQFQTF.
packaging/macos/build-app.sh substitutes one of three bundle identifiers per application — com.excelano.xodt, com.excelano.xods, com.excelano.xodp — into a single Info.plist.in.
packaging/store-listing.md and packaging/store-listing.de-de.md are the pre-TOML format, organised the way the repo is: a # Shared section, then # Odox Text, # Odox Grid and # Odox Deck, each with its own name, subtitle, promotional text, short description, description and keywords, in both languages. listing.Listing is map[locale]Locale and carries one of each per locale, so the TOML cannot hold it as it stands.
packaging/release-notes.toml and packaging/store-listing.toml are both absent.
- The releases carry
.deb files and nothing else. v0.1.0, v0.2.0, v0.2.1 and v0.3.0 were all listed; v0.3.0 is eight debs. .github/workflows/apple-silicon.yml is push and pull_request only, with no release trigger and no workflow_dispatch, and its only uploads are artifacts.
What it costs today
ship odox --status exits 0 with every row green, because ship.conf says targets=apt crates and status probes the profile's targets and nothing else. Six store products have never been submitted and the screen says the repo is fully released.
The decision
Two ways, and this is the only large one in the fleet's backlog:
- ship grows a product dimension. A
products= key that every store step loops over: the identity, the listing copy, the release notes, the screenshots and the submission. It touches msix, appstore, listing, notes and status, and listing.Listing changes shape.
- odox stays off the store lanes, its profile says
targets=apt crates and means it, and the store material here is either removed or kept with a note saying it is not released by ship.
Filed here rather than against ship because the answer is about odox: whether three applications in one repository is the shape this product wants.
Moved from anderix/ship#9, #10, #12 and #20, which are the same question seen from four sides. The status half — a repo reading as fully released while six products have never been submitted — is a consequence of the profile, not of ship's probing.
odox ships three applications —
xodt,xods,xodp— and therefore six store products: three Microsoft Store reservations and three Mac App Store bundles. ship's model is one repo, one release, one set of targets, and one product behind each store target, so odox's store lanes cannot be opened by adding targets to its profile.What is in the repository
packaging/windows/identity.psd1is committed and carries anApplicationstable keyed by binary with three entries:Excelano.OdoxText/9N90RJZDXQZC,Excelano.OdoxGrid/9MWKG7FFB4DZ,Excelano.OdoxDeck/9P8ZDZPQFQTF.packaging/macos/build-app.shsubstitutes one of three bundle identifiers per application —com.excelano.xodt,com.excelano.xods,com.excelano.xodp— into a singleInfo.plist.in.packaging/store-listing.mdandpackaging/store-listing.de-de.mdare the pre-TOML format, organised the way the repo is: a# Sharedsection, then# Odox Text,# Odox Gridand# Odox Deck, each with its own name, subtitle, promotional text, short description, description and keywords, in both languages.listing.Listingismap[locale]Localeand carries one of each per locale, so the TOML cannot hold it as it stands.packaging/release-notes.tomlandpackaging/store-listing.tomlare both absent..debfiles and nothing else. v0.1.0, v0.2.0, v0.2.1 and v0.3.0 were all listed; v0.3.0 is eight debs..github/workflows/apple-silicon.ymlispushandpull_requestonly, with noreleasetrigger and noworkflow_dispatch, and its only uploads are artifacts.What it costs today
ship odox --statusexits 0 with every row green, becauseship.confsaystargets=apt cratesand status probes the profile's targets and nothing else. Six store products have never been submitted and the screen says the repo is fully released.The decision
Two ways, and this is the only large one in the fleet's backlog:
products=key that every store step loops over: the identity, the listing copy, the release notes, the screenshots and the submission. It touches msix, appstore, listing, notes and status, andlisting.Listingchanges shape.targets=apt cratesand means it, and the store material here is either removed or kept with a note saying it is not released by ship.Filed here rather than against ship because the answer is about odox: whether three applications in one repository is the shape this product wants.
Moved from anderix/ship#9, #10, #12 and #20, which are the same question seen from four sides. The status half — a repo reading as fully released while six products have never been submitted — is a consequence of the profile, not of ship's probing.