2025-05-14 01:01:47 -04:00
|
|
|
import json
|
|
|
|
|
import sys
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def load_foldernames(filename):
|
|
|
|
|
output = []
|
|
|
|
|
|
|
|
|
|
with open(filename, "r") as f:
|
|
|
|
|
data = json.load(f)
|
|
|
|
|
|
|
|
|
|
for test_data in data:
|
|
|
|
|
output.append(test_data["foldername"])
|
|
|
|
|
|
|
|
|
|
return sorted(set(output))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def load_tests(filename):
|
|
|
|
|
output = []
|
|
|
|
|
|
|
|
|
|
with open(filename, "r") as f:
|
|
|
|
|
data = json.load(f)
|
|
|
|
|
|
|
|
|
|
for test_data in data:
|
|
|
|
|
if test_data.get("hasunittests", False):
|
|
|
|
|
output.append(test_data["foldername"])
|
|
|
|
|
|
|
|
|
|
return sorted(set(output))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def main():
|
|
|
|
|
examples = load_foldernames(
|
2025-11-07 19:56:21 -05:00
|
|
|
"wpilibjExamples/src/main/java/org/wpilib/examples/examples.json"
|
2025-05-14 01:01:47 -04:00
|
|
|
)
|
|
|
|
|
commands = load_foldernames(
|
2025-11-07 19:56:21 -05:00
|
|
|
"wpilibjExamples/src/main/java/org/wpilib/commands/commands.json"
|
2025-05-14 01:01:47 -04:00
|
|
|
)
|
|
|
|
|
templates = load_foldernames(
|
2025-11-07 19:56:21 -05:00
|
|
|
"wpilibjExamples/src/main/java/org/wpilib/templates/templates.json"
|
2025-05-14 01:01:47 -04:00
|
|
|
)
|
|
|
|
|
snippets = load_foldernames(
|
2025-11-07 19:56:21 -05:00
|
|
|
"wpilibjExamples/src/main/java/org/wpilib/snippets/snippets.json"
|
2025-05-14 01:01:47 -04:00
|
|
|
)
|
|
|
|
|
tests = load_tests(
|
2025-11-07 19:56:21 -05:00
|
|
|
"wpilibjExamples/src/main/java/org/wpilib/examples/examples.json"
|
2025-05-14 01:01:47 -04:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
output_file = "wpilibjExamples/example_projects.bzl"
|
|
|
|
|
if len(sys.argv) == 2:
|
|
|
|
|
output_file = sys.argv[1]
|
|
|
|
|
|
|
|
|
|
with open(output_file, "w") as f:
|
|
|
|
|
f.write(
|
|
|
|
|
'EXAMPLES_FOLDERS = [\n "' + '",\n "'.join(examples) + '",\n]\n\n'
|
|
|
|
|
)
|
|
|
|
|
f.write(
|
|
|
|
|
'COMMANDS_V2_FOLDERS = [\n "' + '",\n "'.join(commands) + '",\n]\n\n'
|
|
|
|
|
)
|
|
|
|
|
f.write(
|
|
|
|
|
'SNIPPETS_FOLDERS = [\n "' + '",\n "'.join(snippets) + '",\n]\n\n'
|
|
|
|
|
)
|
|
|
|
|
f.write(
|
|
|
|
|
'TEMPLATES_FOLDERS = [\n "' + '",\n "'.join(templates) + '",\n]\n\n'
|
|
|
|
|
)
|
|
|
|
|
f.write('TEST_FOLDERS = [\n "' + '",\n "'.join(tests) + '",\n]\n')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
|
main()
|