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:
hjk
2018-12-05 13:00:36 +01:00
parent a2d5ebccd2
commit d52af48883
18 changed files with 55 additions and 329 deletions

View File

@@ -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;