mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-19 00:41:43 +00:00
Move various "examples" into snippets. Several examples that were less than a full mechanism or robot were moved to snippets. `arcadedrive` and `tankdrive` were removed in favor of their Gamepad variants. `hidrumble` was removed due to being too simple. `potentiometerpid` was removed because of low utility. `gyromecanum` replaced `mecanumdrive` for deduplication and because very few teams run holonomic drivetrains without gyros.
77 lines
2.0 KiB
Python
77 lines
2.0 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/org/wpilib/examples/examples.json"
|
|
)
|
|
commands = load_foldernames(
|
|
"wpilibjExamples/src/main/java/org/wpilib/commands/commands.json"
|
|
)
|
|
templates = load_foldernames(
|
|
"wpilibjExamples/src/main/java/org/wpilib/templates/templates.json"
|
|
)
|
|
snippets = load_foldernames(
|
|
"wpilibjExamples/src/main/java/org/wpilib/snippets/snippets.json"
|
|
)
|
|
example_tests = load_tests(
|
|
"wpilibjExamples/src/main/java/org/wpilib/examples/examples.json"
|
|
)
|
|
snippet_tests = load_tests(
|
|
"wpilibjExamples/src/main/java/org/wpilib/snippets/snippets.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('EXAMPLE_FOLDERS = [\n "' + '",\n "'.join(examples) + '",\n]\n\n')
|
|
f.write(
|
|
'COMMANDS_V2_FOLDERS = [\n "' + '",\n "'.join(commands) + '",\n]\n\n'
|
|
)
|
|
f.write('SNIPPET_FOLDERS = [\n "' + '",\n "'.join(snippets) + '",\n]\n\n')
|
|
f.write(
|
|
'TEMPLATE_FOLDERS = [\n "' + '",\n "'.join(templates) + '",\n]\n\n'
|
|
)
|
|
f.write(
|
|
'EXAMPLE_TESTS_FOLDERS = [\n "'
|
|
+ '",\n "'.join(example_tests)
|
|
+ '",\n]\n\n'
|
|
)
|
|
f.write(
|
|
'SNIPPET_TESTS_FOLDERS = [\n "'
|
|
+ '",\n "'.join(snippet_tests)
|
|
+ '",\n]\n'
|
|
)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|