Sources

IPF uses git for source code management. The IPF git repository is located at https://github.com/oehf/ipf.

Additionally, there are the following support projects:

Building

IPF 5.x will require Java 17 for both compile time and runtime. IPF 4.x builds with Java 11 for both compile time and runtime. IPF 3.x requires Java 8 for both compile time and runtime.

IPF builds using Maven 3.x. IPF and its dependencies are available at Maven Central, except for the MDHT dependencies that are provided at https://projects.suisse-open-exchange.healthcare/artifactory/releases.

Before building, adjust the MAVEN_OPTS environment variable to assign Maven more heap space.

    set MAVEN_OPTS=-Xmx1024m
    mvn clean install

Documentation

In order to generate the site documentation, Java stubs from Groovy and Lombok sources must be generated for proper Javadoc creation during the site phase.

    set MAVEN_OPTS=-Xmx1024m
    mvn -Pgenerate-stubs generate-sources 
    mvn site (-DskipTests) -rf :ipf

Documentation is maintained in Markdown in the ipf-docs repository. Pushing changes to github will automatically render the documentation at https://oehf.github.io/ipf-docs. The generated Javadoc must be copied from target/site/apidocs into the _pages/apidocs directory.

Javadocs artifacts are uploaded to Maven Central, which makes them also available online under https://www.javadoc.io. The javadocs are located under https://www.javadoc.io/<maven-group-id>/<maven-artifact-id>/<version>, e.g. https://javadoc.io/doc/org.openehealth.ipf.commons/ipf-commons-audit/4.8.0/index.html.

How to build and test the documentation locally

  • Install Ruby and Jekyll as described here
  • Clone the ipf-docs repository
  • Install bundler: gem install bundler
  • In the project root directory, run bundle install to download and install all dependencies
  • Run bundle exec jekyll serve

You can now browse the documentation at http://127.0.0.1:4000/ipf-docs/. If you update one of the Markdown files of the project, the server regenerates its content on the fly.

How to upload the documentation to github

  • Simply commit the changes. Github Pages will regenerate the docs automatically

IDE

IPF depends on Maven, Groovy, Kotlin and Lombok. Depending on the choice of your IDE, you may need to install corresponding plugins.

Continuous Integration

IPF is continuously built on Travis. Snapshot artifacts are uploaded to the Sonatype snapshot repository.

Issue Tracking

Issue tracking is done in github. For current issues check https://github.com/oehf/ipf/issues. Questions? Please direct your issues to the IPF Development Google Group.