From c6fff90c734f2462ecf9bd3415bf7372b4f0a459 Mon Sep 17 00:00:00 2001 From: David Kaspar Date: Fri, 6 Dec 2013 17:40:46 +0100 Subject: [PATCH] Qnx: Fixing incorrect environment for running BlackBerry cmd-line tools MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Reviewed-by: Tobias Nätterlund Reviewed-by: Nicolas Arnaud-Cormos Reviewed-by: David Kaspar --- src/plugins/qnx/blackberrycertificate.cpp | 3 +++ src/plugins/qnx/blackberrydevicelistdetector.cpp | 5 +++++ src/plugins/qnx/blackberryndkprocess.cpp | 2 ++ 3 files changed, 10 insertions(+) diff --git a/src/plugins/qnx/blackberrycertificate.cpp b/src/plugins/qnx/blackberrycertificate.cpp index b964bd5b146..088a51f408f 100644 --- a/src/plugins/qnx/blackberrycertificate.cpp +++ b/src/plugins/qnx/blackberrycertificate.cpp @@ -34,6 +34,7 @@ #include "blackberryconfigurationmanager.h" #include "blackberryndkprocess.h" +#include #include #include @@ -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() diff --git a/src/plugins/qnx/blackberrydevicelistdetector.cpp b/src/plugins/qnx/blackberrydevicelistdetector.cpp index 5598a4150c1..e3892de75bd 100644 --- a/src/plugins/qnx/blackberrydevicelistdetector.cpp +++ b/src/plugins/qnx/blackberrydevicelistdetector.cpp @@ -30,8 +30,11 @@ #include "blackberrydevicelistdetector.h" +#include "blackberryconfigurationmanager.h" #include "blackberryndkprocess.h" +#include + #include 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"); diff --git a/src/plugins/qnx/blackberryndkprocess.cpp b/src/plugins/qnx/blackberryndkprocess.cpp index 56f52fbee36..f197d4cb460 100644 --- a/src/plugins/qnx/blackberryndkprocess.cpp +++ b/src/plugins/qnx/blackberryndkprocess.cpp @@ -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()));