Windeployqt: prevent directory creation for dryruns
Added a check for dryruns when creating directories, to properly reflect expected behavior. Pick-to: 6.5 Change-Id: I72063e4d32302d304f8174701e38e275b404706b Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>bb10
parent
8902bc6356
commit
4e5ced054d
|
|
@ -1494,7 +1494,7 @@ static DeployResult deploy(const Options &options, const QMap<QString, QString>
|
|||
const QString targetPath = options.qmlDirectory.isEmpty()
|
||||
? options.directory + QStringLiteral("/qml")
|
||||
: options.qmlDirectory;
|
||||
if (!createDirectory(targetPath, errorMessage))
|
||||
if (!createDirectory(targetPath, errorMessage, options.dryRun))
|
||||
return result;
|
||||
for (const QmlImportScanResult::Module &module : std::as_const(qmlScanResult.modules)) {
|
||||
const QString installPath = module.installPath(targetPath);
|
||||
|
|
@ -1502,7 +1502,7 @@ static DeployResult deploy(const Options &options, const QMap<QString, QString>
|
|||
std::wcout << "Installing: '" << module.name
|
||||
<< "' from " << module.sourcePath << " to "
|
||||
<< QDir::toNativeSeparators(installPath) << '\n';
|
||||
if (installPath != targetPath && !createDirectory(installPath, errorMessage))
|
||||
if (installPath != targetPath && !createDirectory(installPath, errorMessage, options.dryRun))
|
||||
return result;
|
||||
unsigned updateFileFlags = options.updateFileFlags
|
||||
| SkipQmlDesignerSpecificsDirectories;
|
||||
|
|
@ -1519,7 +1519,7 @@ static DeployResult deploy(const Options &options, const QMap<QString, QString>
|
|||
} // optQuickImports
|
||||
|
||||
if (options.translations) {
|
||||
if (!options.dryRun && !createDirectory(options.translationsDirectory, errorMessage))
|
||||
if (!createDirectory(options.translationsDirectory, errorMessage, options.dryRun))
|
||||
return result;
|
||||
if (!deployTranslations(qtpathsVariables.value(QStringLiteral("QT_INSTALL_TRANSLATIONS")),
|
||||
result.deployedQtLibraries, options.translationsDirectory, options,
|
||||
|
|
@ -1567,7 +1567,7 @@ static bool deployWebEngineCore(const QMap<QString, QString> &qtpathsVariables,
|
|||
const QString resourcesSourceDir = qtpathsVariables.value(QStringLiteral("QT_INSTALL_DATA"))
|
||||
+ resourcesSubDir + u'/';
|
||||
const QString resourcesTargetDir(options.directory + resourcesSubDir);
|
||||
if (!createDirectory(resourcesTargetDir, errorMessage))
|
||||
if (!createDirectory(resourcesTargetDir, errorMessage, options.dryRun))
|
||||
return false;
|
||||
for (auto installDataFile : installDataFiles) {
|
||||
if (!updateFile(resourcesSourceDir + QLatin1StringView(installDataFile),
|
||||
|
|
@ -1584,7 +1584,7 @@ static bool deployWebEngineCore(const QMap<QString, QString> &qtpathsVariables,
|
|||
}
|
||||
if (options.translations) {
|
||||
// Copy the whole translations directory.
|
||||
return createDirectory(options.translationsDirectory, errorMessage)
|
||||
return createDirectory(options.translationsDirectory, errorMessage, options.dryRun)
|
||||
&& updateFile(translations.absoluteFilePath(), options.translationsDirectory,
|
||||
options.updateFileFlags, options.json, errorMessage);
|
||||
}
|
||||
|
|
@ -1597,7 +1597,7 @@ static bool deployWebEngineCore(const QMap<QString, QString> &qtpathsVariables,
|
|||
}
|
||||
const QString webEngineTranslationsDir = options.translationsDirectory + u'/'
|
||||
+ translations.fileName();
|
||||
if (!createDirectory(webEngineTranslationsDir, errorMessage))
|
||||
if (!createDirectory(webEngineTranslationsDir, errorMessage, options.dryRun))
|
||||
return false;
|
||||
return updateFile(enUSpak.absoluteFilePath(), webEngineTranslationsDir,
|
||||
options.updateFileFlags, options.json, errorMessage);
|
||||
|
|
@ -1677,12 +1677,12 @@ int main(int argc, char **argv)
|
|||
}
|
||||
|
||||
// Create directories
|
||||
if (!createDirectory(options.directory, &errorMessage)) {
|
||||
if (!createDirectory(options.directory, &errorMessage, options.dryRun)) {
|
||||
std::wcerr << errorMessage << '\n';
|
||||
return 1;
|
||||
}
|
||||
if (!options.libraryDirectory.isEmpty() && options.libraryDirectory != options.directory
|
||||
&& !createDirectory(options.libraryDirectory, &errorMessage)) {
|
||||
&& !createDirectory(options.libraryDirectory, &errorMessage, options.dryRun)) {
|
||||
std::wcerr << errorMessage << '\n';
|
||||
return 1;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ bool createSymbolicLink(const QFileInfo &source, const QString &target, QString
|
|||
return true;
|
||||
}
|
||||
|
||||
bool createDirectory(const QString &directory, QString *errorMessage)
|
||||
bool createDirectory(const QString &directory, QString *errorMessage, bool dryRun)
|
||||
{
|
||||
const QFileInfo fi(directory);
|
||||
if (fi.isDir())
|
||||
|
|
@ -74,11 +74,13 @@ bool createDirectory(const QString &directory, QString *errorMessage)
|
|||
}
|
||||
if (optVerboseLevel)
|
||||
std::wcout << "Creating " << QDir::toNativeSeparators(directory) << "...\n";
|
||||
QDir dir;
|
||||
if (!dir.mkpath(directory)) {
|
||||
*errorMessage = QString::fromLatin1("Could not create directory %1.").
|
||||
arg(QDir::toNativeSeparators(directory));
|
||||
return false;
|
||||
if (!dryRun) {
|
||||
QDir dir;
|
||||
if (!dir.mkpath(directory)) {
|
||||
*errorMessage = QString::fromLatin1("Could not create directory %1.")
|
||||
.arg(QDir::toNativeSeparators(directory));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -143,7 +143,7 @@ inline QString sharedLibrarySuffix(Platform platform) { return QLatin1StringView
|
|||
bool isBuildDirectory(Platform platform, const QString &dirName);
|
||||
|
||||
bool createSymbolicLink(const QFileInfo &source, const QString &target, QString *errorMessage);
|
||||
bool createDirectory(const QString &directory, QString *errorMessage);
|
||||
bool createDirectory(const QString &directory, QString *errorMessage, bool dryRun);
|
||||
QString findInPath(const QString &file);
|
||||
|
||||
extern const char *qmakeInfixKey; // Fake key containing the libinfix
|
||||
|
|
|
|||
Loading…
Reference in New Issue