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
Key Classes
SushiConfigReader— Parses thedependenciesblock fromsushi-config.yamlinto aMap<String, String>of package name → versionPackageClassifier— Resolves transitive dependencies viaFilesystemPackageCacheManagerand classifies each package as include (R4-compatible), exclude (R5-only), or skip (core / tool type loaded implicitly by HAPI)HapiConfigGenerator— Writesapplication.yamlwith the correcthapi.fhir.implementationguidesanddependencyExcludesentriesComposeFileGenerator— Writesdocker-compose.ymlwith two profiles:bootstrap(one-time warm-up) andtest(fast restore)
Bootstrap Workflow
FhirInitTaskcalls this package to generate the configuration artefacts into.fhir-frog/FhirBootstrapTaskrunsdocker compose --profile bootstrap up --wait, thendocker committo snapshot the warm server state- Subsequent test runs restore from the committed image in ~25 seconds
- See Also:
-
ClassDescriptionGenerates a Docker Compose file with two profiles for HAPI FHIR testing.Generates HAPI FHIR
application.yamlandapplication-test.yamlfrom aPackageClassifier.ClassificationResult.Classifies FHIR packages from the local package cache as include, exclude, or skip for a given target FHIR version (R4 or R5).Result of classifying a full dependency tree.A resolved package reference with name and version.Reads thedependenciesblock from asushi-config.yamlfile.