Package org.fhirfrog.frog.ant.ig


package org.fhirfrog.frog.ant.ig
IG-aware Docker infrastructure generation for HAPI FHIR bootstrap.

This package reads an IG's declared dependencies from sushi-config.yaml, resolves the full transitive closure against the local FHIR package cache, and generates the Docker Compose and HAPI configuration files needed to stand up a pre-warmed test server in ~25 seconds rather than the 10–20 minutes required for a cold start.

Architecture

IG Bootstrap Components

Key Classes

  • SushiConfigReader — Parses the dependencies block from sushi-config.yaml into a Map<String, String> of package name → version
  • PackageClassifier — Resolves transitive dependencies via FilesystemPackageCacheManager and classifies each package as include (R4-compatible), exclude (R5-only), or skip (core / tool type loaded implicitly by HAPI)
  • HapiConfigGenerator — Writes application.yaml with the correct hapi.fhir.implementationguides and dependencyExcludes entries
  • ComposeFileGenerator — Writes docker-compose.yml with two profiles: bootstrap (one-time warm-up) and test (fast restore)

Bootstrap Workflow

  1. FhirInitTask calls this package to generate the configuration artefacts into .fhir-frog/
  2. FhirBootstrapTask runs docker compose --profile bootstrap up --wait, then docker commit to snapshot the warm server state
  3. Subsequent test runs restore from the committed image in ~25 seconds
See Also: