metadata: name: mtaBuild description: Performs an mta build longDescription: | Executes the SAP Multitarget Application Archive Builder to create an mtar archive of the application. spec: inputs: params: - name: buildTarget type: string description: "mtaBuildTool 'classic' only: The target platform to which the mtar can be deployed. Valid values: 'CF', 'NEO', 'XSA'." scope: - PARAMETERS - STAGES - STEPS mandatory: false default: NEO possibleValues: - CF - NEO - XSA - name: mtaBuildTool type: string description: "Tool to use when building the MTA. Valid values: 'classic', 'cloudMbt'." scope: - PARAMETERS - STAGES - STEPS mandatory: false default: cloudMbt possibleValues: - cloudMbt - classic - name: mtarName type: string description: "The name of the generated mtar file including its extension." scope: - PARAMETERS - STAGES - STEPS mandatory: false default: - name: mtaJarLocation type: string description: "mtaBuildTool 'classic' only: The location of the SAP Multitarget Application Archive Builder jar file, including file name and extension. If you run on Docker, this must match the location of the jar file in the container as well." scope: - PARAMETERS - STAGES - STEPS mandatory: false default: /opt/sap/mta/lib/mta.jar - name: extensions type: string description: "The path to the extension descriptor file." scope: - PARAMETERS - STAGES - STEPS mandatory: false default: aliases: - name: extension - name: platform type: string description: "mtaBuildTool 'cloudMbt' only: The target platform to which the mtar can be deployed." scope: - PARAMETERS - STAGES - STEPS mandatory: false default: CF possibleValues: - CF - NEO - XSA - name: applicationName type: string description: "The name of the application which is being built. If the parameter has been provided and no `mta.yaml` exists, the `mta.yaml` will be automatically generated using this parameter and the information (`name` and `version`) from 'package.json` before the actual build starts." scope: - PARAMETERS - STAGES - STEPS mandatory: false default: - name: defaultNpmRegistry type: string description: "Url to the npm registry that should be used for installing npm dependencies." scope: - GENERAL - PARAMETERS - STAGES - STEPS mandatory: false aliases: - name: npm/defaultNpmRegistry default: - name: projectSettingsFile type: string description: "Path or url to the mvn settings file that should be used as project settings file." scope: - GENERAL - PARAMETERS - STAGES - STEPS mandatory: false aliases: - name: maven/projectSettingsFile - name: globalSettingsFile type: string description: "Path or url to the mvn settings file that should be used as global settings file" scope: - GENERAL - PARAMETERS - STAGES - STEPS mandatory: false aliases: - name: maven/globalSettingsFile - name: m2Path type: string description: Path to the location of the local repository that should be used. scope: - GENERAL - STEPS - STAGES - PARAMETERS mandatory: false aliases: - name: maven/m2Path - name: installArtifacts type: bool description: "If enabled, for npm packages this step will install all dependencies including dev dependencies. For maven it will install all artifacts to the local maven repository. Note: This happens _after_ mta build was done. The default mta build tool does not install dev-dependencies as part of the process. If you require dev-dependencies for building the mta, you will need to use a [custom builder](https://sap.github.io/cloud-mta-build-tool/configuration/#configuring-the-custom-builder)" scope: - GENERAL - STEPS - STAGES - PARAMETERS outputs: resources: - name: commonPipelineEnvironment type: piperEnvironment params: - name: mtarFilePath containers: - image: devxci/mbtci:1.0.16.1 imagePullPolicy: Always conditions: - conditionRef: strings-equal params: - name: mtaBuildTool value: cloudMbt - image: ppiper/mta-archive-builder:v1 conditions: - conditionRef: strings-equal params: - name: mtaBuildTool value: classic