Skip to content

Commit dbc1279

Browse files
committed
added make task for generating sbom data
1 parent 964d822 commit dbc1279

2 files changed

Lines changed: 28 additions & 1 deletion

File tree

Makefile

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
.phony: test bench clean bundle bundle-help ci
1+
.phony: test bench clean bundle bundle-help ci sbom sbom-csv
22

33
clean:
44
rm -rf target dev-resources/bench/*.json pom.xml
@@ -65,3 +65,13 @@ bundle-help: target/bundle
6565
# Generate a POM for dependency graph resolution
6666
pom.xml:
6767
clojure -Acli -Spom
68+
69+
sbom: pom.xml
70+
mvn -q org.cyclonedx:cyclonedx-maven-plugin:makeAggregateBom \
71+
-DoutputFormat=json \
72+
-DoutputName=xapipe \
73+
-DschemaVersion=1.6 \
74+
-DprojectType=application
75+
76+
sbom-csv: sbom
77+
jq -r -f ./dev-resources/sbom/sbom_flat.jq ./target/xapipe.json > ./target/xapipe-sbom.csv

dev-resources/sbom/sbom_flat.jq

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
def pkg_name(c):
2+
if (c.group? // "") != "" then "\(c.group)/\(c.name)" else (c.name // "") end;
3+
4+
[
5+
.metadata.component?,
6+
.components[]?
7+
]
8+
| map(select(. != null))
9+
| map({
10+
package: pkg_name(.),
11+
source: (.purl // .["bom-ref"] // .author // .publisher // "unknown"),
12+
version: (.version // "unknown")
13+
})
14+
| unique
15+
| sort_by(.package, .version)
16+
| (["package","source","version"] | @csv),
17+
(.[] | [ .package, .source, .version ] | @csv)

0 commit comments

Comments
 (0)