apple: macOS (tvOS, visionOS) versions are no longer invisible: every version and review submission lookup is per platform; status, listing, listing pull, resubmit, submit, release and screenshots take --platform and otherwise pick the platform that has the version they need (refuse naming both when several do); status, validate, release status, the report and the desktop label versions with their platform; MCP and owner actions get platform; pitfall 77
This commit is contained in:
parent
1736300784
commit
47dfd372fe
30 changed files with 423 additions and 127 deletions
|
|
@ -3,7 +3,7 @@
|
|||
// workspace (`storebound ws status`, `storebound release status`), so all of them read an app the same way.
|
||||
// Every read is a storebound child command; `exec` runs it (serve tracks it for cancellation, the CLI just awaits it).
|
||||
import type { AppStatus, ProjectSummary } from './desktop-protocol';
|
||||
import { appIdentity, appleFirstProductWarnings, appleProductIds, appleReleases, catalogParity, playProductIds, playReleases, releaseTrains } from './portfolio';
|
||||
import { appIdentity, appleFirstProductWarnings, applePlatformWarnings, appleProductIds, appleReleases, catalogParity, playProductIds, playReleases, releaseTrains } from './portfolio';
|
||||
import type { RunResult } from './runner';
|
||||
|
||||
export type Exec = (argv: string[], cwd: string) => Promise<RunResult>;
|
||||
|
|
@ -46,7 +46,7 @@ export async function fillAppStatus(e: AppStatus, dir: string, o: { live: boolea
|
|||
const ios = apple?.data ? appleReleases(apple.data) : [], android = play?.data ? playReleases(play.data) : [];
|
||||
e.release = { source: 'live', ...releaseTrains(ios, android), all: [...ios, ...android] };
|
||||
// first in-app purchases left out of the review: a warning on the release status and in the desktop's checks
|
||||
const firstWarn = apple?.data ? appleFirstProductWarnings(apple.data) : [];
|
||||
const firstWarn = apple?.data ? [...appleFirstProductWarnings(apple.data), ...applePlatformWarnings(apple.data)] : [];
|
||||
if (firstWarn.length) e.warnings = firstWarn;
|
||||
if (e.check) for (const w of firstWarn) if (!e.check.warnings.includes(w)) e.check.warnings.push(w);
|
||||
e.catalog = catalogParity(summary, apple?.data ? appleProductIds(apple.data) : undefined, play?.data ? playProductIds(play.data) : undefined);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue