GenericDirectUploadStep: Get rid of isDeploymentNecessary()

Make it a part of deployRecipe().

Change-Id: I775f34f31746aa177f341e2b26f225e34bb14a3c
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
Jarek Kobus
2023-10-23 20:31:36 +02:00
parent d60a67e800
commit 01c2a30539

View File

@@ -31,6 +31,7 @@ const int MaxConcurrentStatCalls = 10;
struct UploadStorage
{
QList<DeployableFile> deployableFiles;
QList<DeployableFile> filesToUpload;
};
@@ -54,7 +55,6 @@ public:
});
}
bool isDeploymentNecessary() const final;
GroupItem deployRecipe() final;
QDateTime timestampFromStat(const DeployableFile &file, Process *statProc);
@@ -70,8 +70,6 @@ public:
GroupItem chmodTask(const DeployableFile &file);
GroupItem chmodTree(const TreeStorage<UploadStorage> &storage);
mutable QList<DeployableFile> m_deployableFiles;
BoolAspect incremental{this};
BoolAspect ignoreMissingFiles{this};
};
@@ -91,18 +89,6 @@ static QList<DeployableFile> collectFilesToUpload(const DeployableFile &deployab
return collected;
}
bool GenericDirectUploadStep::isDeploymentNecessary() const
{
m_deployableFiles = target()->deploymentData().allFiles();
QList<DeployableFile> collected;
for (int i = 0; i < m_deployableFiles.count(); ++i)
collected.append(collectFilesToUpload(m_deployableFiles.at(i)));
QTC_CHECK(collected.size() >= m_deployableFiles.size());
m_deployableFiles = collected;
return !m_deployableFiles.isEmpty();
}
QDateTime GenericDirectUploadStep::timestampFromStat(const DeployableFile &file,
Process *statProc)
{
@@ -257,9 +243,26 @@ GroupItem GenericDirectUploadStep::chmodTree(const TreeStorage<UploadStorage> &s
GroupItem GenericDirectUploadStep::deployRecipe()
{
const TreeStorage<UploadStorage> storage;
const auto setupHandler = [this, storage] {
const QList<DeployableFile> deployableFiles = target()->deploymentData().allFiles();
QList<DeployableFile> collected;
for (const DeployableFile &file : deployableFiles)
collected.append(collectFilesToUpload(file));
QTC_CHECK(collected.size() >= deployableFiles.size());
if (collected.isEmpty()) {
addSkipDeploymentMessage();
return SetupResult::StopWithDone;
}
storage->deployableFiles = collected;
return SetupResult::Continue;
};
const auto preFilesToStat = [this](UploadStorage *storage) {
QList<DeployableFile> filesToStat;
for (const DeployableFile &file : std::as_const(m_deployableFiles)) {
for (const DeployableFile &file : std::as_const(storage->deployableFiles)) {
if (!incremental() || hasLocalFileChanged(file)) {
storage->filesToUpload.append(file);
continue;
@@ -287,9 +290,9 @@ GroupItem GenericDirectUploadStep::deployRecipe()
addProgressMessage(Tr::tr("All files successfully deployed."));
};
const TreeStorage<UploadStorage> storage;
const Group root {
Tasking::Storage(storage),
Storage(storage),
onGroupSetup(setupHandler),
statTree(storage, preFilesToStat, preStatEndHandler),
uploadTask(storage),
Group {