From d8326afcffcba1453fc69904f41cac9ba876d52c Mon Sep 17 00:00:00 2001 From: hjk Date: Fri, 27 Jul 2018 11:18:06 +0200 Subject: [PATCH] Android: Simplify apkPath determination It doesn't explicitly need the qtSupport indirection anymore. Change-Id: I25f0649a3b7760fdef3b62097ac55341e6b16fe4 Reviewed-by: Vikas Pachdha --- src/plugins/android/android.pro | 1 - src/plugins/android/android.qbs | 1 - src/plugins/android/androidbuildapkstep.cpp | 2 +- src/plugins/android/androiddeployqtstep.cpp | 3 +- src/plugins/android/androidmanager.cpp | 23 ++++++++- src/plugins/android/androidmanager.h | 3 +- src/plugins/android/androidqtsupport.cpp | 55 --------------------- src/plugins/android/androidqtsupport.h | 9 +--- 8 files changed, 27 insertions(+), 70 deletions(-) delete mode 100644 src/plugins/android/androidqtsupport.cpp diff --git a/src/plugins/android/android.pro b/src/plugins/android/android.pro index 3eb7043ba3a..11a209a7cfb 100644 --- a/src/plugins/android/android.pro +++ b/src/plugins/android/android.pro @@ -94,7 +94,6 @@ SOURCES += \ avddialog.cpp \ androidbuildapkstep.cpp \ androidbuildapkwidget.cpp \ - androidqtsupport.cpp \ androidtoolmanager.cpp \ androidsdkmanager.cpp \ androidavdmanager.cpp \ diff --git a/src/plugins/android/android.qbs b/src/plugins/android/android.qbs index 7c199125f8c..66aa72916e8 100644 --- a/src/plugins/android/android.qbs +++ b/src/plugins/android/android.qbs @@ -78,7 +78,6 @@ Project { "androidpotentialkit.h", "androidqmltoolingsupport.cpp", "androidqmltoolingsupport.h", - "androidqtsupport.cpp", "androidqtsupport.h", "androidqtversion.cpp", "androidqtversion.h", diff --git a/src/plugins/android/androidbuildapkstep.cpp b/src/plugins/android/androidbuildapkstep.cpp index a0b2f10cb23..d9ce630e20c 100644 --- a/src/plugins/android/androidbuildapkstep.cpp +++ b/src/plugins/android/androidbuildapkstep.cpp @@ -186,7 +186,7 @@ bool AndroidBuildApkStep::init(QList &earlierSteps) setOutputParser(parser); m_openPackageLocationForRun = m_openPackageLocation; - m_apkPath = qtSupport->apkPath(target()).toString(); + m_apkPath = AndroidManager::apkPath(target()).toString(); qCDebug(buildapkstepLog) << "APK path:" << m_apkPath; if (!AbstractProcessStep::init(earlierSteps)) diff --git a/src/plugins/android/androiddeployqtstep.cpp b/src/plugins/android/androiddeployqtstep.cpp index 1d991333500..f3f4f5d38df 100644 --- a/src/plugins/android/androiddeployqtstep.cpp +++ b/src/plugins/android/androiddeployqtstep.cpp @@ -218,8 +218,7 @@ bool AndroidDeployQtStep::init(QList &earlierSteps) m_uninstallPreviousPackageRun = true; m_command = AndroidConfigurations::currentConfig().adbToolPath().toString(); const AndroidConfig &config = AndroidConfigurations::currentConfig(); - m_apkPath = deployQtLive ? config.qtLiveApkPath() : - (qtSupport ? qtSupport->apkPath(target()) : Utils::FileName()); + m_apkPath = deployQtLive ? config.qtLiveApkPath() : AndroidManager::apkPath(target()); m_workingDirectory = bc ? bc->buildDirectory().toString() : QString(); } m_environment = bc ? bc->environment() : Utils::Environment(); diff --git a/src/plugins/android/androidmanager.cpp b/src/plugins/android/androidmanager.cpp index c5855947e83..19b783066ed 100644 --- a/src/plugins/android/androidmanager.cpp +++ b/src/plugins/android/androidmanager.cpp @@ -48,7 +48,9 @@ #include #include + #include +#include #include #include @@ -274,13 +276,32 @@ QString AndroidManager::targetArch(ProjectExplorer::Target *target) return qt->targetArch(); } -Utils::FileName AndroidManager::dirPath(ProjectExplorer::Target *target) +Utils::FileName AndroidManager::dirPath(const ProjectExplorer::Target *target) { if (target->activeBuildConfiguration()) return target->activeBuildConfiguration()->buildDirectory().appendPath(QLatin1String(Constants::ANDROID_BUILDDIRECTORY)); return Utils::FileName(); } +Utils::FileName AndroidManager::apkPath(const ProjectExplorer::Target *target) +{ + QTC_ASSERT(target, return Utils::FileName()); + + auto buildApkStep + = Android::AndroidGlobal::buildStep(target->activeBuildConfiguration()); + + if (!buildApkStep) + return Utils::FileName(); + + QString apkPath("build/outputs/apk/android-build-"); + if (buildApkStep->signPackage()) + apkPath += QLatin1String("release.apk"); + else + apkPath += QLatin1String("debug.apk"); + + return dirPath(target).appendPath(apkPath); +} + Utils::FileName AndroidManager::manifestSourcePath(ProjectExplorer::Target *target) { if (AndroidQtSupport *androidQtSupport = AndroidManager::androidQtSupport(target)) { diff --git a/src/plugins/android/androidmanager.h b/src/plugins/android/androidmanager.h index b7bbef922dd..444710ac918 100644 --- a/src/plugins/android/androidmanager.h +++ b/src/plugins/android/androidmanager.h @@ -74,10 +74,11 @@ public: static QString targetArch(ProjectExplorer::Target *target); - static Utils::FileName dirPath(ProjectExplorer::Target *target); + static Utils::FileName dirPath(const ProjectExplorer::Target *target); static Utils::FileName manifestPath(ProjectExplorer::Target *target); static Utils::FileName manifestSourcePath(ProjectExplorer::Target *target); static Utils::FileName defaultPropertiesPath(ProjectExplorer::Target *target); + static Utils::FileName apkPath(const ProjectExplorer::Target *target); static QPair apiLevelRange(); static QString androidNameForApiLevel(int x); diff --git a/src/plugins/android/androidqtsupport.cpp b/src/plugins/android/androidqtsupport.cpp deleted file mode 100644 index e3b77ed7c4d..00000000000 --- a/src/plugins/android/androidqtsupport.cpp +++ /dev/null @@ -1,55 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 BogDan Vatra -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt Creator. -** -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -****************************************************************************/ - -#include "androidbuildapkstep.h" -#include "androidconstants.h" -#include "androidglobal.h" -#include "androidqtsupport.h" - -#include - -using namespace Android::Internal; - -Utils::FileName Android::AndroidQtSupport::apkPath(const ProjectExplorer::Target *target) const -{ - if (!target) - return Utils::FileName(); - - auto buildApkStep - = Android::AndroidGlobal::buildStep(target->activeBuildConfiguration()); - - if (!buildApkStep) - return Utils::FileName(); - - QString apkPath("build/outputs/apk/android-build-"); - if (buildApkStep->signPackage()) - apkPath += QLatin1String("release.apk"); - else - apkPath += QLatin1String("debug.apk"); - - return target->activeBuildConfiguration()->buildDirectory() - .appendPath(QLatin1String(Android::Constants::ANDROID_BUILDDIRECTORY)) - .appendPath(apkPath); -} diff --git a/src/plugins/android/androidqtsupport.h b/src/plugins/android/androidqtsupport.h index 1dd72dd4c3d..fa5c9db82b3 100644 --- a/src/plugins/android/androidqtsupport.h +++ b/src/plugins/android/androidqtsupport.h @@ -30,14 +30,8 @@ #include #include -#include -namespace ProjectExplorer { - class DeployConfiguration; - class ProcessParameters; - class Project; - class Target; -} +namespace ProjectExplorer { class Target; } namespace Utils { class FileName; } @@ -69,7 +63,6 @@ public: virtual bool canHandle(const ProjectExplorer::Target *target) const = 0; virtual QStringList soLibSearchPath(const ProjectExplorer::Target *target) const = 0; virtual QStringList projectTargetApplications(const ProjectExplorer::Target *target) const = 0; - virtual Utils::FileName apkPath(const ProjectExplorer::Target *target) const; virtual QString targetDataItem(Core::Id role, const ProjectExplorer::Target *target) const = 0; virtual QStringList targetData(Core::Id role, const ProjectExplorer::Target *target) const = 0;