project/com.nokia.carbide.cpp.epoc.engine.tests/src/com/nokia/carbide/cpp/epoc/engine/tests/TestsPlugin.java
branchC3_BUILDER_WORK
changeset 1462 b38491fd06da
parent 1434 79471fd1fd69
equal deleted inserted replaced
1460:26f585ac8a88 1462:b38491fd06da
    14 * Description: 
    14 * Description: 
    15 *
    15 *
    16 */
    16 */
    17 package com.nokia.carbide.cpp.epoc.engine.tests;
    17 package com.nokia.carbide.cpp.epoc.engine.tests;
    18 
    18 
    19 import com.nokia.carbide.cpp.internal.api.sdk.ISBSv1BuildInfo;
    19 import java.util.ArrayList;
    20 import com.nokia.carbide.cpp.internal.api.sdk.ISBSv2BuildInfo;
    20 import java.util.Collections;
    21 import com.nokia.carbide.cpp.sdk.core.*;
    21 import java.util.List;
       
    22 
       
    23 import junit.framework.TestCase;
    22 
    24 
    23 import org.eclipse.core.runtime.Plugin;
    25 import org.eclipse.core.runtime.Plugin;
    24 import org.osgi.framework.BundleContext;
    26 import org.osgi.framework.BundleContext;
    25 
    27 
    26 import java.util.*;
    28 import com.nokia.carbide.cpp.internal.api.sdk.ISBSv1BuildInfo;
    27 
    29 import com.nokia.carbide.cpp.internal.api.sdk.ISBSv2BuildInfo;
    28 import junit.framework.TestCase;
    30 import com.nokia.carbide.cpp.sdk.core.ISymbianBuildContext;
       
    31 import com.nokia.carbide.cpp.sdk.core.ISymbianBuilderID;
       
    32 import com.nokia.carbide.cpp.sdk.core.ISymbianSDK;
       
    33 import com.nokia.carbide.cpp.sdk.core.SDKCorePlugin;
    29 
    34 
    30 /**
    35 /**
    31  * The main plugin class to be used in the desktop.
    36  * The main plugin class to be used in the desktop.
    32  */
    37  */
    33 public class TestsPlugin extends Plugin {
    38 public class TestsPlugin extends Plugin {
    70 	 */
    75 	 */
    71 	public static List<ISymbianBuildContext> getUsableBuildConfigs() {
    76 	public static List<ISymbianBuildContext> getUsableBuildConfigs() {
    72 		for (ISymbianSDK sdk : SDKCorePlugin.getSDKManager().getSDKList()) {
    77 		for (ISymbianSDK sdk : SDKCorePlugin.getSDKManager().getSDKList()) {
    73 			ISBSv1BuildInfo sbsv1BuildInfo = (ISBSv1BuildInfo)sdk.getBuildInfo(ISymbianBuilderID.SBSV1_BUILDER);
    78 			ISBSv1BuildInfo sbsv1BuildInfo = (ISBSv1BuildInfo)sdk.getBuildInfo(ISymbianBuilderID.SBSV1_BUILDER);
    74 			ISBSv2BuildInfo sbsv2BuildInfo = (ISBSv2BuildInfo)sdk.getBuildInfo(ISymbianBuilderID.SBSV2_BUILDER);
    79 			ISBSv2BuildInfo sbsv2BuildInfo = (ISBSv2BuildInfo)sdk.getBuildInfo(ISymbianBuilderID.SBSV2_BUILDER);
    75 			List<ISymbianBuildContext> contexts;
    80 			List<ISymbianBuildContext> contexts = new ArrayList<ISymbianBuildContext>();
    76 			if (sbsv1BuildInfo != null) {
    81 			contexts.addAll(sbsv1BuildInfo.getAllBuildConfigurations());
    77 				contexts = sbsv1BuildInfo.getAllBuildConfigurations(sdk);
    82 			contexts.addAll(sbsv2BuildInfo.getAllBuildConfigurations());
    78 				if (contexts.size() > 0) {
    83 			if (contexts.size() > 0) {
    79 					return contexts.subList(0, Math.min(contexts.size(), 8));
    84 				return contexts.subList(0, Math.min(contexts.size(), 8));
    80 				}
       
    81 			} else if (sbsv2BuildInfo != null) {
       
    82 				contexts = sbsv2BuildInfo.getAllBuildConfigurations(sdk);
       
    83 				if (contexts.size() > 0) {
       
    84 					return contexts.subList(0, Math.min(contexts.size(), 8));
       
    85 				}
       
    86 			}
    85 			}
    87 		}
    86 		}
    88 		TestCase.fail("No installed SDKs provide build configurations");
    87 		TestCase.fail("No installed SDKs provide build configurations");
    89 		return Collections.emptyList();
    88 		return Collections.emptyList();
    90 	}
    89 	}