diff options
author | Daniel Teske <daniel.teske@digia.com> | 2013-06-10 18:18:38 +0200 |
---|---|---|
committer | Daniel Teske <daniel.teske@digia.com> | 2013-06-14 13:13:12 +0200 |
commit | cb6eaa3c2435128392d5ef7bd98e26902d086ece (patch) | |
tree | 610b145f61f3472ef1a405b580dfb23ee6d3e90d | |
parent | 8127ebe244c9c6a2561e592e2ed550d7b6d67115 (diff) |
Android: Set JAVA_HOME in environment and use that environment
Change-Id: Ia0f3abad74b7ac423fab621ca22e0f698747c477
Reviewed-by: BogDan Vatra <bogdan@kde.org>
Reviewed-by: Ray Donnelly <mingw.android@gmail.com>
-rw-r--r-- | src/plugins/android/androidmanager.cpp | 5 | ||||
-rw-r--r-- | src/plugins/android/androidpackagecreationstep.cpp | 2 | ||||
-rw-r--r-- | src/plugins/android/androidpackagecreationstep.h | 3 | ||||
-rw-r--r-- | src/plugins/android/androidtoolchain.cpp | 3 |
4 files changed, 12 insertions, 1 deletions
diff --git a/src/plugins/android/androidmanager.cpp b/src/plugins/android/androidmanager.cpp index ed2fb8d10f..4761b68db4 100644 --- a/src/plugins/android/androidmanager.cpp +++ b/src/plugins/android/androidmanager.cpp @@ -611,9 +611,14 @@ void AndroidManager::updateTarget(ProjectExplorer::Target *target, const QString { QString androidDir = dirPath(target).toString(); + Utils::Environment env = Utils::Environment::systemEnvironment(); + QString javaHome = AndroidConfigurations::instance().config().openJDKLocation.toString(); + if (!javaHome.isEmpty()) + env.set(QLatin1String("JAVA_HOME"), javaHome); // clean previous build QProcess androidProc; androidProc.setWorkingDirectory(androidDir); + androidProc.setProcessEnvironment(env.toProcessEnvironment()); androidProc.start(AndroidConfigurations::instance().antToolPath().toString(), QStringList() << QLatin1String("clean")); if (!androidProc.waitForFinished(-1)) diff --git a/src/plugins/android/androidpackagecreationstep.cpp b/src/plugins/android/androidpackagecreationstep.cpp index 5616af1f05..5f80db9cd8 100644 --- a/src/plugins/android/androidpackagecreationstep.cpp +++ b/src/plugins/android/androidpackagecreationstep.cpp @@ -169,6 +169,7 @@ bool AndroidPackageCreationStep::init() m_certificatePasswdForRun = m_certificatePasswd; m_jarSigner = AndroidConfigurations::instance().jarsignerPath(); m_zipAligner = AndroidConfigurations::instance().zipalignPath(); + m_environment = bc->environment(); ProjectExplorer::ToolChain *tc = ProjectExplorer::ToolChainKitInformation::toolChain(target()->kit()); if (tc->type() != QLatin1String(Constants::ANDROID_TOOLCHAIN_TYPE)) @@ -702,6 +703,7 @@ bool AndroidPackageCreationStep::createPackage() emit addOutput(tr("Creating package file ..."), MessageOutput); QProcess *const buildProc = new QProcess; + buildProc->setProcessEnvironment(m_environment.toProcessEnvironment()); connect(buildProc, SIGNAL(readyReadStandardOutput()), this, SLOT(handleBuildStdOutOutput())); diff --git a/src/plugins/android/androidpackagecreationstep.h b/src/plugins/android/androidpackagecreationstep.h index 64c958702c..bc7336cd2a 100644 --- a/src/plugins/android/androidpackagecreationstep.h +++ b/src/plugins/android/androidpackagecreationstep.h @@ -35,6 +35,7 @@ #include <projectexplorer/abi.h> #include <projectexplorer/buildstep.h> +#include <utils/environment.h> #include <QAbstractItemModel> @@ -140,10 +141,10 @@ private: QStringList m_qtLibsWithDependencies; QVector<AndroidManager::Library> m_availableQtLibs; QStringList m_prebundledLibs; - QStringList m_bundledJars; QStringList m_otherBundledFiles; bool m_bundleQt; + Utils::Environment m_environment; }; } // namespace Internal diff --git a/src/plugins/android/androidtoolchain.cpp b/src/plugins/android/androidtoolchain.cpp index 6e3ba77b68..a05cba4a18 100644 --- a/src/plugins/android/androidtoolchain.cpp +++ b/src/plugins/android/androidtoolchain.cpp @@ -115,6 +115,9 @@ void AndroidToolChain::addToEnvironment(Environment &env) const env.set(QLatin1String("ANDROID_NDK_TOOLCHAIN_PREFIX"), AndroidConfigurations::toolchainPrefix(targetAbi().architecture())); env.set(QLatin1String("ANDROID_NDK_TOOLS_PREFIX"), AndroidConfigurations::toolsPrefix(targetAbi().architecture())); env.set(QLatin1String("ANDROID_NDK_TOOLCHAIN_VERSION"), m_ndkToolChainVersion); + QString javaHome = AndroidConfigurations::instance().openJDKPath().toString(); + if (!javaHome.isEmpty() && QFileInfo(javaHome).exists()) + env.set(QLatin1String("JAVA_HOME"), javaHome); } bool AndroidToolChain::operator ==(const ToolChain &tc) const |