Generated Tasks¶
DeepMatch adds Gradle tasks under the deepmatch group.
generate<Variant>DeeplinkSpecs¶
Parses discovered deeplink spec files and generates Kotlin sources for a variant.
- Generates
<ModuleName>DeeplinkParamssealed interface. - Generates
<ModuleName>DeeplinkProcessorobject. - Generates one
*DeeplinkSpecsproperty per spec. - Generates one
*DeeplinkParamsclass per spec. - Reads
.deeplinks.ymland*.deeplinks.ymlfrom module root andsrc/<variant>/. - Merges root first, then variant; same-name specs in later sources override earlier ones.
Example:
generate<Variant>DeeplinksManifest¶
Generates deeplink <intent-filter> entries for a variant.
- Available when
deepMatch { generateManifestFiles = true }. - Writes a generated manifest file under
build/generated/manifests/<Variant>/. - Output is merged by AGP into the final app manifest.
- For
autoVerify: truespecs that mix web + custom schemes, output is split into separate intent filters so only web schemes are auto-verified. - For hostless custom-scheme specs, generated
<data>entries include targeted lint suppression forAppLinkUrlErroron AGP 9+ lint.
Example:
validateDeeplinks¶
Validates a URI against merged specs from discovered deeplink YAML files.
- Requires
--uri. - Prints
[MATCH]and[MISS]per spec. - Prints extracted params for matching specs.
- Useful for local checks and CI debugging.
Example:
validate<Variant>CompositeSpecsCollisions¶
Validates URI-shape collisions across composed module specs for a variant.
- Collects generated spec-shape metadata from the current module and DeepMatch-enabled dependency modules.
- Fails the build when two modules declare specs with the same normalized URI shape.
- Runs automatically as part of variant build/check flow.
Example:
generateDeeplinkReport¶
Generates a single self-contained HTML report from local specs plus composed dependency-module specs.
- Enabled with:
deepMatch { report { enabled = true } }- Output defaults to
build/reports/deeplinks.html. - Output can be overridden with:
deepMatch { report { output = layout.buildDirectory.file("reports/custom.html") } }- Includes:
- Full catalog (combined).
- Module/file catalog entries when multiple sources are present.
- Live URI validator.
- Near-miss diagnostics (for example, missing required query params).
- Quick test URI buttons generated from specs.
- Browser-side URI validation against generated specs without running the app.
Example:
List Tasks¶
To inspect all DeepMatch tasks in a module: