• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

SAP / cloud-mta-build-tool / 5932

17 Oct 2023 04:05AM UTC coverage: 90.237% (-6.4%) from 96.682%
5932

push

circle-ci

web-flow
MBT Support SBom Generation (#1046)

* modified:   cmd/cmd.go
	modified:   cmd/cmd_test.go
	modified:   cmd/init.go
	modified:   cmd/init_test.go
	new file:   cmd/sbom.go
	new file:   cmd/sbom_test.go
	modified:   configs/builder_type_cfg.yaml
	modified:   internal/archive/fsops.go
	modified:   internal/archive/mta_location.go
	modified:   internal/artifacts/artifacts_msg.go
	modified:   internal/artifacts/project.go
	modified:   internal/artifacts/project_test.go
	new file:   internal/artifacts/sbom.go
	new file:   internal/artifacts/sbom_test.go
	modified:   internal/commands/commands.go
	modified:   internal/commands/commands_msg.go
	modified:   internal/platform/model.go
	modified:   internal/tpl/base_args.txt
	modified:   internal/tpl/base_post.txt

* modified:   internal/artifacts/sbom_test.go
	modified:   internal/commands/builder_type_cfg.go
	modified:   internal/tpl/base_args.go
	modified:   internal/tpl/base_post.go

* modified:   internal/artifacts/sbom_test.go

* modified:   cmd/cmd.go
	modified:   cmd/init_test.go
	modified:   cmd/sbom.go
	modified:   cmd/sbom_test.go
	modified:   internal/artifacts/project.go
	modified:   internal/artifacts/sbom.go
	modified:   internal/artifacts/sbom_test.go
	modified:   internal/tpl/base_post.go
	modified:   internal/tpl/base_post.txt

* modified:   cmd/init_test.go
	modified:   cmd/sbom_test.go
	modified:   internal/artifacts/sbom.go
	modified:   internal/artifacts/sbom_test.go

* modified:   cmd/init.go
	modified:   cmd/init_test.go
	modified:   cmd/sbom.go
	modified:   cmd/sbom_test.go
	modified:   internal/artifacts/sbom.go
	modified:   internal/artifacts/sbom_test.go
	modified:   internal/commands/commands.go

* modified:   internal/artifacts/artifacts_msg.go
	modified:   internal/artifacts/sbom.go
	modified:   internal/commands/commands.go

* new file:   cmd/testdata/mta-sbom/golang/go.mod
	new file:   cmd/testdata/mta-sbom/golang/go.sum
	ne... (continued)

421 of 421 new or added lines in 8 files covered. (100.0%)

2976 of 3298 relevant lines covered (90.24%)

1.05 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

82.76
/cmd/sbom.go
1
package commands
2

3
import (
4
        "os"
5

6
        "github.com/SAP/cloud-mta-build-tool/internal/artifacts"
7
        "github.com/spf13/cobra"
8
)
9

10
var projectSBomGenCmdSrc string
11
var projectSBomGenCmdSBOMPath string
12

13
var moduleSBomGenCmdSrc string
14
var moduleSBomGenCmdModules []string
15
var moduleSBomGenCmdAllDependencies bool
16
var moduleSBomGenCmdSBOMPath string
17

18
// Generate SBOM file for project
19
var projectSBomGenCommand = &cobra.Command{
20
        Use:   "sbom-gen",
21
        Short: "(beta) Generates SBOM for project according to configurations in the MTA development descriptor (mta.yaml)",
22
        Long:  "(beta) Generates SBOM for project according to configurations in the MTA development descriptor (mta.yaml)",
23
        Args:  cobra.MaximumNArgs(4),
24
        RunE: func(cmd *cobra.Command, args []string) error {
1✔
25
                err := artifacts.ExecuteProjectSBomGenerate(projectSBomGenCmdSrc, projectSBomGenCmdSBOMPath, os.Getwd)
1✔
26
                // output err info to stdout
1✔
27
                logError(err)
1✔
28
                return err
1✔
29
        },
1✔
30
        // Hidden:        true,
31
        SilenceUsage: true,
32
}
33

34
// Generate SBOM file for modules
35
var moduleSBomGenCommand = &cobra.Command{
36
        Use:   "module-sbom-gen",
37
        Short: "Generates SBOM for specified modules according to configurations in the MTA development descriptor (mta.yaml)",
38
        Long:  "Generates SBOM for specified modules according to configurations in the MTA development descriptor (mta.yaml)",
39
        Args:  cobra.MaximumNArgs(4),
40
        RunE: func(cmd *cobra.Command, args []string) error {
×
41
                err := artifacts.ExecuteModuleSBomGenerate(moduleSBomGenCmdSrc, moduleSBomGenCmdModules, moduleSBomGenCmdAllDependencies, moduleSBomGenCmdSBOMPath, os.Getwd)
×
42
                logError(err)
×
43
                return err
×
44
        },
×
45
        // Hidden:        true,
46
        SilenceUsage:  true,
47
        SilenceErrors: true,
48
}
49

50
func init() {
1✔
51

1✔
52
        // set flags of sbom-gen command
1✔
53
        projectSBomGenCommand.Flags().StringVarP(&projectSBomGenCmdSrc, "source", "s", "",
1✔
54
                "The path of MTA project; project root path is set as default")
1✔
55
        projectSBomGenCommand.Flags().StringVarP(&projectSBomGenCmdSBOMPath, "sbom-file-path", "b", "",
1✔
56
                `The path of SBOM file, relative or absoluted; if relative path, it is relative to MTA project root; default value is <MTA project path>/<MTA project id>.bom.xml.`)
1✔
57

1✔
58
        // set flags of module-sbom-gen command
1✔
59
        moduleSBomGenCommand.Flags().StringVarP(&moduleSBomGenCmdSrc, "source", "s", "",
1✔
60
                "The path to the MTA project; the current path is set as default")
1✔
61
        moduleSBomGenCommand.Flags().StringSliceVarP(&moduleSBomGenCmdModules, "modules", "m", nil,
1✔
62
                "The names of the modules")
1✔
63
        moduleSBomGenCommand.Flags().BoolVarP(&moduleSBomGenCmdAllDependencies, "with-all-dependencies", "a", true,
1✔
64
                "Build modules including all dependencies")
1✔
65
        moduleSBomGenCommand.Flags().StringVarP(&moduleSBomGenCmdSBOMPath, "sbom-file-path", "b", "",
1✔
66
                `The path of SBOM file, relative or absoluted; if relative path, it is relative to MTA project root; default value is <MTA project path>/<MTA project id>.bom.xml.`)
1✔
67
}
1✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc