Python: Adapt PySideBuildStep to recent FilePath{Aspect} changes

Change-Id: I866b49733f3007e4f029fb25f8519a1c5b690370
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
hjk
2023-05-23 16:54:11 +02:00
parent 49b0238446
commit b2c69b947f
2 changed files with 16 additions and 18 deletions

View File

@@ -34,31 +34,30 @@ PySideBuildStepFactory::PySideBuildStepFactory()
PySideBuildStep::PySideBuildStep(BuildStepList *bsl, Id id)
: AbstractProcessStep(bsl, id)
{
m_pysideProject = addAspect<StringAspect>();
m_pysideProject->setSettingsKey("Python.PySideProjectTool");
m_pysideProject->setLabelText(Tr::tr("PySide project tool:"));
m_pysideProject->setToolTip(Tr::tr("Enter location of PySide project tool."));
m_pysideProject->setDisplayStyle(StringAspect::PathChooserDisplay);
m_pysideProject->setExpectedKind(PathChooser::Command);
m_pysideProject->setHistoryCompleter("Python.PySideProjectTool.History");
setOwnsSubAspects(false);
const FilePath pySideProjectPath = Environment::systemEnvironment().searchInPath(
"pyside6-project");
m_pysideProject.setSettingsKey("Python.PySideProjectTool");
m_pysideProject.setLabelText(Tr::tr("PySide project tool:"));
m_pysideProject.setToolTip(Tr::tr("Enter location of PySide project tool."));
m_pysideProject.setExpectedKind(PathChooser::Command);
m_pysideProject.setHistoryCompleter("Python.PySideProjectTool.History");
const FilePath pySideProjectPath = FilePath("pyside6-project").searchInPath();
if (pySideProjectPath.isExecutableFile())
m_pysideProject->setFilePath(pySideProjectPath);
m_pysideProject.setFilePath(pySideProjectPath);
setCommandLineProvider([this] { return CommandLine(m_pysideProject->filePath(), {"build"}); });
setCommandLineProvider([this] { return CommandLine(m_pysideProject(), {"build"}); });
setWorkingDirectoryProvider([this] {
return m_pysideProject->filePath().withNewMappedPath(target()->project()->projectDirectory()); // FIXME: new path needed?
return m_pysideProject().withNewMappedPath(project()->projectDirectory()); // FIXME: new path needed?
});
setEnvironmentModifier([this](Environment &env) {
env.prependOrSetPath(m_pysideProject->filePath().parentDir());
env.prependOrSetPath(m_pysideProject().parentDir());
});
}
void PySideBuildStep::updatePySideProjectPath(const Utils::FilePath &pySideProjectPath)
void PySideBuildStep::updatePySideProjectPath(const FilePath &pySideProjectPath)
{
m_pysideProject->setFilePath(pySideProjectPath);
m_pysideProject.setFilePath(pySideProjectPath);
}
void PySideBuildStep::doRun()

View File

@@ -16,11 +16,10 @@ public:
PySideBuildStep(ProjectExplorer::BuildStepList *bsl, Utils::Id id);
void updatePySideProjectPath(const Utils::FilePath &pySideProjectPath);
private:
Utils::StringAspect *m_pysideProject;
private:
void doRun() override;
Utils::FilePathAspect m_pysideProject{this};
};
class PySideBuildStepFactory : public ProjectExplorer::BuildStepFactory