Built-in Modules
The repository already contains a small built-in module set focused on packaging and publishing.
These modules are useful as reference implementations and as a base for more domain-specific project modules.
Built-in jobs
Packaging jobs
The following built-in packaging jobs are present:
ZipPackageFileZipPackageDirectoryRarPackageFileRarPackageDirectory
These jobs accept either a file or a directory category and produce the archive item type.
They are intended for packaging outputs before transfer, release, or downstream consumption.
Publishing jobs
The following built-in publishing jobs are present:
PublishHttpPostFilePublishHttpPostDirectoryPublishScpFilePublishScpDirectory
These jobs publish artifacts through HTTP POST or SCP-style transfer.
The HTTP publishing jobs use PublishHttpPostConf, which currently exposes a server URL parameter.
The SCP publishing jobs use PublishScpConf, which currently exposes:
- server IP
- user
- password
Built-in item types
The built-in module package also defines several artifact types that APIS can reason about.
Examples already present in the codebase include:
archivepostscpexecutablemodel-3Ddocumentationschema-pcbbom-pcbcpl-pcbgerber-pcbimage
These item types map domain outputs into categories that APIS can connect inside a dependency graph.
What this means in practice
Even this early built-in module set already shows the intended APIS pattern:
- define artifact types
- define jobs that transform or publish them
- connect those jobs into a project flow
- let APIS keep downstream repositories synchronized with current outputs
For many projects, the next step will be adding custom modules for company-specific build steps, validation jobs, CAD exports, hardware deliverables, or release pipelines.