Class FhirInitTask

java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.Task
org.fhirfrog.frog.ant.FhirInitTask
All Implemented Interfaces:
Cloneable

public class FhirInitTask extends org.apache.tools.ant.Task
Ant task that generates Docker Compose and HAPI FHIR configuration files from an IG's sushi-config.yaml.

Reads the IG's declared dependencies, resolves transitive dependencies via the local FHIR package cache (~/.fhir/packages), classifies packages by FHIR version (R4 vs R5), and generates:

  • <outputDir>/application.yaml — HAPI bootstrap configuration; includes packageUrl: file://... for any dev/current package found in the local cache, so HAPI loads it from a mounted tgz rather than the registry
  • <outputDir>/application-test.yaml — same but without packageUrl entries, safe for the test container which has no packages volume
  • <outputDir>/docker-compose.yml — Docker Compose file with bootstrap and test profiles
  • <outputDir>/packages/*.tgz — tgz archives for each dev/current package, created from the local FHIR cache via NpmPackage.save(java.io.OutputStream)

Prerequisites

The FHIR package cache must be populated before running this task. Running SUSHI (sushi .) or the HL7 publisher (java -jar publisher.jar -ig ig.ini) populates the cache as a side effect.

Example


 <fhirinit igConfig="sushi-config.yaml"
           fhirVersion="R4"
           outputDir=".fhir-frog"
           imageTag="hapi-erequesting:0.2.0"/>
 
  • Field Summary

    Fields inherited from class org.apache.tools.ant.Task

    target, taskName, taskType, wrapper

    Fields inherited from class org.apache.tools.ant.ProjectComponent

    description, location, project
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
     
    void
    setFhirVersion(String fhirVersion)
     
    void
    setIgConfig(String igConfig)
     
    void
    setImageTag(String imageTag)
     
    void
    setOutputDir(String outputDir)
     

    Methods inherited from class org.apache.tools.ant.Task

    bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType

    Methods inherited from class org.apache.tools.ant.ProjectComponent

    clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject

    Methods inherited from class java.lang.Object

    equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • FhirInitTask

      public FhirInitTask()
  • Method Details

    • setIgConfig

      public void setIgConfig(String igConfig)
    • setFhirVersion

      public void setFhirVersion(String fhirVersion)
    • setOutputDir

      public void setOutputDir(String outputDir)
    • setImageTag

      public void setImageTag(String imageTag)
    • execute

      public void execute() throws org.apache.tools.ant.BuildException
      Overrides:
      execute in class org.apache.tools.ant.Task
      Throws:
      org.apache.tools.ant.BuildException