aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/libs/devcontainer/devcontainer.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/libs/devcontainer/devcontainer.cpp b/src/libs/devcontainer/devcontainer.cpp
index 30da1e5937f..2663d8dfb81 100644
--- a/src/libs/devcontainer/devcontainer.cpp
+++ b/src/libs/devcontainer/devcontainer.cpp
@@ -7,6 +7,8 @@
#include <utils/qtcprocess.h>
+#include <QCryptographicHash>
+
using namespace Utils;
namespace DevContainer {
@@ -72,9 +74,15 @@ static Group prepareContainerRecipe(
containerConfig.context.value_or("."));
const FilePath dockerFile = configFileDir.resolvePath(containerConfig.dockerfile);
+ const QString hash = QString::fromLatin1(
+ QCryptographicHash::hash(
+ instanceConfig.workspaceFolder.nativePath().toUtf8(), QCryptographicHash::Sha256)
+ .toHex());
+ const QString imageName = QString("qtc-devcontainer-%1").arg(hash);
+
CommandLine buildCmdLine{
instanceConfig.dockerCli,
- {"build", "-f", dockerFile.nativePath(), contextPath.nativePath()}};
+ {"build", "-f", dockerFile.nativePath(), "-t", imageName, contextPath.nativePath()}};
process.setCommand(buildCmdLine);
process.setWorkingDirectory(instanceConfig.workspaceFolder);