--- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/builder/EpocEngineHelper.java Fri Apr 16 11:33:55 2010 -0500
+++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/builder/EpocEngineHelper.java Fri Apr 16 14:18:25 2010 -0500
@@ -854,16 +854,8 @@
exePath = tempPath.lastSegment();
}
- String releasePlatform = buildConfig.getSDK().getBSFCatalog().getReleasePlatform(buildConfig.getBasePlatformForVariation());
- if (CarbideBuilderPlugin.getBuildManager().isCarbideSBSv2Project(buildConfig.getCarbideProject().getProject())){
- // Test is this is an SBSv2 build binary variant (changes the output directory)
- ISBSv2BuildConfigInfo sbsv2Info = ((CarbideBuildConfiguration)buildConfig).getSBSv2BuildConfigInfo();
- if ( sbsv2Info != null && SBSv2Utils.getVariantOutputDirModifier(sbsv2Info.getSBSv2Setting(ISBSv2BuildConfigInfo.ATTRIB_SBSV2_VARIANT)) != null && !releasePlatform.contains(".") ){
- releasePlatform = releasePlatform + SBSv2Utils.getVariantOutputDirModifier(sbsv2Info.getSBSv2Setting(ISBSv2BuildConfigInfo.ATTRIB_SBSV2_VARIANT));
- }
- }
-
- IPath path = buildConfig.getSDK().getReleaseRoot().append(releasePlatform.toLowerCase()).append(buildConfig.getTargetString().toLowerCase());
+ IPath path = buildConfig.getTargetOutputDirectory();
+ //IPath path = buildConfig.getSDK().getReleaseRoot().append(releasePlatform.toLowerCase()).append(buildConfig.getTargetString().toLowerCase());
// if targetpath is non-null and this is an EKA1 emulator config then add it
if (buildConfig.getPlatformString().equals(ISymbianBuildContext.EMULATOR_PLATFORM)) {
--- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/builder/project/ICarbideBuildConfiguration.java Fri Apr 16 11:33:55 2010 -0500
+++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/builder/project/ICarbideBuildConfiguration.java Fri Apr 16 14:18:25 2010 -0500
@@ -18,6 +18,8 @@
import java.util.List;
+import org.eclipse.core.runtime.IPath;
+
import com.nokia.carbide.cdt.builder.BuildArgumentsInfo;
import com.nokia.carbide.cpp.sdk.core.ISymbianBuildContext;
@@ -129,4 +131,10 @@
*/
boolean equals(Object obj);
+ /** Get the full path of the release directory into the SDK where binaries are built
+ * NOTE: This does not account for whether or not a project has the FEATUREVARIANT keyword
+ * @return IPath
+ */
+ IPath getTargetOutputDirectory();
+
}
--- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/CarbideBuildConfiguration.java Fri Apr 16 11:33:55 2010 -0500
+++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/CarbideBuildConfiguration.java Fri Apr 16 14:18:25 2010 -0500
@@ -21,7 +21,6 @@
import org.eclipse.cdt.core.CCorePlugin;
import org.eclipse.cdt.core.model.CoreModel;
-import org.eclipse.cdt.core.settings.model.CMacroEntry;
import org.eclipse.cdt.core.settings.model.ICConfigurationDescription;
import org.eclipse.cdt.core.settings.model.ICProjectDescription;
import org.eclipse.cdt.core.settings.model.ICStorageElement;
@@ -45,6 +44,7 @@
import com.nokia.carbide.cdt.builder.project.IROMBuilderInfo;
import com.nokia.carbide.cdt.builder.project.ISISBuilderInfo;
import com.nokia.carbide.cdt.internal.api.builder.SISBuilderInfo2;
+import com.nokia.carbide.cpp.internal.api.sdk.SBSv2Utils;
import com.nokia.carbide.cpp.internal.api.sdk.SDKManagerInternalAPI;
import com.nokia.carbide.cpp.internal.api.sdk.SymbianBuildContext;
import com.nokia.carbide.cpp.sdk.core.ISymbianBuildContext;
@@ -105,7 +105,9 @@
} else if (se.getName().equals(ROM_BUILDER_DATA_ID)) {
romBuilderInfo.loadFromStorage(se);
} else if (se.getName().equals(SBSV2_DATA_ID)){
- sbsv2BuilderInfo.loadFromStorage(se);
+ if (sbsv2BuilderInfo != null){
+ sbsv2BuilderInfo.loadFromStorage(se);
+ }
}
}
} else {
@@ -428,4 +430,16 @@
public ISBSv2BuildConfigInfo getSBSv2ConfigInfo() {
return sbsv2BuilderInfo;
}
+
+ public IPath getTargetOutputDirectory() {
+ String releasePlatform = getSDK().getBSFCatalog().getReleasePlatform(getBasePlatformForVariation());
+ if (CarbideBuilderPlugin.getBuildManager().isCarbideSBSv2Project(getCarbideProject().getProject())){
+ // Test is this is an SBSv2 build binary variant (changes the output directory)
+ ISBSv2BuildConfigInfo sbsv2Info = getSBSv2BuildConfigInfo();
+ if ( sbsv2Info != null && SBSv2Utils.getVariantOutputDirModifier(sbsv2Info.getSBSv2Setting(ISBSv2BuildConfigInfo.ATTRIB_SBSV2_VARIANT)) != null && !releasePlatform.contains(".") ){
+ releasePlatform = releasePlatform + SBSv2Utils.getVariantOutputDirModifier(sbsv2Info.getSBSv2Setting(ISBSv2BuildConfigInfo.ATTRIB_SBSV2_VARIANT));
+ }
+ }
+ return getSDK().getReleaseRoot().append(releasePlatform.toLowerCase()).append(getTargetString().toLowerCase());
+ }
}
--- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/CarbideBuildData.java Fri Apr 16 11:33:55 2010 -0500
+++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/CarbideBuildData.java Fri Apr 16 14:18:25 2010 -0500
@@ -59,14 +59,7 @@
@Override
public ICOutputEntry[] getOutputDirectories() {
- String thePlatform = carbideBuildConfig.getPlatformString();
- if (CarbideBuilderPlugin.getBuildManager().isCarbideSBSv2Project(carbideBuildConfig.getCarbideProject().getProject())){
- ISBSv2BuildConfigInfo sbsv2Info = ((CarbideBuildConfiguration)carbideBuildConfig).getSBSv2BuildConfigInfo();
- if ( sbsv2Info != null && SBSv2Utils.getVariantOutputDirModifier(sbsv2Info.getSBSv2Setting(ISBSv2BuildConfigInfo.ATTRIB_SBSV2_VARIANT)) != null ){
- thePlatform = thePlatform + SBSv2Utils.getVariantOutputDirModifier(sbsv2Info.getSBSv2Setting(ISBSv2BuildConfigInfo.ATTRIB_SBSV2_VARIANT));
- }
- }
- IPath outputPath = carbideBuildConfig.getSDK().getReleaseRoot().append(thePlatform).append(carbideBuildConfig.getTargetString());
+ IPath outputPath = carbideBuildConfig.getTargetOutputDirectory();
return new ICOutputEntry[]{new COutputEntry(outputPath, null, 0)};
}