diff options
| author | Amanda Hamblin-Trué <amanda.hamblin-true@qt.io> | 2023-06-27 14:29:15 +0200 |
|---|---|---|
| committer | Amanda Hamblin-Trué <amanda.hamblin-true@qt.io> | 2023-07-05 09:14:20 +0200 |
| commit | 74232a8b316bcde43acb8e238fbb29fecc74b7d3 (patch) | |
| tree | d25db1fb63ca38205aff051d11f348e9504151f6 /tools/qmljsrootgen/main.cpp | |
| parent | 2d399217fc8b61ad3041dfaea93868915d4e60a1 (diff) | |
qmljsrootgen: port to QCommandLineParser
Additionally, improved the error message for missing output path.
Change-Id: I3885a06157100399c160853b3137dd28aa965c72
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Diffstat (limited to 'tools/qmljsrootgen/main.cpp')
| -rw-r--r-- | tools/qmljsrootgen/main.cpp | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/tools/qmljsrootgen/main.cpp b/tools/qmljsrootgen/main.cpp index 2bd54692d1..353859c08f 100644 --- a/tools/qmljsrootgen/main.cpp +++ b/tools/qmljsrootgen/main.cpp @@ -10,6 +10,7 @@ #include <QtCore/qcoreapplication.h> #include <QtCore/qfile.h> +#include <QtCore/qcommandlineparser.h> #include <QtCore/qjsondocument.h> #include <QtCore/qjsonarray.h> @@ -326,14 +327,22 @@ int main(int argc, char *argv[]) QCoreApplication app(argc, argv); QCoreApplication::setApplicationVersion(QLatin1String(QT_VERSION_STR)); - QStringList args = app.arguments(); + QCommandLineParser parser; + parser.addHelpOption(); + parser.setApplicationDescription("Internal development tool."); + parser.addPositionalArgument("path", "Output json path.", "path"); - if (args.size() != 2) { - qWarning().noquote() << app.applicationName() << "[output json path]"; - return 1; + parser.process(app); + + const QStringList args = parser.positionalArguments(); + if (auto size = args.size(); size == 0) { + qWarning().noquote().nospace() << app.applicationName() << ": Output path missing."; + return EXIT_FAILURE; + } else if (size >= 2) { + qWarning().noquote().nospace() << app.applicationName() << ": Too many output paths given. Only one allowed."; } - QString fileName = args.at(1); + const QString fileName = args.at(0); QJSEngine engine; engine.installExtensions(QJSEngine::AllExtensions); |
