Skip to content

Repository Structure

The iFlowKit Core repository is organized around packages, plugins, systems and shared runtime code.

text
iflowkit/
  iflowkit/                # Core runtime classes
  plugins/                 # Reusable plugin libraries
  packages/                # CPI-ready packages
  systems/                 # System catalogs and service assets
  tools/sap-stubs/         # CPI compile-time stubs
  buildSrc/                # Gradle package build logic

Core runtime: iflowkit/

The core runtime contains reusable classes used by packages and plugins:

  • package context loading
  • tenant abstraction
  • credential model
  • endpoint and URL builders
  • message and business event utilities

Plugins: plugins/

Plugins are reusable Groovy libraries that packages can include through their manifest.

Current examples:

  • plugins/email
  • plugins/units

Each plugin can expose its own manifest and configurable parameters.

Packages: packages/

Packages are CPI-oriented delivery units. A package contains:

  • iflowkit/package.json
  • package-level Groovy code
  • service facade classes
  • plugin access helpers
  • CPI script logic

The sample package is:

text
packages/iflowkit-email/

Systems: systems/

System catalogs hold reusable system metadata and service assets.

Examples:

text
systems/outlook/resources/outlook.json
systems/s4hana/resources/s4hana.json

Packages include only the systems and services they declare in package.json.

Tools: tools/sap-stubs/

SAP CPI provides runtime classes that are not normally available in a local development environment. Stubs allow local compilation and testing without bundling fake SAP runtime classes into production artifacts.