Qnx: Fixing incorrect environment for running BlackBerry cmd-line tools

The BlackBerry command-line tools were launched without any environment set
that would match the related BB NDK Target. This results in command-line
tools to not run at all (they fail to find 'java' program).

The only workaround it to have 'java' program on system PATH.

Task-number: QTCREATORBUG-11029
Change-Id: I90e102413d7843d538d394aec306749e37e6148b
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Tobias Nätterlund <tobias.naetterlund@kdab.com>
Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
Reviewed-by: David Kaspar <dkaspar@blackberry.com>
This commit is contained in:
David Kaspar
2013-12-06 17:40:46 +01:00
parent 9be80434d3
commit c6fff90c73
3 changed files with 10 additions and 0 deletions

View File

@@ -34,6 +34,7 @@
#include "blackberryconfigurationmanager.h"
#include "blackberryndkprocess.h"
#include <utils/environment.h>
#include <utils/hostosinfo.h>
#include <QProcess>
@@ -52,6 +53,8 @@ BlackBerryCertificate::BlackBerryCertificate(const QString &fileName,
m_process(new QProcess(this))
{
m_process->setProcessChannelMode(QProcess::MergedChannels);
m_process->setEnvironment(Utils::EnvironmentItem::toStringList(
BlackBerryConfigurationManager::instance().defaultQnxEnv()));
}
void BlackBerryCertificate::load()

View File

@@ -30,8 +30,11 @@
#include "blackberrydevicelistdetector.h"
#include "blackberryconfigurationmanager.h"
#include "blackberryndkprocess.h"
#include <utils/environment.h>
#include <QStringList>
namespace Qnx {
@@ -53,6 +56,8 @@ void BlackBerryDeviceListDetector::detectDeviceList()
if (m_process->state() != QProcess::NotRunning)
return;
m_process->setEnvironment(Utils::EnvironmentItem::toStringList(
BlackBerryConfigurationManager::instance().defaultQnxEnv()));
const QString command = BlackBerryNdkProcess::resolveNdkToolPath(QLatin1String("blackberry-deploy"));
QStringList arguments;
arguments << QLatin1String("-devices");

View File

@@ -46,6 +46,8 @@ BlackBerryNdkProcess::BlackBerryNdkProcess(const QString &command, QObject *pare
m_command(command)
{
m_process->setProcessChannelMode(QProcess::MergedChannels);
m_process->setEnvironment(Utils::EnvironmentItem::toStringList(
BlackBerryConfigurationManager::instance().defaultQnxEnv()));
connect(m_process, SIGNAL(finished(int,QProcess::ExitStatus)),
this, SLOT(processFinished()));