Repository Structure
The iFlowKit Core repository is organized around packages, plugins, systems and shared runtime code.
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 logicCore 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/emailplugins/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:
packages/iflowkit-email/Systems: systems/
System catalogs hold reusable system metadata and service assets.
Examples:
systems/outlook/resources/outlook.json
systems/s4hana/resources/s4hana.jsonPackages 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.