The codebase consists of a multi-module Java project with dependencies.

Requirements:

  • JDK 11
  • Maven 3.3.9+ (Tested with Maven 3.3.9, 3.5.x and 3.6.x)

Infrastructure:

  • Source Control: GitHub
  • Quality: SonarCloud
  • Vulnerabilities: Snyk
  • Maven Artifact Repository: GitHub

Build Instructions

  1. Checkout and Build the modules in order, following/adpating this script

Modules

KMDP BOM

The “Bill of Materials”, enforces uniformity across 3rd party dependencies

Snyk Status

Branches:

API4KP PIM Artifacts

Platform-Independent Artifacts (OpenAPI specs, OWL/SKOS ontologies, XSD and JSON schemas)

Branches:

Core Implementation

Java implementation of core datatypes, vocabularies and utilities

Branches:

Standards Models

Java implementation of standard schemas, languages and metamodels

Branches:

KMDP Spring Maven Archetype

Infrastructure for Java Web implementations (Spring, Azure FnApps, Google CloudFns)

Branches:

KMDP API Framework

Java/Spring Implementation of API4KP interfaces, client and server side proxies and controllers

Branches:

KMDP Components

Miscellaneous components that implement API4KP operations x standard languages

Branches:

Deployable Applications

Knowledge Asset Repository
Logical Repository with support for metadata, discovery and content negotiation

Branches:

Trisotech BPM+ Asset Repository
Implementation of the Asset Repository API, backed by the BPM+ shared model editing environment and repository

Branches:

Infrastructure

Support modules

Configurable Maven Archetype Plugin
Instantiates Maven projects from a Maven archetype using parameters from .properties files.

Maven Enforcer Rules Dependency management rules for ‘main’ branches (no SNAPSHOT ancestors, nor dependencies)