diff options
author | hjk <hjk@qt.io> | 2019-05-29 18:11:38 +0200 |
---|---|---|
committer | hjk <hjk@qt.io> | 2019-05-29 16:49:47 +0000 |
commit | a7345b67c13e6c460bfcce58878e8974fb9b0636 (patch) | |
tree | fe92f526d40e1f2a22a155e8d57bee474c471586 | |
parent | bc82e3cc74c36975dfb5c5748aa4be255791b56f (diff) | |
download | qt-creator-a7345b67c13e6c460bfcce58878e8974fb9b0636.tar.gz |
ProjectExplorer/Android: Some more use of Utils::CommandLine
And surrounding cosmetics.
Change-Id: Iad3d2d43856b1fcd9530d4a209fff9887e6cec42
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
-rw-r--r-- | src/libs/utils/qtcprocess.cpp | 5 | ||||
-rw-r--r-- | src/libs/utils/qtcprocess.h | 2 | ||||
-rw-r--r-- | src/plugins/android/androiddeployqtstep.cpp | 60 | ||||
-rw-r--r-- | src/plugins/android/androiddeployqtstep.h | 5 |
4 files changed, 35 insertions, 37 deletions
diff --git a/src/libs/utils/qtcprocess.cpp b/src/libs/utils/qtcprocess.cpp index 350e92ccfd..dce239b488 100644 --- a/src/libs/utils/qtcprocess.cpp +++ b/src/libs/utils/qtcprocess.cpp @@ -1536,4 +1536,9 @@ void CommandLine::addArgs(const QString &inArgs) QtcProcess::addArgs(&m_arguments, inArgs); } +QString CommandLine::toUserOutput() const +{ + return m_executable.toUserOutput() + ' ' + m_arguments; +} + } // namespace Utils diff --git a/src/libs/utils/qtcprocess.h b/src/libs/utils/qtcprocess.h index c0544d42c9..1a831d3a5a 100644 --- a/src/libs/utils/qtcprocess.h +++ b/src/libs/utils/qtcprocess.h @@ -45,6 +45,8 @@ public: void addArgs(const QStringList &inArgs); void addArgs(const QString &inArgs); + QString toUserOutput() const; + FilePath executable() const { return m_executable; } QString arguments() const { return m_arguments; } diff --git a/src/plugins/android/androiddeployqtstep.cpp b/src/plugins/android/androiddeployqtstep.cpp index 94a016478c..8e56cd6a58 100644 --- a/src/plugins/android/androiddeployqtstep.cpp +++ b/src/plugins/android/androiddeployqtstep.cpp @@ -63,8 +63,10 @@ #include <QVBoxLayout> using namespace ProjectExplorer; -using namespace Android; -using namespace Android::Internal; +using namespace Utils; + +namespace Android { +namespace Internal { namespace { Q_LOGGING_CATEGORY(deployStepLog, "qtc.android.build.androiddeployqtstep", QtWarningMsg) @@ -169,7 +171,7 @@ Core::Id AndroidDeployQtStep::stepId() bool AndroidDeployQtStep::init() { - m_androiddeployqtArgs.clear(); + m_androiddeployqtArgs = CommandLine(); m_targetArch = AndroidManager::targetArch(target()); if (m_targetArch.isEmpty()) { @@ -256,31 +258,24 @@ bool AndroidDeployQtStep::init() m_workingDirectory = bc->buildDirectory().pathAppended(Constants::ANDROID_BUILDDIRECTORY).toString(); - Utils::QtcProcess::addArg(&m_androiddeployqtArgs, QLatin1String("--verbose")); - Utils::QtcProcess::addArg(&m_androiddeployqtArgs, QLatin1String("--output")); - Utils::QtcProcess::addArg(&m_androiddeployqtArgs, m_workingDirectory); - Utils::QtcProcess::addArg(&m_androiddeployqtArgs, QLatin1String("--no-build")); - Utils::QtcProcess::addArg(&m_androiddeployqtArgs, QLatin1String("--input")); - + m_androiddeployqtArgs.addArgs({"--verbose", + "--output", m_workingDirectory, + "--no-build", + "--input", jsonFile}); - - Utils::QtcProcess::addArg(&m_androiddeployqtArgs, jsonFile); if (androidBuildApkStep && androidBuildApkStep->useMinistro()) { qCDebug(deployStepLog) << "Using ministro"; - Utils::QtcProcess::addArg(&m_androiddeployqtArgs, QLatin1String("--deployment")); - Utils::QtcProcess::addArg(&m_androiddeployqtArgs, QLatin1String("ministro")); + m_androiddeployqtArgs.addArgs({"--deployment", "ministro"}); } - Utils::QtcProcess::addArg(&m_androiddeployqtArgs, QLatin1String("--gradle")); + m_androiddeployqtArgs.addArg("--gradle"); if (androidBuildApkStep && androidBuildApkStep->signPackage()) { // The androiddeployqt tool is not really written to do stand-alone installations. // This hack forces it to use the correct filename for the apk file when installing // as a temporary fix until androiddeployqt gets the support. Since the --sign is // only used to get the correct file name of the apk, its parameters are ignored. - Utils::QtcProcess::addArg(&m_androiddeployqtArgs, QLatin1String("--sign")); - Utils::QtcProcess::addArg(&m_androiddeployqtArgs, QLatin1String("foo")); - Utils::QtcProcess::addArg(&m_androiddeployqtArgs, QLatin1String("bar")); + m_androiddeployqtArgs.addArgs({"--sign", "foo", "bar"}); } } } else { @@ -303,18 +298,17 @@ bool AndroidDeployQtStep::init() AndroidDeployQtStep::DeployErrorCode AndroidDeployQtStep::runDeploy() { - QString args; + CommandLine cmd(Utils::FilePath::fromString(m_command), {}); if (m_useAndroiddeployqt && m_apkPath.isEmpty()) { - args = m_androiddeployqtArgs; + cmd = m_androiddeployqtArgs; if (m_uninstallPreviousPackageRun) - Utils::QtcProcess::addArg(&args, QLatin1String("--install")); + cmd.addArg("--install"); else - Utils::QtcProcess::addArg(&args, QLatin1String("--reinstall")); + cmd.addArg("--reinstall"); + + if (!m_serialNumber.isEmpty() && !m_serialNumber.startsWith("????")) + cmd.addArgs({"--device", m_serialNumber}); - if (!m_serialNumber.isEmpty() && !m_serialNumber.startsWith(QLatin1String("????"))) { - Utils::QtcProcess::addArg(&args, QLatin1String("--device")); - Utils::QtcProcess::addArg(&args, m_serialNumber); - } } else { RunConfiguration *rc = target()->activeRunConfiguration(); QTC_ASSERT(rc, return DeployErrorCode::Failure); @@ -357,16 +351,12 @@ AndroidDeployQtStep::DeployErrorCode AndroidDeployQtStep::runDeploy() << QLatin1String("uninstall") << packageName); } - foreach (const QString &arg, AndroidDeviceInfo::adbSelector(m_serialNumber)) - Utils::QtcProcess::addArg(&args, arg); - - Utils::QtcProcess::addArg(&args, QLatin1String("install")); - Utils::QtcProcess::addArg(&args, QLatin1String("-r")); - Utils::QtcProcess::addArg(&args, m_apkPath.toString()); + cmd.addArgs(AndroidDeviceInfo::adbSelector(m_serialNumber)); + cmd.addArgs({"install", "-r", m_apkPath.toString()}); } m_process = new Utils::QtcProcess; - m_process->setCommand(Utils::CommandLine(Utils::FilePath::fromString(m_command), args)); + m_process->setCommand(cmd); m_process->setWorkingDirectory(m_workingDirectory); m_process->setEnvironment(m_environment); @@ -381,8 +371,7 @@ AndroidDeployQtStep::DeployErrorCode AndroidDeployQtStep::runDeploy() m_process->start(); - emit addOutput(tr("Starting: \"%1\" %2") - .arg(QDir::toNativeSeparators(m_command), args), + emit addOutput(tr("Starting: \"%1\"").arg(cmd.toUserOutput()), BuildStep::OutputFormat::NormalMessage); while (!m_process->waitForFinished(200)) { @@ -641,3 +630,6 @@ AndroidDeployQtStep::UninstallType AndroidDeployQtStep::uninstallPreviousPackage return ForceUnintall; return m_uninstallPreviousPackage ? Uninstall : Keep; } + +} // Internal +} // Android diff --git a/src/plugins/android/androiddeployqtstep.h b/src/plugins/android/androiddeployqtstep.h index 949992d0e3..da2a96e2a0 100644 --- a/src/plugins/android/androiddeployqtstep.h +++ b/src/plugins/android/androiddeployqtstep.h @@ -33,8 +33,7 @@ #include <qtsupport/baseqtversion.h> #include <utils/environment.h> - -namespace Utils { class QtcProcess; } +#include <utils/qtcprocess.h> namespace Android { namespace Internal { @@ -118,7 +117,7 @@ private: bool m_useAndroiddeployqt = false; bool m_askForUninstall = false; static const Core::Id Id; - QString m_androiddeployqtArgs; + Utils::CommandLine m_androiddeployqtArgs; QString m_adbPath; QString m_command; QString m_workingDirectory; |