# HG changeset patch # User timkelly # Date 1271364771 18000 # Node ID f41fa762c65f8451d6690b92319049fa75411cd8 # Parent af71d0898edfa3765e23634fdbc24f5f21b78275 Fix bug 11068 (part 2). Add dynamic text to dispaly -c command and release tree when variant is applied. Remove UI added to support appending to a build config from the project setting. diff -r af71d0898edf -r f41fa762c65f 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 Thu Apr 15 15:35:10 2010 -0500 +++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/builder/EpocEngineHelper.java Thu Apr 15 15:52:51 2010 -0500 @@ -28,6 +28,7 @@ import com.nokia.carbide.cpp.epoc.engine.model.mmp.*; 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.internal.api.sdk.SymbianBuildContextDataCache; import com.nokia.carbide.cpp.sdk.core.ISymbianBuildContext; @@ -857,8 +858,8 @@ 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 && sbsv2Info.getVariantOutputDirModifier() != null && !releasePlatform.contains(".") ){ - releasePlatform = releasePlatform + sbsv2Info.getVariantOutputDirModifier(); + if ( sbsv2Info != null && SBSv2Utils.getVariantOutputDirModifier(sbsv2Info.getSBSv2Setting(ISBSv2BuildConfigInfo.ATTRIB_SBSV2_VARIANT)) != null && !releasePlatform.contains(".") ){ + releasePlatform = releasePlatform + SBSv2Utils.getVariantOutputDirModifier(sbsv2Info.getSBSv2Setting(ISBSv2BuildConfigInfo.ATTRIB_SBSV2_VARIANT)); } } diff -r af71d0898edf -r f41fa762c65f builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/builder/PKGViewPathHelper.java --- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/builder/PKGViewPathHelper.java Thu Apr 15 15:35:10 2010 -0500 +++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/builder/PKGViewPathHelper.java Thu Apr 15 15:52:51 2010 -0500 @@ -24,6 +24,7 @@ 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; @@ -75,8 +76,8 @@ 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 && sbsv2Info.getVariantOutputDirModifier() != null && !platform.contains(".") ){ - this.platform = this.platform + sbsv2Info.getVariantOutputDirModifier(); + 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(); diff -r af71d0898edf -r f41fa762c65f builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/builder/builder/CarbideCPPBuilder.java --- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/builder/builder/CarbideCPPBuilder.java Thu Apr 15 15:35:10 2010 -0500 +++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/builder/builder/CarbideCPPBuilder.java Thu Apr 15 15:52:51 2010 -0500 @@ -75,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; @@ -1921,8 +1922,8 @@ 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 && sbsv2Info.getVariantOutputDirModifier() != null){ - platSubst = platSubst + sbsv2Info.getVariantOutputDirModifier(); + 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); diff -r af71d0898edf -r f41fa762c65f builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/builder/project/ICarbideProjectInfo.java --- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/builder/project/ICarbideProjectInfo.java Thu Apr 15 15:35:10 2010 -0500 +++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/builder/project/ICarbideProjectInfo.java Thu Apr 15 15:52:51 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(); } diff -r af71d0898edf -r f41fa762c65f 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 Thu Apr 15 15:35:10 2010 -0500 +++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/CarbideBuildData.java Thu Apr 15 15:52:51 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 @@ -61,8 +62,8 @@ String thePlatform = carbideBuildConfig.getPlatformString(); if (CarbideBuilderPlugin.getBuildManager().isCarbideSBSv2Project(carbideBuildConfig.getCarbideProject().getProject())){ ISBSv2BuildConfigInfo sbsv2Info = ((CarbideBuildConfiguration)carbideBuildConfig).getSBSv2BuildConfigInfo(); - if ( sbsv2Info != null && sbsv2Info.getVariantOutputDirModifier() != null ){ - thePlatform = thePlatform + sbsv2Info.getVariantOutputDirModifier(); + 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()); diff -r af71d0898edf -r f41fa762c65f builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/CarbideProjectInfo.java --- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/CarbideProjectInfo.java Thu Apr 15 15:35:10 2010 -0500 +++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/CarbideProjectInfo.java Thu Apr 15 15:52:51 2010 -0500 @@ -62,7 +62,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$ @@ -81,7 +80,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); @@ -231,11 +229,6 @@ if (orig != null){ extraSBSv2Args = orig; } - orig = storage.getAttribute(BUILD_ALIAS_APPENDER); - if (orig != null){ - buildAliasAppender = orig; - } - } } } @@ -268,7 +261,6 @@ overrideMakeEngine = BuilderPreferencePage.overrideDefaultMakeEngine(); makeEngineToUse = BuilderPreferencePage.makeEngine(); extraSBSv2Args = BuilderPreferencePage.extraSBSv2ArgsTextStore(); - buildAliasAppender = ""; // project setting only } public List getBuildConfigurations() { @@ -534,11 +526,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 */ @@ -598,7 +585,4 @@ return extraSBSv2Args; } - public String buildAliasAppendTextValue() { - return buildAliasAppender; - } } diff -r af71d0898edf -r f41fa762c65f builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/CarbideProjectModifier.java --- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/CarbideProjectModifier.java Thu Apr 15 15:35:10 2010 -0500 +++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/CarbideProjectModifier.java Thu Apr 15 15:52:51 2010 -0500 @@ -220,8 +220,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 @@ -320,7 +318,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) { diff -r af71d0898edf -r f41fa762c65f builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/CarbideSBSv2Builder.java --- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/CarbideSBSv2Builder.java Thu Apr 15 15:35:10 2010 -0500 +++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/CarbideSBSv2Builder.java Thu Apr 15 15:52:51 2010 -0500 @@ -515,10 +515,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? @@ -601,10 +597,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()); diff -r af71d0898edf -r f41fa762c65f builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ISBSv2BuildConfigInfo.java --- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ISBSv2BuildConfigInfo.java Thu Apr 15 15:35:10 2010 -0500 +++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ISBSv2BuildConfigInfo.java Thu Apr 15 15:52:51 2010 -0500 @@ -37,12 +37,4 @@ * @param value */ void setSBSv2Setting(String id, String value); - - /** - * If a variant is defined and it chages 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 - * @return null if not a variant or the value to append to the platform release tree directory - */ - String getVariantOutputDirModifier(); - } diff -r af71d0898edf -r f41fa762c65f builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/SBSv2BuilderInfo.java --- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/SBSv2BuilderInfo.java Thu Apr 15 15:35:10 2010 -0500 +++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/SBSv2BuilderInfo.java Thu Apr 15 15:52:51 2010 -0500 @@ -104,27 +104,6 @@ public void setSBSv2Setting(String id, String value) { sbsv2ConfigDataMap.put(id, value); - } - public String getVariantOutputDirModifier() { - String newOutputDir = null; - String variantText = getSBSv2Setting(ATTRIB_SBSV2_VARIANT); - if (variantText != null && variantText.length() > 1){ - String[] variantTok = variantText.split("\\."); - if (variantTok.length > 1){ - if (variantTok[1].toLowerCase().equals("generic")){ - return null; - } else if (variantTok[1].toLowerCase().equals("tracecompiler")){ - return null; - } else { - newOutputDir = "." + variantTok[1]; - } - } - } - return newOutputDir; - } - - - } diff -r af71d0898edf -r f41fa762c65f builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ui/BuildSettingsUI.java --- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ui/BuildSettingsUI.java Thu Apr 15 15:35:10 2010 -0500 +++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ui/BuildSettingsUI.java Thu Apr 15 15:52:51 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(); diff -r af71d0898edf -r f41fa762c65f builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ui/CarbideCPPProjectSettingsPage.java --- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ui/CarbideCPPProjectSettingsPage.java Thu Apr 15 15:35:10 2010 -0500 +++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ui/CarbideCPPProjectSettingsPage.java Thu Apr 15 15:52:51 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 checkedComponents = getCheckedComponentFilenames(); @@ -330,7 +328,6 @@ buildSettingsUI.setOverrideDefaultMakeEngine(cpi.overrideMakeEngineProjectValue()); buildSettingsUI.setMakeEngineText(cpi.makeEngineProjectValue()); buildSettingsUI.setExtraSBSv2Args(cpi.extraSBSv2ArgsProjectValue()); - buildSettingsUI.setBuildAliasAppendText(cpi.buildAliasAppendTextValue()); } initMMPSelectionUI(cpi); diff -r af71d0898edf -r f41fa762c65f builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ui/SBSv2BuildConfigTabComposite.java --- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ui/SBSv2BuildConfigTabComposite.java Thu Apr 15 15:35:10 2010 -0500 +++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ui/SBSv2BuildConfigTabComposite.java Thu Apr 15 15:52:51 2010 -0500 @@ -16,10 +16,16 @@ */ 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; @@ -27,18 +33,26 @@ 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 "; + private static final String releaseTreeLabelPrefixText = "Release Tree: "; + Text variantEdit; + Label configCmdLabel; + Label releaseTreeLabel; + private ICarbideBuildConfiguration config; + public SBSv2BuildConfigTabComposite(TabItem tabItem) { super(tabItem.getParent(), SWT.NONE); } public void createControls() { - setLayout(new GridLayout(3, false)); + setLayout(new GridLayout(2, false)); Label variantLabel = new Label(this, SWT.NONE); variantLabel.setText(Messages.getString("CarbideSBSv2ConfigTab.VariantLabel")); //$NON-NLS-1$ @@ -46,17 +60,61 @@ 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, 2, 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; diff -r af71d0898edf -r f41fa762c65f builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ui/messages.properties --- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ui/messages.properties Thu Apr 15 15:35:10 2010 -0500 +++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ui/messages.properties Thu Apr 15 15:52:51 2010 -0500 @@ -104,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 diff -r af71d0898edf -r f41fa762c65f core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/SBSv2Utils.java --- a/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/SBSv2Utils.java Thu Apr 15 15:35:10 2010 -0500 +++ b/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/SBSv2Utils.java Thu Apr 15 15:52:51 2010 -0500 @@ -449,5 +449,31 @@ 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; + } }