aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/android/androidsdkmanager.cpp
diff options
context:
space:
mode:
authorJarek Kobus <[email protected]>2024-05-02 23:44:14 +0200
committerJarek Kobus <[email protected]>2024-05-03 15:07:17 +0000
commit5af69018f6be269ec38b30fd36399ec1298a730e (patch)
treec490f9a34a9b629298c57eae9351d7def22df458 /src/plugins/android/androidsdkmanager.cpp
parentbb5cdfeb4c28d90fa6e78234813be5ce36e65fdf (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.cpp86
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)