Important updates
v1.2.26
Support SBOM generation (BETA)
The Software Bill of Materials (SBOM) is a list of components, libraries, and module information that are required to build a software, and the supply chain relationships between them. An SBOM also lists the licenses that govern those components, versions of the components used in the codebase, and their patch status.
With SBOM, teams can quickly identify any associated security or license risks of codebase.
The npm, maven, and golang
native builders and the mbt build, mbt sbom-gen
commands have been upgraded to support SBOM generation. For java or nodejs
module types, or if the module's build-parameters.builder
attribute value is npm, maven, or golang
, SBOM content will be generated and merged into one file. Currently, only the XML format SBOM file is supported.
The module configuration can be referenced in the configuration.md file.
The SBOM generation commands mbt build
and mbt sbom-gen
can be referenced in the usage.md file.
Some SBOM tools are required to be installed in your environment, they can be referenced in the sbom-tools.md file.
v1.2.25
Configuration of maven
builder has changed.
As of version 1.2.25, the mvn -B clean package
command is used where the maven
builder is configured for building a module or in a global build step.
By adding the -B parameter, the "maven clean package" command will start in interactive mode.
As a build tool, MBT builds the MTA (Multitarget Application), which contains many types of modules. Each module is built by corresponding builder, such as maven, npm and golang.
When the MTA is built, all build processes for different modules are packaged into the MBT. It wraps all the build processes as internal and it should not run in interactive mode. It is reasonable for MBT to execute the build process in batch mode.
NOTE: The maven
builder is configured implicitly for the java
module type.
If you want to keep the previous behavior, that is, to apply the mvn clean package
command, you need to change the build parameters of the relevant module by configuring the custom
builder:
- name: mymodule
...
build-parameters:
builder: custom
commands:
- mvn clean package
build-result: target/*.war
v1.1.0
Configuration of maven
builder has changed.
As of version 1.1.0, the mvn clean package
command is used where the maven
builder is configured for building a module or in a global build step.
NOTE: The maven
builder is configured implicitly for the java
module type.
If you want to keep the previous behavior, that is, to apply the mvn -B package
command, you can use the maven_deprecated
builder or custom
builder as shown in the examples below.
NOTE: The maven_deprecated
builder will be removed on July 2021.
Examples:
If you want to use the old mvn -B package
command instead of the maven
builder that now triggers the mvn clean package
command, you need to change the build parameters of the relevant module in one of the following ways:
Option 1: Set maven_deprecated
as the module builder parameter.
- name: mymodule
...
build-parameters:
builder: maven_deprecated
Option 2: Configure the custom
builder.
- name: mymodule
...
build-parameters:
builder: custom
commands:
- mvn -B package
build-result: target/*.war
The same approach can be implemented if the maven
builder is used in the global build step.