forked from qt-creator/qt-creator
QmakeAndroidSupport: Remove plugin
The remaining dependency is hacked into QmakeProjectManager by using a compile time-only dependency on androidconstants.h. Change-Id: Id78125137bc75c145a072bc753276abbf0029647 Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
This commit is contained in:
@@ -76,8 +76,6 @@ Q_LOGGING_CATEGORY(buildapkstepLog, "qtc.android.build.androidbuildapkstep", QtW
|
||||
|
||||
namespace Android {
|
||||
|
||||
const Core::Id ANDROID_BUILD_APK_ID("QmakeProjectManager.AndroidBuildApkStep");
|
||||
|
||||
const QVersionNumber gradleScriptRevokedSdkVersion(25, 3, 0);
|
||||
const char KeystoreLocationKey[] = "KeystoreLocation";
|
||||
const char BuildTargetSdkKey[] = "BuildTargetSdk";
|
||||
@@ -126,7 +124,7 @@ private:
|
||||
};
|
||||
|
||||
AndroidBuildApkStep::AndroidBuildApkStep(BuildStepList *parent)
|
||||
: AbstractProcessStep(parent, ANDROID_BUILD_APK_ID),
|
||||
: AbstractProcessStep(parent, Constants::ANDROID_BUILD_APK_ID),
|
||||
m_buildTargetSdk(AndroidConfig::apiLevelNameFor(AndroidConfigurations::
|
||||
sdkManager()->latestAndroidSdkPlatform()))
|
||||
{
|
||||
@@ -559,7 +557,7 @@ namespace Internal {
|
||||
|
||||
AndroidBuildApkStepFactory::AndroidBuildApkStepFactory()
|
||||
{
|
||||
registerStep<AndroidBuildApkStep>(ANDROID_BUILD_APK_ID);
|
||||
registerStep<AndroidBuildApkStep>(Constants::ANDROID_BUILD_APK_ID);
|
||||
setSupportedProjectType(QmakeProjectManager::Constants::QMAKEPROJECT_ID);
|
||||
setSupportedDeviceType(Constants::ANDROID_DEVICE_TYPE);
|
||||
setSupportedStepList(ProjectExplorer::Constants::BUILDSTEPS_BUILD);
|
||||
|
||||
@@ -73,6 +73,7 @@ const char ANDROID_EXTRA_LIBS[] = "AndroidExtraLibs";
|
||||
|
||||
const char ANDROID_PACKAGENAME[] = "Android.PackageName";
|
||||
const char ANDROID_PACKAGE_INSTALLATION_STEP_ID[] = "Qt4ProjectManager.AndroidPackageInstallationStep";
|
||||
const char ANDROID_BUILD_APK_ID[] = "QmakeProjectManager.AndroidBuildApkStep";
|
||||
|
||||
const char AndroidPackageSourceDir[] = "AndroidPackageSourceDir"; // QString
|
||||
const char AndroidDeploySettingsFile[] = "AndroidDeploySettingsFile"; // QString
|
||||
|
||||
@@ -186,7 +186,8 @@ void AndroidDebugSupport::start()
|
||||
gdbServer.setPort(m_runner->gdbServerPort().number());
|
||||
setRemoteChannel(gdbServer);
|
||||
|
||||
int sdkVersion = qMax(AndroidManager::minimumSDK(target), AndroidManager::minimumNDK(target));
|
||||
int sdkVersion = qMax(AndroidManager::minimumSDK(target->kit()),
|
||||
AndroidManager::minimumNDK(target->kit()));
|
||||
Utils::FileName sysRoot = AndroidConfigurations::currentConfig().ndkLocation()
|
||||
.appendPath("platforms")
|
||||
.appendPath(QString("android-%1").arg(sdkVersion))
|
||||
|
||||
@@ -247,10 +247,9 @@ int AndroidManager::minimumSDK(const ProjectExplorer::Kit *kit)
|
||||
return minSDKVersion;
|
||||
}
|
||||
|
||||
int AndroidManager::minimumNDK(ProjectExplorer::Target *target)
|
||||
int AndroidManager::minimumNDK(const Kit *kit)
|
||||
{
|
||||
auto qt = static_cast<Android::Internal::AndroidQtVersion *>(
|
||||
QtSupport::QtKitInformation::qtVersion(target->kit()));
|
||||
auto qt = static_cast<AndroidQtVersion *>(QtSupport::QtKitInformation::qtVersion(kit));
|
||||
return qt->mininmumNDK();
|
||||
}
|
||||
|
||||
|
||||
@@ -89,7 +89,7 @@ public:
|
||||
|
||||
static int minimumSDK(ProjectExplorer::Target *target);
|
||||
static int minimumSDK(const ProjectExplorer::Kit *kit);
|
||||
static int minimumNDK(ProjectExplorer::Target *target);
|
||||
static int minimumNDK(const ProjectExplorer::Kit *kit);
|
||||
|
||||
static QString targetArch(ProjectExplorer::Target *target);
|
||||
|
||||
|
||||
@@ -50,8 +50,11 @@
|
||||
#endif
|
||||
|
||||
#include <projectexplorer/devicesupport/devicemanager.h>
|
||||
#include <projectexplorer/buildconfiguration.h>
|
||||
#include <projectexplorer/kitinformation.h>
|
||||
#include <projectexplorer/kitmanager.h>
|
||||
#include <projectexplorer/project.h>
|
||||
#include <projectexplorer/session.h>
|
||||
#include <projectexplorer/target.h>
|
||||
|
||||
#include <qtsupport/qtversionmanager.h>
|
||||
@@ -77,9 +80,37 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
class AndroidPluginPrivate
|
||||
class AndroidPluginPrivate : public QObject
|
||||
{
|
||||
public:
|
||||
AndroidPluginPrivate()
|
||||
{
|
||||
connect(SessionManager::instance(), &SessionManager::projectAdded, this, [=](Project *project) {
|
||||
for (Target *target : project->targets())
|
||||
handleNewTarget(target);
|
||||
connect(project, &Project::addedTarget, this, &AndroidPluginPrivate::handleNewTarget);
|
||||
});
|
||||
}
|
||||
|
||||
void handleNewTarget(Target *target)
|
||||
{
|
||||
if (DeviceTypeKitInformation::deviceTypeId(target->kit()) != Android::Constants::ANDROID_DEVICE_TYPE)
|
||||
return;
|
||||
|
||||
for (BuildConfiguration *bc : target->buildConfigurations())
|
||||
handleNewBuildConfiguration(bc);
|
||||
|
||||
connect(target, &Target::addedBuildConfiguration,
|
||||
this, &AndroidPluginPrivate::handleNewBuildConfiguration);
|
||||
}
|
||||
|
||||
void handleNewBuildConfiguration(BuildConfiguration *bc)
|
||||
{
|
||||
connect(bc->target()->project(), &Project::parsingFinished, bc, [bc] {
|
||||
AndroidManager::updateGradleProperties(bc->target());
|
||||
});
|
||||
}
|
||||
|
||||
AndroidConfigurations androidConfiguration;
|
||||
AndroidSettingsPage settingsPage;
|
||||
AndroidDeployQtStepFactory deployQtStepFactory;
|
||||
|
||||
@@ -98,10 +98,12 @@ QList<Abi> AndroidQtVersion::detectQtAbis() const
|
||||
|
||||
void AndroidQtVersion::addToEnvironment(const Kit *k, Utils::Environment &env) const
|
||||
{
|
||||
Q_UNUSED(k);
|
||||
const AndroidConfig &config =AndroidConfigurations::currentConfig();
|
||||
// this env vars are used by qmake mkspecs to generate makefiles (check QTDIR/mkspecs/android-g++/qmake.conf for more info)
|
||||
env.set(QLatin1String("ANDROID_NDK_HOST"), AndroidConfigurations::currentConfig().toolchainHost());
|
||||
env.set(QLatin1String("ANDROID_NDK_ROOT"), AndroidConfigurations::currentConfig().ndkLocation().toUserOutput());
|
||||
env.set(QLatin1String("ANDROID_NDK_HOST"), config.toolchainHost());
|
||||
env.set(QLatin1String("ANDROID_NDK_ROOT"), config.ndkLocation().toUserOutput());
|
||||
env.set(QLatin1String("ANDROID_NDK_PLATFORM"),
|
||||
config.bestNdkPlatformMatch(qMax(AndroidManager::minimumNDK(k), AndroidManager::minimumSDK(k))));
|
||||
}
|
||||
|
||||
Utils::Environment AndroidQtVersion::qmakeRunEnvironment() const
|
||||
|
||||
Reference in New Issue
Block a user