Android: Simplify apkPath determination

It doesn't explicitly need the qtSupport indirection anymore.

Change-Id: I25f0649a3b7760fdef3b62097ac55341e6b16fe4
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
This commit is contained in:
hjk
2018-07-27 11:18:06 +02:00
parent 2cb238471a
commit d8326afcff
8 changed files with 27 additions and 70 deletions

View File

@@ -94,7 +94,6 @@ SOURCES += \
avddialog.cpp \
androidbuildapkstep.cpp \
androidbuildapkwidget.cpp \
androidqtsupport.cpp \
androidtoolmanager.cpp \
androidsdkmanager.cpp \
androidavdmanager.cpp \

View File

@@ -78,7 +78,6 @@ Project {
"androidpotentialkit.h",
"androidqmltoolingsupport.cpp",
"androidqmltoolingsupport.h",
"androidqtsupport.cpp",
"androidqtsupport.h",
"androidqtversion.cpp",
"androidqtversion.h",

View File

@@ -186,7 +186,7 @@ bool AndroidBuildApkStep::init(QList<const BuildStep *> &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))

View File

@@ -218,8 +218,7 @@ bool AndroidDeployQtStep::init(QList<const BuildStep *> &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();

View File

@@ -48,7 +48,9 @@
#include <qtsupport/qtkitinformation.h>
#include <qtsupport/qtsupportconstants.h>
#include <utils/algorithm.h>
#include <utils/qtcassert.h>
#include <utils/synchronousprocess.h>
#include <QDir>
@@ -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<AndroidBuildApkStep>(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)) {

View File

@@ -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<int, int> apiLevelRange();
static QString androidNameForApiLevel(int x);

View File

@@ -1,55 +0,0 @@
/****************************************************************************
**
** Copyright (C) 2016 BogDan Vatra <bog_dan_ro@yahoo.com>
** 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 <projectexplorer/target.h>
using namespace Android::Internal;
Utils::FileName Android::AndroidQtSupport::apkPath(const ProjectExplorer::Target *target) const
{
if (!target)
return Utils::FileName();
auto buildApkStep
= Android::AndroidGlobal::buildStep<AndroidBuildApkStep>(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);
}

View File

@@ -30,14 +30,8 @@
#include <coreplugin/id.h>
#include <QObject>
#include <QList>
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;