fix bug 11068. make sbsv2 variant appender configuration specific
--- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/builder/EpocEngineHelper.java Thu Apr 15 15:32:21 2010 -0500
+++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/builder/EpocEngineHelper.java Thu Apr 15 17:45:19 2010 -0500
@@ -16,30 +16,78 @@
*/
package com.nokia.carbide.cdt.builder;
+import java.io.File;
+import java.io.FilenameFilter;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.eclipse.cdt.core.CCorePlugin;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.core.runtime.Plugin;
+
import com.nokia.carbide.cdt.builder.builder.CarbideCPPBuilder;
-import com.nokia.carbide.cdt.builder.project.*;
-import com.nokia.carbide.cpp.epoc.engine.*;
-import com.nokia.carbide.cpp.epoc.engine.image.*;
-import com.nokia.carbide.cpp.epoc.engine.model.bldinf.*;
+import com.nokia.carbide.cdt.builder.project.ICarbideBuildConfiguration;
+import com.nokia.carbide.cdt.builder.project.ICarbideProjectInfo;
+import com.nokia.carbide.cdt.builder.project.ISISBuilderInfo;
+import com.nokia.carbide.cdt.internal.builder.CarbideBuildConfiguration;
+import com.nokia.carbide.cdt.internal.builder.ISBSv2BuildConfigInfo;
+import com.nokia.carbide.cpp.epoc.engine.BldInfDataRunnableAdapter;
+import com.nokia.carbide.cpp.epoc.engine.BldInfViewRunnableAdapter;
+import com.nokia.carbide.cpp.epoc.engine.EpocEnginePlugin;
+import com.nokia.carbide.cpp.epoc.engine.ImageMakefileDataRunnableAdapter;
+import com.nokia.carbide.cpp.epoc.engine.MMPDataRunnableAdapter;
+import com.nokia.carbide.cpp.epoc.engine.MMPViewRunnableAdapter;
+import com.nokia.carbide.cpp.epoc.engine.PKGViewRunnableAdapter;
+import com.nokia.carbide.cpp.epoc.engine.image.IBitmapSource;
+import com.nokia.carbide.cpp.epoc.engine.image.IImageSource;
+import com.nokia.carbide.cpp.epoc.engine.image.IMultiImageSource;
+import com.nokia.carbide.cpp.epoc.engine.model.bldinf.IBldInfData;
+import com.nokia.carbide.cpp.epoc.engine.model.bldinf.IBldInfView;
+import com.nokia.carbide.cpp.epoc.engine.model.bldinf.IExport;
import com.nokia.carbide.cpp.epoc.engine.model.bldinf.IExtension;
+import com.nokia.carbide.cpp.epoc.engine.model.bldinf.IMMPReference;
+import com.nokia.carbide.cpp.epoc.engine.model.bldinf.IMakMakeReference;
+import com.nokia.carbide.cpp.epoc.engine.model.bldinf.IMakefileReference;
import com.nokia.carbide.cpp.epoc.engine.model.makefile.image.IImageMakefileData;
-import com.nokia.carbide.cpp.epoc.engine.model.mmp.*;
+import com.nokia.carbide.cpp.epoc.engine.model.mmp.EMMPLanguage;
+import com.nokia.carbide.cpp.epoc.engine.model.mmp.EMMPStatement;
+import com.nokia.carbide.cpp.epoc.engine.model.mmp.IMMPAIFInfo;
+import com.nokia.carbide.cpp.epoc.engine.model.mmp.IMMPBitmap;
+import com.nokia.carbide.cpp.epoc.engine.model.mmp.IMMPData;
+import com.nokia.carbide.cpp.epoc.engine.model.mmp.IMMPResource;
+import com.nokia.carbide.cpp.epoc.engine.model.mmp.IMMPView;
+import com.nokia.carbide.cpp.epoc.engine.model.mmp.IMMPViewConfiguration;
import com.nokia.carbide.cpp.epoc.engine.preprocessor.AcceptedNodesViewFilter;
import com.nokia.carbide.cpp.epoc.engine.preprocessor.AllNodesViewFilter;
+import com.nokia.carbide.cpp.internal.api.sdk.SBSv2Utils;
import com.nokia.carbide.cpp.internal.api.sdk.SymbianBuildContext;
import com.nokia.carbide.cpp.sdk.core.ISymbianBuildContext;
import com.nokia.carbide.cpp.sdk.core.ISymbianSDK;
-import com.nokia.carbide.internal.api.cpp.epoc.engine.model.pkg.*;
-import com.nokia.cpp.internal.api.utils.core.*;
-
-import org.eclipse.cdt.core.CCorePlugin;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.*;
-
-import java.io.*;
-import java.util.*;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
+import com.nokia.carbide.internal.api.cpp.epoc.engine.model.pkg.EPKGLanguage;
+import com.nokia.carbide.internal.api.cpp.epoc.engine.model.pkg.IPKGEmbeddedSISFile;
+import com.nokia.carbide.internal.api.cpp.epoc.engine.model.pkg.IPKGInstallFile;
+import com.nokia.carbide.internal.api.cpp.epoc.engine.model.pkg.IPKGView;
+import com.nokia.carbide.internal.api.cpp.epoc.engine.model.pkg.PKGModelHelper;
+import com.nokia.cpp.internal.api.utils.core.CommonPathFinder;
+import com.nokia.cpp.internal.api.utils.core.FileUtils;
+import com.nokia.cpp.internal.api.utils.core.Logging;
+import com.nokia.cpp.internal.api.utils.core.TextUtils;
public class EpocEngineHelper {
@@ -815,6 +863,13 @@
}
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).append(buildConfig.getTargetString());
// if targetpath is non-null and this is an EKA1 emulator config then add it
--- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/builder/PKGViewPathHelper.java Thu Apr 15 15:32:21 2010 -0500
+++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/builder/PKGViewPathHelper.java Thu Apr 15 17:45:19 2010 -0500
@@ -22,6 +22,9 @@
import com.nokia.carbide.cdt.builder.project.ICarbideBuildConfiguration;
import com.nokia.carbide.cdt.builder.project.ISISBuilderInfo;
+import com.nokia.carbide.cdt.internal.builder.CarbideBuildConfiguration;
+import com.nokia.carbide.cdt.internal.builder.ISBSv2BuildConfigInfo;
+import com.nokia.carbide.cpp.internal.api.sdk.SBSv2Utils;
import com.nokia.carbide.internal.api.cpp.epoc.engine.model.pkg.IPKGView;
import com.nokia.cpp.internal.api.utils.core.Check;
@@ -69,7 +72,14 @@
this.pkgFilePath = view.getModel().getPath();
this.buildConfig = buildConfig;
this.epocRoot = new Path(buildConfig.getSDK().getEPOCROOT());
- this.platform = buildConfig.getPlatformString();
+ this.platform = buildConfig.getPlatformString();
+ 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 && !platform.contains(".") ){
+ this.platform = this.platform + SBSv2Utils.getVariantOutputDirModifier(sbsv2Info.getSBSv2Setting(ISBSv2BuildConfigInfo.ATTRIB_SBSV2_VARIANT));
+ }
+ }
this.target = buildConfig.getTargetString();
this.mainDirectory = pkgFilePath.removeLastSegments(1);
}
--- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/builder/builder/CarbideCPPBuilder.java Thu Apr 15 15:32:21 2010 -0500
+++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/builder/builder/CarbideCPPBuilder.java Thu Apr 15 17:45:19 2010 -0500
@@ -59,12 +59,13 @@
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.cdt.internal.builder.CarbideBuildConfiguration;
import com.nokia.carbide.cdt.internal.builder.CarbideSBSv1Builder;
import com.nokia.carbide.cdt.internal.builder.CarbideSBSv2Builder;
import com.nokia.carbide.cdt.internal.builder.ICarbideBuilder;
+import com.nokia.carbide.cdt.internal.builder.ISBSv2BuildConfigInfo;
import com.nokia.carbide.cdt.internal.builder.ui.BuilderPreferencePage;
import com.nokia.carbide.cdt.internal.builder.ui.MMPSelectionDialog;
-import com.nokia.carbide.cdt.internal.builder.ui.Messages;
import com.nokia.carbide.cpp.epoc.engine.EpocEnginePlugin;
import com.nokia.carbide.cpp.epoc.engine.MMPDataRunnableAdapter;
import com.nokia.carbide.cpp.epoc.engine.PKGViewRunnableAdapter;
@@ -74,6 +75,7 @@
import com.nokia.carbide.cpp.epoc.engine.model.mmp.IMMPData;
import com.nokia.carbide.cpp.epoc.engine.model.mmp.IMMPResource;
import com.nokia.carbide.cpp.epoc.engine.preprocessor.AcceptedNodesViewFilter;
+import com.nokia.carbide.cpp.internal.api.sdk.SBSv2Utils;
import com.nokia.carbide.cpp.internal.qt.core.QtCorePlugin;
import com.nokia.carbide.cpp.internal.x86build.X86BuildPlugin;
import com.nokia.carbide.cpp.sdk.core.ISymbianBuildContext;
@@ -1919,7 +1921,15 @@
pkgFileStr.contains(PKG_SYMBOL_TARGET) ) {
// need to create a new PKG file, resolved...
pkgFileStr = pkgFileStr.replace(PKG_SYMBOL_EPOCROOT, context.getSDK().getEPOCROOT());
- pkgFileStr = pkgFileStr.replace(PKG_SYMBOL_PLATFORM, context.getPlatformString());
+ String platSubst = context.getPlatformString().toLowerCase();
+ if (context instanceof CarbideBuildConfiguration){
+ // Test is this is an SBSv2 build binary variant (changes the output directory)
+ ISBSv2BuildConfigInfo sbsv2Info = ((CarbideBuildConfiguration)context).getSBSv2BuildConfigInfo();
+ if (sbsv2Info != null && SBSv2Utils.getVariantOutputDirModifier(sbsv2Info.getSBSv2Setting(ISBSv2BuildConfigInfo.ATTRIB_SBSV2_VARIANT)) != null){
+ platSubst = platSubst + SBSv2Utils.getVariantOutputDirModifier(sbsv2Info.getSBSv2Setting(ISBSv2BuildConfigInfo.ATTRIB_SBSV2_VARIANT));
+ }
+ }
+ pkgFileStr = pkgFileStr.replace(PKG_SYMBOL_PLATFORM, platSubst);
pkgFileStr = pkgFileStr.replace(PKG_SYMBOL_TARGET, context.getTargetString());
IPath tmpPKGPath = pkgFile.removeLastSegments(1);
--- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/builder/project/ICarbideProjectInfo.java Thu Apr 15 15:32:21 2010 -0500
+++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/builder/project/ICarbideProjectInfo.java Thu Apr 15 17:45:19 2010 -0500
@@ -297,13 +297,4 @@
* @since 2.2
*/
public String extraSBSv2Args();
-
- /**
- * Appends arbitrary text to a default Carbide/Raptor configuration (the -c parameter). The default name is always given, e.g. armv5_urel, but users can
- * append whatever they want to change the behavior of the build.
- * @return the string to append the text to for the Raptor -c parameter
- *
- * @since 2.6
- */
- public String buildConfigAppender();
}
--- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/CarbideBuildConfiguration.java Thu Apr 15 15:32:21 2010 -0500
+++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/CarbideBuildConfiguration.java Thu Apr 15 17:45:19 2010 -0500
@@ -70,10 +70,6 @@
// SBSv2 only config settings
protected final static String SBSV2_DATA_ID = "SBSV2_DATA_ID"; //$NON-NLS-1$
- protected final static String ATRRIB_CONFIG_BASE_PLATFORM = "CONFIG_BASE_PLATFORM"; //$NON-NLS-1$
- protected final static String ATTRIB_CONFIG_TARGET = "CONFIG_TARGET"; //$NON-NLS-1$
- protected final static String ATTRIB_SBSV2_BUILD_ALIAS = "SBSV2_BUILD_ALIAS"; //$NON-NLS-1$
- protected final static String ATTRIB_SBSV2_CONFIG_DISPLAY_STRING = "SBSV2_CONFIG_DISPLAY_STRING"; //$NON-NLS-1$
protected TrackedResource projectTracker;
protected List<ISISBuilderInfo> sisBuilderInfoList;
@@ -81,7 +77,8 @@
protected BuildArgumentsInfo buildArgumentsInfo;
protected BuildConfigurationData buildConfigData;
protected ROMBuilderInfo romBuilderInfo;
-
+ protected SBSv2BuilderInfo sbsv2BuilderInfo;
+
public CarbideBuildConfiguration(IProject project, ISymbianBuildContext context) {
super(context.getSDK(), context.getPlatformString(), context.getTargetString(), context.getSBSv2Alias());
projectTracker = new TrackedResource(project);
@@ -90,6 +87,9 @@
buildArgumentsInfo = new BuildArgumentsInfo(getSDK());
buildConfigData = new BuildConfigurationData(this);
romBuilderInfo = new ROMBuilderInfo(getSDK());
+ if (context.getSBSv2Alias() != null){
+ sbsv2BuilderInfo = new SBSv2BuilderInfo(context);
+ }
}
public void loadFromStorage(ICConfigurationDescription projDes) throws CoreException {
@@ -111,6 +111,8 @@
loadBuildArgsFromStorage(se);
} else if (se.getName().equals(ROM_BUILDER_DATA_ID)) {
romBuilderInfo.loadFromStorage(se);
+ } else if (se.getName().equals(SBSV2_DATA_ID)){
+ sbsv2BuilderInfo.loadFromStorage(se);
}
}
} else {
@@ -133,17 +135,10 @@
romBuilderInfo.saveToStorage(rootStorage.createChild(ROM_BUILDER_DATA_ID));
if (getSBSv2Alias() != null){
- saveSBSv2DataToStorage(rootStorage.createChild(SBSV2_DATA_ID));
+ sbsv2BuilderInfo.saveToStorage(rootStorage.createChild(SBSV2_DATA_ID));
}
}
}
-
- private void saveSBSv2DataToStorage(ICStorageElement createChild) {
- createChild.setAttribute(ATRRIB_CONFIG_BASE_PLATFORM, getPlatformString());
- createChild.setAttribute(ATTRIB_CONFIG_TARGET, getTargetString());
- createChild.setAttribute(ATTRIB_SBSV2_BUILD_ALIAS, getSBSv2Alias());
- createChild.setAttribute(ATTRIB_SBSV2_CONFIG_DISPLAY_STRING, getDisplayString());
- }
private void loadBuildArgsFromStorage(ICStorageElement rootStorage) {
String value = rootStorage.getAttribute(BuildArgumentsInfo.BLDMAKEBLDFILESARGSSTORAGE);
@@ -434,4 +429,12 @@
return false;
}
+ public ISBSv2BuildConfigInfo getSBSv2BuildConfigInfo(){
+ return sbsv2BuilderInfo;
+ }
+
+ public ISBSv2BuildConfigInfo getSBSv2ConfigInfo() {
+ return sbsv2BuilderInfo;
+ }
+
}
--- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/CarbideBuildData.java Thu Apr 15 15:32:21 2010 -0500
+++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/CarbideBuildData.java Thu Apr 15 17:45:19 2010 -0500
@@ -24,6 +24,7 @@
import com.nokia.carbide.cdt.builder.CarbideBuilderPlugin;
import com.nokia.carbide.cdt.builder.project.ICarbideBuildConfiguration;
+import com.nokia.carbide.cpp.internal.api.sdk.SBSv2Utils;
/**
* Part of the new CDT 4.0 project model requirements. All this class
@@ -58,7 +59,14 @@
@Override
public ICOutputEntry[] getOutputDirectories() {
- IPath outputPath = carbideBuildConfig.getSDK().getReleaseRoot().append(carbideBuildConfig.getPlatformString()).append(carbideBuildConfig.getTargetString());
+ 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());
return new ICOutputEntry[]{new COutputEntry(outputPath, null, 0)};
}
--- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/CarbideProjectInfo.java Thu Apr 15 15:32:21 2010 -0500
+++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/CarbideProjectInfo.java Thu Apr 15 17:45:19 2010 -0500
@@ -61,7 +61,6 @@
protected boolean overrideMakeEngine;
protected String makeEngineToUse;
protected String extraSBSv2Args;
- protected String buildAliasAppender;
// for internal plugin use
public static final String OVERRIDE_WORKSPACE_SETTINGS_KEY = "overrideWorkspaceSettings"; //$NON-NLS-1$
@@ -80,7 +79,6 @@
public static final String OVERRIDE_MAKE_ENGINE = "overrideMakeEngine"; //$NON-NLS-1$
public static final String MAKE_ENGINE_TO_USE = "makeEngineToUse"; //$NON-NLS-1$
public static final String EXTRA_SBSV2_ARGS = "extraSBSv2Args"; //$NON-NLS-1$
- public static final String BUILD_ALIAS_APPENDER = "buildAliasAppendText"; //$NON-NLS-1$
public CarbideProjectInfo(IProject project) {
this.projectTracker = new TrackedResource(project);
@@ -230,11 +228,6 @@
if (orig != null){
extraSBSv2Args = orig;
}
- orig = storage.getAttribute(BUILD_ALIAS_APPENDER);
- if (orig != null){
- buildAliasAppender = orig;
- }
-
}
}
}
@@ -267,7 +260,6 @@
overrideMakeEngine = BuilderPreferencePage.overrideDefaultMakeEngine();
makeEngineToUse = BuilderPreferencePage.makeEngine();
extraSBSv2Args = BuilderPreferencePage.extraSBSv2ArgsTextStore();
- buildAliasAppender = ""; // project setting only
}
public List<ICarbideBuildConfiguration> getBuildConfigurations() {
@@ -533,11 +525,6 @@
return BuilderPreferencePage.extraSBSv2ArgsTextStore();
}
- public String buildConfigAppender() {
- // This is a project setting only, i.e. no workspace setting to override
- return buildAliasAppender;
- }
-
/*
* The following methods are non-API
*/
@@ -597,7 +584,4 @@
return extraSBSv2Args;
}
- public String buildAliasAppendTextValue() {
- return buildAliasAppender;
- }
}
--- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/CarbideProjectModifier.java Thu Apr 15 15:32:21 2010 -0500
+++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/CarbideProjectModifier.java Thu Apr 15 17:45:19 2010 -0500
@@ -219,8 +219,6 @@
makeEngineToUse = settingValue;
} else if (settingName.equals(EXTRA_SBSV2_ARGS)) {
extraSBSv2Args = settingValue;
- } else if (settingName.equals(BUILD_ALIAS_APPENDER)) {
- buildAliasAppender = settingValue;
}
// now write it to the file
@@ -310,7 +308,6 @@
storage.setAttribute(OVERRIDE_MAKE_ENGINE, overrideMakeEngine ? "true" : "false");
storage.setAttribute(MAKE_ENGINE_TO_USE, makeEngineToUse);
storage.setAttribute(EXTRA_SBSV2_ARGS, extraSBSv2Args);
- storage.setAttribute(BUILD_ALIAS_APPENDER, buildAliasAppender);
}
}
} catch (CoreException e) {
--- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/CarbideSBSv2Builder.java Thu Apr 15 15:32:21 2010 -0500
+++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/CarbideSBSv2Builder.java Thu Apr 15 17:45:19 2010 -0500
@@ -47,7 +47,6 @@
private static final IPath SBS_BAT = new Path("sbs.bat"); //$NON-NLS-1$
-
public boolean buildAllComponents(ICarbideBuildConfiguration buildConfig, List<IPath> normalMakMakePaths, List<IPath> testMakMakePaths, CarbideCommandLauncher launcher, IProgressMonitor monitor) {
SubMonitor progress = SubMonitor.convert(monitor, 3);
@@ -93,7 +92,15 @@
/** Get the build-able configuration from the command line (i.e. build alias). This is passed after the sbs -c parameter */
protected String getConfigName(ICarbideBuildConfiguration buildConfig) {
- return buildConfig.getSBSv2Alias();
+ String buildAlias = buildConfig.getSBSv2Alias();
+ ISBSv2BuildConfigInfo sbsv2Info = ((CarbideBuildConfiguration)buildConfig).getSBSv2BuildConfigInfo();
+ if (sbsv2Info != null){
+ String variant = sbsv2Info.getSBSv2Setting(ISBSv2BuildConfigInfo.ATTRIB_SBSV2_VARIANT);
+ if (variant != null && variant.length() > 1){
+ buildAlias = buildAlias + variant;
+ }
+ }
+ return buildAlias;
}
public boolean buildComponent(ICarbideBuildConfiguration buildConfig, IPath componentPath, boolean isTest, CarbideCommandLauncher launcher, IProgressMonitor monitor) {
@@ -512,10 +519,6 @@
configName = configName + ".test"; //$NON-NLS-1$
}
- if (cpi.buildConfigAppender() != null && cpi.buildConfigAppender().length() > 0){
- configName = configName + cpi.buildConfigAppender();
- }
-
args.add(configName);
//TODO this causes output to go to stdout, but only at the end of the build. should we specify a logfile name and tail the file?
@@ -598,10 +601,6 @@
configName = "error_retrieving_build_alias";
}
- if (cpi.buildConfigAppender() != null && cpi.buildConfigAppender().length() > 0){
- configName = configName + cpi.buildConfigAppender();
- }
-
String[] sbsArgs = new String[] {"--source-target=" + file.toOSString(), COMPILE_ARG, configName, COMPONENT_ARG, fullMMPPath.toFile().getName()};
launcher.setErrorParserManager(buildConfig.getCarbideProject().getINFWorkingDirectory(), buildConfig.getErrorParserList());
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ISBSv2BuildConfigInfo.java Thu Apr 15 17:45:19 2010 -0500
@@ -0,0 +1,40 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+package com.nokia.carbide.cdt.internal.builder;
+
+/**
+ * Interface to SBSv2 build configuration specific data
+ */
+public interface ISBSv2BuildConfigInfo {
+
+ // Data attribute id's saved in .cproject file
+ public final static String ATRRIB_CONFIG_BASE_PLATFORM = "CONFIG_BASE_PLATFORM"; //$NON-NLS-1$
+ public final static String ATTRIB_CONFIG_TARGET = "CONFIG_TARGET"; //$NON-NLS-1$
+ public final static String ATTRIB_SBSV2_BUILD_ALIAS = "SBSV2_BUILD_ALIAS"; //$NON-NLS-1$
+ public final static String ATTRIB_SBSV2_CONFIG_DISPLAY_STRING = "SBSV2_CONFIG_DISPLAY_STRING"; //$NON-NLS-1$
+ public final static String ATTRIB_SBSV2_VARIANT = "ATTRIB_SBSV2_VARIANT";
+
+ /** Retrieve a specfic .cproject SBSv2 data value from a given ID */
+ String getSBSv2Setting(String id);
+
+ /**
+ * Set a specific SBSv2 configuration specific data value
+ * @param id
+ * @param value
+ */
+ void setSBSv2Setting(String id, String value);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/SBSv2BuilderInfo.java Thu Apr 15 17:45:19 2010 -0500
@@ -0,0 +1,109 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+package com.nokia.carbide.cdt.internal.builder;
+
+import java.util.HashMap;
+
+import org.eclipse.cdt.core.settings.model.ICStorageElement;
+
+import com.nokia.carbide.cpp.sdk.core.ISymbianBuildContext;
+
+public class SBSv2BuilderInfo implements ISBSv2BuildConfigInfo {
+
+ HashMap<String, String> sbsv2ConfigDataMap = new HashMap<String, String>();
+
+// private static String TRUE = "true";
+// private static String FALSE = "false";
+
+ ISymbianBuildContext context;
+
+ public SBSv2BuilderInfo(ISymbianBuildContext context) {
+ sbsv2ConfigDataMap.put(ISBSv2BuildConfigInfo.ATTRIB_SBSV2_BUILD_ALIAS, context.getSBSv2Alias());
+ sbsv2ConfigDataMap.put(ISBSv2BuildConfigInfo.ATRRIB_CONFIG_BASE_PLATFORM, context.getBasePlatformForVariation());
+ sbsv2ConfigDataMap.put(ISBSv2BuildConfigInfo.ATTRIB_CONFIG_TARGET, context.getTargetString());
+ sbsv2ConfigDataMap.put(ISBSv2BuildConfigInfo.ATTRIB_SBSV2_CONFIG_DISPLAY_STRING, context.getDisplayString());
+ sbsv2ConfigDataMap.put(ISBSv2BuildConfigInfo.ATTRIB_SBSV2_VARIANT, "");
+ this.context = context;
+ }
+
+ public void loadFromStorage(ICStorageElement rootStorage) {
+
+ String value = rootStorage.getAttribute(ATRRIB_CONFIG_BASE_PLATFORM);
+ if (value != null) {
+ sbsv2ConfigDataMap.put(ATRRIB_CONFIG_BASE_PLATFORM, value);
+ }
+
+ value = rootStorage.getAttribute(ATTRIB_SBSV2_VARIANT);
+ if (value != null) {
+ sbsv2ConfigDataMap.put(ATTRIB_SBSV2_VARIANT, value);
+ }
+
+ value = rootStorage.getAttribute(ATTRIB_CONFIG_TARGET);
+ if (value != null) {
+ sbsv2ConfigDataMap.put(ATTRIB_CONFIG_TARGET, value);
+ }
+
+ value = rootStorage.getAttribute(ATTRIB_SBSV2_BUILD_ALIAS);
+ if (value != null) {
+ sbsv2ConfigDataMap.put(ATTRIB_SBSV2_BUILD_ALIAS, value);
+ }
+
+ value = rootStorage.getAttribute(ATTRIB_SBSV2_CONFIG_DISPLAY_STRING);
+ if (value != null) {
+ sbsv2ConfigDataMap.put(ATTRIB_SBSV2_CONFIG_DISPLAY_STRING, value);
+ }
+
+ }
+
+ public void saveToStorage(ICStorageElement rootStorage) {
+
+ String value = sbsv2ConfigDataMap.get(ATRRIB_CONFIG_BASE_PLATFORM);
+ if (value != null && value.trim().length() > 0){
+ rootStorage.setAttribute(ATRRIB_CONFIG_BASE_PLATFORM, value);
+ }
+
+ value = sbsv2ConfigDataMap.get(ATTRIB_SBSV2_VARIANT);
+ if (value != null && value.trim().length() > 0){
+ rootStorage.setAttribute(ATTRIB_SBSV2_VARIANT, value);
+ }
+
+ value = sbsv2ConfigDataMap.get(ATTRIB_CONFIG_TARGET);
+ if (value != null && value.trim().length() > 0){
+ rootStorage.setAttribute(ATTRIB_CONFIG_TARGET, value);
+ }
+
+ value = sbsv2ConfigDataMap.get(ATTRIB_SBSV2_BUILD_ALIAS);
+ if (value != null && value.trim().length() > 0){
+ rootStorage.setAttribute(ATTRIB_SBSV2_BUILD_ALIAS, value);
+ }
+
+ value = sbsv2ConfigDataMap.get(ATTRIB_SBSV2_CONFIG_DISPLAY_STRING);
+ if (value != null && value.trim().length() > 0){
+ rootStorage.setAttribute(ATTRIB_SBSV2_CONFIG_DISPLAY_STRING, value);
+ }
+
+ }
+
+ public String getSBSv2Setting(String id) {
+ return sbsv2ConfigDataMap.get(id);
+ }
+
+ public void setSBSv2Setting(String id, String value) {
+ sbsv2ConfigDataMap.put(id, value);
+ }
+
+}
--- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ui/BuildSettingsUI.java Thu Apr 15 15:32:21 2010 -0500
+++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ui/BuildSettingsUI.java Thu Apr 15 17:45:19 2010 -0500
@@ -65,9 +65,7 @@
private Text makeEngineText;
private Label extraArgsLabel;
private Text extraArgsText;
- private Label buildAliasLabel; // project setting only
- private Text buildAliasText; // project setting only
-
+
public BuildSettingsUI(Shell shell, boolean wantsSBSv2, boolean projectSetting) {
this.shell = shell;
this.wantsSBSv2 = wantsSBSv2;
@@ -258,17 +256,6 @@
extraArgsText.setToolTipText(Messages.getString("BuildSettingsUI.ExtraArgsToolTipText")); //$NON-NLS-1$
extraArgsText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
- if (projectSetting){
- buildAliasLabel = new Label(content, SWT.NONE);
- buildAliasLabel.setText(Messages.getString("BuildSettingsUI.AlliasAppendLabel")); //$NON-NLS-1$
- buildAliasLabel.setToolTipText(Messages.getString("BuildSettingsUI.AlliasAppendToolTipText")); //$NON-NLS-1$
- GridData buildAliasGridData = new GridData();
- buildAliasLabel.setLayoutData(buildAliasGridData);
-
- buildAliasText = new Text(content, SWT.BORDER);
- buildAliasText.setToolTipText(Messages.getString("BuildSettingsUI.AlliasAppendToolTipText")); //$NON-NLS-1$
- buildAliasText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
- }
overrideDefaultMakeEngineCheck = new Button(content, SWT.CHECK);
overrideDefaultMakeEngineCheck.setText(Messages.getString("BuildSettingsUI.OverrideMakeEngineLabel")); //$NON-NLS-1$
overrideDefaultMakeEngineCheck.setToolTipText(Messages.getString("BuildSettingsUI.OverrideMakeEngineToolTip")); //$NON-NLS-1$
@@ -470,14 +457,6 @@
extraArgsText.setText(args);
}
- public String getBuildAliasAppendText() {
- return buildAliasText.getText();
- }
-
- public void setBuildAliasAppendText(String args) {
- buildAliasText.setText(args);
- }
-
public boolean getDontPromtTrackDeps(){
if (!projectSetting){
return dontCheckForExternalDependencies.getSelection();
--- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ui/CarbideBuildConfigurationsPage.java Thu Apr 15 15:32:21 2010 -0500
+++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ui/CarbideBuildConfigurationsPage.java Thu Apr 15 17:45:19 2010 -0500
@@ -154,6 +154,9 @@
// rom builder tab
ROMBuilderTabComposite romBuilderTabComposite;
+ // SBSv2 config data tab
+ SBSv2BuildConfigTabComposite sbsv2BuildConfigTabComposite;
+
// Configuration management/switching
private IProject project;
private BuildConfigCombo buildConfigurationCombo;
@@ -224,6 +227,20 @@
data.verticalIndent = 18;
control.setLayoutData(data);
+ //////////////////// SBSv2 Config Data Tab /////////////
+ if (CarbideBuilderPlugin.getBuildManager().isCarbideSBSv2Project(project)) {
+
+ TabItem sbsV2TabItem = new TabItem(tabFolder, SWT.NONE);
+ sbsV2TabItem.setText(Messages.getString("CarbideBuildConfigurationsPage.SBSv2_Tab")); //$NON-NLS-1$
+ sbsV2TabItem.setToolTipText(Messages.getString("CarbideBuildConfigurationsPage.Environement_Tab_ToolTip")); //$NON-NLS-1$
+
+ sbsv2BuildConfigTabComposite = new SBSv2BuildConfigTabComposite(sbsV2TabItem);
+ sbsv2BuildConfigTabComposite.createControls();
+ sbsV2TabItem.setControl(sbsv2BuildConfigTabComposite);
+ }
+ ////////////////////////////////////////////////////////
+
+
////////////////////// Environment Tab ////////////////
TabItem envTabItem = new TabItem(tabFolder, SWT.NONE);
envTabItem.setText(Messages.getString("CarbideBuildConfigurationsPage.Environment_Tab")); //$NON-NLS-1$
@@ -364,6 +381,9 @@
ICarbideBuildConfiguration config = cpi.getDefaultConfiguration();
if (config != null) {
sisFilesBlock.initData(config);
+ if (CarbideBuilderPlugin.getBuildManager().isCarbideSBSv2Project(project)) {
+ sbsv2BuildConfigTabComposite.initData(config);
+ }
if (argumentsTabcomposite != null) {
argumentsTabcomposite.initData(config);
}
@@ -638,7 +658,9 @@
// Compare each of the settings to see if they are the same
boolean sisSettingsEqual = sisFilesBlock.compareConfigurationSettings(selectedConfig, writeToConfig);
-
+
+ boolean sbsv2ConfigEqual = sbsv2BuildConfigTabComposite.compareConfigurationSettings(selectedConfig, writeToConfig);
+
// Compare envVars settings
boolean envVarsSettingsEqual = envVarList.size() == envVarListOrig.size() && envVarList.equals(envVarListOrig);
if (!envVarsSettingsEqual && writeToConfig) {
@@ -654,7 +676,7 @@
boolean romBuilderSettingsEqual = romBuilderTabComposite.compareConfigurationSettings(selectedConfig, writeToConfig);
- return sisSettingsEqual && envVarsSettingsEqual && argsSettingsEqual && pathsAndSynmbolsSettingsEqual && romBuilderSettingsEqual;
+ return sisSettingsEqual && sbsv2ConfigEqual && envVarsSettingsEqual && argsSettingsEqual && pathsAndSynmbolsSettingsEqual && romBuilderSettingsEqual;
}
private void saveConfigurationSettings(ICarbideBuildConfiguration config) {
@@ -957,6 +979,9 @@
ICarbideBuildConfiguration lastConfig = cpi.getNamedConfiguration(lastSelectedConfigName);
if (lastConfig != null) {
sisFilesBlock.initData(lastConfig);
+ if (CarbideBuilderPlugin.getBuildManager().isCarbideSBSv2Project(project)) {
+ sbsv2BuildConfigTabComposite.initData(lastConfig);
+ }
setUpEnvVarsTable(new String[0], null); // refresh env vars info
if (argumentsTabcomposite != null) {
argumentsTabcomposite.initData(lastConfig);
--- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ui/CarbideCPPProjectSettingsPage.java Thu Apr 15 15:32:21 2010 -0500
+++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ui/CarbideCPPProjectSettingsPage.java Thu Apr 15 17:45:19 2010 -0500
@@ -272,9 +272,7 @@
cpi.writeProjectSetting(CarbideProjectInfo.MAKE_ENGINE_TO_USE, buildSettingsUI.getMakeEngine());
- cpi.writeProjectSetting(CarbideProjectInfo.EXTRA_SBSV2_ARGS, buildSettingsUI.getExtraSBSv2Args());
-
- cpi.writeProjectSetting(CarbideProjectInfo.BUILD_ALIAS_APPENDER, buildSettingsUI.getBuildAliasAppendText());
+ cpi.writeProjectSetting(CarbideProjectInfo.EXTRA_SBSV2_ARGS, buildSettingsUI.getExtraSBSv2Args());
}
List<String> checkedComponents = getCheckedComponentFilenames();
@@ -330,7 +328,6 @@
buildSettingsUI.setOverrideDefaultMakeEngine(cpi.overrideMakeEngineProjectValue());
buildSettingsUI.setMakeEngineText(cpi.makeEngineProjectValue());
buildSettingsUI.setExtraSBSv2Args(cpi.extraSBSv2ArgsProjectValue());
- buildSettingsUI.setBuildAliasAppendText(cpi.buildAliasAppendTextValue());
}
initMMPSelectionUI(cpi);
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ui/SBSv2BuildConfigTabComposite.java Thu Apr 15 17:45:19 2010 -0500
@@ -0,0 +1,134 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+package com.nokia.carbide.cdt.internal.builder.ui;
+
+import java.io.File;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.KeyEvent;
+import org.eclipse.swt.events.KeyListener;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Group;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.TabItem;
+import org.eclipse.swt.widgets.Text;
+
+import com.nokia.carbide.cdt.builder.project.ICarbideBuildConfiguration;
+import com.nokia.carbide.cdt.internal.builder.CarbideBuildConfiguration;
+import com.nokia.carbide.cdt.internal.builder.ISBSv2BuildConfigInfo;
+import com.nokia.carbide.cpp.internal.api.sdk.SBSv2Utils;
+import com.nokia.carbide.cpp.sdk.core.ISymbianSDK;
+
+public class SBSv2BuildConfigTabComposite extends Composite {
+
+ private static final String configCmdLabelPrefixText = "Configuration Command: -c "; // $NON-NLS-N$
+ private static final String releaseTreeLabelPrefixText = "Release Tree: "; // $NON-NLS-N$
+
+ Text variantEdit;
+
+ Label configCmdLabel;
+ Label releaseTreeLabel;
+ private ICarbideBuildConfiguration config;
+
+ public SBSv2BuildConfigTabComposite(TabItem tabItem) {
+ super(tabItem.getParent(), SWT.NONE);
+ }
+
+ public void createControls() {
+ setLayout(new GridLayout(2, false));
+
+ Label variantLabel = new Label(this, SWT.NONE);
+ variantLabel.setText(Messages.getString("CarbideSBSv2ConfigTab.VariantLabel")); //$NON-NLS-1$
+ variantLabel.setToolTipText(Messages.getString("CarbideSBSv2ConfigTab.VariantLabel_ToolTip")); //$NON-NLS-1$
+
+ variantEdit = new Text(this, SWT.BORDER);
+ variantEdit.setToolTipText(Messages.getString("CarbideSBSv2ConfigTab.VariantLabel_ToolTip")); //$NON-NLS-1$
+ variantEdit.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
+ SelectionListener listener;
+ variantEdit.addKeyListener( new KeyListener() {
+
+ public void keyReleased(KeyEvent e) {
+ setVaraintDetailsText();
+ }
+
+ public void keyPressed(KeyEvent e) {
+ // ignore
+ }
+ });
+
+ Group emulatorBuildOptionsGroup;
+ emulatorBuildOptionsGroup = new Group(this, SWT.NONE);
+ emulatorBuildOptionsGroup.setLayout(new GridLayout(1, false));
+ GridData gd = new GridData(SWT.FILL, SWT.CENTER, true, false, 3, 1);
+ emulatorBuildOptionsGroup.setLayoutData(gd);
+ emulatorBuildOptionsGroup.setText("Build Variant Details"); //$NON-NLS-1$
+
+ configCmdLabel = new Label(emulatorBuildOptionsGroup, SWT.CHECK);
+ configCmdLabel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
+ releaseTreeLabel = new Label(emulatorBuildOptionsGroup, SWT.CHECK);
+ releaseTreeLabel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
+ }
+
+ public void initData(ICarbideBuildConfiguration buildConfig) {
+ this.config = buildConfig;
+ ISBSv2BuildConfigInfo sbsv2ConfigInfo = ((CarbideBuildConfiguration)buildConfig).getSBSv2ConfigInfo();
+ if (sbsv2ConfigInfo.getSBSv2Setting(ISBSv2BuildConfigInfo.ATTRIB_SBSV2_VARIANT) != null){
+ variantEdit.setText(sbsv2ConfigInfo.getSBSv2Setting(ISBSv2BuildConfigInfo.ATTRIB_SBSV2_VARIANT));
+ }
+
+ setVaraintDetailsText();
+ }
+
+ private void setVaraintDetailsText() {
+
+ String configCmdText = configCmdLabelPrefixText;
+ if (config != null){
+ configCmdText += config.getSBSv2Alias() + variantEdit.getText();
+ }
+ configCmdLabel.setText(configCmdText);
+
+ String variantText = SBSv2Utils.getVariantOutputDirModifier(variantEdit.getText());
+ if (variantText == null) variantText = "";
+ String relTreeText = releaseTreeLabelPrefixText;
+ if (config != null){
+ relTreeText += " " + config.getSDK().getEPOCROOT() + "epoc32" + File.separator + "release" + File.separator + config.getPlatformString().toLowerCase() + variantText + File.separator + config.getTargetString().toLowerCase();
+ }
+ releaseTreeLabel.setText(relTreeText);
+ }
+
+
+
+ public boolean compareConfigurationSettings(ICarbideBuildConfiguration selectedConfig, boolean writeToConfig) {
+ boolean settingsEqual = true;
+
+ ISBSv2BuildConfigInfo currSBSv2Info = ((CarbideBuildConfiguration)selectedConfig).getSBSv2ConfigInfo();
+ settingsEqual = currSBSv2Info.getSBSv2Setting(ISBSv2BuildConfigInfo.ATTRIB_SBSV2_VARIANT).equals(variantEdit.getText());
+
+ if (!settingsEqual && writeToConfig) {
+ currSBSv2Info.setSBSv2Setting(ISBSv2BuildConfigInfo.ATTRIB_SBSV2_VARIANT, variantEdit.getText());
+ }
+
+ return settingsEqual;
+ }
+
+ public void performDefaults(ISymbianSDK sdk) {
+ variantEdit.setText("");
+ }
+}
--- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ui/messages.properties Thu Apr 15 15:32:21 2010 -0500
+++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ui/messages.properties Thu Apr 15 17:45:19 2010 -0500
@@ -36,6 +36,12 @@
CarbideBuildConfigurationsPage.Browse_Key_ToolTip=Look for the key in the file system.
CarbideBuildConfigurationsPage.Additional_Options=Additional Options:
CarbideBuildConfigurationsPage.Additional_Options_ToolTip=Any other command-line options you want to pass to signsis.
+
+CarbideBuildConfigurationsPage.SBSv2_Tab=SBSv2
+CarbideBuildConfigurationsPage.SBSv2_Tab_ToolTip=SBSv2 Build Configuration Specific Information
+CarbideSBSv2ConfigTab.VariantLabel=Apply variant to build configuration
+CarbideSBSv2ConfigTab.VariantLabel_ToolTip=Appends the text box value to the -c argument to construct a variant build configuration.
+
CarbideBuildConfigurationsPage.Environment_Tab=Environment
CarbideBuildConfigurationsPage.Environement_Tab_ToolTip=This tab controls how the Windows environment is set up for each build process invoked.
CarbideBuildConfigurationsPage.Env_Vars_Group=Environment Variabes (Bold items override the default value)
@@ -98,8 +104,6 @@
BuildSettingsUI.ExtraArgsLabelToolTip=Pass additional arguments to the sbs command-line.
BuildSettingsUI.ExtraArgsText=Additional SBSv2 arguments
BuildSettingsUI.ExtraArgsToolTipText=Add any extra arguments to be passed to sbs.bat here.
-BuildSettingsUI.AlliasAppendLabel=Append to Build Configuration
-BuildSettingsUI.AlliasAppendToolTipText=Appends the text to the default -c SBS parameter exactly as entered in the edit box.
BuildSettingsUI.KeepGoingLabel=Keep going
BuildSettingsUI.KeepGoingToolTip=Continue building, even if some build commands fail
BuildSettingsUI.MakeEngineLabel=Make engine
--- a/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/SBSv2Utils.java Thu Apr 15 15:32:21 2010 -0500
+++ b/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/SBSv2Utils.java Thu Apr 15 17:45:19 2010 -0500
@@ -410,4 +410,30 @@
return contexts;
}
+ /**
+ * If a variant is defined and it changes the output directory, return the directory name.
+ * For example, armv5_udeb.phone1 would return '.phone1'. If not variant that changes the release tree, then null
+ * NOTE: This method deals with variant text applied to the end of a build alias, specifically testing for
+ * variant text defined in the SBSv2 Build Configuration tab.
+ * @return null if not a variant or the value to append to the platform release tree directory
+ * @see com.nokia.carbide.cdt.internal.builder.ui#SBSv2BuildConfigTab
+ */
+ public static String getVariantOutputDirModifier(String variantText) {
+
+ String[] ignoredVariants = { "generic", "tracecompiler", "trace", "test", "savespace",
+ "bfc", "smp", "rvct2_2", "rvct4_0", "rvct3_1", "gcce4_3_2", "remove_freeze" };
+
+ String newOutputDir = null;
+ if (variantText != null && variantText.length() > 1){
+ String[] variantTok = variantText.split("\\.");
+ if (variantTok.length > 1){
+ for (String ignore : ignoredVariants){
+ if (variantTok[1].toLowerCase().equals(ignore))
+ return null;
+ }
+ newOutputDir = "." + variantTok[1];
+ }
+ }
+ return newOutputDir;
+ }
}
--- a/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/SymbianBuildContext.java Thu Apr 15 15:32:21 2010 -0500
+++ b/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/SymbianBuildContext.java Thu Apr 15 17:45:19 2010 -0500
@@ -626,12 +626,4 @@
public String getSBSv2Alias() {
return sbsv2Alias;
}
-
- public void setSBSv2Alias(String sbsv2Alias) {
- this.sbsv2Alias = sbsv2Alias;
- }
-
- public void setDisplayString(String newDisplayName) {
- this.displayString = newDisplayName;
- }
}
--- a/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/sdk/core/ISymbianBuildContext.java Thu Apr 15 15:32:21 2010 -0500
+++ b/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/sdk/core/ISymbianBuildContext.java Thu Apr 15 17:45:19 2010 -0500
@@ -151,7 +151,4 @@
*/
public String getSBSv2Alias();
- public void setSBSv2Alias(String newAlias);
-
- public void setDisplayString(String newDisplayName);
}