# HG changeset patch # User timkelly # Date 1271445505 18000 # Node ID 17df11e18bc26dc376a24ade5f093cc9c6225cba # Parent 56b5cd0c538df1fabbc0b63b81d903c1ab6ffcab little clean-up/refactor after review of bug 11068 diff -r 56b5cd0c538d -r 17df11e18bc2 builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/builder/EpocEngineHelper.java --- 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)) { diff -r 56b5cd0c538d -r 17df11e18bc2 builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/builder/project/ICarbideBuildConfiguration.java --- 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(); + } diff -r 56b5cd0c538d -r 17df11e18bc2 builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/CarbideBuildConfiguration.java --- 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()); + } } diff -r 56b5cd0c538d -r 17df11e18bc2 builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/CarbideBuildData.java --- 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)}; }