Android: Use a aspect for AndroidBuildStep::buildAAB

Testing the water...

Change-Id: Ic5bd970519f0ec11e03ba19a24e0aeb2a84a18e3
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This commit is contained in:
hjk
2023-08-17 14:42:06 +02:00
parent 45bae4b525
commit a7630f999f
2 changed files with 13 additions and 25 deletions

View File

@@ -302,17 +302,12 @@ QWidget *AndroidBuildApkWidget::createAdvancedGroup()
auto verboseOutputCheckBox = new QCheckBox(Tr::tr("Verbose output"), group);
verboseOutputCheckBox->setChecked(m_step->verboseOutput());
auto vbox = new QVBoxLayout(group);
QtSupport::QtVersion *version = QtSupport::QtKitAspect::qtVersion(m_step->kit());
if (version && version->qtVersion() >= QVersionNumber(5, 14)) {
auto buildAAB = new QCheckBox(Tr::tr("Build Android App Bundle (*.aab)"), group);
buildAAB->setChecked(m_step->buildAAB());
connect(buildAAB, &QAbstractButton::toggled, m_step, &AndroidBuildApkStep::setBuildAAB);
vbox->addWidget(buildAAB);
}
vbox->addWidget(openPackageLocationCheckBox);
vbox->addWidget(verboseOutputCheckBox);
vbox->addWidget(m_addDebuggerCheckBox);
Layouting::Column {
m_step->buildAAB,
openPackageLocationCheckBox,
verboseOutputCheckBox,
m_addDebuggerCheckBox
}.attachTo(group);
connect(verboseOutputCheckBox, &QAbstractButton::toggled,
this, [this](bool checked) { m_step->setVerboseOutput(checked); });
@@ -479,6 +474,11 @@ AndroidBuildApkStep::AndroidBuildApkStep(BuildStepList *parent, Utils::Id id)
setImmutable(true);
setDisplayName(Tr::tr("Build Android APK"));
QtSupport::QtVersion *version = QtSupport::QtKitAspect::qtVersion(kit());
buildAAB.setLabelText(Tr::tr("Build Android App Bundle (*.aab)"));
buildAAB.setVisible(version && version->qtVersion() >= QVersionNumber(5, 14));
connect(this, &BuildStep::addOutput, this, [this](const QString &string, OutputFormat format) {
if (format == OutputFormat::Stderr)
stdError(string);
@@ -566,7 +566,7 @@ bool AndroidBuildApkStep::init()
arguments << "--gradle";
if (m_buildAAB)
if (buildAAB())
arguments << "--aab" << "--jarsigner";
if (buildType() == BuildConfiguration::Release) {
@@ -997,16 +997,6 @@ void AndroidBuildApkStep::setSignPackage(bool b)
m_signPackage = b;
}
bool AndroidBuildApkStep::buildAAB() const
{
return m_buildAAB;
}
void AndroidBuildApkStep::setBuildAAB(bool aab)
{
m_buildAAB = aab;
}
bool AndroidBuildApkStep::openPackageLocation() const
{
return m_openPackageLocation;

View File

@@ -37,8 +37,7 @@ public:
bool signPackage() const;
void setSignPackage(bool b);
bool buildAAB() const;
void setBuildAAB(bool aab);
Utils::BoolAspect buildAAB{this};
bool openPackageLocation() const;
void setOpenPackageLocation(bool open);
@@ -72,7 +71,6 @@ private:
void reportWarningOrError(const QString &message, ProjectExplorer::Task::TaskType type);
void updateBuildToolsVersionInJsonFile();
bool m_buildAAB = false;
bool m_signPackage = false;
bool m_verbose = false;
bool m_openPackageLocation = false;