From ee483abdb6fcec31d3a3da944cca410e291d8e56 Mon Sep 17 00:00:00 2001 From: hjk Date: Thu, 24 Jan 2019 17:27:50 +0100 Subject: [PATCH] Android: Remove DeployConfiguration restriction ... to matching Qt and tool chain. This is the only remaining place in Creator that refuses to restore deploy configurations in such cases, and arguably there's no point in dropping such a configuration as a whole, the individual steps (i.e. AndroidDeployQtStep) can and do chicken out at deploy time if there's no Qt version in reach. Also move AndroidDeployConfigurationFactory to the plugin.cpp, no need for a .cpp/.h pair for the remaining few lines. Change-Id: If6ea7cf9573149c88c05629997ac582dc90d1e48 Reviewed-by: Christian Kandeler --- src/plugins/android/android.pro | 2 - src/plugins/android/android.qbs | 2 - .../android/androiddeployconfiguration.cpp | 73 ------------------- .../android/androiddeployconfiguration.h | 42 ----------- src/plugins/android/androidmanager.cpp | 1 - src/plugins/android/androidplugin.cpp | 15 +++- 6 files changed, 14 insertions(+), 121 deletions(-) delete mode 100644 src/plugins/android/androiddeployconfiguration.cpp delete mode 100644 src/plugins/android/androiddeployconfiguration.h diff --git a/src/plugins/android/android.pro b/src/plugins/android/android.pro index 7b4d76014c9..5f1ec153692 100644 --- a/src/plugins/android/android.pro +++ b/src/plugins/android/android.pro @@ -21,7 +21,6 @@ HEADERS += \ androiddebugsupport.h \ androidqtversionfactory.h \ androidqtversion.h \ - androiddeployconfiguration.h \ androidcreatekeystorecertificate.h \ javaparser.h \ androidplugin.h \ @@ -71,7 +70,6 @@ SOURCES += \ androiddebugsupport.cpp \ androidqtversionfactory.cpp \ androidqtversion.cpp \ - androiddeployconfiguration.cpp \ androidcreatekeystorecertificate.cpp \ javaparser.cpp \ androidplugin.cpp \ diff --git a/src/plugins/android/android.qbs b/src/plugins/android/android.qbs index 41b4d9da520..db9136510ea 100644 --- a/src/plugins/android/android.qbs +++ b/src/plugins/android/android.qbs @@ -44,8 +44,6 @@ Project { "androiddevicedialog.cpp", "androiddevicedialog.h", "androiddevicedialog.ui", - "androiddeployconfiguration.cpp", - "androiddeployconfiguration.h", "androiddeployqtwidget.cpp", "androiddeployqtwidget.h", "androiddeployqtwidget.ui", diff --git a/src/plugins/android/androiddeployconfiguration.cpp b/src/plugins/android/androiddeployconfiguration.cpp deleted file mode 100644 index 04de02a691c..00000000000 --- a/src/plugins/android/androiddeployconfiguration.cpp +++ /dev/null @@ -1,73 +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 "androiddeployconfiguration.h" - -#include "androidconstants.h" -#include "androiddeployqtstep.h" -#include "androidmanager.h" - -#include -#include -#include -#include -#include - -#include -#include - -using namespace ProjectExplorer; - -namespace Android { -namespace Internal { - -AndroidDeployConfigurationFactory::AndroidDeployConfigurationFactory() -{ - setConfigBaseId("Qt4ProjectManager.AndroidDeployConfiguration2"); - addSupportedTargetDeviceType(Constants::ANDROID_DEVICE_TYPE); - setDefaultDisplayName(QCoreApplication::translate("Android::Internal", - "Deploy to Android device")); - addInitialStep(AndroidDeployQtStep::stepId()); -} - -bool AndroidDeployConfigurationFactory::canHandle(Target *parent) const -{ - if (!DeployConfigurationFactory::canHandle(parent)) - return false; - - if (!parent->project()->id().name().startsWith("QmlProjectManager.QmlProject")) { - // Avoid tool chain check for QML Project - Core::Id cxxLangId(ProjectExplorer::Constants::CXX_LANGUAGE_ID); - ToolChain *tc = ToolChainKitInformation::toolChain(parent->kit(), cxxLangId); - if (!tc || tc->targetAbi().osFlavor() != Abi::AndroidLinuxFlavor) - return false; - } - - QtSupport::BaseQtVersion *qt = QtSupport::QtKitInformation::qtVersion(parent->kit()); - return qt && qt->type() == Constants::ANDROIDQT; -} - -} // namespace Internal -} // namespace Android diff --git a/src/plugins/android/androiddeployconfiguration.h b/src/plugins/android/androiddeployconfiguration.h deleted file mode 100644 index c9064c74822..00000000000 --- a/src/plugins/android/androiddeployconfiguration.h +++ /dev/null @@ -1,42 +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. -** -****************************************************************************/ - -#pragma once - -#include - -namespace Android { -namespace Internal { - -class AndroidDeployConfigurationFactory : public ProjectExplorer::DeployConfigurationFactory -{ -public: - AndroidDeployConfigurationFactory(); - - bool canHandle(ProjectExplorer::Target *parent) const override; -}; - -} // namespace Internal -} // namespace Android diff --git a/src/plugins/android/androidmanager.cpp b/src/plugins/android/androidmanager.cpp index d5cfd9146e6..c31302f1143 100644 --- a/src/plugins/android/androidmanager.cpp +++ b/src/plugins/android/androidmanager.cpp @@ -27,7 +27,6 @@ #include "androidbuildapkstep.h" #include "androidconstants.h" -#include "androiddeployconfiguration.h" #include "androidconfigurations.h" #include "androidrunconfiguration.h" #include "androidglobal.h" diff --git a/src/plugins/android/androidplugin.cpp b/src/plugins/android/androidplugin.cpp index 7fdb28cad52..2b19da438f6 100644 --- a/src/plugins/android/androidplugin.cpp +++ b/src/plugins/android/androidplugin.cpp @@ -28,7 +28,6 @@ #include "androidconfigurations.h" #include "androidconstants.h" #include "androiddebugsupport.h" -#include "androiddeployconfiguration.h" #include "androiddeployqtstep.h" #include "androiddevice.h" #include "androiddevicefactory.h" @@ -51,6 +50,7 @@ #include #include +#include #include #include #include @@ -65,6 +65,19 @@ using namespace ProjectExplorer::Constants; namespace Android { namespace Internal { +class AndroidDeployConfigurationFactory : public DeployConfigurationFactory +{ +public: + AndroidDeployConfigurationFactory() + { + setConfigBaseId("Qt4ProjectManager.AndroidDeployConfiguration2"); + addSupportedTargetDeviceType(Constants::ANDROID_DEVICE_TYPE); + setDefaultDisplayName(QCoreApplication::translate("Android::Internal", + "Deploy to Android device")); + addInitialStep(AndroidDeployQtStep::stepId()); + } +}; + class AndroidRunConfigurationFactory : public RunConfigurationFactory { public: