6
6
"fmt"
7
7
"io"
8
8
"os"
9
+ "path/filepath"
9
10
"strings"
10
11
"time"
11
12
@@ -15,6 +16,7 @@ import (
15
16
16
17
awsScanner "github.com/aquasecurity/defsec/pkg/scanners/cloud/aws"
17
18
"github.com/aquasecurity/trivy-db/pkg/metadata"
19
+ javadb "github.com/aquasecurity/trivy-java-db/pkg/db"
18
20
awscommands "github.com/aquasecurity/trivy/pkg/cloud/aws/commands"
19
21
"github.com/aquasecurity/trivy/pkg/commands/artifact"
20
22
"github.com/aquasecurity/trivy/pkg/commands/server"
@@ -32,6 +34,7 @@ import (
32
34
type VersionInfo struct {
33
35
Version string `json:",omitempty"`
34
36
VulnerabilityDB * metadata.Metadata `json:",omitempty"`
37
+ JavaDB * metadata.Metadata `json:",omitempty"`
35
38
PolicyBundle * policy.Metadata `json:",omitempty"`
36
39
}
37
40
@@ -1073,6 +1076,7 @@ func NewVersionCommand(globalFlags *flag.GlobalFlagGroup) *cobra.Command {
1073
1076
1074
1077
func showVersion (cacheDir , outputFormat , version string , outputWriter io.Writer ) {
1075
1078
var dbMeta * metadata.Metadata
1079
+ var javadbMeta * metadata.Metadata
1076
1080
1077
1081
mc := metadata .NewClient (cacheDir )
1078
1082
meta , _ := mc .Get () // nolint: errcheck
@@ -1085,6 +1089,17 @@ func showVersion(cacheDir, outputFormat, version string, outputWriter io.Writer)
1085
1089
}
1086
1090
}
1087
1091
1092
+ mcJava := javadb .NewMetadata (filepath .Join (cacheDir , "java-db" ))
1093
+ metaJava , _ := mcJava .Get () // nolint: errcheck
1094
+ if ! metaJava .UpdatedAt .IsZero () && ! metaJava .NextUpdate .IsZero () && metaJava .Version != 0 {
1095
+ javadbMeta = & metadata.Metadata {
1096
+ Version : metaJava .Version ,
1097
+ NextUpdate : metaJava .NextUpdate .UTC (),
1098
+ UpdatedAt : metaJava .UpdatedAt .UTC (),
1099
+ DownloadedAt : metaJava .DownloadedAt .UTC (),
1100
+ }
1101
+ }
1102
+
1088
1103
var pbMeta * policy.Metadata
1089
1104
pc , err := policy .NewClient (cacheDir , false )
1090
1105
if pc != nil && err == nil {
@@ -1096,6 +1111,7 @@ func showVersion(cacheDir, outputFormat, version string, outputWriter io.Writer)
1096
1111
b , _ := json .Marshal (VersionInfo {
1097
1112
Version : version ,
1098
1113
VulnerabilityDB : dbMeta ,
1114
+ JavaDB : javadbMeta ,
1099
1115
PolicyBundle : pbMeta ,
1100
1116
})
1101
1117
fmt .Fprintln (outputWriter , string (b ))
@@ -1110,6 +1126,15 @@ func showVersion(cacheDir, outputFormat, version string, outputWriter io.Writer)
1110
1126
` , dbMeta .Version , dbMeta .UpdatedAt .UTC (), dbMeta .NextUpdate .UTC (), dbMeta .DownloadedAt .UTC ())
1111
1127
}
1112
1128
1129
+ if javadbMeta != nil {
1130
+ output += fmt .Sprintf (`Java DB:
1131
+ Version: %d
1132
+ UpdatedAt: %s
1133
+ NextUpdate: %s
1134
+ DownloadedAt: %s
1135
+ ` , javadbMeta .Version , javadbMeta .UpdatedAt .UTC (), javadbMeta .NextUpdate .UTC (), javadbMeta .DownloadedAt .UTC ())
1136
+ }
1137
+
1113
1138
if pbMeta != nil {
1114
1139
output += fmt .Sprintf (`Policy Bundle:
1115
1140
Digest: %s
0 commit comments