Even more FileName::appendPath() -> pathAppended()

Change-Id: I0a8bc391ff3704e14df87e4fa3bc82269146f943
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
hjk
2019-05-17 13:20:41 +02:00
parent 339f26aec1
commit eb9e3c807c
9 changed files with 35 additions and 48 deletions

View File

@@ -168,7 +168,7 @@ bool AndroidBuildApkStep::init()
const QVersionNumber sdkToolsVersion = AndroidConfigurations::currentConfig().sdkToolsVersion(); const QVersionNumber sdkToolsVersion = AndroidConfigurations::currentConfig().sdkToolsVersion();
if (sdkToolsVersion >= gradleScriptRevokedSdkVersion) { if (sdkToolsVersion >= gradleScriptRevokedSdkVersion) {
if (!version->sourcePath().appendPath("src/3rdparty/gradle").exists()) { if (!version->sourcePath().pathAppended("src/3rdparty/gradle").exists()) {
emit addOutput(tr("The installed SDK tools version (%1) does not include Gradle " emit addOutput(tr("The installed SDK tools version (%1) does not include Gradle "
"scripts. The minimum Qt version required for Gradle build to work " "scripts. The minimum Qt version required for Gradle build to work "
"is %2").arg(sdkToolsVersion.toString()).arg("5.9.0/5.6.3"), "is %2").arg(sdkToolsVersion.toString()).arg("5.9.0/5.6.3"),
@@ -203,7 +203,7 @@ bool AndroidBuildApkStep::init()
QFileInfo sourceDirInfo(sourceDirName); QFileInfo sourceDirInfo(sourceDirName);
parser->setSourceDirectory(Utils::FileName::fromString(sourceDirInfo.canonicalFilePath())); parser->setSourceDirectory(Utils::FileName::fromString(sourceDirInfo.canonicalFilePath()));
parser->setBuildDirectory(Utils::FileName::fromString(bc->buildDirectory().appendPath(Constants::ANDROID_BUILDDIRECTORY).toString())); parser->setBuildDirectory(bc->buildDirectory().pathAppended(Constants::ANDROID_BUILDDIRECTORY));
setOutputParser(parser); setOutputParser(parser);
m_openPackageLocationForRun = m_openPackageLocation; m_openPackageLocationForRun = m_openPackageLocation;
@@ -220,7 +220,7 @@ bool AndroidBuildApkStep::init()
if (Utils::HostOsInfo::isWindowsHost()) if (Utils::HostOsInfo::isWindowsHost())
command += ".exe"; command += ".exe";
QString outputDir = bc->buildDirectory().appendPath(Constants::ANDROID_BUILDDIRECTORY).toString(); QString outputDir = bc->buildDirectory().pathAppended(Constants::ANDROID_BUILDDIRECTORY).toString();
QString inputFile; QString inputFile;
if (node) if (node)
@@ -376,8 +376,8 @@ void AndroidBuildApkStep::doRun()
auto setup = [this] { auto setup = [this] {
auto bc = target()->activeBuildConfiguration(); auto bc = target()->activeBuildConfiguration();
Utils::FileName androidLibsDir = bc->buildDirectory() Utils::FileName androidLibsDir = bc->buildDirectory()
.appendPath("android-build/libs") .pathAppended("android-build/libs")
.appendPath(AndroidManager::targetArch(target())); .pathAppended(AndroidManager::targetArch(target()));
if (!androidLibsDir.exists() && !QDir{bc->buildDirectory().toString()}.mkpath(androidLibsDir.toString())) if (!androidLibsDir.exists() && !QDir{bc->buildDirectory().toString()}.mkpath(androidLibsDir.toString()))
return false; return false;
@@ -396,7 +396,7 @@ void AndroidBuildApkStep::doRun()
// Copy targets to android build folder // Copy targets to android build folder
for (const auto &target : targets) { for (const auto &target : targets) {
if (!copyFileIfNewer(target, androidLibsDir.appendPath(QFileInfo{target}.fileName()).toString())) if (!copyFileIfNewer(target, androidLibsDir.pathAppended(QFileInfo{target}.fileName()).toString()))
return false; return false;
} }

View File

@@ -389,9 +389,8 @@ FileName AndroidConfig::clangPath() const
QDirIterator iter(path.toString(), hostPatterns, QDir::Dirs); QDirIterator iter(path.toString(), hostPatterns, QDir::Dirs);
if (iter.hasNext()) { if (iter.hasNext()) {
iter.next(); iter.next();
FileName found = path; return path.pathAppended(iter.fileName())
return found.appendPath(iter.fileName()) .pathAppended(HostOsInfo::withExecutableSuffix("bin/clang"));
.appendPath(HostOsInfo::withExecutableSuffix("bin/clang"));
} }
} }
@@ -400,16 +399,13 @@ FileName AndroidConfig::clangPath() const
FileName AndroidConfig::gdbPath(const ProjectExplorer::Abi &abi) const FileName AndroidConfig::gdbPath(const ProjectExplorer::Abi &abi) const
{ {
FileName path = m_ndkLocation; const FileName path = m_ndkLocation.pathAppended(
path.appendPath(QString("prebuilt/%1/bin/gdb%2").arg(toolchainHost(), QTC_HOST_EXE_SUFFIX)); QString("prebuilt/%1/bin/gdb%2").arg(toolchainHost(), QTC_HOST_EXE_SUFFIX));
if (path.exists()) if (path.exists())
return path; return path;
// fallback for old NDKs (e.g. 10e) // fallback for old NDKs (e.g. 10e)
path = m_ndkLocation; return m_ndkLocation.pathAppended(QString("toolchains/%1-4.9/prebuilt/%2/bin/%3-gdb%4")
path.appendPath(
QString("toolchains/%1-4.9/prebuilt/%2/bin/%3-gdb%4")
.arg(toolchainPrefix(abi), toolchainHost(), toolsPrefix(abi), QTC_HOST_EXE_SUFFIX)); .arg(toolchainPrefix(abi), toolchainHost(), toolsPrefix(abi), QTC_HOST_EXE_SUFFIX));
return path;
} }
FileName AndroidConfig::makePath() const FileName AndroidConfig::makePath() const
@@ -703,8 +699,8 @@ QVersionNumber AndroidConfig::sdkToolsVersion() const
{ {
QVersionNumber version; QVersionNumber version;
if (m_sdkLocation.exists()) { if (m_sdkLocation.exists()) {
Utils::FileName sdkToolsPropertiesPath(m_sdkLocation); const Utils::FileName sdkToolsPropertiesPath
sdkToolsPropertiesPath.appendPath("tools/source.properties"); = m_sdkLocation.pathAppended("tools/source.properties");
QSettings settings(sdkToolsPropertiesPath.toString(), QSettings::IniFormat); QSettings settings(sdkToolsPropertiesPath.toString(), QSettings::IniFormat);
auto versionStr = settings.value(sdkToolsVersionKey).toString(); auto versionStr = settings.value(sdkToolsVersionKey).toString();
version = QVersionNumber::fromString(versionStr); version = QVersionNumber::fromString(versionStr);
@@ -715,9 +711,7 @@ QVersionNumber AndroidConfig::sdkToolsVersion() const
QVersionNumber AndroidConfig::buildToolsVersion() const QVersionNumber AndroidConfig::buildToolsVersion() const
{ {
QVersionNumber maxVersion; QVersionNumber maxVersion;
Utils::FileName buildtoolsDir = m_sdkLocation; QDir buildToolsDir(m_sdkLocation.pathAppended("build-tools").toString());
buildtoolsDir.appendPath("build-tools");
QDir buildToolsDir(buildtoolsDir.toString());
for (const QFileInfo &file: buildToolsDir.entryList(QDir::Dirs|QDir::NoDotAndDotDot)) for (const QFileInfo &file: buildToolsDir.entryList(QDir::Dirs|QDir::NoDotAndDotDot))
maxVersion = qMax(maxVersion, QVersionNumber::fromString(file.fileName())); maxVersion = qMax(maxVersion, QVersionNumber::fromString(file.fileName()));
return maxVersion; return maxVersion;
@@ -752,8 +746,8 @@ static inline QString gdbServerArch(const Abi &abi)
FileName AndroidConfig::gdbServer(const ProjectExplorer::Abi &abi) const FileName AndroidConfig::gdbServer(const ProjectExplorer::Abi &abi) const
{ {
FileName path = AndroidConfigurations::currentConfig().ndkLocation(); const FileName path = AndroidConfigurations::currentConfig().ndkLocation()
path.appendPath(QString::fromLatin1("prebuilt/android-%1/gdbserver/gdbserver") .pathAppended(QString("prebuilt/android-%1/gdbserver/gdbserver")
.arg(gdbServerArch(abi))); .arg(gdbServerArch(abi)));
if (path.exists()) if (path.exists())
return path; return path;
@@ -769,8 +763,7 @@ QVersionNumber AndroidConfig::ndkVersion() const
return version; return version;
} }
Utils::FileName ndkPropertiesPath(m_ndkLocation); const FileName ndkPropertiesPath = m_ndkLocation.pathAppended("source.properties");
ndkPropertiesPath.appendPath("source.properties");
if (ndkPropertiesPath.exists()) { if (ndkPropertiesPath.exists()) {
// source.properties files exists in NDK version > 11 // source.properties files exists in NDK version > 11
QSettings settings(ndkPropertiesPath.toString(), QSettings::IniFormat); QSettings settings(ndkPropertiesPath.toString(), QSettings::IniFormat);
@@ -778,8 +771,7 @@ QVersionNumber AndroidConfig::ndkVersion() const
version = QVersionNumber::fromString(versionStr); version = QVersionNumber::fromString(versionStr);
} else { } else {
// No source.properties. There should be a file named RELEASE.TXT // No source.properties. There should be a file named RELEASE.TXT
Utils::FileName ndkReleaseTxtPath(m_ndkLocation); const FileName ndkReleaseTxtPath = m_ndkLocation.pathAppended("RELEASE.TXT");
ndkReleaseTxtPath.appendPath("RELEASE.TXT");
Utils::FileReader reader; Utils::FileReader reader;
QString errorString; QString errorString;
if (reader.fetch(ndkReleaseTxtPath.toString(), &errorString)) { if (reader.fetch(ndkReleaseTxtPath.toString(), &errorString)) {

View File

@@ -191,9 +191,9 @@ void AndroidDebugSupport::start()
int sdkVersion = qMax(AndroidManager::minimumSDK(kit), minimumNdk); int sdkVersion = qMax(AndroidManager::minimumSDK(kit), minimumNdk);
Utils::FileName sysRoot = AndroidConfigurations::currentConfig().ndkLocation() Utils::FileName sysRoot = AndroidConfigurations::currentConfig().ndkLocation()
.appendPath("platforms") .pathAppended("platforms")
.appendPath(QString("android-%1").arg(sdkVersion)) .pathAppended(QString("android-%1").arg(sdkVersion))
.appendPath(toNdkArch(AndroidManager::targetArch(target))); .pathAppended(toNdkArch(AndroidManager::targetArch(target)));
setSysRoot(sysRoot); setSysRoot(sysRoot);
qCDebug(androidDebugSupportLog) << "Sysroot: " << sysRoot; qCDebug(androidDebugSupportLog) << "Sysroot: " << sysRoot;
} }

View File

@@ -254,7 +254,7 @@ bool AndroidDeployQtStep::init()
m_command += QLatin1Char('/'); m_command += QLatin1Char('/');
m_command += Utils::HostOsInfo::withExecutableSuffix(QLatin1String("androiddeployqt")); m_command += Utils::HostOsInfo::withExecutableSuffix(QLatin1String("androiddeployqt"));
m_workingDirectory = bc->buildDirectory().appendPath(QLatin1String(Constants::ANDROID_BUILDDIRECTORY)).toString(); m_workingDirectory = bc->buildDirectory().pathAppended(Constants::ANDROID_BUILDDIRECTORY).toString();
Utils::QtcProcess::addArg(&m_androiddeployqtArgs, QLatin1String("--verbose")); Utils::QtcProcess::addArg(&m_androiddeployqtArgs, QLatin1String("--verbose"));
Utils::QtcProcess::addArg(&m_androiddeployqtArgs, QLatin1String("--output")); Utils::QtcProcess::addArg(&m_androiddeployqtArgs, QLatin1String("--output"));

View File

@@ -286,7 +286,7 @@ QJsonObject AndroidManager::deploymentSettings(const Target *target)
settings["useLLVM"] = true; settings["useLLVM"] = true;
settings["ndk-host"] = AndroidConfigurations::currentConfig().toolchainHost(); settings["ndk-host"] = AndroidConfigurations::currentConfig().toolchainHost();
settings["stdcpp-path"] = AndroidConfigurations::currentConfig().ndkLocation() settings["stdcpp-path"] = AndroidConfigurations::currentConfig().ndkLocation()
.appendPath("/sources/cxx-stl/llvm-libc++/libs/" .pathAppended("/sources/cxx-stl/llvm-libc++/libs/"
+ targetArch(target) + targetArch(target)
+ "/libc++_shared.so").toString(); + "/libc++_shared.so").toString();
return settings; return settings;
@@ -295,7 +295,7 @@ QJsonObject AndroidManager::deploymentSettings(const Target *target)
Utils::FileName AndroidManager::dirPath(const ProjectExplorer::Target *target) Utils::FileName AndroidManager::dirPath(const ProjectExplorer::Target *target)
{ {
if (target->activeBuildConfiguration()) if (target->activeBuildConfiguration())
return target->activeBuildConfiguration()->buildDirectory().appendPath(QLatin1String(Constants::ANDROID_BUILDDIRECTORY)); return target->activeBuildConfiguration()->buildDirectory().pathAppended(Constants::ANDROID_BUILDDIRECTORY);
return Utils::FileName(); return Utils::FileName();
} }
@@ -313,7 +313,7 @@ Utils::FileName AndroidManager::apkPath(const ProjectExplorer::Target *target)
else else
apkPath += QLatin1String("debug.apk"); apkPath += QLatin1String("debug.apk");
return dirPath(target).appendPath(apkPath); return dirPath(target).pathAppended(apkPath);
} }
Utils::FileName AndroidManager::manifestSourcePath(ProjectExplorer::Target *target) Utils::FileName AndroidManager::manifestSourcePath(ProjectExplorer::Target *target)
@@ -335,7 +335,7 @@ Utils::FileName AndroidManager::manifestPath(ProjectExplorer::Target *target)
QVariant manifest = target->namedSettings(AndroidManifestName); QVariant manifest = target->namedSettings(AndroidManifestName);
if (manifest.isValid()) if (manifest.isValid())
return manifest.value<FileName>(); return manifest.value<FileName>();
return dirPath(target).appendPath(AndroidManifestName); return dirPath(target).pathAppended(AndroidManifestName);
} }
void AndroidManager::setManifestPath(Target *target, const FileName &path) void AndroidManager::setManifestPath(Target *target, const FileName &path)
@@ -345,7 +345,7 @@ void AndroidManager::setManifestPath(Target *target, const FileName &path)
Utils::FileName AndroidManager::defaultPropertiesPath(ProjectExplorer::Target *target) Utils::FileName AndroidManager::defaultPropertiesPath(ProjectExplorer::Target *target)
{ {
return dirPath(target).appendPath(AndroidDefaultPropertiesName); return dirPath(target).pathAppended(AndroidDefaultPropertiesName);
} }
QString AndroidManager::deviceSerialNumber(ProjectExplorer::Target *target) QString AndroidManager::deviceSerialNumber(ProjectExplorer::Target *target)

View File

@@ -61,7 +61,7 @@ AndroidPackageInstallationStep::AndroidPackageInstallationStep(BuildStepList *bs
bool AndroidPackageInstallationStep::init() bool AndroidPackageInstallationStep::init()
{ {
BuildConfiguration *bc = buildConfiguration(); BuildConfiguration *bc = buildConfiguration();
QString dirPath = bc->buildDirectory().appendPath(Constants::ANDROID_BUILDDIRECTORY).toString(); QString dirPath = bc->buildDirectory().pathAppended(Constants::ANDROID_BUILDDIRECTORY).toString();
if (HostOsInfo::isWindowsHost()) if (HostOsInfo::isWindowsHost())
if (bc->environment().searchInPath("sh.exe").isEmpty()) if (bc->environment().searchInPath("sh.exe").isEmpty())
dirPath = QDir::toNativeSeparators(dirPath); dirPath = QDir::toNativeSeparators(dirPath);

View File

@@ -589,7 +589,7 @@ void AndroidRunnerWorker::handleJdbWaiting()
} }
m_afterFinishAdbCommands.push_back(removeForward.join(' ')); m_afterFinishAdbCommands.push_back(removeForward.join(' '));
auto jdbPath = AndroidConfigurations::currentConfig().openJDKLocation().appendPath("bin"); auto jdbPath = AndroidConfigurations::currentConfig().openJDKLocation().pathAppended("bin");
if (Utils::HostOsInfo::isWindowsHost()) if (Utils::HostOsInfo::isWindowsHost())
jdbPath.appendPath("jdb.exe"); jdbPath.appendPath("jdb.exe");
else else

View File

@@ -377,8 +377,7 @@ void AndroidSettingsWidget::validateJdk()
auto summaryWidget = static_cast<SummaryWidget *>(m_ui->javaDetailsWidget->widget()); auto summaryWidget = static_cast<SummaryWidget *>(m_ui->javaDetailsWidget->widget());
summaryWidget->setPointValid(JavaPathExistsRow, jdkPathExists); summaryWidget->setPointValid(JavaPathExistsRow, jdkPathExists);
Utils::FileName bin = m_androidConfig.openJDKLocation(); const Utils::FileName bin = m_androidConfig.openJDKLocation().pathAppended("bin/javac" QTC_HOST_EXE_SUFFIX);
bin.appendPath(QLatin1String("bin/javac" QTC_HOST_EXE_SUFFIX));
summaryWidget->setPointValid(JavaJdkValidRow, jdkPathExists && bin.exists()); summaryWidget->setPointValid(JavaJdkValidRow, jdkPathExists && bin.exists());
updateUI(); updateUI();
} }
@@ -391,12 +390,9 @@ void AndroidSettingsWidget::validateNdk()
auto summaryWidget = static_cast<SummaryWidget *>(m_ui->androidDetailsWidget->widget()); auto summaryWidget = static_cast<SummaryWidget *>(m_ui->androidDetailsWidget->widget());
summaryWidget->setPointValid(NdkPathExistsRow, m_androidConfig.ndkLocation().exists()); summaryWidget->setPointValid(NdkPathExistsRow, m_androidConfig.ndkLocation().exists());
Utils::FileName ndkPlatformsDir(ndkPath); const Utils::FileName ndkPlatformsDir = ndkPath.pathAppended("platforms");
ndkPlatformsDir.appendPath("platforms"); const Utils::FileName ndkToolChainsDir = ndkPath.pathAppended("toolchains");
Utils::FileName ndkToolChainsDir(ndkPath); const Utils::FileName ndkSourcesDir = ndkPath.pathAppended("sources/cxx-stl");
ndkToolChainsDir.appendPath("toolchains");
Utils::FileName ndkSourcesDir(ndkPath);
ndkSourcesDir.appendPath("sources/cxx-stl");
summaryWidget->setPointValid(NdkDirStructureRow, summaryWidget->setPointValid(NdkDirStructureRow,
ndkPlatformsDir.exists() ndkPlatformsDir.exists()
&& ndkToolChainsDir.exists() && ndkToolChainsDir.exists()

View File

@@ -95,8 +95,7 @@ void AndroidToolChain::addToEnvironment(Environment &env) const
const Utils::FileName javaHome = AndroidConfigurations::currentConfig().openJDKLocation(); const Utils::FileName javaHome = AndroidConfigurations::currentConfig().openJDKLocation();
if (!javaHome.isEmpty() && javaHome.toFileInfo().exists()) { if (!javaHome.isEmpty() && javaHome.toFileInfo().exists()) {
env.set(QLatin1String("JAVA_HOME"), javaHome.toString()); env.set(QLatin1String("JAVA_HOME"), javaHome.toString());
Utils::FileName javaBin = javaHome; const FileName javaBin = javaHome.pathAppended("bin");
javaBin.appendPath(QLatin1String("bin"));
if (!Utils::contains(env.path(), [&javaBin](const Utils::FileName &p) { return p == javaBin; })) if (!Utils::contains(env.path(), [&javaBin](const Utils::FileName &p) { return p == javaBin; }))
env.prependOrSetPath(javaBin.toUserOutput()); env.prependOrSetPath(javaBin.toUserOutput());
} }
@@ -166,7 +165,7 @@ ToolChainList AndroidToolChainFactory::autoDetect(CToolChainList &alreadyKnown)
static FileName clangPlusPlusPath(const FileName &clangPath) static FileName clangPlusPlusPath(const FileName &clangPath)
{ {
return clangPath.parentDir().appendPath( return clangPath.parentDir().pathAppended(
HostOsInfo::withExecutableSuffix( HostOsInfo::withExecutableSuffix(
QFileInfo(clangPath.toString()).baseName() + "++")); QFileInfo(clangPath.toString()).baseName() + "++"));
} }