Add --additional-packs argument

This commit is contained in:
Alvaro Muñoz
2023-10-26 12:51:04 +02:00
parent 2c13e0f578
commit cf4eb8ae31
3 changed files with 52 additions and 35 deletions

View File

@@ -15,14 +15,15 @@ import (
)
var (
controller string
codeqlPath string
listFile string
listName string
language string
sessionName string
queryFile string
querySuiteFile string
additionalPacks string
controller string
codeqlPath string
listFile string
listName string
language string
sessionName string
queryFile string
querySuiteFile string
)
var submitCmd = &cobra.Command{
Use: "submit",
@@ -43,6 +44,7 @@ func init() {
submitCmd.Flags().StringVarP(&listFileFlag, "list-file", "f", "", "Path to repo list file (overrides config file)")
submitCmd.Flags().StringVarP(&listFlag, "list", "i", "", "Name of repo list")
submitCmd.Flags().StringVarP(&codeqlPathFlag, "codeql-path", "p", "", "Path to CodeQL distribution (overrides config file)")
submitCmd.Flags().StringVarP(&additionalPacksFlag, "additional-packs", "a", "", "Additional Packs")
submitCmd.MarkFlagRequired("session")
submitCmd.MarkFlagRequired("language")
submitCmd.MarkFlagsMutuallyExclusive("query", "query-suite")
@@ -69,6 +71,9 @@ func submitQuery() {
} else if configData.CodeQLPath != "" {
codeqlPath = configData.CodeQLPath
}
if additionalPacksFlag != "" {
additionalPacks = additionalPacksFlag
}
if languageFlag != "" {
language = languageFlag
}
@@ -85,6 +90,14 @@ func submitQuery() {
querySuiteFile = querySuiteFileFlag
}
if codeqlPath != "" {
if additionalPacks != "" {
additionalPacks = ":" + codeqlPath
} else {
additionalPacks = codeqlPath
}
}
if controller == "" {
fmt.Println("Please specify a controller.")
os.Exit(1)
@@ -118,13 +131,13 @@ func submitQuery() {
if queryFileFlag != "" {
queries = append(queries, queryFileFlag)
} else if querySuiteFileFlag != "" {
queries = utils.ResolveQueries(codeqlPath, querySuiteFile)
queries = utils.ResolveQueries(additionalPacks, querySuiteFile)
}
fmt.Printf("Submitting %d queries for %d repositories\n", len(queries), len(repositories))
var runs []models.Run
for _, query := range queries {
encodedBundle, queryId, err := utils.GenerateQueryPack(codeqlPath, query, language)
encodedBundle, queryId, err := utils.GenerateQueryPack(query, language, additionalPacks)
if err != nil {
log.Fatal(err)
}