diff options
author | Jarek Kobus <[email protected]> | 2024-05-02 23:44:14 +0200 |
---|---|---|
committer | Jarek Kobus <[email protected]> | 2024-05-03 15:07:17 +0000 |
commit | 5af69018f6be269ec38b30fd36399ec1298a730e (patch) | |
tree | c490f9a34a9b629298c57eae9351d7def22df458 /src/plugins/android/androidsdkmanager.cpp | |
parent | bb5cdfeb4c28d90fa6e78234813be5ce36e65fdf (diff) |
Android: Make parseCommonArguments() static
Change-Id: If1d840ac589131e58302eb1073b37a0feac99448
Reviewed-by: Alessandro Portale <[email protected]>
Diffstat (limited to 'src/plugins/android/androidsdkmanager.cpp')
-rw-r--r-- | src/plugins/android/androidsdkmanager.cpp | 86 |
1 files changed, 42 insertions, 44 deletions
diff --git a/src/plugins/android/androidsdkmanager.cpp b/src/plugins/android/androidsdkmanager.cpp index 191ba4d5df0..437719e33ab 100644 --- a/src/plugins/android/androidsdkmanager.cpp +++ b/src/plugins/android/androidsdkmanager.cpp @@ -325,27 +325,6 @@ static GroupItem updateRecipe(const Storage<DialogStorage> &dialogStorage) return ProcessTask(onUpdateSetup, onDone); } -/*! - Runs the \c sdkmanger tool with arguments \a args. Returns \c true if the command is - successfully executed. Output is copied into \a output. The function blocks the calling thread. - */ -static bool sdkManagerCommand(const AndroidConfig &config, const QStringList &args, QString *output) -{ - QStringList newArgs = args; - newArgs.append(sdkRootArg(config)); - qCDebug(sdkManagerLog).noquote() << "Running SDK Manager command (sync):" - << CommandLine(config.sdkManagerToolPath(), newArgs) - .toUserOutput(); - Process proc; - proc.setEnvironment(config.toolsEnvironment()); - proc.setTimeOutMessageBoxEnabled(true); - proc.setCommand({config.sdkManagerToolPath(), newArgs}); - proc.runBlocking(60s, EventLoopMode::On); - if (output) - *output = proc.allOutput(); - return proc.result() == ProcessResult::FinishedWithSuccess; -} - class AndroidSdkManagerPrivate { public: @@ -362,8 +341,6 @@ public: } const AndroidSdkPackageList &allPackages(); - void parseCommonArguments(QPromise<QString> &promise); - void reloadSdkPackages(); void runDialogRecipe(const Storage<DialogStorage> &dialogStorage, @@ -500,9 +477,50 @@ bool AndroidSdkManager::packageListingSuccessful() const return m_d->m_packageListingSuccessful; } +/*! + Runs the \c sdkmanger tool with arguments \a args. Returns \c true if the command is + successfully executed. Output is copied into \a output. The function blocks the calling thread. + */ +static bool sdkManagerCommand(const AndroidConfig &config, const QStringList &args, QString *output) +{ + QStringList newArgs = args; + newArgs.append(sdkRootArg(config)); + qCDebug(sdkManagerLog).noquote() << "Running SDK Manager command (sync):" + << CommandLine(config.sdkManagerToolPath(), newArgs) + .toUserOutput(); + Process proc; + proc.setEnvironment(config.toolsEnvironment()); + proc.setTimeOutMessageBoxEnabled(true); + proc.setCommand({config.sdkManagerToolPath(), newArgs}); + proc.runBlocking(60s, EventLoopMode::On); + if (output) + *output = proc.allOutput(); + return proc.result() == ProcessResult::FinishedWithSuccess; +} + +static void parseCommonArguments(QPromise<QString> &promise) +{ + QString argumentDetails; + QString output; + sdkManagerCommand(androidConfig(), QStringList("--help"), &output); + bool foundTag = false; + const auto lines = output.split('\n'); + for (const QString& line : lines) { + if (promise.isCanceled()) + break; + if (foundTag) + argumentDetails.append(line + "\n"); + else if (line.startsWith(commonArgsKey)) + foundTag = true; + } + + if (!promise.isCanceled()) + promise.addResult(argumentDetails); +} + QFuture<QString> AndroidSdkManager::availableArguments() const { - return Utils::asyncRun(&AndroidSdkManagerPrivate::parseCommonArguments, m_d.get()); + return Utils::asyncRun(parseCommonArguments); } AndroidSdkManagerPrivate::AndroidSdkManagerPrivate(AndroidSdkManager &sdkManager) @@ -549,26 +567,6 @@ void AndroidSdkManagerPrivate::reloadSdkPackages() emit m_sdkManager.packageReloadFinished(); } -void AndroidSdkManagerPrivate::parseCommonArguments(QPromise<QString> &promise) -{ - QString argumentDetails; - QString output; - sdkManagerCommand(androidConfig(), QStringList("--help"), &output); - bool foundTag = false; - const auto lines = output.split('\n'); - for (const QString& line : lines) { - if (promise.isCanceled()) - break; - if (foundTag) - argumentDetails.append(line + "\n"); - else if (line.startsWith(commonArgsKey)) - foundTag = true; - } - - if (!promise.isCanceled()) - promise.addResult(argumentDetails); -} - void AndroidSdkManagerPrivate::runDialogRecipe(const Storage<DialogStorage> &dialogStorage, const GroupItem &licensesRecipe, const GroupItem &continuationRecipe) |