Release Bundle manifests contain a specification of build modules with optional include and exclude patterns for artifacts and dependencies. The specification and optional patterns act as a selector Release Bundle v2 contents.
A manifest can have any filename and can be stored in any repository. Builds are connected to their manifests via the build property buildInfo.env.RBV2_MANIFEST
.
Manifest Template
{ "modules": [ { "id": "{module-id}", "type": "{module-type}", //"optional" "artifacts": { //"optional" "include": [ "{ant-path-matcher}" ], "exclude": [ "{ant-path-matcher}" ] }, "dependencies": { "include": [ "{ant-path-matcher}" ], "exclude": [ "{ant-path-matcher}" ] } } ] }
Release Bundle Manifest Examples
Example 1: Select all contents of the module with the ID "module-001"
{ "modules": [ { "id": "module-001" } ] }
Example 2: Select all contents of the module with the ID "module-002" that are of the type "maven"
{ "modules": [ { "id": "module-002", "type": "maven" } ] }
Example 3: Select all contents of the module with the ID "module-003" that are of the type "maven", and the contents of "module-004", regardless of type. From "module-004" include those artifacts that end with the extension "*bin", and exclude all dependencies that start with "README".
{ "modules": [ { "id": "module-003", "type": "maven" }, { "id": "module-004", "artifacts": { "include": [ "**.bin" ] }, "dependencies": { "exclude": [ "README**" ] } } ] }