mirror of
https://github.com/github/codeql.git
synced 2025-12-17 01:03:14 +01:00
Bulk generator: Specify 'language' in the config file.
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
{
|
{
|
||||||
"strategy": "dca",
|
"strategy": "dca",
|
||||||
|
"language": "cpp",
|
||||||
"targets": [
|
"targets": [
|
||||||
{ "name": "openssl", "with_summaries": true },
|
{ "name": "openssl", "with_summaries": true },
|
||||||
{ "name": "sqlite", "with_summaries": true }
|
{ "name": "sqlite", "with_summaries": true }
|
||||||
|
|||||||
@@ -196,7 +196,7 @@ def build_database(
|
|||||||
return database_dir
|
return database_dir
|
||||||
|
|
||||||
|
|
||||||
def generate_models(language: str, config, project: Project, database_dir: str) -> None:
|
def generate_models(config, project: Project, database_dir: str) -> None:
|
||||||
"""
|
"""
|
||||||
Generate models for a project.
|
Generate models for a project.
|
||||||
|
|
||||||
@@ -206,6 +206,7 @@ def generate_models(language: str, config, project: Project, database_dir: str)
|
|||||||
database_dir: Path to the CodeQL database.
|
database_dir: Path to the CodeQL database.
|
||||||
"""
|
"""
|
||||||
name = project["name"]
|
name = project["name"]
|
||||||
|
language = config["language"]
|
||||||
|
|
||||||
generator = mad.Generator(language)
|
generator = mad.Generator(language)
|
||||||
# Note: The argument parser converts with-sinks to with_sinks, etc.
|
# Note: The argument parser converts with-sinks to with_sinks, etc.
|
||||||
@@ -402,7 +403,10 @@ def main(config, args) -> None:
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
projects = config["targets"]
|
projects = config["targets"]
|
||||||
language = args.lang
|
if not "language" in config:
|
||||||
|
print("ERROR: 'language' key is missing in the configuration file.")
|
||||||
|
sys.exit(1)
|
||||||
|
language = config["language"]
|
||||||
|
|
||||||
# Create build directory if it doesn't exist
|
# Create build directory if it doesn't exist
|
||||||
if not os.path.exists(build_dir):
|
if not os.path.exists(build_dir):
|
||||||
@@ -464,7 +468,7 @@ To avoid loss of data, please commit your changes."""
|
|||||||
|
|
||||||
for project, database_dir in database_results:
|
for project, database_dir in database_results:
|
||||||
if database_dir is not None:
|
if database_dir is not None:
|
||||||
generate_models(language, config, project, database_dir)
|
generate_models(config, project, database_dir)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
@@ -484,9 +488,6 @@ if __name__ == "__main__":
|
|||||||
help="PAT token to grab DCA databases (the same as the one you use for DCA)",
|
help="PAT token to grab DCA databases (the same as the one you use for DCA)",
|
||||||
required=False,
|
required=False,
|
||||||
)
|
)
|
||||||
parser.add_argument(
|
|
||||||
"--lang", type=str, help="The language to generate models for", required=True
|
|
||||||
)
|
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
# Load config file
|
# Load config file
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
{
|
{
|
||||||
"strategy": "repo",
|
"strategy": "repo",
|
||||||
|
"language": "rust",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"name": "libc",
|
"name": "libc",
|
||||||
|
|||||||
Reference in New Issue
Block a user