[yocto] [eclipse-poky][PATCH] Fix NullPointerException
David Nyström
david.nystrom at enea.com
Tue Sep 4 01:20:48 PDT 2012
From: Björn Arnelid <bjorn.arnelid at enea.com>
[Yocto Bugzilla] -- https://bugzilla.yoctoproject.org/show_bug.cgi?id=3019
When using a Toolchain where sysroot is not named <arch>-pokysdk-linux a NullPointerException is thrown when trying to apply changes in Yocto Preferences.
It should be possible to use Toolchains with a sysroot named <arch>-<organizationName>sdk-linux with the plugin.
static private String findHostArch(File sysroot_dir) now accept folders named *sdk-linux instead of *-pokysdk-linux. checkYoctoSDK will also return SDKCheckResults.TOOLCHAIN_NO_SYSROOT if findHostArch returns null.
Author: Björn Arnelid <bjorn.arnelid at enea.com>
Signed-off-by: David Nyström <david.nystrom at enea.com>
---
.../src/org/yocto/sdk/ide/YoctoSDKUtils.java | 20 +++++++++++++++-----
1 file changed, 15 insertions(+), 5 deletions(-)
diff --git a/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/YoctoSDKUtils.java b/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/YoctoSDKUtils.java
index 6be90be..749fac7 100644
--- a/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/YoctoSDKUtils.java
+++ b/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/YoctoSDKUtils.java
@@ -100,7 +100,17 @@ public class YoctoSDKUtils {
File sysroot_dir = new File(sysroot_dir_str);
if (!sysroot_dir.exists())
return SDKCheckResults.TOOLCHAIN_NO_SYSROOT;
- String toolchain_host_arch = findHostArch(sysroot_dir);
+
+ String toolchain_host_arch = null;
+
+ try
+ {
+ toolchain_host_arch = findHostArch(sysroot_dir);
+ }
+ catch(NullPointerException e)
+ {
+ return SDKCheckResults.TOOLCHAIN_NO_SYSROOT;
+ }
if (!toolchain_host_arch.equalsIgnoreCase(platform)) {
if (!platform.matches("i\\d86") || !toolchain_host_arch.matches("i\\d86"))
@@ -576,7 +586,7 @@ public class YoctoSDKUtils {
static private String findHostArch(File sysroot_dir) {
FilenameFilter nativeFilter = new FilenameFilter() {
public boolean accept(File dir, String name) {
- if (name.endsWith("-pokysdk-linux")) {
+ if (name.endsWith("sdk-linux")) {
return true;
} else {
return false;
@@ -590,11 +600,11 @@ public class YoctoSDKUtils {
for (File file : files) {
if (file.isDirectory()) {
String path = file.getName();
- arch = path.substring(0, path.indexOf("-pokysdk-linux"));
+ String[] subPath = path.split("-");
+ arch = subPath[0];
} else
continue;
}
return arch;
}
-}
-
+}
\ No newline at end of file
--
1.7.9.5
More information about the yocto
mailing list