Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qtplugininfo.h
Go to the documentation of this file.
1// Copyright (C) 2023 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
3
4#ifndef QTPLUGININFO_H
5#define QTPLUGININFO_H
6
7#include "utils.h"
8
9#include <QString>
10#include <QStringList>
11
12#include <unordered_map>
13
20
28
30{
31public:
32 PluginInformation() = default;
33
34 bool isTypeForPlugin(const QString &type, const QString &plugin) const;
35
36 void generateAvailablePlugins(const QMap<QString, QString> &qtPathsVariables,
37 const Platform &platform);
38 void populatePluginToType(const QDir &pluginDir, const QStringList &plugins);
39
40 const std::unordered_map<QString, QStringList> &typeMap() const { return m_typeMap; }
41
42private:
43 std::unordered_map<QString, QStringList> m_typeMap;
44 std::unordered_map<QString, QString> m_pluginMap;
45};
46
47#endif
QStringList operator()(const QDir &dir) const
Definition main.cpp:884
DllDirectoryFileEntryFunction(Platform platform, DebugMatchMode debugMatchMode, const QString &prefix=QString())
Definition main.cpp:880
void addFile(const QString &source, const QString &target)
Definition utils.h:81
void removeTargetDirectory(const QString &targetDirectory)
Definition utils.h:86
QByteArray toJson() const
Definition utils.h:94
QByteArray toList(ListOption option, const QDir &base) const
Definition utils.h:107
QStringList operator()(const QDir &dir) const
Definition utils.h:360
NameFilterFileEntryFunction(const QStringList &nameFilters)
Definition utils.h:359
void generateAvailablePlugins(const QMap< QString, QString > &qtPathsVariables, const Platform &platform)
void populatePluginToType(const QDir &pluginDir, const QStringList &plugins)
const std::unordered_map< QString, QStringList > & typeMap() const
PluginInformation()=default
bool isTypeForPlugin(const QString &type, const QString &plugin) const
QStringList operator()(const QDir &dir) const
Definition main.cpp:921
QmlDirectoryFileEntryFunction(const QString &moduleSourcePath, Platform platform, DebugMatchMode debugMatchMode, unsigned flags)
Definition main.cpp:915
bool populate(const QString &modulesDir, const QString &translationsDir, bool verbose, QString *errorString)
size_t size() const
std::vector< QtModule >::const_iterator end() const
QtModuleInfoStore()=default
std::vector< QtModule >::const_iterator begin() const
const QtModule & moduleById(size_t id) const
size_t moduleIdForPluginType(const QString &pluginType) const
static Platform platformFromMkSpec(const QString &xSpec)
Definition main.cpp:135
static bool isQtModule(const QString &libName)
Definition main.cpp:833
static QString libraryPath(const QString &libraryLocation, const char *name, const QString &infix, Platform platform, bool debug)
Definition main.cpp:1311
static QString lineBreak(QString s)
Definition main.cpp:786
static QString msgFileDoesNotExist(const QString &file)
Definition main.cpp:238
static QStringList compilerRunTimeLibs(const QString &qtBinDir, Platform platform, bool isDebug, unsigned short machineArch)
Definition main.cpp:1388
static bool updateLibrary(const QString &sourceFileName, const QString &targetDirectory, const Options &options, QString *errorMessage)
Definition main.cpp:1461
static bool findDependentQtLibraries(const QString &qtBinDir, const QString &binary, Platform platform, QString *errorMessage, QStringList *qtDependencies, QStringList *nonQtDependencies)
Definition main.cpp:843
static void assignKnownModuleIds()
Definition main.cpp:60
static QCommandLineOption createVerboseOption()
Definition main.cpp:267
ExlusiveOptionValue
Definition main.cpp:153
@ OptionEnabled
Definition main.cpp:155
@ OptionAuto
Definition main.cpp:154
@ OptionDisabled
Definition main.cpp:156
static int parseArguments(const QStringList &arguments, QCommandLineParser *parser, Options *options, QString *errorMessage)
Definition main.cpp:335
static ExlusiveOptionValue parseExclusiveOptions(const QCommandLineParser *parser, const QCommandLineOption &enableOption, const QCommandLineOption &disableOption)
Definition main.cpp:159
static int qtVersion(const QMap< QString, QString > &qtpathsVariables)
Definition main.cpp:1450
static QStringList translationNameFilters(const ModuleBitset &modules, const QString &prefix)
Definition main.cpp:1174
static QString findBinary(const QString &directory, Platform platform)
Definition main.cpp:223
static DeployResult deploy(const Options &options, const QMap< QString, QString > &qtpathsVariables, const PluginInformation &pluginInfo, QString *errorMessage)
Definition main.cpp:1491
static int parseEarlyArguments(const QStringList &arguments, Options *options, QString *errorMessage)
Definition main.cpp:276
static QCommandLineOption createQMakeOption()
Definition main.cpp:249
static bool deployWebEngineCore(const QMap< QString, QString > &qtpathsVariables, const PluginInformation &pluginInfo, const Options &options, bool isDebug, QString *errorMessage)
Definition main.cpp:1897
static QStringList qmlCacheFileFilters()
Definition main.cpp:901
static QString pdbFileName(QString libraryFileName)
Definition main.cpp:893
CommandLineParseFlag
Definition main.cpp:243
@ CommandLineParseError
Definition main.cpp:244
@ CommandLineVersionRequested
Definition main.cpp:246
@ CommandLineParseHelpRequested
Definition main.cpp:245
static QString moduleNameToOptionName(const QString &moduleName, bool internal)
Definition main.cpp:93
static QString formatQtPlugins(const PluginInformation &pluginInfo)
Definition main.cpp:120
#define DECLARE_KNOWN_MODULE(name)
Definition main.cpp:43
static QCommandLineOption createQtPathsOption()
Definition main.cpp:258
static bool needsPluginType(const QString &subDirName, const PluginInformation &pluginInfo, const PluginSelections &pluginSelections)
Definition main.cpp:1089
static qint64 qtModule(QString module, const QString &infix)
Definition main.cpp:973
static QString vcRedistDir()
Definition main.cpp:1325
static QString webProcessBinary(const char *binaryName, Platform p)
Definition main.cpp:87
static QStringList findFFmpegLibs(const QString &qtBinDir, Platform platform)
Definition main.cpp:1244
static const char webEngineProcessC[]
Definition main.cpp:85
static QString deployPlugin(const QString &plugin, const QDir &subDir, const bool dueToModule, const DebugMatchMode &debugMatchMode, ModuleBitset *pluginNeededQtModules, const ModuleBitset &disabledQtModules, const PluginSelections &pluginSelections, const QString &libraryLocation, const QString &infix, Platform platform, bool deployInsightTrackerPlugin, bool deployOpenSslPlugin)
Definition main.cpp:999
static QString helpText(const QCommandLineParser &p, const PluginInformation &pluginInfo)
Definition main.cpp:798
static bool deployWebProcess(const QMap< QString, QString > &qtpathsVariables, const char *binaryName, const PluginInformation &pluginInfo, const Options &sourceOptions, QString *errorMessage)
Definition main.cpp:1876
static QStringList findMinGWRuntimePaths(const QString &qtBinDir, Platform platform, const QStringList &runtimeFilters)
Definition main.cpp:1360
#define DEFINE_KNOWN_MODULE(name)
Definition main.cpp:57
#define IMAGE_FILE_MACHINE_ARM64
Definition main.cpp:26
static QString getIcuVersion(const QString &libName)
Definition main.cpp:1483
static bool deployTranslations(const QString &sourcePath, const ModuleBitset &usedQtModules, const QString &target, const Options &options, QString *errorMessage)
Definition main.cpp:1187
static QtModuleInfoStore qtModuleEntries
Definition main.cpp:41
QStringList findQtPlugins(ModuleBitset *usedQtModules, const ModuleBitset &disabledQtModules, const PluginInformation &pluginInfo, const PluginSelections &pluginSelections, const QString &qtPluginsDirName, const QString &libraryLocation, const QString &infix, DebugMatchMode debugMatchModeIn, Platform platform, QString *platformPlugin, bool deployInsightTrackerPlugin, bool deployOpenSslPlugin)
Definition main.cpp:1100
static QStringList findOpenSslLibraries(const QString &openSslRootDir, Platform platform)
Definition main.cpp:1272
static QString vcDebugRedistDir()
Definition main.cpp:1323
static QByteArray formatQtModules(const ModuleBitset &mask, bool option=false)
Definition main.cpp:105
bool operator==(const QmlImportScanResult::Module &m1, const QmlImportScanResult::Module &m2)
Definition qmlutils.cpp:19
QmlImportScanResult runQmlImportScanner(const QString &directory, const QStringList &qmlImportPaths, bool usesWidgets, int platform, DebugMatchMode debugMatchMode, QString *errorMessage, int timeout)
Definition qmlutils.cpp:76
bool contains(const ModuleBitset &modules, const QtModule &module)
constexpr size_t ModuleBitsetSize
PluginDetection
int main(int argc, char *argv[])
[ctor_close]
QDataStream & operator<<(QDataStream &stream, const QImage &image)
[0]
Definition qimage.cpp:4006
ModuleBitset usedQtLibraries
Definition main.cpp:1307
ModuleBitset directlyUsedQtLibraries
Definition main.cpp:1306
operator bool() const
Definition main.cpp:1302
bool isDebug
Definition main.cpp:1305
ModuleBitset deployedQtLibraries
Definition main.cpp:1308
bool success
Definition main.cpp:1304
QString libraryDirectory
Definition main.cpp:204
bool translations
Definition main.cpp:186
JsonOutput * json
Definition main.cpp:209
DebugDetection debugDetection
Definition main.cpp:211
QStringList binaries
Definition main.cpp:208
bool quickImports
Definition main.cpp:185
bool systemDxc
Definition main.cpp:188
bool ffmpeg
Definition main.cpp:191
bool forceOpenSslPlugin
Definition main.cpp:217
unsigned updateFileFlags
Definition main.cpp:196
int qmlImportTimeout
Definition main.cpp:199
ListOption list
Definition main.cpp:210
QStringList qmlImportPaths
Definition main.cpp:169
QString qtpathsBinary
Definition main.cpp:201
bool deployPdb
Definition main.cpp:212
PluginSelections pluginSelections
Definition main.cpp:192
QStringList qmlDirectories
Definition main.cpp:197
QString translationsDirectory
Definition main.cpp:202
QStringList languages
Definition main.cpp:203
ModuleBitset additionalLibraries
Definition main.cpp:194
QString directory
Definition main.cpp:200
bool patchQt
Definition main.cpp:214
bool systemD3dCompiler
Definition main.cpp:187
Platform platform
Definition main.cpp:193
bool createAppx
Definition main.cpp:218
bool ignoreLibraryErrors
Definition main.cpp:215
QString pluginDirectory
Definition main.cpp:205
QString qmlDirectory
Definition main.cpp:207
bool softwareRasterizer
Definition main.cpp:190
QString openSslRootDirectory
Definition main.cpp:206
ModuleBitset disabledLibraries
Definition main.cpp:195
bool dryRun
Definition main.cpp:213
bool deployInsightTrackerPlugin
Definition main.cpp:216
QString appxCertificatePath
Definition main.cpp:219
bool plugins
Definition main.cpp:183
DebugDetection
Definition main.cpp:177
@ DebugDetectionForceRelease
Definition main.cpp:180
@ DebugDetectionForceDebug
Definition main.cpp:179
@ DebugDetectionAuto
Definition main.cpp:178
bool libraries
Definition main.cpp:184
bool compilerRunTime
Definition main.cpp:189
QStringList includedPlugins
QStringList enabledPluginTypes
QStringList excludedPlugins
QStringList disabledPluginTypes
QString installPath(const QString &root) const
Definition qmlutils.cpp:25
QStringList plugins
Definition qmlutils.h:29
QList< Module > modules
Definition qmlutils.h:28
void append(const QmlImportScanResult &other)
Definition qmlutils.cpp:127
QString name
static constexpr size_t InvalidId
QString translationCatalog
QStringList pluginTypes
QString repository
bool internal
size_t id
QString findD3dCompiler(Platform platform, const QString &qtBinDir, unsigned wordSize)
Definition utils.cpp:504
bool runProcess(const QString &binary, const QStringList &args, const QString &workingDirectory=QString(), unsigned long *exitCode=0, QByteArray *stdOut=0, QByteArray *stdErr=0, QString *errorMessage=0, int timeout=30000)
Definition utils.cpp:137
PlatformFlag
Definition utils.h:26
@ MinGW
Definition utils.h:34
@ WindowsDesktopMsvcArm
Definition utils.h:40
@ ClangMinGW
Definition utils.h:36
@ ClangMsvc
Definition utils.h:35
@ WindowsBased
Definition utils.h:28
@ WindowsDesktopMsvc
Definition utils.h:38
@ Msvc
Definition utils.h:33
@ WindowsDesktopMinGW
Definition utils.h:41
@ UnknownPlatform
Definition utils.h:44
@ WindowsDesktopMsvcIntel
Definition utils.h:39
@ ArmBased
Definition utils.h:31
@ WindowsDesktopClangMinGW
Definition utils.h:43
@ WindowsDesktopClangMsvc
Definition utils.h:42
@ IntelBased
Definition utils.h:30
QStringList findDxc(Platform platform, const QString &qtBinDir, unsigned wordSize)
Definition utils.cpp:509
int optVerboseLevel
Definition utils.cpp:28
QStringList findSharedLibraries(const QDir &directory, Platform platform, DebugMatchMode debugMatchMode, const QString &prefix=QString())
Definition utils.cpp:81
const char * qmakeInfixKey
Definition utils.cpp:192
QString findInPath(const QString &file)
Definition main.cpp:2840
bool createSymbolicLink(const QFileInfo &source, const QString &target, QString *errorMessage)
Definition utils.cpp:38
bool readPeExecutableDependencies(const QString &peExecutableFileName, QString *errorMessage, QStringList *dependentLibraries=0)
Definition utils.cpp:498
UpdateFileFlag
Definition utils.h:206
@ RemoveEmptyQmlDirectories
Definition utils.h:209
@ SkipUpdateFile
Definition utils.h:208
@ ForceUpdateFile
Definition utils.h:207
@ SkipQmlDesignerSpecificsDirectories
Definition utils.h:210
bool updateFile(const QString &sourceFileName, DirectoryFileEntryFunction directoryFileEntryFunction, const QString &targetDirectory, unsigned flags, JsonOutput *json, QString *errorMessage)
Definition utils.h:214
bool createDirectory(const QString &directory, QString *errorMessage, bool dryRun)
Definition utils.cpp:57
static const char windowsSharedLibrarySuffix[]
Definition utils.h:145
DebugMatchMode
Definition utils.h:158
@ MatchRelease
Definition utils.h:160
@ MatchDebug
Definition utils.h:159
@ MatchDebugOrRelease
Definition utils.h:161
bool updateFile(const QString &sourceFileName, const QStringList &nameFilters, const QString &targetDirectory, unsigned flags, JsonOutput *json, QString *errorMessage)
Definition utils.cpp:249
QStringList findDependentLibraries(const QString &executableFileName, QString *errorMessage)
Definition utils.h:190
bool updateFile(const QString &sourceFileName, const QString &targetDirectory, unsigned flags, JsonOutput *json, QString *errorMessage)
Definition utils.h:367
bool isBuildDirectory(Platform platform, const QString &dirName)
Definition utils.cpp:30
bool patchQtCore(const QString &path, QString *errorMessage)
Definition utils.cpp:517
QMap< QString, QString > queryQtPaths(const QString &qmakeBinary, QString *errorMessage)
Definition utils.cpp:194
bool readPeExecutableInfo(const QString &peExecutableFileName, QString *errorMessage, PeHeaderInfoStruct *headerInfo)
Definition utils.cpp:491
QString sharedLibrarySuffix()
Definition utils.h:147
QString normalizeFileName(const QString &name)
Definition utils.h:142