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
main.cpp File Reference

(15ce9ebe163c36c210731a0d643648545348bdb1)

#include <QCoreApplication>
#include <QCommandLineParser>
#include <QCommandLineOption>
#include <QDebug>
#include <QDir>
#include <QDirIterator>
#include <QFile>
#include <QFileInfo>
#include <QHash>
#include <QJsonDocument>
#include <QJsonObject>
#include <QJsonArray>
#include <QProcess>
#include <QStandardPaths>
#include <QString>
#include <QStringList>
#include <QSet>
#include <QElapsedTimer>
#include <QRegularExpression>
#include "../shared/depfile_shared.h"
Include dependency graph for main.cpp:

Go to the source code of this file.

Classes

struct  Options
class  QProcessExt
struct  PromotedReason
struct  TestQmlModule
struct  QtDependency
struct  QmlImportInfo

Functions

static void printHelp ()
static bool parseCommandLine (const QStringList &arguments, Options *options)
static bool readInputConfiguration (Options *options)
static bool copyFileIfNewer (const QString &sourceFileName, const QString &destinationFileName, bool verbose, bool forceOverwrite=false)
static bool writeDepfile (const Options &options, const QString &hapOutputPath)
static bool copyRecursively (const QString &sourceDir, const QString &destDir, bool verbose)
static bool copyTemplate (const Options &options)
static bool reasonNeedsPromotion (const QString &reason)
static QString synthesizePermissionReasonId (const QString &permissionName)
static QString jsonStringEscape (const QString &s)
static bool isValidHarmonyOsAbilityOrientation (const QString &value)
static bool customizeTemplate (const Options &options)
static bool copyApplicationBinary (const Options &options)
static bool copyFileToArchitectures (const Options &options, const QString &sourcePath, const QString &relativeDestPath, bool trackInDepfile=true)
static QString findStdCppLibrary (const Options &options, const QString &arch)
static bool copyProjectLibraries (const Options &options)
static void scanTestBinariesDir (const QString &dirPath, const QStringList &excludeList, const QStringList &excludeDirs, QStringList &found, QStringList &foundHelpers, QSet< QString > &helperNames)
static bool copyTestBinaries (const Options &options, QStringList &bundledBinaries)
static bool writeTestBinariesList (const Options &options, const QStringList &bundledBinaries)
static QString readElfSoname (const Options &options, const QString &binaryPath)
static bool copyAllQtLibs (const Options &options)
static bool copyAllQtPlugins (const Options &options)
static bool copyExtraPlugins (const Options &options)
static bool copyQmlDir (const QString &srcDir, const QString &relPath, const QString &qmlDestBase, const Options &options)
static QString hapQmlDir (const Options &options)
static bool copyAllQmlModules (const Options &options)
static bool readQmldirLines (const QString &qmldirPath, QStringList &lines)
static bool copyQmldirPlugins (const QString &qmldirPath, const Options &options)
static bool getQmldirModuleUri (const QString &qmldirPath, QString &uri)
static QString findNearestEnclosingTestDir (const QString &startDir, const QSet< QString > &testDirs)
static bool getTestQmlModuleDeployDir (const TestQmlModule &testModule, QString &deployDir)
static QList< TestQmlModulefindTestQmlModules (const Options &options)
static bool verifyUniqueTestQmlModuleDeployDirs (const QList< TestQmlModule > &modules)
static bool copyTestQmlModuleFiles (const QString &moduleSrcDirPath, const QString &destModuleDirPath, const Options &options)
static bool copyTestQmlModules (const QList< TestQmlModule > &modules, const Options &options)
static QString findLlvmReadobj (const Options &options)
static QStringList readElfDependencies (const Options &options, const QString &binaryPath)
static QString findExtraDepLibrary (const Options &options, const QString &libName)
static bool isSystemLibrary (const QString &libName)
static QString findQtLibrary (const Options &options, const QString &libName)
static bool detectAndCopyDependencies (const Options &options, QSet< QString > &processedLibs)
static QString findQtPluginsDirectory (const Options &options)
static bool copyPlatformPlugin (const Options &options, const QString &qtPluginsPath, QSet< QString > &processedLibs)
static bool copyPlugins (const Options &options, QSet< QString > &processedLibs)
static QList< QmlImportInfoscanQmlImports (const Options &options)
static bool copyQmlFiles (const Options &options)
static bool copyQmlImports (const Options &options, const QList< QmlImportInfo > &imports, QSet< QString > &processedLibs)
static bool injectSigningConfig (const Options &options)
static bool buildHap (const Options &options, QString *hapOutputPath=nullptr)
static bool installToDevice (const Options &options, const QString &hapPath)
int main (int argc, char *argv[])

Variables

static QStringList dependenciesForDepfile

Function Documentation

◆ buildHap()

bool buildHap ( const Options & options,
QString * hapOutputPath = nullptr )
static

Definition at line 3144 of file main.cpp.

References Options::buildPackage, Options::releaseMode, and Options::verbose.

◆ copyAllQmlModules()

bool copyAllQmlModules ( const Options & options)
static

Definition at line 1728 of file main.cpp.

References Options::verbose.

Referenced by main().

Here is the caller graph for this function:

◆ copyAllQtLibs()

bool copyAllQtLibs ( const Options & options)
static

Definition at line 1490 of file main.cpp.

References Options::verbose.

Referenced by main().

Here is the caller graph for this function:

◆ copyAllQtPlugins()

bool copyAllQtPlugins ( const Options & options)
static

Definition at line 1568 of file main.cpp.

References Options::verbose.

Referenced by main().

Here is the caller graph for this function:

◆ copyApplicationBinary()

bool copyApplicationBinary ( const Options & options)
static

Definition at line 1171 of file main.cpp.

References Options::verbose.

Referenced by main().

Here is the caller graph for this function:

◆ copyExtraPlugins()

bool copyExtraPlugins ( const Options & options)
static

Definition at line 1651 of file main.cpp.

References Options::verbose.

Referenced by main().

Here is the caller graph for this function:

◆ copyFileIfNewer()

bool copyFileIfNewer ( const QString & sourceFileName,
const QString & destinationFileName,
bool verbose,
bool forceOverwrite = false )
static

Definition at line 476 of file main.cpp.

◆ copyFileToArchitectures()

bool copyFileToArchitectures ( const Options & options,
const QString & sourcePath,
const QString & relativeDestPath,
bool trackInDepfile = true )
static

Definition at line 1223 of file main.cpp.

◆ copyPlatformPlugin()

bool copyPlatformPlugin ( const Options & options,
const QString & qtPluginsPath,
QSet< QString > & processedLibs )
static

Definition at line 2331 of file main.cpp.

References Options::verbose.

◆ copyPlugins()

bool copyPlugins ( const Options & options,
QSet< QString > & processedLibs )
static

Definition at line 2421 of file main.cpp.

References Options::verbose.

◆ copyProjectLibraries()

bool copyProjectLibraries ( const Options & options)
static

Definition at line 1282 of file main.cpp.

References Options::verbose.

Referenced by main().

Here is the caller graph for this function:

◆ copyQmlDir()

bool copyQmlDir ( const QString & srcDir,
const QString & relPath,
const QString & qmlDestBase,
const Options & options )
static

Definition at line 1687 of file main.cpp.

◆ copyQmldirPlugins()

bool copyQmldirPlugins ( const QString & qmldirPath,
const Options & options )
static

Definition at line 1784 of file main.cpp.

◆ copyQmlFiles()

bool copyQmlFiles ( const Options & options)
static

Definition at line 2722 of file main.cpp.

References Options::verbose.

Referenced by main().

Here is the caller graph for this function:

◆ copyQmlImports()

bool copyQmlImports ( const Options & options,
const QList< QmlImportInfo > & imports,
QSet< QString > & processedLibs )
static

Definition at line 2760 of file main.cpp.

References Options::verbose.

◆ copyRecursively()

bool copyRecursively ( const QString & sourceDir,
const QString & destDir,
bool verbose )
static

Definition at line 561 of file main.cpp.

◆ copyTemplate()

bool copyTemplate ( const Options & options)
static

Definition at line 592 of file main.cpp.

References Options::verbose.

Referenced by main().

Here is the caller graph for this function:

◆ copyTestBinaries()

bool copyTestBinaries ( const Options & options,
QStringList & bundledBinaries )
static

Definition at line 1371 of file main.cpp.

References Options::verbose.

◆ copyTestQmlModuleFiles()

bool copyTestQmlModuleFiles ( const QString & moduleSrcDirPath,
const QString & destModuleDirPath,
const Options & options )
static

Definition at line 1937 of file main.cpp.

References dependenciesForDepfile.

◆ copyTestQmlModules()

bool copyTestQmlModules ( const QList< TestQmlModule > & modules,
const Options & options )
static

Definition at line 1972 of file main.cpp.

◆ customizeTemplate()

bool customizeTemplate ( const Options & options)
static

Definition at line 705 of file main.cpp.

References Options::harmonyOsAppVersionCode, Options::testBundleMode, and Options::verbose.

Referenced by main().

Here is the caller graph for this function:

◆ detectAndCopyDependencies()

bool detectAndCopyDependencies ( const Options & options,
QSet< QString > & processedLibs )
static

Definition at line 2161 of file main.cpp.

References Options::verbose.

◆ findExtraDepLibrary()

QString findExtraDepLibrary ( const Options & options,
const QString & libName )
static

Definition at line 2094 of file main.cpp.

◆ findLlvmReadobj()

QString findLlvmReadobj ( const Options & options)
static

Definition at line 1989 of file main.cpp.

◆ findNearestEnclosingTestDir()

QString findNearestEnclosingTestDir ( const QString & startDir,
const QSet< QString > & testDirs )
static

Definition at line 1842 of file main.cpp.

◆ findQtLibrary()

QString findQtLibrary ( const Options & options,
const QString & libName )
static

Definition at line 2127 of file main.cpp.

◆ findQtPluginsDirectory()

QString findQtPluginsDirectory ( const Options & options)
static

Definition at line 2303 of file main.cpp.

◆ findStdCppLibrary()

QString findStdCppLibrary ( const Options & options,
const QString & arch )
static

Definition at line 1251 of file main.cpp.

◆ findTestQmlModules()

QList< TestQmlModule > findTestQmlModules ( const Options & options)
static

Definition at line 1877 of file main.cpp.

◆ getQmldirModuleUri()

bool getQmldirModuleUri ( const QString & qmldirPath,
QString & uri )
static

Definition at line 1822 of file main.cpp.

◆ getTestQmlModuleDeployDir()

bool getTestQmlModuleDeployDir ( const TestQmlModule & testModule,
QString & deployDir )
static

Definition at line 1861 of file main.cpp.

◆ hapQmlDir()

QString hapQmlDir ( const Options & options)
static

Definition at line 1723 of file main.cpp.

◆ injectSigningConfig()

bool injectSigningConfig ( const Options & options)
static

Definition at line 2988 of file main.cpp.

References Options::verbose.

Referenced by main().

Here is the caller graph for this function:

◆ installToDevice()

bool installToDevice ( const Options & options,
const QString & hapPath )
static

Definition at line 3262 of file main.cpp.

References Options::installApk, and Options::verbose.

◆ isSystemLibrary()

bool isSystemLibrary ( const QString & libName)
static

Definition at line 2114 of file main.cpp.

◆ isValidHarmonyOsAbilityOrientation()

bool isValidHarmonyOsAbilityOrientation ( const QString & value)
static

Definition at line 678 of file main.cpp.

◆ jsonStringEscape()

QString jsonStringEscape ( const QString & s)
static

Definition at line 668 of file main.cpp.

◆ main()

int main ( int argc,
char * argv[] )

Definition at line 3359 of file main.cpp.

References copyAllQmlModules(), copyAllQtLibs(), copyAllQtPlugins(), copyApplicationBinary(), copyExtraPlugins(), copyProjectLibraries(), copyQmlFiles(), copyTemplate(), customizeTemplate(), injectSigningConfig(), readInputConfiguration(), Options::testBundleMode, and Options::verbose.

Here is the call graph for this function:

◆ parseCommandLine()

bool parseCommandLine ( const QStringList & arguments,
Options * options )
static

Definition at line 152 of file main.cpp.

References Options::buildPackage, Options::installApk, printHelp(), Options::releaseMode, Options::testBundleMode, and Options::verbose.

Here is the call graph for this function:

◆ printHelp()

void printHelp ( )
static

Definition at line 107 of file main.cpp.

◆ readElfDependencies()

QStringList readElfDependencies ( const Options & options,
const QString & binaryPath )
static

Definition at line 2037 of file main.cpp.

◆ readElfSoname()

QString readElfSoname ( const Options & options,
const QString & binaryPath )
static

Definition at line 2013 of file main.cpp.

◆ readInputConfiguration()

bool readInputConfiguration ( Options * options)
static

Definition at line 239 of file main.cpp.

References Options::testBundleMode, and Options::verbose.

Referenced by main().

Here is the caller graph for this function:

◆ readQmldirLines()

bool readQmldirLines ( const QString & qmldirPath,
QStringList & lines )
static

Definition at line 1769 of file main.cpp.

◆ reasonNeedsPromotion()

bool reasonNeedsPromotion ( const QString & reason)
static

Definition at line 645 of file main.cpp.

◆ scanQmlImports()

QList< QmlImportInfo > scanQmlImports ( const Options & options)
static

Definition at line 2523 of file main.cpp.

References Options::verbose.

◆ scanTestBinariesDir()

void scanTestBinariesDir ( const QString & dirPath,
const QStringList & excludeList,
const QStringList & excludeDirs,
QStringList & found,
QStringList & foundHelpers,
QSet< QString > & helperNames )
static

Definition at line 1329 of file main.cpp.

◆ synthesizePermissionReasonId()

QString synthesizePermissionReasonId ( const QString & permissionName)
static

Definition at line 657 of file main.cpp.

◆ verifyUniqueTestQmlModuleDeployDirs()

bool verifyUniqueTestQmlModuleDeployDirs ( const QList< TestQmlModule > & modules)
static

Definition at line 1914 of file main.cpp.

◆ writeDepfile()

bool writeDepfile ( const Options & options,
const QString & hapOutputPath )
static

Definition at line 520 of file main.cpp.

References Options::verbose.

◆ writeTestBinariesList()

bool writeTestBinariesList ( const Options & options,
const QStringList & bundledBinaries )
static

Definition at line 1460 of file main.cpp.

References Options::verbose.

Variable Documentation

◆ dependenciesForDepfile

QStringList dependenciesForDepfile
static

Definition at line 30 of file main.cpp.