mix crosswake.contract.gen (crosswake v0.2.0)

View Source

Regenerates the four non-Elixir contract surfaces that derive from Crosswake.Bridge.Contract.version():

  1. examples/ios_shell_host/Fixtures/route_activation.json — iOS example-host activation fixture (bridge_protocol_version axis)
  2. examples/android_shell_host/app/src/main/assets/route_activation.json — Android example-host activation fixture (bridge_protocol_version axis)
  3. test/fixtures/bridge_contract_vectors.json — Canonical bridge contract conformance vectors (seed set); consumed by Phase 123
  4. docs/_contract_snippet.md — Generated documentation snippet carrying the canonical bridge protocol version

Usage

mix crosswake.contract.gen

Dev Fixtures

Pass --dev to generate the two dev activation fixtures that point at the local backend instead of the public-coordinate example host:

mix crosswake.contract.gen --dev

The dev fixtures differ from prod only in url and origin (localhost for iOS, 10.0.2.2 for Android) and carry a _generated_by value ending in --dev. Both dev fixtures are committed to the repository.

A --dev run writes ONLY the two dev fixtures and does NOT touch any prod surface. A default (no-flag) run writes the prod surfaces and does NOT touch the dev fixtures.

Regenerating

Re-run this task whenever Crosswake.Bridge.Contract.@version is bumped. The task is hermetic (network-free) and idempotent — a second consecutive run produces no git diff churn.

DO NOT EDIT the generated files listed above by hand. Run mix crosswake.contract.gen to regenerate them. DO NOT EDIT the dev fixtures by hand; run mix crosswake.contract.gen --dev to regenerate them.