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 } |