123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- #include "tizenconfigurations.h"
- #include "tizendeploypackagecreationstep.h"
- #include "tizendeploypackagecreationconfigwidget.h"
- #include "tizenmanager.h"
- #include <projectexplorer/buildsteplist.h>
- #include <projectexplorer/deployconfiguration.h>
- #include <projectexplorer/target.h>
- #include <projectexplorer/buildconfiguration.h>
- #include <projectexplorer/kitinformation.h>
- #include <qt4projectmanager/qt4project.h>
- #include <qt4projectmanager/qt4nodes.h>
- #include <utils/hostosinfo.h>
- #include <QDebug>
- #include <QDir>
- using namespace Tizen::Internal;
- const Core::Id TizenDeployPackageCreationStep::Id = Core::Id("Qt4ProjectManager.TizenDeployPackageCreationStep");
- TizenDeployPackageCreationStep::TizenDeployPackageCreationStep(ProjectExplorer::BuildStepList *bsl)
- : BuildStep(bsl, Id),m_nativePackagingProcess(0)
- {
- const QString name = tr("Create package(tpk)");
- setDefaultDisplayName(name);
- setDisplayName(name);
- }
- bool TizenDeployPackageCreationStep::init()
- {
- return true;
- }
- ProjectExplorer::BuildStepConfigWidget *TizenDeployPackageCreationStep::createConfigWidget()
- {
- TizenDeployPackageCreationConfigWidget *configWidget = new TizenDeployPackageCreationConfigWidget();
- TizenConfig tc = TizenConfigurations::instance()->tizenConfig();
- QString passwd = tc.m_authorCertificatePassword;
- passwd.fill(QChar::fromAscii('*'),passwd.size());
- configWidget->setAdditionalSummaryText(QString::fromLatin1("%1 --sign-author-key %2 --sign-author-pwd %3 in %4")
- .arg(tc.m_nativePackagingLocation.toString())
- .arg(tc.m_authorCertificateLocation.toString())
- .arg(passwd)
- .arg(TizenManager::commandLineBuildPath(target()).toString()));
- return configWidget;
- }
- TizenDeployPackageCreationStep::TizenDeployPackageCreationStep(ProjectExplorer::BuildStepList *bc, TizenDeployPackageCreationStep *other)
- : BuildStep(bc, other)
- { }
- void TizenDeployPackageCreationStep::run(QFutureInterface<bool> &fi)
- {
- emit addOutput(tr("Creating package."), BuildStep::MessageOutput);
- QProcess tmp;
- m_nativePackagingProcess = &tmp;
- connect(m_nativePackagingProcess,SIGNAL(readyRead()),SLOT(updateProcessOutput()));
- m_nativePackagingProcess->setWorkingDirectory(TizenManager::commandLineBuildPath(target()).toString());
- QStringList arguments;
- TizenConfig tc = TizenConfigurations::instance()->tizenConfig();
- arguments << QLatin1String("--sign-author-key") << tc.m_authorCertificateLocation.toString();
- arguments << QLatin1String("--sign-author-pwd") << tc.m_authorCertificatePassword;
- m_nativePackagingProcess->start(tc.m_nativePackagingLocation.toString(), arguments);
- if(!m_nativePackagingProcess->waitForStarted(5000) || !m_nativePackagingProcess->waitForFinished(360000)) {
- addOutput(tr("Can't start %1.").arg(tc.m_nativePackagingLocation.toString()), BuildStep::ErrorOutput);
- fi.reportResult(false);
- m_nativePackagingProcess = 0;
- return;
- }
- if (m_nativePackagingProcess->exitCode() != 0) {
- emit addOutput(tr("Error while creating package."), BuildStep::ErrorOutput);
- fi.reportResult(false);
- } else {
- emit addOutput(tr("Package Created."), BuildStep::MessageOutput);
- fi.reportResult(true);
- }
- m_nativePackagingProcess = 0;
- }
- void TizenDeployPackageCreationStep::updateProcessOutput()
- {
- if (!m_nativePackagingProcess)
- return;
- QByteArray nativePackagingOutput = m_nativePackagingProcess->readAll();
- if (nativePackagingOutput.trimmed().isEmpty())
- return;
- emit addOutput(QString::fromLocal8Bit(nativePackagingOutput.constData(), nativePackagingOutput.size()), BuildStep::NormalOutput, BuildStep::DontAppendNewline);
- }
- void TizenDeployPackageCreationStep::cancel()
- {
- if (!m_nativePackagingProcess)
- return;
- if (m_nativePackagingProcess->state() == QProcess::Running) {
- m_nativePackagingProcess->terminate();
- }
- }
|