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; |
|
20 import com.nokia.carbide.cpp.internal.api.sdk.ISBSv2BuildInfo; |
19 import com.nokia.carbide.cpp.sdk.core.*; |
21 import com.nokia.carbide.cpp.sdk.core.*; |
20 |
22 |
21 import org.eclipse.core.runtime.Plugin; |
23 import org.eclipse.core.runtime.Plugin; |
22 import org.osgi.framework.BundleContext; |
24 import org.osgi.framework.BundleContext; |
23 |
25 |
66 * Get some build configurations for the first non-empty SDK we find. |
68 * Get some build configurations for the first non-empty SDK we find. |
67 * @return a list of contexts, no more than 8. |
69 * @return a list of contexts, no more than 8. |
68 */ |
70 */ |
69 public static List<ISymbianBuildContext> getUsableBuildConfigs() { |
71 public static List<ISymbianBuildContext> getUsableBuildConfigs() { |
70 for (ISymbianSDK sdk : SDKCorePlugin.getSDKManager().getSDKList()) { |
72 for (ISymbianSDK sdk : SDKCorePlugin.getSDKManager().getSDKList()) { |
71 List<ISymbianBuildContext> contexts = sdk.getUnfilteredBuildConfigurations(); |
73 ISBSv1BuildInfo sbsv1BuildInfo = (ISBSv1BuildInfo)sdk.getBuildInfo(ISymbianBuilderID.SBSV1_BUILDER); |
72 if (contexts.size() > 0) { |
74 ISBSv2BuildInfo sbsv2BuildInfo = (ISBSv2BuildInfo)sdk.getBuildInfo(ISymbianBuilderID.SBSV2_BUILDER); |
73 return contexts.subList(0, Math.min(contexts.size(), 8)); |
75 List<ISymbianBuildContext> contexts; |
|
76 if (sbsv1BuildInfo != null) { |
|
77 contexts = sbsv1BuildInfo.getAllBuildConfigurations(sdk); |
|
78 if (contexts.size() > 0) { |
|
79 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 } |
74 } |
86 } |
75 } |
87 } |
76 TestCase.fail("No installed SDKs provide build configurations"); |
88 TestCase.fail("No installed SDKs provide build configurations"); |
77 return Collections.emptyList(); |
89 return Collections.emptyList(); |
78 } |
90 } |