mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-19 00:41:43 +00:00
69 lines
1.8 KiB
Python
69 lines
1.8 KiB
Python
|
|
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(
|
||
|
|
"wpilibjExamples/src/main/java/edu/wpi/first/wpilibj/examples/examples.json"
|
||
|
|
)
|
||
|
|
commands = load_foldernames(
|
||
|
|
"wpilibjExamples/src/main/java/edu/wpi/first/wpilibj/commands/commands.json"
|
||
|
|
)
|
||
|
|
templates = load_foldernames(
|
||
|
|
"wpilibjExamples/src/main/java/edu/wpi/first/wpilibj/templates/templates.json"
|
||
|
|
)
|
||
|
|
snippets = load_foldernames(
|
||
|
|
"wpilibjExamples/src/main/java/edu/wpi/first/wpilibj/snippets/snippets.json"
|
||
|
|
)
|
||
|
|
tests = load_tests(
|
||
|
|
"wpilibjExamples/src/main/java/edu/wpi/first/wpilibj/examples/examples.json"
|
||
|
|
)
|
||
|
|
|
||
|
|
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()
|