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

(e07ea6c3a54d85c737503d5cae4a4ff1f719848c)

#include <QCoreApplication>
#include <QCommandLineParser>
#include <QCommandLineOption>
#include <QDebug>
#include <QDir>
#include <QFile>
#include <QFileInfo>
#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
struct  PromotedReason
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 copyQmlDir (const QString &srcDir, const QString &relPath, const QString &qmlDestBase, const Options &options)
static bool copyAllQmlModules (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 2711 of file main.cpp.

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

◆ copyAllQmlModules()

bool copyAllQmlModules ( const Options & options)
static

Definition at line 1534 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 1368 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 1446 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 1049 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 423 of file main.cpp.

◆ copyFileToArchitectures()

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

Definition at line 1101 of file main.cpp.

◆ copyPlatformPlugin()

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

Definition at line 1898 of file main.cpp.

References Options::verbose.

◆ copyPlugins()

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

Definition at line 1988 of file main.cpp.

References Options::verbose.

◆ copyProjectLibraries()

bool copyProjectLibraries ( const Options & options)
static

Definition at line 1160 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 1498 of file main.cpp.

◆ copyQmlFiles()

bool copyQmlFiles ( const Options & options)
static

Definition at line 2289 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 2327 of file main.cpp.

References Options::verbose.

◆ copyRecursively()

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

Definition at line 508 of file main.cpp.

◆ copyTemplate()

bool copyTemplate ( const Options & options)
static

Definition at line 539 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 1249 of file main.cpp.

References Options::verbose.

◆ customizeTemplate()

bool customizeTemplate ( const Options & options)
static

Definition at line 652 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 1728 of file main.cpp.

References Options::verbose.

◆ findExtraDepLibrary()

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

Definition at line 1661 of file main.cpp.

◆ findLlvmReadobj()

QString findLlvmReadobj ( const Options & options)
static

Definition at line 1556 of file main.cpp.

◆ findQtLibrary()

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

Definition at line 1694 of file main.cpp.

◆ findQtPluginsDirectory()

QString findQtPluginsDirectory ( const Options & options)
static

Definition at line 1870 of file main.cpp.

◆ findStdCppLibrary()

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

Definition at line 1129 of file main.cpp.

◆ injectSigningConfig()

bool injectSigningConfig ( const Options & options)
static

Definition at line 2555 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 2826 of file main.cpp.

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

◆ isSystemLibrary()

bool isSystemLibrary ( const QString & libName)
static

Definition at line 1681 of file main.cpp.

◆ isValidHarmonyOsAbilityOrientation()

bool isValidHarmonyOsAbilityOrientation ( const QString & value)
static

Definition at line 625 of file main.cpp.

◆ jsonStringEscape()

QString jsonStringEscape ( const QString & s)
static

Definition at line 615 of file main.cpp.

◆ main()

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

Definition at line 2923 of file main.cpp.

References copyAllQmlModules(), copyAllQtLibs(), copyAllQtPlugins(), copyApplicationBinary(), 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 123 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 95 of file main.cpp.

◆ readElfDependencies()

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

Definition at line 1604 of file main.cpp.

◆ readElfSoname()

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

Definition at line 1580 of file main.cpp.

◆ readInputConfiguration()

bool readInputConfiguration ( Options * options)
static

Definition at line 210 of file main.cpp.

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

Referenced by main().

Here is the caller graph for this function:

◆ reasonNeedsPromotion()

bool reasonNeedsPromotion ( const QString & reason)
static

Definition at line 592 of file main.cpp.

◆ scanQmlImports()

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

Definition at line 2090 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 1207 of file main.cpp.

◆ synthesizePermissionReasonId()

QString synthesizePermissionReasonId ( const QString & permissionName)
static

Definition at line 604 of file main.cpp.

◆ writeDepfile()

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

Definition at line 467 of file main.cpp.

References Options::verbose.

◆ writeTestBinariesList()

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

Definition at line 1338 of file main.cpp.

References Options::verbose.

Variable Documentation

◆ dependenciesForDepfile

QStringList dependenciesForDepfile
static

Definition at line 28 of file main.cpp.