forked from qt-creator/qt-creator
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:
@@ -31,6 +31,7 @@ const int MaxConcurrentStatCalls = 10;
|
|||||||
|
|
||||||
struct UploadStorage
|
struct UploadStorage
|
||||||
{
|
{
|
||||||
|
QList<DeployableFile> deployableFiles;
|
||||||
QList<DeployableFile> filesToUpload;
|
QList<DeployableFile> filesToUpload;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -54,7 +55,6 @@ public:
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
bool isDeploymentNecessary() const final;
|
|
||||||
GroupItem deployRecipe() final;
|
GroupItem deployRecipe() final;
|
||||||
|
|
||||||
QDateTime timestampFromStat(const DeployableFile &file, Process *statProc);
|
QDateTime timestampFromStat(const DeployableFile &file, Process *statProc);
|
||||||
@@ -70,8 +70,6 @@ public:
|
|||||||
GroupItem chmodTask(const DeployableFile &file);
|
GroupItem chmodTask(const DeployableFile &file);
|
||||||
GroupItem chmodTree(const TreeStorage<UploadStorage> &storage);
|
GroupItem chmodTree(const TreeStorage<UploadStorage> &storage);
|
||||||
|
|
||||||
mutable QList<DeployableFile> m_deployableFiles;
|
|
||||||
|
|
||||||
BoolAspect incremental{this};
|
BoolAspect incremental{this};
|
||||||
BoolAspect ignoreMissingFiles{this};
|
BoolAspect ignoreMissingFiles{this};
|
||||||
};
|
};
|
||||||
@@ -91,18 +89,6 @@ static QList<DeployableFile> collectFilesToUpload(const DeployableFile &deployab
|
|||||||
return collected;
|
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,
|
QDateTime GenericDirectUploadStep::timestampFromStat(const DeployableFile &file,
|
||||||
Process *statProc)
|
Process *statProc)
|
||||||
{
|
{
|
||||||
@@ -257,9 +243,26 @@ GroupItem GenericDirectUploadStep::chmodTree(const TreeStorage<UploadStorage> &s
|
|||||||
|
|
||||||
GroupItem GenericDirectUploadStep::deployRecipe()
|
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) {
|
const auto preFilesToStat = [this](UploadStorage *storage) {
|
||||||
QList<DeployableFile> filesToStat;
|
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)) {
|
if (!incremental() || hasLocalFileChanged(file)) {
|
||||||
storage->filesToUpload.append(file);
|
storage->filesToUpload.append(file);
|
||||||
continue;
|
continue;
|
||||||
@@ -287,9 +290,9 @@ GroupItem GenericDirectUploadStep::deployRecipe()
|
|||||||
addProgressMessage(Tr::tr("All files successfully deployed."));
|
addProgressMessage(Tr::tr("All files successfully deployed."));
|
||||||
};
|
};
|
||||||
|
|
||||||
const TreeStorage<UploadStorage> storage;
|
|
||||||
const Group root {
|
const Group root {
|
||||||
Tasking::Storage(storage),
|
Storage(storage),
|
||||||
|
onGroupSetup(setupHandler),
|
||||||
statTree(storage, preFilesToStat, preStatEndHandler),
|
statTree(storage, preFilesToStat, preStatEndHandler),
|
||||||
uploadTask(storage),
|
uploadTask(storage),
|
||||||
Group {
|
Group {
|
||||||
|
|||||||
Reference in New Issue
Block a user