private void verbose(String message) {
logger.debug("[OnDemandInstall][" + Thread.currentThread().getId() + "] " + message);
}
+
+ private void warn(String message) {
+ logger.warn("[OnDemandInstall][" + Thread.currentThread().getId() + "] " + message);
+ }
class OnDemandRunnable implements Runnable {
IProgressMonitor monitor = null;
{
continue;
}
+ verbose("a extension ('" + packagename + "') is loaded." );
String description = ce.getAttribute("description");
Path sourcePath = new Path(InstallPathConfig.getPlatformVersionPath() + "/" + sourcepath);
File packageList = new File(sourcePath.toOSString());
if ( dt != null ) {
toolLists.add(dt);
}
+ else if ( dt == null) {
+ warn("packagename('" + packagename + "') does not match with the file name('" + f.getName() + "').");
+ }
}
}
}
}
private DebugTool makeDebugToolFromRPM( File f, IDevice device, String packagename, String sourcepath, String description ) {
- String architecture = "";
- String version = "";
- String name = "";
-
- // Not supported "RPM" at windows
- // architecture = HostUtil.returnExecute( String.format( DebugTool.RPM_QUERY_COMMAND, "%{ARCH}", "-p " + f.getCanonicalPath()) );
- // version = HostUtil.returnExecute( String.format( DebugTool.RPM_QUERY_COMMAND, "%{VERSION}", "-p " + f.getCanonicalPath()) );
- // name = HostUtil.returnExecute( String.format( DebugTool.RPM_QUERY_COMMAND, "%{NAME}", "-p " + f.getCanonicalPath()) );
-
- // RPM file format : <name>-<version>-<release>.<architecture>.rpm
- String[] fileSplit = f.getName().split("-");
- if ( fileSplit.length < 3 ) {
- return null;
- }
-
- name = fileSplit[0];
- for ( int i = 1 ; i < fileSplit.length - 2 ; i++ ) {
- name += "-" + fileSplit[i];
- }
- // version is not used
- // FIXME : Unsafe way to extract the version.
- version = fileSplit[fileSplit.length - 2];
- String[] archSplit = fileSplit[fileSplit.length-1].split("\\.");
- architecture = archSplit[archSplit.length-2];
-
- if ( !packagename.equals(name) ) {
- verbose("packagename('" + packagename + "') does not match with the split file name('" + name + "').");
- return null;
- }
- if (verifyArchitecture(architecture) == false) {
- return null;
- }
+ DebugTool dt = null;
+ try {
+ verbose("start makeDebugToolFromRPM(f - '" + f.getName() + ", ' packagename - '" + packagename + "')" );
+ String architecture = "";
+ String version = "";
+ String name = "";
+
+ // Not supported "RPM" at windows
+ // architecture = HostUtil.returnExecute( String.format( DebugTool.RPM_QUERY_COMMAND, "%{ARCH}", "-p " + f.getCanonicalPath()) );
+ // version = HostUtil.returnExecute( String.format( DebugTool.RPM_QUERY_COMMAND, "%{VERSION}", "-p " + f.getCanonicalPath()) );
+ // name = HostUtil.returnExecute( String.format( DebugTool.RPM_QUERY_COMMAND, "%{NAME}", "-p " + f.getCanonicalPath()) );
+
+ // RPM file format : <name>-<version>-<release>.<architecture>.rpm
+ String[] fileSplit = f.getName().split("-");
+ if ( fileSplit.length < 3 ) {
+ return null;
+ }
- DebugTool dt = new DebugTool(packagename, f.getName(), sourcepath, version, description, architecture, OnDemandInstall.RPM_PACKAGE_TYPE);
+ name = fileSplit[0];
+ for ( int i = 1 ; i < fileSplit.length - 2 ; i++ ) {
+ name += "-" + fileSplit[i];
+ }
+ // version is not used
+ // FIXME : Unsafe way to extract the version.
+ version = fileSplit[fileSplit.length - 2];
+ String[] archSplit = fileSplit[fileSplit.length-1].split("\\.");
+ architecture = archSplit[archSplit.length-2];
+
+ if ( !packagename.equals(name) ) {
+ return null;
+ }
+ if (verifyArchitecture(architecture) == false) {
+ return null;
+ }
- return dt;
+ dt = new DebugTool(packagename, f.getName(), sourcepath, version, description, architecture, OnDemandInstall.RPM_PACKAGE_TYPE);
+ } finally {
+ verbose("end makeDebugToolFromRPM(f - '" + f.getName() + ", ' packagename - '" + packagename + "') return: " + dt );
+ return dt;
+ }
}
private DebugTool makeDebugToolFromTar( File f, IDevice device, String packagename, String sourcepath, String description ) {
- String[] filename = f.getName().split("_");
- if (filename.length != 3) {
- return null;
- }
- if( !filename[0].equals(packagename)) {
- return null;
- }
- String version = filename[1];
- String[] arch = filename[2].split("\\.");
- if (arch.length != 2) {
- return null;
- }
- String architecture = arch[0];
+ DebugTool dt = null;
+ try {
+ verbose("start makeDebugToolFromTar(f - '" + f.getName() + ", ' packagename - '" + packagename + "')" );
+ String[] filename = f.getName().split("_");
+ if (filename.length != 3) {
+ return null;
+ }
+ if( !filename[0].equals(packagename)) {
+ return null;
+ }
+ String version = filename[1];
+ String[] arch = filename[2].split("\\.");
+ if (arch.length != 2) {
+ return null;
+ }
+ String architecture = arch[0];
- if (verifyArchitecture(architecture) == false) {
- return null;
+ if (verifyArchitecture(architecture) == false) {
+ return null;
+ }
+ dt = new DebugTool(packagename, f.getName(), sourcepath, version, description, architecture, "tar");
+ } finally {
+ verbose("end makeDebugToolFromTar(f - '" + f.getName() + ", ' packagename - '" + packagename + "') return: " + dt );
+ return dt;
}
-
- DebugTool dt = new DebugTool(packagename, f.getName(), sourcepath, version, description, architecture, "tar");
- return dt;
}
}
\ No newline at end of file