mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-02-17 07:54:17 +01:00
OP-910: generate synthetic AuthorsModel.qml using CREDITS.txt
This commit is contained in:
parent
0a53a1a89d
commit
0018a3c04a
77
CREDITS.txt
Normal file
77
CREDITS.txt
Normal file
@ -0,0 +1,77 @@
|
||||
Connor Abbott
|
||||
David Ankers
|
||||
Sergiy Anikeyev
|
||||
Pedro Assuncao
|
||||
Fredrik Arvidsson
|
||||
Werner Backes
|
||||
Jose Barros
|
||||
Pete Boehl
|
||||
David Carlson
|
||||
James Cotton
|
||||
Steve Doll
|
||||
Piotr Esden-Tempski
|
||||
Richard Flay
|
||||
Peter Farnworth
|
||||
Ed Faulkner
|
||||
Darren Furniss
|
||||
Frederic Goddeeris
|
||||
Daniel Godin
|
||||
Bani Greyling
|
||||
Nuno Guedes
|
||||
Erik Gustavsson
|
||||
Peter Gunnarsson
|
||||
Dean Hall
|
||||
Joe Hlebasko
|
||||
Andy Honecker
|
||||
Ryan Hunt
|
||||
Mark James
|
||||
Sami Korhonen
|
||||
Thorsten Klose
|
||||
Hallvard Kristiansen
|
||||
Edouard Lafargue
|
||||
Mike Labranche
|
||||
Fredrik Larsson
|
||||
Pablo Lema
|
||||
David Llama
|
||||
Matt Lipski
|
||||
Les Newell
|
||||
Ken Northup
|
||||
Greg Matthews
|
||||
Guy McCaldin
|
||||
Gary Mortimer
|
||||
Alessio Morale
|
||||
Cathy Moss
|
||||
Angus Peart
|
||||
Dmytro Poplavskiy
|
||||
Eric Price
|
||||
Richard Querin
|
||||
Randy Ram
|
||||
Philippe Renon
|
||||
Laurent Ribon
|
||||
Mathieu Rondonneau
|
||||
Julien Rouviere
|
||||
Jackson Russell
|
||||
Zik Saleeba
|
||||
Professor Dale Schinstock
|
||||
Professor Kenn Sebesta
|
||||
Oleg Semyonov
|
||||
Stacey Sheldon
|
||||
Troy Schultz
|
||||
Dr. Erhard Siegl
|
||||
Mike Smith
|
||||
Alex Sowa
|
||||
Pete Stapley
|
||||
Vova Starikh
|
||||
Rowan Taubitz
|
||||
Andrew Thoms
|
||||
Philippe Vanhaesendonck
|
||||
Jasper van Loenen
|
||||
Vassilis Varveropoulos
|
||||
Kevin Vertucio
|
||||
Alex Vrubel
|
||||
Brian Webb
|
||||
Justin Welander
|
||||
Mat Wellington
|
||||
Kendal Wells
|
||||
David Willis
|
||||
Dmitriy Zaitsev
|
41
ground/openpilotgcs/src/plugins/coreplugin/authorsdialog.pri
Normal file
41
ground/openpilotgcs/src/plugins/coreplugin/authorsdialog.pri
Normal file
@ -0,0 +1,41 @@
|
||||
include(../../python.pri)
|
||||
|
||||
#
|
||||
# This qmake code generates AuthorsModel.qml using CREDITS.txt.
|
||||
#
|
||||
# This is a bit tricky since the script should be run always and before
|
||||
# the other dependencies evaluation.
|
||||
#
|
||||
|
||||
# Since debug_and_release option is set, we need this
|
||||
!debug_and_release|build_pass {
|
||||
|
||||
# Define other variables
|
||||
AUTHORS_SCRIPT = $$GCS_SOURCE_TREE/src/plugins/coreplugin/authorsdialog.py
|
||||
AUTHORS_COMMAND = $$PYTHON \"$$AUTHORS_SCRIPT\"
|
||||
AUTHORS_SOURCE = $$ROOT_DIR/CREDITS.txt
|
||||
AUTHORS_TEMPLATE = $$GCS_SOURCE_TREE/src/plugins/coreplugin/qml/AuthorsModel.qml.template
|
||||
AUTHORS_DIR = $$GCS_BUILD_TREE/../openpilotgcs-synthetics
|
||||
AUTHORS_FILE = $$AUTHORS_DIR/AuthorsModel.qml
|
||||
|
||||
# Create custom authors target which generates a real file
|
||||
authors.target = $$AUTHORS_FILE
|
||||
authors.commands = -$(MKDIR) $$targetPath($$AUTHORS_DIR) $$addNewline()
|
||||
authors.commands += $$AUTHORS_COMMAND \
|
||||
--infile=\"$$AUTHORS_SOURCE\" \
|
||||
--template=\"$$AUTHORS_TEMPLATE\" \
|
||||
--outfile=\"$$AUTHORS_FILE\"
|
||||
authors.depends = FORCE
|
||||
QMAKE_EXTRA_TARGETS += authors
|
||||
|
||||
# Hook authors target in between qmake's Makefile update and
|
||||
# the actual project target
|
||||
authors_hook.depends = authors
|
||||
debug_and_release {
|
||||
CONFIG(debug,debug|release):authors_hook.target = Makefile.Debug
|
||||
CONFIG(release,debug|release):authors_hook.target = Makefile.Release
|
||||
} else {
|
||||
authors_hook.target = Makefile
|
||||
}
|
||||
QMAKE_EXTRA_TARGETS += authors_hook
|
||||
}
|
52
ground/openpilotgcs/src/plugins/coreplugin/authorsdialog.py
Normal file
52
ground/openpilotgcs/src/plugins/coreplugin/authorsdialog.py
Normal file
@ -0,0 +1,52 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Helper function to generate a QML list of contributors
|
||||
#
|
||||
# (c) 2013, The OpenPilot Team, http://www.openpilot.org
|
||||
# See also: The GNU Public License (GPL) Version 3
|
||||
#
|
||||
|
||||
import optparse
|
||||
import sys
|
||||
|
||||
def create_qml_file(args):
|
||||
"""This function reads input and template files and writes output QML file"""
|
||||
|
||||
assert args.infile is not None
|
||||
assert args.outfile is not None
|
||||
assert args.template is not None
|
||||
|
||||
with open(args.infile, "rt") as input_file:
|
||||
names = input_file.readlines()
|
||||
|
||||
names_list = ""
|
||||
for name in names:
|
||||
if name.strip():
|
||||
names_list += " ListElement { name: \"" + name.strip() + "\" }\n"
|
||||
|
||||
with open(args.template, "rt") as template_file, open(args.outfile, "wt") as output_file:
|
||||
template = template_file.read()
|
||||
output_file.write(template.replace("${LIST_ELEMENTS}\n", names_list))
|
||||
|
||||
return 0
|
||||
|
||||
def main():
|
||||
"""Helper function to generate a QML list of contributors"""
|
||||
|
||||
parser = optparse.OptionParser(description = main.__doc__);
|
||||
|
||||
parser.add_option('--infile', action='store',
|
||||
help='name of input file, one name per line');
|
||||
parser.add_option('--outfile', action='store',
|
||||
help='name of output QML file');
|
||||
parser.add_option('--template', action='store',
|
||||
help='name of QML template file');
|
||||
(args, positional_args) = parser.parse_args()
|
||||
|
||||
if (len(positional_args) != 0) or (len(sys.argv) == 1):
|
||||
parser.error("incorrect number of arguments, try --help for help")
|
||||
|
||||
return create_qml_file(args)
|
||||
|
||||
if __name__ == "__main__":
|
||||
sys.exit(main())
|
@ -14,6 +14,7 @@ include(../../libs/utils/utils.pri)
|
||||
include(../../libs/version_info/version_info.pri)
|
||||
include(../../shared/scriptwrapper/scriptwrapper.pri)
|
||||
include(coreplugin_dependencies.pri)
|
||||
include(authorsdialog.pri)
|
||||
|
||||
INCLUDEPATH += dialogs \
|
||||
uavgadgetmanager \
|
||||
|
@ -0,0 +1,8 @@
|
||||
/*
|
||||
This list model was created for the AuthorsDialog.
|
||||
*/
|
||||
import QtQuick 1.1
|
||||
|
||||
ListModel {
|
||||
${LIST_ELEMENTS}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user