Skip to content

Commit 8c5d220

Browse files
committed
Add optional friendly name parameter to MaD generator
1 parent 5004a5f commit 8c5d220

File tree

3 files changed

+18
-9
lines changed

3 files changed

+18
-9
lines changed

java/ql/lib/semmle/code/java/frameworks/kotlin/NegativeStdLibGenerated.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/**
22
* THIS FILE IS AN AUTO-GENERATED MODELS AS DATA FILE. DO NOT EDIT.
3-
* Definitions of negative summaries in the StdLibGenerated framework.
3+
* Definitions of negative summaries in the Kotlin StdLib @30ce58cea74 framework.
44
*/
55

66
import java

java/ql/lib/semmle/code/java/frameworks/kotlin/StdLibGenerated.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/**
22
* THIS FILE IS AN AUTO-GENERATED MODELS AS DATA FILE. DO NOT EDIT.
3-
* Definitions of taint steps in the StdLibGenerated framework.
3+
* Definitions of taint steps in the Kotlin StdLib @30ce58cea74 framework.
44
*/
55

66
import java

misc/scripts/models-as-data/generate_flow_model.py

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ def __init__ (self, language):
2020

2121
def printHelp(self):
2222
print(f"""Usage:
23-
python3 GenerateFlowModel.py <library-database> <outputQll> [--with-sinks] [--with-sources] [--with-summaries] [--dry-run]
23+
python3 GenerateFlowModel.py <library-database> <outputQll> [<friendlyFrameworkName>] [--with-sinks] [--with-sources] [--with-summaries] [--dry-run]
2424
2525
This generates summary, source and sink models for the code in the database.
2626
The files will be placed in `{self.language}/ql/lib/semmle/code/{self.language}/frameworks/<outputQll>` where
@@ -39,18 +39,23 @@ def printHelp(self):
3939
4040
Example invocations:
4141
$ python3 GenerateFlowModel.py /tmp/dbs/my_library_db "mylibrary/Framework.qll"
42+
$ python3 GenerateFlowModel.py /tmp/dbs/my_library_db "mylibrary/Framework.qll" "Friendly Name of Framework"
4243
$ python3 GenerateFlowModel.py /tmp/dbs/my_library_db "mylibrary/FrameworkSinks.qll" --with-sinks
4344
4445
Requirements: `codeql` should both appear on your path.
4546
""")
4647

4748

48-
def setenvironment(self, target, database):
49+
def setenvironment(self, target, database, friendlyName):
4950
self.codeQlRoot = subprocess.check_output(["git", "rev-parse", "--show-toplevel"]).decode("utf-8").strip()
5051
if not target.endswith(".qll"):
5152
target += ".qll"
5253
filename = os.path.basename(target)
5354
dirname = os.path.dirname(target)
55+
if friendlyName is not None:
56+
self.friendlyname = friendlyName
57+
else:
58+
self.friendlyname = filename[:-4]
5459
self.shortname = filename[:-4]
5560
self.database = database
5661
self.generatedFrameworks = os.path.join(
@@ -92,11 +97,15 @@ def make(language):
9297
if not generator.generateSinks and not generator.generateSources and not generator.generateSummaries and not generator.generateNegativeSummaries:
9398
generator.generateSinks = generator.generateSources = generator.generateSummaries = generator.generateNegativeSummaries = True
9499

95-
if len(sys.argv) != 3:
100+
if len(sys.argv) < 3 or len(sys.argv) > 4:
96101
generator.printHelp()
97102
sys.exit(1)
98-
99-
generator.setenvironment(sys.argv[2], sys.argv[1])
103+
104+
friendlyName = None
105+
if len(sys.argv) == 4:
106+
friendlyName = sys.argv[3]
107+
108+
generator.setenvironment(sys.argv[2], sys.argv[1], friendlyName)
100109
return generator
101110

102111

@@ -178,7 +187,7 @@ def makeContent(self):
178187
return f"""
179188
/**
180189
* THIS FILE IS AN AUTO-GENERATED MODELS AS DATA FILE. DO NOT EDIT.
181-
* Definitions of taint steps in the {self.shortname} framework.
190+
* Definitions of taint steps in the {self.friendlyname} framework.
182191
*/
183192
184193
import {self.language}
@@ -200,7 +209,7 @@ def makeNegativeContent(self):
200209
return f"""
201210
/**
202211
* THIS FILE IS AN AUTO-GENERATED MODELS AS DATA FILE. DO NOT EDIT.
203-
* Definitions of negative summaries in the {self.shortname} framework.
212+
* Definitions of negative summaries in the {self.friendlyname} framework.
204213
*/
205214
206215
import {self.language}

0 commit comments

Comments
 (0)