aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlessandro Portale <alessandro.portale@qt.io>2022-11-23 19:26:33 +0100
committerAlessandro Portale <alessandro.portale@qt.io>2022-11-30 10:53:56 +0000
commit6f7837e5e9f7d9f411dd80c206be0f5c44eaea28 (patch)
treecdd697463cf9a32c7d8fab88d0057f00dfda4be9
parent97319457884be9291eeaa259c2f249d2ad30fa50 (diff)
Android: Remove gradle.properties file handling
The modification of gradle.properties files was originally a feature of the Android plugin which eventually moved over to androiddeployqt. Moreover, this code got accidentally disabled in Qt Creator 4.10 and was appartently not missed till now. I only noticed it while "FilePath- ifying" code in the Andsroid plugin. This change removes the gradle.properties file handling code from Qt Creator. Fixes: QTCREATORBUG-28494 Change-Id: Id4f2722f4965c877a065386b34a71d8368147b08 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
-rw-r--r--src/plugins/android/androidbuildapkstep.cpp1
-rw-r--r--src/plugins/android/androidmanager.cpp121
-rw-r--r--src/plugins/android/androidmanager.h1
-rw-r--r--src/plugins/android/androidrunconfiguration.cpp4
-rw-r--r--src/plugins/android/createandroidmanifestwizard.cpp3
5 files changed, 2 insertions, 128 deletions
diff --git a/src/plugins/android/androidbuildapkstep.cpp b/src/plugins/android/androidbuildapkstep.cpp
index 139e35baba..4507b661d8 100644
--- a/src/plugins/android/androidbuildapkstep.cpp
+++ b/src/plugins/android/androidbuildapkstep.cpp
@@ -166,7 +166,6 @@ QWidget *AndroidBuildApkWidget::createApplicationGroup()
connect(targetSDKComboBox, &QComboBox::activated, this, [this, targetSDKComboBox](int idx) {
const QString sdk = targetSDKComboBox->itemText(idx);
m_step->setBuildTargetSdk(sdk);
- AndroidManager::updateGradleProperties(m_step->target(), QString()); // FIXME: Use real key.
});
auto formLayout = new QFormLayout(group);
diff --git a/src/plugins/android/androidmanager.cpp b/src/plugins/android/androidmanager.cpp
index 35d71e5858..fabcebc6cf 100644
--- a/src/plugins/android/androidmanager.cpp
+++ b/src/plugins/android/androidmanager.cpp
@@ -35,6 +35,7 @@
#include <cmakeprojectmanager/cmakeprojectconstants.h>
#include <utils/algorithm.h>
+#include <utils/fileutils.h>
#include <utils/qtcassert.h>
#include <utils/qtcprocess.h>
#include <utils/stringutils.h>
@@ -619,126 +620,6 @@ bool AndroidManager::checkCertificateExists(const FilePath &keystorePath,
return proc.result() == ProcessResult::FinishedWithSuccess;
}
-using GradleProperties = QMap<QByteArray, QByteArray>;
-
-static GradleProperties readGradleProperties(const QString &path)
-{
- GradleProperties properties;
- QFile file(path);
- if (!file.open(QIODevice::ReadOnly))
- return properties;
-
- const QList<QByteArray> lines = file.readAll().split('\n');
- for (const QByteArray &line : lines) {
- if (line.trimmed().startsWith('#'))
- continue;
-
- QList<QByteArray> prop(line.split('='));
- if (prop.size() > 1)
- properties[prop.at(0).trimmed()] = prop.at(1).trimmed();
- }
- file.close();
- return properties;
-}
-
-static bool mergeGradleProperties(const QString &path, GradleProperties properties)
-{
- QFile::remove(path + QLatin1Char('~'));
- QFile::rename(path, path + QLatin1Char('~'));
- QFile file(path);
- if (!file.open(QIODevice::Truncate | QIODevice::WriteOnly | QIODevice::Text))
- return false;
-
- QFile oldFile(path + QLatin1Char('~'));
- if (oldFile.open(QIODevice::ReadOnly)) {
- while (!oldFile.atEnd()) {
- QByteArray line(oldFile.readLine());
- QList<QByteArray> prop(line.split('='));
- if (prop.size() > 1) {
- const auto it = properties.constFind(prop.at(0).trimmed());
- if (it != properties.constEnd()) {
- file.write(it.key() + '=' + it.value() + '\n');
- properties.erase(it);
- continue;
- }
- }
- file.write(line);
- }
- oldFile.close();
- } else {
- file.write("## This file is automatically generated by QtCreator.\n"
- "#\n"
- "# This file must *NOT* be checked into Version Control Systems,\n"
- "# as it contains information specific to your local configuration.\n\n");
-
- }
-
- for (GradleProperties::const_iterator it = properties.constBegin(); it != properties.constEnd();
- ++it)
- file.write(it.key() + '=' + it.value() + '\n');
-
- file.close();
- return true;
-}
-
-bool AndroidManager::updateGradleProperties(Target *target, const QString &buildKey)
-{
- QtSupport::QtVersion *version = QtSupport::QtKitAspect::qtVersion(target->kit());
- if (!version)
- return false;
-
- QString key = buildKey;
- if (key.isEmpty()) {
- // FIXME: This case is triggered from AndroidBuildApkWidget::createApplicationGroup
- // and should be avoided.
- key = target->activeBuildKey();
- }
-
- QTC_ASSERT(!key.isEmpty(), return false);
- const ProjectNode *node = target->project()->findNodeForBuildKey(key);
- if (!node)
- return false;
-
- const QString sourceDirName = node->data(Constants::AndroidPackageSourceDir).toString();
- QFileInfo sourceDirInfo(sourceDirName);
- const FilePath packageSourceDir = FilePath::fromString(sourceDirInfo.canonicalFilePath());
-
- const FilePath gradleWFile = packageSourceDir / "gradlew";
- if (!gradleWFile.exists())
- return false;
-
- const FilePath wrapperProps = packageSourceDir / "gradle/wrapper/gradle-wrapper.properties";
- if (wrapperProps.exists()) {
- GradleProperties wrapperProperties = readGradleProperties(wrapperProps.toString());
- QString distributionUrl = QString::fromLocal8Bit(wrapperProperties["distributionUrl"]);
- // Update only old gradle distributionUrl
- if (distributionUrl.endsWith(QLatin1String("distributions/gradle-1.12-all.zip"))) {
- wrapperProperties["distributionUrl"] = "https\\://services.gradle.org/distributions/gradle-2.2.1-all.zip";
- mergeGradleProperties(wrapperProps.toString(), wrapperProperties);
- }
- }
-
- GradleProperties localProperties;
- localProperties["sdk.dir"] = AndroidConfigurations::currentConfig().sdkLocation().toString().toLocal8Bit();
- const FilePath localPropertiesFile = packageSourceDir / "local.properties";
- if (!mergeGradleProperties(localPropertiesFile.toString(), localProperties))
- return false;
-
- const QString gradlePropertiesPath = packageSourceDir.pathAppended("gradle.properties").toString();
- GradleProperties gradleProperties = readGradleProperties(gradlePropertiesPath);
- gradleProperties["qt5AndroidDir"] = (version->prefix().toString() + "/src/android/java")
- .toLocal8Bit();
- gradleProperties["buildDir"] = ".build";
- gradleProperties["androidCompileSdkVersion"] = buildTargetSDK(target).split(QLatin1Char('-')).last().toLocal8Bit();
- if (gradleProperties["androidBuildToolsVersion"].isEmpty()) {
- QVersionNumber buildtoolVersion = AndroidConfigurations::currentConfig().buildToolsVersion();
- if (buildtoolVersion.isNull())
- return false;
- gradleProperties["androidBuildToolsVersion"] = buildtoolVersion.toString().toLocal8Bit();
- }
- return mergeGradleProperties(gradlePropertiesPath, gradleProperties);
-}
-
QProcess *AndroidManager::runAdbCommandDetached(const QStringList &args, QString *err,
bool deleteOnFinish)
{
diff --git a/src/plugins/android/androidmanager.h b/src/plugins/android/androidmanager.h
index ff795ae385..9106ca02b8 100644
--- a/src/plugins/android/androidmanager.h
+++ b/src/plugins/android/androidmanager.h
@@ -94,7 +94,6 @@ public:
const QString &alias, const QString &certificatePasswd);
static bool checkCertificateExists(const Utils::FilePath &keystorePath,
const QString &keystorePasswd, const QString &alias);
- static bool updateGradleProperties(ProjectExplorer::Target *target, const QString &buildKey);
static QProcess *runAdbCommandDetached(const QStringList &args, QString *err = nullptr,
bool deleteOnFinish = false);
diff --git a/src/plugins/android/androidrunconfiguration.cpp b/src/plugins/android/androidrunconfiguration.cpp
index 1edf62b849..7f2ff85112 100644
--- a/src/plugins/android/androidrunconfiguration.cpp
+++ b/src/plugins/android/androidrunconfiguration.cpp
@@ -3,7 +3,6 @@
#include "androidconstants.h"
#include "androidglobal.h"
-#include "androidmanager.h"
#include "androidrunconfiguration.h"
#include "androidtoolchain.h"
#include "androidtr.h"
@@ -83,11 +82,10 @@ AndroidRunConfiguration::AndroidRunConfiguration(Target *target, Utils::Id id)
postStartShellCmdAspect->setSettingsKey("Android.PostStartShellCmdListKey");
postStartShellCmdAspect->setLabelText(Tr::tr("Post-quit on-device shell commands:"));
- setUpdater([this, target] {
+ setUpdater([this] {
const BuildTargetInfo bti = buildTargetInfo();
setDisplayName(bti.displayName);
setDefaultDisplayName(bti.displayName);
- AndroidManager::updateGradleProperties(target, buildKey());
});
connect(target, &Target::buildSystemUpdated, this, &RunConfiguration::update);
diff --git a/src/plugins/android/createandroidmanifestwizard.cpp b/src/plugins/android/createandroidmanifestwizard.cpp
index b00ece58cb..85aa21ed15 100644
--- a/src/plugins/android/createandroidmanifestwizard.cpp
+++ b/src/plugins/android/createandroidmanifestwizard.cpp
@@ -293,11 +293,8 @@ void CreateAndroidManifestWizard::createAndroidTemplateFiles()
QTC_ASSERT(gradlePath.exists(), return);
FileUtils::copyRecursively(gradlePath, m_directory, nullptr, copy);
}
-
- AndroidManager::updateGradleProperties(target, m_buildKey);
}
-
QString androidPackageDir;
ProjectNode *node = target->project()->findNodeForBuildKey(m_buildKey);
if (node) {