blob: eb788bb7a25e6cd455ad33c1ec72cc3e8ca0b9e4 [file] [log] [blame]
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package database
import (
"context"
"github.com/go-git/go-git/v5"
"golang.org/x/vulndb/internal/derrors"
)
// Generate creates and writes a new Go vulnerability database to outDir
// based on the contents of the "data/osv" folder inside repo.
//
// The repo must contain a "data/osv" folder with files in
// OSV JSON format with filenames of the form GO-YYYY-XXXX.json.
func Generate(ctx context.Context, repo *git.Repository, outDir string, indent bool) (err error) {
defer derrors.Wrap(&err, "Generate()")
new, err := New(ctx, repo)
if err != nil {
return err
}
if err = new.Write(outDir, indent); err != nil {
return err
}
return nil
}