# HG changeset patch # User timkelly # Date 1283546328 18000 # Node ID fc333b249602d861dce9ad9a14675e1b3bb12a54 # Parent fccb2e8f8b9b93a0609e4399ae84e3033d897072# Parent 5363a66d25da235179d600e98e9015d1593be8a4 merge from default diff -r fccb2e8f8b9b -r fc333b249602 builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/ProjectPropertiesTest.java --- a/builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/ProjectPropertiesTest.java Wed Aug 25 12:13:45 2010 -0500 +++ b/builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/ProjectPropertiesTest.java Fri Sep 03 15:38:48 2010 -0500 @@ -188,7 +188,17 @@ assertEquals(3, cpi.getBuildConfigurations().size()); ICarbideBuildConfiguration defConfig = cpi.getDefaultConfiguration(); - assertEquals(stockBuildConfigs.get(1).getDisplayString(), defConfig.getDisplayString()); + + boolean foundConfigFromStock = false; + for (ISymbianBuildContext context : stockBuildConfigs){ + if (defConfig.getDisplayString().equals(context.getDisplayString())){ + foundConfigFromStock = true; + break; + } + } + + assertTrue(foundConfigFromStock); + } // Test the reading and writing of the default configuration @@ -197,10 +207,15 @@ assertEquals(3, cpm.getBuildConfigurations().size()); ICarbideBuildConfiguration defConfig = cpm.getDefaultConfiguration(); - assertEquals(stockBuildConfigs.get(1).getDisplayString(), defConfig.getDisplayString()); // make another configuration the default one... - ICarbideBuildConfiguration newDefaultConfig = cpm.getNamedConfiguration(stockBuildConfigs.get(2).getDisplayString()); + ICarbideBuildConfiguration newDefaultConfig = null; + for (ISymbianBuildContext context : stockBuildConfigs){ + if (context.getTargetString().equalsIgnoreCase("udeb") && context.getPlatformString().equalsIgnoreCase("armv5")){ + newDefaultConfig = cpm.getNamedConfiguration(context.getDisplayString()); + break; + } + } assertNotNull(newDefaultConfig); cpm.setDefaultConfiguration(newDefaultConfig); cpm.saveChanges(); @@ -210,7 +225,17 @@ // Check to see that we got the new default config defConfig = cpi.getDefaultConfiguration(); - assertEquals(stockBuildConfigs.get(2).getDisplayString(), defConfig.getDisplayString()); + + boolean foundConfigFromStock = false; + for (ISymbianBuildContext context : stockBuildConfigs){ + if (defConfig.getDisplayString().equals(context.getDisplayString())){ + foundConfigFromStock = true; + break; + } + } + + assertTrue(foundConfigFromStock); + } public void testWritePKGData(){ diff -r fccb2e8f8b9b -r fc333b249602 builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/SBSv2QueryTests.java --- a/builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/SBSv2QueryTests.java Wed Aug 25 12:13:45 2010 -0500 +++ b/builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/SBSv2QueryTests.java Fri Sep 03 15:38:48 2010 -0500 @@ -24,7 +24,6 @@ import com.nokia.carbide.cpp.internal.api.sdk.ISBSv2BuildContext; import com.nokia.carbide.cpp.internal.api.sdk.sbsv2.SBSv2QueryUtils; -import com.nokia.carbide.cpp.internal.sdk.core.model.SDKManager; import com.nokia.carbide.cpp.sdk.core.ISDKBuildInfo; import com.nokia.carbide.cpp.sdk.core.ISymbianBuildContext; import com.nokia.carbide.cpp.sdk.core.ISymbianBuilderID; @@ -33,11 +32,12 @@ public class SBSv2QueryTests extends BaseTest { - private boolean printTimingStats = true; + //private boolean printTimingStats = true; private long startTime; - private final String SDK_ID1 = "K_92_WK12"; // SDK with additional aliases and products + //private final String SDK_ID1 = "s3"; // SDK with additional aliases and products + private final String SDK_ID1 = "K_92_WK12"; @Override protected void setUp() throws Exception { @@ -71,7 +71,8 @@ assertNotNull(sbsv2BuildInfo); List buildContexts = sbsv2BuildInfo.getFilteredBuildConfigurations(); - assertEquals(6, buildContexts.size()); + // WINSCW UREL is filtered out from default b/c it does not exist for current test SDK + assertEquals(5, buildContexts.size()); for (ISymbianBuildContext context : buildContexts){ assertTrue(context instanceof ISBSv2BuildContext); @@ -84,7 +85,13 @@ System.out.println("Config " + sbsv2Context.getSBSv2Alias() + " had error, cannot fully test: " + sbsv2Context.getConfigQueryData().getConfigurationErrorMessage()); } - assertTrue(sbsv2Context.getConfigQueryData().getTargettypes().size() > 0); + if (sbsv2Context.getConfigQueryData().getConfigurationErrorMessage() == null || + sbsv2Context.getConfigQueryData().getConfigurationErrorMessage().length() == 0 ){ + // If there is an error in a configuration we know there won't be any target types + assertTrue(sbsv2Context.getConfigQueryData().getTargettypes().size() > 0); + } else { + assertFalse(sbsv2Context.getConfigQueryData().getTargettypes() == null); + } } } diff -r fccb2e8f8b9b -r fc333b249602 builder/com.nokia.carbide.cdt.builder/META-INF/MANIFEST.MF --- a/builder/com.nokia.carbide.cdt.builder/META-INF/MANIFEST.MF Wed Aug 25 12:13:45 2010 -0500 +++ b/builder/com.nokia.carbide.cdt.builder/META-INF/MANIFEST.MF Fri Sep 03 15:38:48 2010 -0500 @@ -1,6 +1,6 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 -Bundle-Name: Builder Plug-in +Bundle-Name: Builder Bundle-SymbolicName: com.nokia.carbide.cdt.builder; singleton:=true Bundle-Version: 2.0.0.qualifier Bundle-Activator: com.nokia.carbide.cdt.builder.CarbideBuilderPlugin diff -r fccb2e8f8b9b -r fc333b249602 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 Wed Aug 25 12:13:45 2010 -0500 +++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/builder/EpocEngineHelper.java Fri Sep 03 15:38:48 2010 -0500 @@ -1727,8 +1727,8 @@ * @return List of macro strings which may be empty. There is no macro value, only a * string like "FOO". */ - public static List getMMPMacrosForBuildConfiguration(final IPath workspaceRelativeMMPPath, final ICarbideBuildConfiguration buildConfig) { - final List macros = new ArrayList(); + public static List getMMPMacrosForBuildConfiguration(final IPath workspaceRelativeMMPPath, final ICarbideBuildConfiguration buildConfig) { + final List macros = new ArrayList(); EpocEnginePlugin.runWithMMPData(workspaceRelativeMMPPath, new DefaultMMPViewConfiguration(buildConfig.getCarbideProject().getProject(), buildConfig.getBuildContext(), new AcceptedNodesViewFilter()), @@ -1738,8 +1738,14 @@ Map> listArgumentSettings = mmpData.getListArgumentSettings(); List macroList = listArgumentSettings.get(EMMPStatement.MACRO); for (String macro : macroList) { - if (!macros.contains(macro)) { - macros.add(macro); + String macroValue = null; + if (macro.contains("=")){ + macroValue = macro.split("=")[1]; // expansion + macro = macro.split("=")[0]; // name + } + IDefine newDefine = DefineFactory.createDefine(macro, macroValue); + if (!macros.contains(newDefine)) { + macros.add(newDefine); } } return null; @@ -1908,15 +1914,8 @@ public Object run(IBldInfData infView) { for (final IMMPReference mmp : infView.getAllMMPReferences()) { - - IPath workspaceRelativeMMPPath1 = null; - if (info.getProjectRelativeBldInfPath().isAbsolute()){ - workspaceRelativeMMPPath1 = mmp.getPath(); - } else { - workspaceRelativeMMPPath1 = new Path(info.getProject().getName()).append(mmp.getPath()); - } + final IPath workspaceRelativeMMPPath = new Path(info.getProject().getName()).append(mmp.getPath()); - final IPath workspaceRelativeMMPPath = workspaceRelativeMMPPath1; EpocEnginePlugin.runWithMMPData(workspaceRelativeMMPPath, new DefaultMMPViewConfiguration(info.getProject(), buildConfig.getBuildContext(), new AcceptedNodesViewFilter()), new MMPDataRunnableAdapter() { @@ -2795,11 +2794,10 @@ // is enabled (Use preprocessor symbols....) for (IPath mmpPath : mmpFiles) { - List mmpMacros = getMMPMacrosForBuildConfiguration( + List mmpMacros = getMMPMacrosForBuildConfiguration( mmpPath, config); - for (String macro : mmpMacros) { - // Symbian docs say they are converted to upper case always - projectDefines.add(DefineFactory.createDefine(macro.toUpperCase())); + if (mmpMacros != null && mmpMacros.size() > 0){ + projectDefines.addAll(mmpMacros); } } } diff -r fccb2e8f8b9b -r fc333b249602 builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/api/builder/ui/ManageConfigurationsDialog.java --- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/api/builder/ui/ManageConfigurationsDialog.java Wed Aug 25 12:13:45 2010 -0500 +++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/api/builder/ui/ManageConfigurationsDialog.java Fri Sep 03 15:38:48 2010 -0500 @@ -21,6 +21,9 @@ import java.util.Iterator; import java.util.List; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Status; import org.eclipse.jface.dialogs.IDialogConstants; import org.eclipse.jface.dialogs.TrayDialog; import org.eclipse.jface.viewers.CheckStateChangedEvent; @@ -46,6 +49,7 @@ import org.eclipse.swt.widgets.Link; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.TreeItem; +import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.dialogs.ContainerCheckedTreeViewer; import org.eclipse.ui.dialogs.PreferencesUtil; @@ -151,6 +155,7 @@ if (HostOS.IS_WIN32){ ISDKManager sdkMgr = SDKCorePlugin.getSDKManager(); + ((SDKManager)sdkMgr).ensureSystemDrivesSynchronized(); if (!((SDKManager)sdkMgr).checkDevicesXMLSynchronized()){ if (sdkMgr instanceof ISDKManagerInternal){ ISDKManagerInternal sdkMgrInternal = (ISDKManagerInternal)sdkMgr; @@ -225,7 +230,11 @@ filteringContentProviderWrapper.setConfigFilter(new QtConfigFilter()); } - drawSDKConfigTree(); + try { + drawSDKConfigTree(); + } catch (CoreException e1) { + e1.printStackTrace(); + } BrokenConfigurationInProjectTreeNode[] brokenTreeInput = BrokenConfigurationInProjectTreeNode.getTreeViewerInput(cpi); if (brokenTreeInput.length > 0) { @@ -246,7 +255,11 @@ public void widgetSelected(SelectionEvent e) { // I don't see a way to open it to a specific tab, only the page if (Window.OK == PreferencesUtil.createPreferenceDialogOn(getShell(), "com.nokia.carbide.cpp.sdk.ui.preferences.BuildPlatformFilterPage", null, null, 0).open()){ //$NON-NLS-1$ - drawSDKConfigTree(); + try { + drawSDKConfigTree(); + } catch (CoreException e1) { + e1.printStackTrace(); + } } } }); @@ -259,7 +272,11 @@ public void widgetSelected(SelectionEvent e) { // I don't see a way to open it to a specific tab, only the page if (Window.OK == PreferencesUtil.createPreferenceDialogOn(getShell(), "com.nokia.carbide.cpp.sdk.ui.preferences.SDKPreferencePage", null, null, 0).open()){ //$NON-NLS-1$ - drawSDKConfigTree(); + try { + drawSDKConfigTree(); + } catch (CoreException e1) { + e1.printStackTrace(); + } } } }); @@ -269,12 +286,19 @@ return container; } - private void drawSDKConfigTree() { + private void drawSDKConfigTree() throws CoreException { boolean sbsv2Project = CarbideBuilderPlugin.getBuildManager().isCarbideSBSv2Project(cpi.getProject()); properSdkViewer.setContentProvider(filteringContentProviderWrapper); - BuildTargetTreeNode[] sdkConfigTreeNodes = BuildTargetTreeNode.getTreeViewerInput(sbsv2Project); - if (sbsv2Project){ + IWorkbenchWindow wbw = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); + BuildTargetTreeNode[] sdkConfigTreeNodes = null; + if (wbw != null){ + sdkConfigTreeNodes = BuildTargetTreeNode.getTreeViewerInput(sbsv2Project, wbw); + } else { + IStatus s = new Status(IStatus.ERROR, CarbideBuilderPlugin.PLUGIN_ID, 0, "Error retrieving workbench window. Cannot display configuration tree.", null); + throw new CoreException(s); + } + if (sbsv2Project && sdkConfigTreeNodes != null){ replaceFilteredConfigsFromProject(sdkConfigTreeNodes); } @@ -300,6 +324,11 @@ * @param sdkConfigTreeNodes */ private void replaceFilteredConfigsFromProject(BuildTargetTreeNode[] sdkConfigTreeNodes) { + + if (sdkConfigTreeNodes == null){ + return; + } + List bldConfigs = cpi.getBuildConfigurations(); HashMap> missingConfigMap = new HashMap>(); diff -r fccb2e8f8b9b -r fc333b249602 builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/CarbideLanguageData.java --- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/CarbideLanguageData.java Wed Aug 25 12:13:45 2010 -0500 +++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/CarbideLanguageData.java Fri Sep 03 15:38:48 2010 -0500 @@ -311,7 +311,7 @@ // now create the path entries for the macros for (IDefine define : projectDefines) { - macroEntries.add(new CMacroEntry(define.getName(), define.getExpansion(), 0)); + macroEntries.add(new CMacroEntry(define.getNameAndArguments(), define.getExpansion(), 0)); } // get the list of files the engine references when parsing the bld.inf and mmp files diff -r fccb2e8f8b9b -r fc333b249602 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 Wed Aug 25 12:13:45 2010 -0500 +++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/CarbideProjectInfo.java Fri Sep 03 15:38:48 2010 -0500 @@ -327,9 +327,6 @@ } public IPath getAbsoluteBldInfPath(){ - if (projectRelativeBldInfPath.isAbsolute()){ - return projectRelativeBldInfPath; - } return CarbideBuilderPlugin.getProjectRoot(projectTracker.getProject()).append(projectRelativeBldInfPath); } @@ -338,9 +335,6 @@ } public IPath getWorkspaceRelativeBldInfPath(){ - if (projectRelativeBldInfPath.isAbsolute()){ - return projectRelativeBldInfPath; - } return new Path(projectTracker.getProject().getName()).append(projectRelativeBldInfPath); } diff -r fccb2e8f8b9b -r fc333b249602 builder/com.nokia.carbide.cpp.builder.utils/META-INF/MANIFEST.MF --- a/builder/com.nokia.carbide.cpp.builder.utils/META-INF/MANIFEST.MF Wed Aug 25 12:13:45 2010 -0500 +++ b/builder/com.nokia.carbide.cpp.builder.utils/META-INF/MANIFEST.MF Fri Sep 03 15:38:48 2010 -0500 @@ -1,6 +1,6 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 -Bundle-Name: Carbide Builder Utils Plugin +Bundle-Name: Carbide Builder Utils Bundle-SymbolicName: com.nokia.carbide.cpp.builder.utils;singleton:=true Bundle-Version: 1.4.0.qualifier Bundle-Activator: com.nokia.carbide.cpp.internal.builder.utils.Activator diff -r fccb2e8f8b9b -r fc333b249602 builder/com.nokia.carbide.cpp.builder.utils/src/com/nokia/carbide/cpp/internal/builder/utils/handlers/ABLDCommandHandler.java --- a/builder/com.nokia.carbide.cpp.builder.utils/src/com/nokia/carbide/cpp/internal/builder/utils/handlers/ABLDCommandHandler.java Wed Aug 25 12:13:45 2010 -0500 +++ b/builder/com.nokia.carbide.cpp.builder.utils/src/com/nokia/carbide/cpp/internal/builder/utils/handlers/ABLDCommandHandler.java Fri Sep 03 15:38:48 2010 -0500 @@ -181,7 +181,7 @@ args.add(buildConfig.getPlatformString().toLowerCase()); args.add(buildConfig.getTargetString().toLowerCase()); - ISBSv1BuildContext sbsv1Context = (ISBSv1BuildContext)buildConfig; + ISBSv1BuildContext sbsv1Context = (ISBSv1BuildContext)buildConfig.getBuildContext(); for (String arg : sbsv1Context.getBuildArgumentsInfo().getAbldTargetArgs().split(" ")) { //$NON-NLS-1$ args.add(arg); } @@ -193,7 +193,7 @@ List args = new ArrayList(); args.add("export"); //$NON-NLS-1$ - ISBSv1BuildContext sbsv1Context = (ISBSv1BuildContext)buildConfig; + ISBSv1BuildContext sbsv1Context = (ISBSv1BuildContext)buildConfig.getBuildContext(); for (String arg : sbsv1Context.getBuildArgumentsInfo().getAbldExportArgs().split(" ")) { //$NON-NLS-1$ args.add(arg); } @@ -207,7 +207,7 @@ args.add(buildConfig.getPlatformString().toLowerCase()); args.add(buildConfig.getTargetString().toLowerCase()); - ISBSv1BuildContext sbsv1Context = (ISBSv1BuildContext)buildConfig; + ISBSv1BuildContext sbsv1Context = (ISBSv1BuildContext)buildConfig.getBuildContext(); for (String arg : sbsv1Context.getBuildArgumentsInfo().getAbldResourceArgs().split(" ")) { //$NON-NLS-1$ args.add(arg); } @@ -221,7 +221,7 @@ args.add(buildConfig.getPlatformString().toLowerCase()); args.add(buildConfig.getTargetString().toLowerCase()); - ISBSv1BuildContext sbsv1Context = (ISBSv1BuildContext)buildConfig; + ISBSv1BuildContext sbsv1Context = (ISBSv1BuildContext)buildConfig.getBuildContext(); for (String arg : sbsv1Context.getBuildArgumentsInfo().getAbldFinalArgs().split(" ")) { //$NON-NLS-1$ args.add(arg); } diff -r fccb2e8f8b9b -r fc333b249602 carbidesdk/com.nokia.carbide.cpp.sdk.doc.user/html/img/about_cpp.png Binary file carbidesdk/com.nokia.carbide.cpp.sdk.doc.user/html/img/about_cpp.png has changed diff -r fccb2e8f8b9b -r fc333b249602 carbidesdk/com.nokia.carbide.cpp.sdk.doc.user/html/img/gold_header.png Binary file carbidesdk/com.nokia.carbide.cpp.sdk.doc.user/html/img/gold_header.png has changed diff -r fccb2e8f8b9b -r fc333b249602 connectivity/com.nokia.carbide.remoteConnections/src/com/nokia/carbide/remoteconnections/RemoteConnectionsActivator.java --- a/connectivity/com.nokia.carbide.remoteConnections/src/com/nokia/carbide/remoteconnections/RemoteConnectionsActivator.java Wed Aug 25 12:13:45 2010 -0500 +++ b/connectivity/com.nokia.carbide.remoteConnections/src/com/nokia/carbide/remoteconnections/RemoteConnectionsActivator.java Fri Sep 03 15:38:48 2010 -0500 @@ -125,10 +125,11 @@ Registry instance = Registry.instance(); instance.loadExtensions(); instance.loadConnections(); - fireToggleServicesTestingListener(getShouldTestServices()); new WhenWorkbenchIsVisibleThread(new Runnable() { public void run() { + fireToggleServicesTestingListener(getShouldTestServices()); + if (!ignoreAgentLoadErrors()) checkPrerequisites(); diff -r fccb2e8f8b9b -r fc333b249602 connectivity/com.nokia.carbide.remoteConnections/src/com/nokia/carbide/remoteconnections/view/ConnectionsView.java --- a/connectivity/com.nokia.carbide.remoteConnections/src/com/nokia/carbide/remoteconnections/view/ConnectionsView.java Wed Aug 25 12:13:45 2010 -0500 +++ b/connectivity/com.nokia.carbide.remoteConnections/src/com/nokia/carbide/remoteconnections/view/ConnectionsView.java Fri Sep 03 15:38:48 2010 -0500 @@ -194,7 +194,9 @@ private void refreshViewer() { Display.getDefault().asyncExec(new Runnable() { public void run() { - if (nameEditor != null && nameEditor.isActivated()) { + if (nameEditor != null && nameEditor.getControl() != null && + !nameEditor.getControl().isDisposed() && + nameEditor.isActivated()) { refreshPending = true; return; } diff -r fccb2e8f8b9b -r fc333b249602 core/carbide_releases/configuration/server.properties --- a/core/carbide_releases/configuration/server.properties Wed Aug 25 12:13:45 2010 -0500 +++ b/core/carbide_releases/configuration/server.properties Fri Sep 03 15:38:48 2010 -0500 @@ -15,3 +15,4 @@ com.nokia.carbide.internal.discovery.ui.view.WrenchSciencePage=http://blogs.in.nokia.com/wrenchscience/rss.xml com.nokia.carbide.internal.discovery.ui.view.CreatingCarbidePage=http://creatingcarbide.blogspot.com/feeds/posts/default?alt=rss com.nokia.carbide.internal.discovery.ui.view.PulsarPageLayer=http://tools.ext.nokia.com/pulsar/directory.xml +com.nokia.carbide.internal.discovery.ui.view.SupportPage=http://www.yahoo.com diff -r fccb2e8f8b9b -r fc333b249602 core/carbide_releases/readme/readme_sdks.html --- a/core/carbide_releases/readme/readme_sdks.html Wed Aug 25 12:13:45 2010 -0500 +++ b/core/carbide_releases/readme/readme_sdks.html Fri Sep 03 15:38:48 2010 -0500 @@ -6,7 +6,6 @@ SDK Support in Carbide.c++ diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/cheatsheets/getStarted_cs.xml --- a/core/com.nokia.carbide.cpp.doc.user/html/cheatsheets/getStarted_cs.xml Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/cheatsheets/getStarted_cs.xml Fri Sep 03 15:38:48 2010 -0500 @@ -1,46 +1,46 @@ - - - - Follow these steps to create and debug a Symbian project and using an emulator. using the S60 EPOC Emulator. - - - - Use the SDK Preferences panel to verify a supported Symbian SDK is installed. If not, you'll need to download a supported SDK and install it before continuing. - - - - - - - Use the New Project wizard to create a Symbian OS project. We named our example HelloCarbide. - - - - - - - If you don't see an EXE file in the C/C++ Projects view, build the project to create one. - - - - - - - Open the CHelloCarbideAppUI file and set a breakpoint in the HandleCommandL routine. - - - - - The first time Carbide.c++ launches a project it creates a debug launch configuration using preset project settings. It then switches to the Debug perspective, launches the S60 EPOC Emulator, and waits for a breakpoint to be hit. When it does, control is returned to the Carbide debugger. - - - - - - - Click Resume in the Debug view to pass control back to the emulator. - - - - - + + + + Follow these steps to create and debug a Symbian project and using an emulator. using the S60 EPOC Emulator. + + + + Use the SDK Preferences panel to verify a supported Symbian SDK is installed. If not, you'll need to download a supported SDK and install it before continuing. + + + + + + + Use the New Project wizard to create a Symbian OS project. We named our example HelloCarbide. + + + + + + + If you don't see an EXE file in the C/C++ Projects view, build the project to create one. + + + + + + + Open the CHelloCarbideAppUI file and set a breakpoint in the HandleCommandL routine. + + + + + The first time Carbide.c++ launches a project it creates a debug launch configuration using preset project settings. It then switches to the Debug perspective, launches the S60 EPOC Emulator, and waits for a breakpoint to be hit. When it does, control is returned to the Carbide debugger. + + + + + + + Click Resume in the Debug view to pass control back to the emulator. + + + + + diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/cheatsheets/trk_appTrk_debugapps_cs.xml --- a/core/com.nokia.carbide.cpp.doc.user/html/cheatsheets/trk_appTrk_debugapps_cs.xml Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/cheatsheets/trk_appTrk_debugapps_cs.xml Fri Sep 03 15:38:48 2010 -0500 @@ -1,40 +1,40 @@ - - - - - - Read the following information to Debug DLLs, Applications, and Executables. - - - - - - Click question mark on right side for instructions to debug DLLs. - - - - - - Click question mark on right side for instructions to debug applications. - - - - - - Click question mark on right side for instructions to import and debug a Symbian executable. - - - - - - Click question mark on right side for instructions to attach to a Symbian OS Process. - - - - - - Click question mark on right side for instructions to debug a compiled Symbian OS program. - - - + + + + + + Read the following information to Debug DLLs, Applications, and Executables. + + + + + + Click question mark on right side for instructions to debug DLLs. + + + + + + Click question mark on right side for instructions to debug applications. + + + + + + Click question mark on right side for instructions to import and debug a Symbian executable. + + + + + + Click question mark on right side for instructions to attach to a Symbian OS Process. + + + + + + Click question mark on right side for instructions to debug a compiled Symbian OS program. + + + \ No newline at end of file diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/concepts/autotargeting.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/concepts/autotargeting.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/concepts/autotargeting.htm Fri Sep 03 15:38:48 2010 -0500 @@ -9,14 +9,17 @@

Auto-Targeting of Executables

-

In run-mode the Carbide debugger now supports the auto-targeting of processes that are already running or are created during the execution of the debug session. Previously, the debugger forced users to explicitly attach to a running process. Now, the debugger attempts to target all the EXEs specified in the Executables tab of the launch configuration.

+

In run-mode the Carbide debugger now supports the auto-targeting of processes that are already running or are created during the execution of the debug session. Previously, the debugger forced users to explicitly attach to a running process. Now, the debugger attempts to target all the EXEs and binaries like DLLs specified in the Executables tab of the launch configuration.

  • If the executables are already started, it gets the load address of the executable and targets it for debugging, resolving any breakpoints it finds.
  • The debugger will target any executable not already started whenever a "process load" event occurs, resolving its breakpoints as well.
+

Debugging DLLs

+

One common debugging DLL use case is when the developer doesn't know which process calls the DLL. This makes it difficult to debug the DLL because you doesn't know which process to attach to nor start. Carbide enables DLL debugging by simply attaching the DLL to any running process as long as the DLL is included in the Executables view. See Attaching to a Process for more details.

Other References
diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/concepts/build_configurations.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/concepts/build_configurations.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/concepts/build_configurations.htm Fri Sep 03 15:38:48 2010 -0500 @@ -16,7 +16,7 @@

Build configurations are defined when the project is created. A project can have any number of build configurations and more can be added as necessary. Each build configuration can have its own combination of tool settings to precisely control how it is defined and built. Build configurations are maintained in the project Properties window in the Carbide Build Configurations panel. To open the panel, select a project in the Project Explorer or Symbian Project Navigator view and select Project > Properties or right-click and select Properties.

-

You can select a build configuration in the Active Configuration group or use the Project > Active Configuration menu option to set which build configuration to launch when running or debugging a program. The currently selected project can be launched by clicking the Run () or Debug () control on the tool bar to launch the project with the currently active build configuration. When no project is selected the last project debugged will be launched.

+

You can select a build configuration in the Active Configuration group or use the Project > Active Configuration menu option to set which build configuration to launch when running or debugging a program. The currently selected project can be launched by clicking the Run () or Debug () control on the tool bar to launch the project with the currently active build configuration. When no project is selected the last project debugged will be launched.

If no launch configuration is present in the project, one is created on initial launch. Subsequent launches of the project will use either the last launch configuration or if more than one launch configuration exists, it uses the most correct one.

NOTE The Carbide Run and Debug buttons are shaded in blue to indicate their behavior differs from the standard Eclipse behavior.

Table 1 Build Configuration items
diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/concepts/build_targets.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/concepts/build_targets.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/concepts/build_targets.htm Fri Sep 03 15:38:48 2010 -0500 @@ -15,13 +15,13 @@

Supported Target Types

Carbide.c++ supports a variety of build targets based upon the SDKs and which version of the Carbide tools used by the project. The table below identifies which build targets are possible for a specific SDK.

-

NOTE Check the SDK Preferences page to see if an SDK you have installed and whether its build configurations are supported.

+

NOTE Check the SDK Preferences page to see if an SDK you have installed and whether its build configurations are supported.

Table 1. Supported target types for all versions of Carbide.c++
+(S60 5.0, Symbian ^3, Symbian ^4) @@ -61,7 +61,6 @@
Target Types Platform Security
-(S60 5.0, Symbian ^3)
RAPTOR, GCCE, ARMV5, ARMV5_ABIV2
Related tasks
diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/concepts/registers.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/concepts/registers.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/concepts/registers.htm Fri Sep 03 15:38:48 2010 -0500 @@ -43,8 +43,7 @@ diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/concepts/tour.html --- a/core/com.nokia.carbide.cpp.doc.user/html/concepts/tour.html Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/concepts/tour.html Fri Sep 03 15:38:48 2010 -0500 @@ -52,32 +52,19 @@
  • - Add scalable graphics (MIF) and Symbian OS bitmaps (MBM) to projects, and edit these resources. You can add these using the New command, which is available on the File menu, and on the pop-up menus of the Project Explorer and Symbian Project Navigator views. MBM and MIF editors are provided to modify + Add scalable graphics (MIF) and Symbian OS bitmaps (MBM) to projects, and edit these resources. You can add these using the New command, which is available on the File menu, and on the pop-up menus of the Project Explorer and Symbian Project Navigator views. MBM and MIF editors are provided to modify the resources.

    For more information, see Creating an MBM File.

  • -
  • -

    - Build programs for multiple SDKs and targets. The standard CDT build - commands such as Build Project and Build All Configurations, - which are available in the Project menu, are used.

    -

    +

  • +

    + Build programs for multiple SDKs and targets. The standard CDT build commands such as Build Project and Build All Configurations, + which are available in the Project menu, are used.

    +

    For more information, see Building Projects.

  • - - - - - -
      -
    • -

      - Configure the SDKs that are available for use with Carbide.c++ in the SDK Preferences settings. Select Window - > Preferences, expand the Carbide.c++ group and select SDK Preferences.

      -

      - For more information, see SDK Properties.

      -
    • +
    • To view the SDKs that are available for use with Carbide.c++ use the Symbian SDK preferences panel.
    diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/concepts/working_with_debugger.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/concepts/working_with_debugger.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/concepts/working_with_debugger.htm Fri Sep 03 15:38:48 2010 -0500 @@ -21,8 +21,8 @@
  • Restarting the debugger
  • -
  • Variable information in the Variables view—see the variables in the executing code, their values, and their types
  • -
  • Breakpoint information in the Breakpoints view—see the breakpoints, conditional breakpoints, and breakpoint actions
  • +
  • Variable information in the Variables view—see the variables in the executing code, their values, and their types
  • +
  • Breakpoint information in the Breakpoints view—see the breakpoints, conditional breakpoints, and breakpoint actions
  • Source code—see the source code under debugger control
  • Related concepts
    diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/concepts/working_with_programs.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/concepts/working_with_programs.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/concepts/working_with_programs.htm Fri Sep 03 15:38:48 2010 -0500 @@ -12,7 +12,7 @@

    This section explains how to use breakpoints, breakpoint actions, and watchpoints to manipulate execution of your program in the Carbide™ IDE:

    • Breakpoints—halt program execution on a line of source code that you specify. You can set a breakpoint that always halts program execution, or you can set a breakpoint that halts program execution if a condition that you specify is true.
    • -
    • Breakpoint actions—perform a task during program execution on a line of source +
    • Breakpoint actions—perform a task during program execution on a line of source code that you specify. Breakpoint actions can play sounds, run scripts, log data, and perform other operations.
    • Watchpoints—halt program execution after a location in memory changes value
    • diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/concepts/working_with_variables.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/concepts/working_with_variables.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/concepts/working_with_variables.htm Fri Sep 03 15:38:48 2010 -0500 @@ -24,8 +24,8 @@ diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/context_help/carbide_debug_dialogs_help.xml --- a/core/com.nokia.carbide.cpp.doc.user/html/context_help/carbide_debug_dialogs_help.xml Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/context_help/carbide_debug_dialogs_help.xml Fri Sep 03 15:38:48 2010 -0500 @@ -41,7 +41,7 @@ Use the Symbian OS Data view to view processes, threads, chunks, and library information - + @@ -49,7 +49,7 @@ The Overview pane displays kernel objects by their heirarchical owner relationship - + @@ -57,7 +57,7 @@ The Processes pane lists processes in the target's Symbian OS - + @@ -65,7 +65,7 @@ The Threads pane lists threads in the target's Symbian OS - + @@ -73,7 +73,7 @@ The Chunks pane lists chunks in the target's Symbian OS - + @@ -81,7 +81,7 @@ The Libraries pane lists libraries in the target's Symbian OS - + @@ -166,14 +166,14 @@ Create an Attach to Process launch configuration. - + Attaching to a process on the target device. - + @@ -290,7 +290,7 @@ - + diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/context_help/carbide_ide_dialogs_help.xml --- a/core/com.nokia.carbide.cpp.doc.user/html/context_help/carbide_ide_dialogs_help.xml Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/context_help/carbide_ide_dialogs_help.xml Fri Sep 03 15:38:48 2010 -0500 @@ -26,16 +26,16 @@ Use the Carbide Project Settings window to specify project build options. - - - + + + The Carbide Build Configurations page allows you to specify SIS file options and environment variable settings for the selected build configuration - + @@ -48,9 +48,9 @@ Add or Remove build configurations to current project - + - + @@ -75,8 +75,8 @@ Set project macros options - - + + @@ -382,7 +382,6 @@ - @@ -398,7 +397,6 @@ Use the SDK Properties window to examine the properties associated with the currently selected SDK in the SDK Preferences panel. - diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/context_help/eclipse_dialogs_help.xml --- a/core/com.nokia.carbide.cpp.doc.user/html/context_help/eclipse_dialogs_help.xml Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/context_help/eclipse_dialogs_help.xml Fri Sep 03 15:38:48 2010 -0500 @@ -113,7 +113,7 @@ - + @@ -322,9 +322,9 @@ Carbide specific project settings. - - - + + + diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/debugger.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/debugger.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/debugger.htm Fri Sep 03 15:38:48 2010 -0500 @@ -34,7 +34,7 @@
      Carbide.c++ User Guide
      -

      Version 3.0.0, June, 2010

      +

      Version 3.0.0, Sept, 2010

       

      diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/debugger/debug/cmds_starting.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/debugger/debug/cmds_starting.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/debugger/debug/cmds_starting.htm Fri Sep 03 15:38:48 2010 -0500 @@ -16,11 +16,11 @@
    • Restarting a session

    Starting a session

    -

    Use the Debug command () to execute a program under debugger control using the current launch configuration settings.

    +

    Use the Debug command () to execute a program under debugger control using the current launch configuration settings.

    If the project does not already have a launch configuration, the New Launch Configuration Wizard will automatically create one for emulator targets or ask for additional information to create phone or hardware device configurations. It will generate a default name for the launch configuration and add it to the list of available launch configurations for the project. Once complete and saved the debug session is launched. If a launch configuration is already available, the Debug command launches the last launch configuration used by the project.

    To create new launch configurations where none previously existed or launch the last one created:

      -
    • Click the Debug button () in the Carbide C/C++ perspective
    • +
    • Click the Debug button () in the Carbide C/C++ perspective
    • Select Run > Debug from the menu bar

    To launch a specific launch configuration:

    diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/debugger/watchpoints/watchpoints.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/debugger/watchpoints/watchpoints.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/debugger/watchpoints/watchpoints.htm Fri Sep 03 15:38:48 2010 -0500 @@ -105,7 +105,6 @@
  • Setting Watchpoints
  • Enabling Watchpoints
  • Disabling Watchpoints
  • -
  • Clearing Watchpoints
  • Related references
      diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/images/icons/menu_build_target.png Binary file core/com.nokia.carbide.cpp.doc.user/html/images/icons/menu_build_target.png has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/images/icons/wiz_launch_config_app_selection.png Binary file core/com.nokia.carbide.cpp.doc.user/html/images/icons/wiz_launch_config_app_selection.png has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/images/icons/wiz_launch_config_finish.png Binary file core/com.nokia.carbide.cpp.doc.user/html/images/icons/wiz_launch_config_finish.png has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/images/icons/wiz_launch_config_launch_types.png Binary file core/com.nokia.carbide.cpp.doc.user/html/images/icons/wiz_launch_config_launch_types.png has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/images/icons/wiz_launch_config_rom_image.png Binary file core/com.nokia.carbide.cpp.doc.user/html/images/icons/wiz_launch_config_rom_image.png has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/images/icons/wiz_launch_config_trace32.png Binary file core/com.nokia.carbide.cpp.doc.user/html/images/icons/wiz_launch_config_trace32.png has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/images/icons/wiz_launch_config_trk_conn.png Binary file core/com.nokia.carbide.cpp.doc.user/html/images/icons/wiz_launch_config_trk_conn.png has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/images/icons/wiz_launch_config_trk_sis.png Binary file core/com.nokia.carbide.cpp.doc.user/html/images/icons/wiz_launch_config_trk_sis.png has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/images/step1.png Binary file core/com.nokia.carbide.cpp.doc.user/html/images/step1.png has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/images/step2.png Binary file core/com.nokia.carbide.cpp.doc.user/html/images/step2.png has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/images/step4.png Binary file core/com.nokia.carbide.cpp.doc.user/html/images/step4.png has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/images/step5.png Binary file core/com.nokia.carbide.cpp.doc.user/html/images/step5.png has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/images/step6.png Binary file core/com.nokia.carbide.cpp.doc.user/html/images/step6.png has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/images/step7.png Binary file core/com.nokia.carbide.cpp.doc.user/html/images/step7.png has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/projects/launch/applications.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/projects/launch/applications.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/projects/launch/applications.htm Fri Sep 03 15:38:48 2010 -0500 @@ -1,19 +1,19 @@ - - - - -Applications Launch Configuration - - - - -

      Applications Launch Configuration

      -

      Use the Symbian OS Applications launch configuration to launch projects using the best launch configuration match. When chosen, Carbide examines the project and determines which specific launch configuration works best for the project, then launches it with the selected launch configuration. It is essentially identical to clicking the Debug icon () in the toolbar.

      -

      Other references

      - - - - + + + + +Applications Launch Configuration + + + + +

      Applications Launch Configuration

      +

      Use the Symbian OS Applications launch configuration to launch projects using the best launch configuration match. When chosen, Carbide examines the project and determines which specific launch configuration works best for the project, then launches it with the selected launch configuration. It is essentially identical to clicking the Debug icon () in the toolbar.

      +

      Other references

      + + + + diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/projects/launch/images/menu_build_target.png Binary file core/com.nokia.carbide.cpp.doc.user/html/projects/launch/images/menu_build_target.png has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/projects/launch/images/wiz_launch_config_app_selection.png Binary file core/com.nokia.carbide.cpp.doc.user/html/projects/launch/images/wiz_launch_config_app_selection.png has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/projects/launch/images/wiz_launch_config_build_options.png Binary file core/com.nokia.carbide.cpp.doc.user/html/projects/launch/images/wiz_launch_config_build_options.png has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/projects/launch/images/wiz_launch_config_debug_as.png Binary file core/com.nokia.carbide.cpp.doc.user/html/projects/launch/images/wiz_launch_config_debug_as.png has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/projects/launch/images/wiz_launch_config_launch_types.png Binary file core/com.nokia.carbide.cpp.doc.user/html/projects/launch/images/wiz_launch_config_launch_types.png has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/projects/launch/images/wiz_launch_config_rom_image.png Binary file core/com.nokia.carbide.cpp.doc.user/html/projects/launch/images/wiz_launch_config_rom_image.png has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/projects/launch/images/wiz_launch_config_trk_conn.png Binary file core/com.nokia.carbide.cpp.doc.user/html/projects/launch/images/wiz_launch_config_trk_conn.png has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/projects/launch/images/wiz_launch_config_trk_sis.png Binary file core/com.nokia.carbide.cpp.doc.user/html/projects/launch/images/wiz_launch_config_trk_sis.png has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/projects/launch/images/wiz_launch_new_launch_config.png Binary file core/com.nokia.carbide.cpp.doc.user/html/projects/launch/images/wiz_launch_new_launch_config.png has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/projects/launch/launch_configs_overview.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/projects/launch/launch_configs_overview.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/projects/launch/launch_configs_overview.htm Fri Sep 03 15:38:48 2010 -0500 @@ -10,7 +10,7 @@

      Launch Configuration Overview

      A launch configuration defines the operational settings used by the Carbide.c++ tools to launch and debug programs. A project must have at least one launch configuration, and can have as many as necessary. This enables you to develop and debug your project using various compilers (GCCE and RVCT) and different targets (emulator, on-device, and reference boards) as each launch configuration can be tailored to fit the intended target.

      Creating a Launch Configuration

      -

      To create a default launch configuration for a project use the New Launch Configuration Wizard. Using this method ensures that you have a working launch configuration for the project. You can invoke the New Launch Configuration Wizard for projects lacking a launch configuration by selecting the Run > Debug (F11) or Run > Run (CTRL+F11) menu options, or clicking the Run (Run icon) or Debug (Debug icon) icons in the toolbar. If a project already has a defined launch configuration, selecting the Run or Debug command calls the previously defined and last used launch configuration, bypassing the wizard entirely.

      +

      To create a default launch configuration for a project use the New Launch Configuration Wizard. Using this method ensures that you have a working launch configuration for the project. You can invoke the New Launch Configuration Wizard for projects lacking a launch configuration by selecting the Run > Debug (F11) or Run > Run (CTRL+F11) menu options, or clicking the Run (Run icon) or Debug (Debug icon) icons in the toolbar. If a project already has a defined launch configuration, selecting the Run or Debug command calls the previously defined and last used launch configuration, bypassing the wizard entirely.

      For emulator projects the wizard simply gathers the data it needs from the project and creates an emulator launch configuration and launches the emulator. For on-device targets, more information is required, so the wizard asks for the missing information it needs, creates the launch configuration, then downloads the executable to the device and launches it. Once the emulator or device is loaded with the executable, the debug session commences.

      You can customize any project launch configuration afterward using the Debug dialog as necessary.

      Available Launch Configurations

      diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/projects/launch/wiz_new_launch_config.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/projects/launch/wiz_new_launch_config.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/projects/launch/wiz_new_launch_config.htm Fri Sep 03 15:38:48 2010 -0500 @@ -10,80 +10,90 @@

      New Launch Configuration Wizard

      -

      The New Launch Configuration Wizard launches when no launch configuration exists for a project. Wherever possible the New Launch Configuration wizard gathers the information from the project and asks additional questions based on the type of launch configuration chosen. For example, a launch configuration using Application TRK requires different information than one targeted for System TRK.

      +

      The New Launch Configuration Wizard launches when no launch configuration exists for a build configuration in a project. Wherever possible the New Launch Configuration wizard gathers the information from the project and asks additional questions based on the type of launch configuration chosen. For example, a launch configuration using Application TRK requires different information than one targeted for System TRK.

      +

      Every project consists of one or more build configurations as listed under the Build project icon (Build project icon) of the toolbar or in the Add/Remove Carbide Build Configuration dialog. Every build configuration needs a launch configuration to enable debugging. Launch configurations can be shared between build configurations. The New Launch Configuration Wizard detects when a build configuration doesn't have an associated launch configuration and guides you through the setup process.

      +

      +

      Figure 1. Build configurations for the chosen project appear under the Build icon

      +

      To access the New Launch Configuration Wizard click the Debug icon () on the toolbar. If no launch configuration exists for the selected build target the wizard is launched. If a launch configuration already exists, then that launch configuration is launched and not the wizard.

      +

      Launch Configuration Wizard Pages

      +

      The following are the possible pages you will see depending upon your choice of build configuration and type of debugging required. Different launch configurations need different information to work properly. The following table lists all the pages seen when choosing common types of debugging.

      - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + +
      Launch ConfigurationWizard Pages
      Common pages
      Emulation
      Application TRK and System TRK
      Attach to Process
      Launch ConfigurationWizard Pages
      Common pages
      Simulator
      Application TRK and System TRK
      Attach to Process
      -

      To access the New Launch Configurtion Wizard click the Debug icon (). If no launch configuration exists for the build target the wizard is launched. If a launch configuration already exists, then that launch configuration is launched and not the wizard.

      -

      -

      Figure 1 - Build Target selection list

      -

      Category Types

      -

      Use the Category Types page to select the the launch category. The choices include Phone, Board, and possibly others. The choice made here filters the Launch Types page to only show valid launch configurations. Once a category is selected, click Next.

      -

      -

      Figure 2 - Category Types page

      +

      Debug As

      +

      Use the Debug As dialog to select the method of debugging for the chosen build configuration. The choices include:

      +
        +
      • Symbian OS Phone of Simulator Launch – choose to work with attached phones or devices
      • +
      +
        +
      • Symbian OS Platform Simulator Launch – choose to work with platform boards
      • +
      +

      The choice made here filters the Launch Types page to only show valid launch configurations. Once a debug as choice is made, click OK.

      +

      Debug As dialog

      +

      Figure 1 - Debug As dialog

      Launch Types

      Use the Launch Types page to select the type of launch configuration for the build target. This page does not appear when using an Emulator target. Available types are listed from the most frequently chosen (Application TRK) to the least likely type (Attach to Process). Select a type and click Next.

      -

      -

      Figure 3 - Launch Type page

      +

      +

      Figure 2 - Launch Type page

      Build Options Selection

      Use the Build Options Selection page to define if the launch configuration uses automatic build or not. Choices include using the global automatic built setting (default), enable or disable automatic build for the launch configuration. You can also set the global option using the Configure Workspace Settings... to open the Launching preference panel.

      -

      -

      Figure 4 - Build Options Selection page

      +

      +

      Figure 3 - Build Options Selection page

      Executable Selection

      Use the Application Selection page to choose a binary created by the project to launch and debug and verify its location. If only a single binary is available the Process to launch option is disabled.

      EMULATOR ONLY Use the Location field for emulator targets to verify that the correct executable on the host is selected. This field is not used with on-device launch configurations.

      Use the Specify device path of remote process to launch option to specify alternate paths for launching the executable from RAM (c:\sys\bin\), ROM (z:\sys\bin\) or memory cards (e:\sys\bin\) .

      Select the Executable to launch, verify it is the correct binary, then click Next.

      -

      -

      Figure 5 - Executable Selection page (when project has multiple EXEs)

      +

      +

      Figure 4 - Executable Selection page (when project has multiple EXEs)

      TRK Connection Settings

      Use the TRK Connection Settings page to specify the connection used to communicate with the target device. If the device is already connected, the drop down list will include both the COM port and the name of the device using that port. Use the On-Device Conection dialog to verify and update all Carbide software services on the device. Choose the serial port used to communicate with the target device and click Next.

      -

      -

      Figure 6 - TRK Connection Settings page

      +

      +

      Figure 5 - TRK Connection Settings page

       

      TRK SIS Selection

      Use the TRK SIS Selection page to select the SIS file to install on the target device. Click the Modify SIS builder settings for build configuration link to open the SIS Builder properties pane to add, edit, or review the SIS files to build. Once the correct SIS File to Install is selected, click Next.

      -

      -

      Figure 7 - TRK SIS Selection page

      +

      +

      Figure 6 - TRK SIS Selection page

      New Launch Configuration

      Use the New Launch Configuration page to note the name of the configuration, confirm the launch configuration settings, and then launch the debug session. If something doesn't look right, click Back to return to a page and change its setting. If all the settings are correct, click Finish to start the debug session using this launch configuration.

      If you checkmark Advanced settings, the Debug dialog appears instead of launching the project. This enables you to make additional changes to the new launch configuration before starting the debug session. By design and intent, this should seldom be required for the initial launch.

      -

      -

      Figure 8 - New Launch Configuration page

      +

      New Launch Configuration dialog

      +

      Figure 7 - New Launch Configuration page

      Other references
      • Launch Configuration
      • diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/projects/tutorials/new_proj_dll_example_00.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/projects/tutorials/new_proj_dll_example_00.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/projects/tutorials/new_proj_dll_example_00.htm Fri Sep 03 15:38:48 2010 -0500 @@ -15,7 +15,7 @@
      • Building an executable based on the project sources
      • Debugging the DLL using the Carbide debugger
      • -

        NOTE There must be at least one recognized SDK installed before you can create a project. See the SDK Preferences panel to determine if the installed SDKs are recognized by Carbide.c++ IDE. If the SDK you have installed is not recognized, you may still be able to add it to the Discovered Symbian OS SDK list.

        +

        NOTE There must be at least one recognized SDK installed before you can create a project. See the Symbian SDKs preference panel to determine if the installed SDKs are recognized by Carbide.c++ IDE. If the SDK you have installed is not recognized, you may still be able to add it to the Discovered Symbian OS SDK list.

        Other references

        • Emulator Application Projects
        • diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/projects/tutorials/new_proj_dll_example_01.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/projects/tutorials/new_proj_dll_example_01.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/projects/tutorials/new_proj_dll_example_01.htm Fri Sep 03 15:38:48 2010 -0500 @@ -15,7 +15,7 @@
        • Building the DLL object code based on the project sources
        • Debugging the DLL using the Carbide debugger
        • -

          NOTE There must be at least one recognized SDK installed before you can create a project. See the SDK Preferences panel to determine if the installed SDKs are recognized by Carbide.c++ IDE. If the SDK you have installed is not recognized, you may still be able to add it to the Discovered Symbian OS SDK list.

          +

          NOTE There must be at least one recognized SDK installed before you can create a project. See the Symbian SDKspreference panel to determine if the installed SDKs are recognized by Carbide.c++ IDE. If the SDK you have installed is not recognized, you may still be able to add it to the Discovered Symbian OS SDK list.


          In this tutorial you'll create a simple DLL project using the New Symbian OS C++ Project wizard, attach it to the HelloWorld project created here, then debug it.

          diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/projects/tutorials/new_proj_dll_example_02.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/projects/tutorials/new_proj_dll_example_02.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/projects/tutorials/new_proj_dll_example_02.htm Fri Sep 03 15:38:48 2010 -0500 @@ -33,7 +33,7 @@
          -

          Once compiling is complete use the Project Explorer, Problems, Console, and Executables views to locate and resolve any problems generated during the build. See Step 2 here for more details.

          +

          Once compiling is complete use the Project Explorer, Problems, Console, and Executables views to locate and resolve any problems generated during the build. See Step 2 here for more details.

          Project Explorer showing DLL project

          diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/projects/tutorials/new_proj_dll_example_03.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/projects/tutorials/new_proj_dll_example_03.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/projects/tutorials/new_proj_dll_example_03.htm Fri Sep 03 15:38:48 2010 -0500 @@ -25,7 +25,7 @@
          • Right-click the project in the Project Explorer view and choose Debug As > Debug Symbian OS Application on Phone or Simulator menu option.
          • Click the Run > Debug (F11) menu option.
          • -
          • Click the Debug (Debug icon) icon in the toolbar to build the project.
          • +
          • Click the Debug (Debug icon) icon in the toolbar to build the project.

          The first time you perform any of the following actions, the New Launch Configuration Wizard appears asking for the additional info to connect to a device.

          New Launch Configuration Wizard

          diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/projects/tutorials/new_proj_from_template_00.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/projects/tutorials/new_proj_from_template_00.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/projects/tutorials/new_proj_from_template_00.htm Fri Sep 03 15:38:48 2010 -0500 @@ -16,7 +16,7 @@
        • Defining a launch configuration for running or debugging the application
        • Controlling and debugging the running program using the Carbide debugger
        • -

          NOTE There must be at least one recognized SDK installed before you can create a project. See the SDK Preferences panel to determine if the installed SDKs are recognized by Carbide.c++ IDE. If the SDK you have installed is not recognized, you may still be able to add it to the Discovered Symbian OS SDK list.

          +

          NOTE There must be at least one recognized SDK installed before you can create a project. See the Symbian SDKspreference panel to determine if the installed SDKs are recognized by Carbide.c++ IDE. If the SDK you have installed is not recognized, you may still be able to add it to the Discovered Symbian OS SDK list.

          Other references

          • DLL Projects
          • Remote Target Debugging (Run-mode)
          • diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/projects/tutorials/new_proj_from_template_02.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/projects/tutorials/new_proj_from_template_02.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/projects/tutorials/new_proj_from_template_02.htm Fri Sep 03 15:38:48 2010 -0500 @@ -5,7 +5,7 @@ Building Projects and Components - +

            Building Projects and Components

            @@ -69,7 +69,7 @@
          • Check the Problems view for error or warning messages
            -

            Examine the Problems view to see what errors and warning messages were generated during the build. The Description column contains additional information about the problem that can help you resolve it.

            +

            Examine the Problems view to see what errors and warning messages were generated during the build. The Description column contains additional information about the problem that can help you resolve it.

            Executables view

          • Examine the Console view for more specific details on an error or warning message
            diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/projects/tutorials/new_proj_from_template_04.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/projects/tutorials/new_proj_from_template_04.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/projects/tutorials/new_proj_from_template_04.htm Fri Sep 03 15:38:48 2010 -0500 @@ -16,7 +16,7 @@
          • Launching and debugging an executable using the Carbide debugger

          • -

            NOTE You can only debug compiled programs. Use the Build Project command to compile project sources into a binary file if you do not already have an executable in the project. A symbolics (.sym) file is also required for debugging on a target device. Ensure that a .sym file has been created. If you are importing an existing application, you may have to rebuild the application and create a related .sym file. Make sure a .sym file has been created in the output directory.

            +

            NOTE You can only debug compiled programs. Use the Build Project command to compile project sources into a binary file if you do not already have an executable in the project. A symbolics (.sym) file is also required for debugging on a target device. Ensure that a .sym file has been created. If you are importing an existing application, you may have to rebuild the application and create a related .sym file. Make sure a .sym file has been created in the output directory.

            Launching and debugging an executable

              @@ -32,7 +32,7 @@
              • Right-click the project and choose Debug As > Debug Symbian OS Application on Emulator.
              • Click the Run > Debug (F11) menu item.
              • -
              • Click the Debug (Debug icon) icon in the toolbar.
              • +
              • Click the Debug (Debug icon) icon in the toolbar.

              The emulator is launched and the Debug perspective appears to manage the debug session.

              diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/projects/tutorials/run_mode_debug_example_00.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/projects/tutorials/run_mode_debug_example_00.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/projects/tutorials/run_mode_debug_example_00.htm Fri Sep 03 15:38:48 2010 -0500 @@ -14,7 +14,7 @@
            1. Connect target device for PC
            2. Install TRK remote agent (v3.2.7) or later on the target device
            3. Configure project for downloading
            4. -
            5. Debug project on target device
            6. +
            7. Debug project on target device

            Other references

              diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/projects/tutorials/run_mode_debug_example_01.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/projects/tutorials/run_mode_debug_example_01.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/projects/tutorials/run_mode_debug_example_01.htm Fri Sep 03 15:38:48 2010 -0500 @@ -14,7 +14,7 @@
            • Connect target device to PC
            • Install TRK remote agent (v3.2.7) or later on the target device
            • Configure project for downloading
            • -
            • Debug project on target device
            • +
            • Debug project on target device

            • The most reliable connection between a remote device and your PC is a cable. In this case, the USB cable that physically connects your phone to the a PC USB connection. Once connected, Carbide uses plug-and-play (PnP) to create a remote connection to the phone or remote device.

              diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/projects/tutorials/run_mode_debug_example_03.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/projects/tutorials/run_mode_debug_example_03.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/projects/tutorials/run_mode_debug_example_03.htm Fri Sep 03 15:38:48 2010 -0500 @@ -14,7 +14,7 @@
            • Connect target device to PC
            • Install TRK remote agent (v3.2.7) or later on the target device
            • Configure project for downloading
            • -
            • Debug project on target device
            • +
            • Debug project on target device

            •  

              @@ -25,7 +25,7 @@

              We choose Phone Debug (armv5_udeb) for this example using the Manage Configurations icon on the toolbar, but yours name may differ based upon the SDK selected for your project.

              Select device target

              -
            • Click the Debug icon (Debug icon) on the toolbar. +
            • Click the Debug icon (Debug icon) on the toolbar.

              This opens the New Launch Configuration Wizard dialog asking for additional information. For the first launch you must define the name of the package to install on the target device.

              New Launch Configuration Wizard

                diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/projects/tutorials/run_mode_debug_example_04.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/projects/tutorials/run_mode_debug_example_04.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/projects/tutorials/run_mode_debug_example_04.htm Fri Sep 03 15:38:48 2010 -0500 @@ -24,7 +24,7 @@
              1. Set breakpoints in the program.

                Set breakpoints at the critical points in the program where you want to stop execution.

              2. -
              3. Click the Debug icon (Debug icon) to launch the program for debugging on the target device. +
              4. Click the Debug icon (Debug icon) to launch the program for debugging on the target device.

                Follow the steps in Configure project for downloading to build and launch the program for debugging.

              5. Use the Carbide debugger to examine program internals and control its execution. diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/qt_help/qt_creating_projs_01.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/qt_help/qt_creating_projs_01.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/qt_help/qt_creating_projs_01.htm Fri Sep 03 15:38:48 2010 -0500 @@ -18,7 +18,7 @@
              6. Select Qt modules to include in project
              7. Set application UID
              -

              NOTE There must be at least one recognized SDK installed before you can create a project. See the SDK Preferences panel to determine if the installed SDKs are recognized by Carbide.c++ IDE. If the SDK you have is not recognized, you may still be able to it to the Discovered Symbian OS SDK list.

              +

              NOTE There must be at least one recognized SDK installed before you can create a project. See the Symbian SDKs panel to determine if the installed SDKs are recognized by Carbide.c++ IDE. If the SDK you have is not recognized, you may still be able to it to the Discovered Symbian OS SDK list.

              Launch the New Qt Project Wizard

              Select the File > New > New Qt Project menu item to open the New Qt Symbian OS C++ Project dialog.

              diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/qt_help/qt_creating_projs_02.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/qt_help/qt_creating_projs_02.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/qt_help/qt_creating_projs_02.htm Fri Sep 03 15:38:48 2010 -0500 @@ -18,7 +18,7 @@
            • Select Qt modules to include in project
            • Set application UID
            • -

              NOTE There must be at least one recognized SDK installed before you can create a project. See the SDK Preferences panel to determine if the installed SDKs are recognized by Carbide.c++ IDE. If the SDK you have is not recognized, you may still be able to add it to the Discovered Symbian OS SDK list.

              +

              NOTE There must be at least one recognized SDK installed before you can create a project. See the Symbian SDKs panel to determine if the installed SDKs are recognized by Carbide.c++ IDE. If the SDK you have is not recognized, you may still be able to add it to the Discovered Symbian OS SDK list.

              Select type of Qt project

              Use the Select a type of project page in the New Qt Project Wizard to choose a Qt project template that will be used to generate the new project, then click Next. Note that the templates shown are filtered to

              diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/qt_help/qt_creating_projs_03.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/qt_help/qt_creating_projs_03.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/qt_help/qt_creating_projs_03.htm Fri Sep 03 15:38:48 2010 -0500 @@ -19,7 +19,7 @@
            • Select Qt modules to include in project
            • Set application UID
            • -

              NOTE There must be at least one recognized SDK installed before you can create a project. See the SDK Preferences panel to determine if the installed SDKs are recognized by Carbide.c++ IDE. If the SDK you have is not recognized, you may still be able to add it to the Discovered Symbian OS SDK list.

              +

              NOTE There must be at least one recognized SDK installed before you can create a project. See the Symbian SDKs panel to determine if the installed SDKs are recognized by Carbide.c++ IDE. If the SDK you have is not recognized, you may still be able to add it to the Discovered Symbian OS SDK list.

              Enter project name and location

              Use the New Qt Symbian OS C++ Project page in the Qt Project Wizard to define the projects name and where it should be saved, then click Next. In Qt projects, the name of the project folder must match the project name.

              diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/qt_help/qt_creating_projs_04.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/qt_help/qt_creating_projs_04.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/qt_help/qt_creating_projs_04.htm Fri Sep 03 15:38:48 2010 -0500 @@ -20,7 +20,7 @@
            • Set application UID
            • NOTE If everything is built correctly, the QtCore.lib should be in your SDK's <platform> <target> UDEB directory. If this library is missing, then the SDK will not show up as a supported SDK-target in the build configurations.

              -

              NOTE There must be at least one recognized SDK installed before you can create a project. See the SDK Preferences panel to determine if the installed SDKs are recognized by Carbide.c++ IDE. If the SDK you have is not recognized, you may still be able to add it to the Discovered Symbian OS SDK list.

              +

              NOTE There must be at least one recognized SDK installed before you can create a project. See the Symbian SDKs panel to determine if the installed SDKs are recognized by Carbide.c++ IDE. If the SDK you have is not recognized, you may still be able to add it to the Discovered Symbian OS SDK list.

              Select SDKs for build targets

              Use the Build Targets page of the Qt Project Wizard to select one or more Qt SDKs to include in the project, then click Next.

              diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/qt_help/qt_creating_projs_05.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/qt_help/qt_creating_projs_05.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/qt_help/qt_creating_projs_05.htm Fri Sep 03 15:38:48 2010 -0500 @@ -19,7 +19,7 @@
            • Select Qt modules to include in project
            • Set application UID
            • -

              NOTE There must be at least one recognized SDK installed before you can create a project. See the SDK Preferences panel to determine if the installed SDKs are recognized by Carbide.c++ IDE. If the SDK you have is not recognized, you may still be able to add it to the Discovered Symbian OS SDK list.

              +

              NOTE There must be at least one recognized SDK installed before you can create a project. See the Symbian SDKs panel to determine if the installed SDKs are recognized by Carbide.c++ IDE. If the SDK you have is not recognized, you may still be able to add it to the Discovered Symbian OS SDK list.

              Select Qt modules to include in project

              Use the Qt Modules page to select one or more Qt modules to include with the project, then click Next.

              diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/qt_help/qt_creating_projs_06.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/qt_help/qt_creating_projs_06.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/qt_help/qt_creating_projs_06.htm Fri Sep 03 15:38:48 2010 -0500 @@ -18,7 +18,7 @@
            • Select Qt modules to include in project
            • Set application UID
            • -

              NOTE There must be at least one recognized SDK installed before you can create a project. See the SDK Preferences panel to determine if the installed SDKs are recognized by Carbide.c++ IDE. If the SDK you have is not recognized, you may still be able to add it to the Discovered Symbian OS SDK list.

              +

              NOTE There must be at least one recognized SDK installed before you can create a project. See the Symbian SDKs panel to determine if the installed SDKs are recognized by Carbide.c++ IDE. If the SDK you have is not recognized, you may still be able to add it to the Discovered Symbian OS SDK list.

              Set application UID

              Use the Basic Settings page of the Qt Project Wizard to define an Application UID to the executable. Click Random to generate a unique UID for program testing purposes. Click Finish when ready to create the project.

              diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/qt_help/qt_importing_projs_04.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/qt_help/qt_importing_projs_04.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/qt_help/qt_importing_projs_04.htm Fri Sep 03 15:38:48 2010 -0500 @@ -18,7 +18,7 @@
            • Choose build targets
            • NOTE If everything is built correctly, the QtCore.lib should be in your SDK's <platform> <target> UDEB directory. If this library is missing, then the SDK will not show up as a supported SDK-target in the build configurations.

              -

              NOTE There must be at least one recognized SDK installed before you can create a project. See the SDK Preferences panel to determine if the installed SDKs are recognized by Carbide.c++ IDE. If the SDK you have is not recognized, you may still be able to add it to the Discovered Symbian OS SDK list.

              +

              NOTE There must be at least one recognized SDK installed before you can create a project. See the Symbian SDKs panel to determine if the installed SDKs are recognized by Carbide.c++ IDE. If the SDK you have is not recognized, you may still be able to add it to the Discovered Symbian OS SDK list.

              Select .pro file to import

              Use the Build Targets page in the File Import Wizard to select which SDKs and build configurations to associate with the project, then click Finish. The .pro file is imported and a new project created in the Project Explorer view.

              diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/reference/BasicSettings.html --- a/core/com.nokia.carbide.cpp.doc.user/html/reference/BasicSettings.html Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/reference/BasicSettings.html Fri Sep 03 15:38:48 2010 -0500 @@ -8,7 +8,7 @@ You can set some basic properties for the project in this page, like Application UID, Author and Copyright notice for the project.

              NOTE Fields appearing in window vary depending upon the type of project being created.

              -

              +

              diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/reference/INF_Editor.html --- a/core/com.nokia.carbide.cpp.doc.user/html/reference/INF_Editor.html Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/reference/INF_Editor.html Fri Sep 03 15:38:48 2010 -0500 @@ -45,7 +45,7 @@ -
              Name
              diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/reference/ProjectTypeandSDK.html --- a/core/com.nokia.carbide.cpp.doc.user/html/reference/ProjectTypeandSDK.html Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/reference/ProjectTypeandSDK.html Fri Sep 03 15:38:48 2010 -0500 @@ -9,9 +9,9 @@

              Symbian OS SDKs

              -

              You can set the SDKs and Build Configurations in this page. The available SDKs shown are determined by the settings in the SDK Preferences page.

              +

              You can set the SDKs and Build Configurations in this page. The available SDKs shown are determined by the settings in the SDK Preferences page.

              -


              +


              @@ -53,7 +53,7 @@
              Related references
              diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/reference/build_properties/pane_build_config_sis.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/reference/build_properties/pane_build_config_sis.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/reference/build_properties/pane_build_config_sis.htm Fri Sep 03 15:38:48 2010 -0500 @@ -58,7 +58,7 @@
              Other references
                -
              • Carbide Build Configurations
              • +
              • Carbide Build Configurations
              • SBSv2
              • Environment
              • Paths and Symbols
              • diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/reference/images/icon_periodic_testing.png Binary file core/com.nokia.carbide.cpp.doc.user/html/reference/images/icon_periodic_testing.png has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/reference/images/panel_global_debugger.png Binary file core/com.nokia.carbide.cpp.doc.user/html/reference/images/panel_global_debugger.png has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/reference/images/prefs_build_workspace.png Binary file core/com.nokia.carbide.cpp.doc.user/html/reference/images/prefs_build_workspace.png has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/reference/images/prefs_diagnostic_logs.png Binary file core/com.nokia.carbide.cpp.doc.user/html/reference/images/prefs_diagnostic_logs.png has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/reference/images/prefs_preprocess.png Binary file core/com.nokia.carbide.cpp.doc.user/html/reference/images/prefs_preprocess.png has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/reference/images/view_remote_connections.png Binary file core/com.nokia.carbide.cpp.doc.user/html/reference/images/view_remote_connections.png has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/reference/images/wnd_ad_sdk.png Binary file core/com.nokia.carbide.cpp.doc.user/html/reference/images/wnd_ad_sdk.png has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/reference/images/wnd_add_sdk.png Binary file core/com.nokia.carbide.cpp.doc.user/html/reference/images/wnd_add_sdk.png has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/reference/images/wnd_sis_properties.png Binary file core/com.nokia.carbide.cpp.doc.user/html/reference/images/wnd_sis_properties.png has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/reference/pref_carb_build.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/reference/pref_carb_build.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/reference/pref_carb_build.htm Fri Sep 03 15:38:48 2010 -0500 @@ -17,7 +17,7 @@

                Build preferences

                The Carbide.c++ > Build page in the Preferences window provides global preferences to control general build options like clean, test components, dependency tracking, concurrent build jobs, build behavior, and emulator options.

                -

                +

                Figure 1 - Build workspace preferences page

                The following options are available in both the global Build preference panel and the project Properties > Carbide.c++ > Project Settings panel.

                Table 1 Build Preferences —items
                @@ -41,7 +41,7 @@
              +

              If not enabled, only a single build is run. Note this may be required if your project contains circular dependencies or other issues that prevent concurrent builds from executing correctly.

              diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/reference/pref_carb_cpp.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/reference/pref_carb_cpp.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/reference/pref_carb_cpp.htm Fri Sep 03 15:38:48 2010 -0500 @@ -54,7 +54,7 @@
              Related references
              diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/reference/pref_carb_debugger.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/reference/pref_carb_debugger.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/reference/pref_carb_debugger.htm Fri Sep 03 15:38:48 2010 -0500 @@ -12,7 +12,7 @@

              Carbide.c++ Debugger preferences

              The Debug > Carbide.c++ Debugger preference panel provides global debugger settings for the Carbide.c++ tools.

              -

              +

              Figure 1 - Carbide.c++ Debugger preference panel

              Table 1. Carbide.c++ Debugger panel—items
              Run builds concurrently (improves compile time)

              Enable to tell Carbide to generate concurrent builds up to the amount specified in the Build jobs field. This option can significantly reduce build times as it takes advantage of multi-core processors and hyperthreading to run multiple threads at once.

              -

              If not enabled, only a single build is run. Note that this may be required if your project contains circular dependencies or other issues that prevent concurrent builds from executing correctly.

              Use default incremental builder
              diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/reference/pref_carb_diagnostic_logs.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/reference/pref_carb_diagnostic_logs.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/reference/pref_carb_diagnostic_logs.htm Fri Sep 03 15:38:48 2010 -0500 @@ -10,9 +10,9 @@

              Diagnostic Logs preferences

              -

              The Diagnostic Logs page in the Preferences window provides the ability to activate and save debugger log files in the project. When activated, the debugger generates an XML file containing useful debugger event information that can facilitate the locating and erradication of bugs in a project.

              +

              The Diagnostic Logs preference panel in the Preferences window provides the ability to activate and save debugger log files in the project. When activated, the debugger generates an XML file containing useful debugger event information that can facilitate the locating and erradication of bugs in a project.

              NOTE When logging is activated the performance of the debugger will be reduced as the log information is generated.

              -

              +

              Figure 1 - Diagnostic Logs preferences panel

              Table 1 Diagnostic Logs preferences —items
              diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/reference/pref_carb_preprocess.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/reference/pref_carb_preprocess.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/reference/pref_carb_preprocess.htm Fri Sep 03 15:38:48 2010 -0500 @@ -10,10 +10,10 @@

              Preprocess preferences

              -

              The Carbide.c++ > Preprocess page in the Preferences window provides global settings for the Carbide preprocessor.

              -

              -

              Figure 1 - Preprocess preferences page

              -
              Table 1 Preprocess p references —items
              +

              The Carbide.c++ > Preprocess preference panel in the Preferences window provides global settings for the Carbide preprocessor.

              +

              +

              Figure 1 - Preprocess preferences panel

              +
              Table 1 Preprocess preferences —items
              diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/reference/pref_carb_sdk_preference.html --- a/core/com.nokia.carbide.cpp.doc.user/html/reference/pref_carb_sdk_preference.html Wed Aug 25 12:13:45 2010 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,74 +0,0 @@ - - -SDK Preferences - - - - - -
              -

              SDK Preferences (deprecated)

              -
              -Use the -SDK Preferences page in the Preferences window to control which installed SDKs are available to projects during an import. To - access SDK preferences preference panel, select Window > Preferences > Carbide.c++ > SDK Preferences. -

              NOTE There must be at least one recognized SDK installed before you can create a project. If the SDK you have installed is not recognized, you may still be able to add it to the Discovered Symbian OS SDK list. See Carbide.c++ Requirements for a list of supported SDKs.

              -

              NOTE This panel serves as a devices.xml file editor. The devices.xml file stores information about the installed SDKs used for Symbian OS development.

              -
              - -

              SDK preferences panel

              -

              Figure 1. SDK Preferences preference panel

              -
              -
              Item
              - - - - - - - - - - - - - - - - - - - - - - - - - -
              NameFunction
              Available Symbian OS SDK's

              Lists all the installed and recognized SDKs supported by the IDE. Only SDKs supported by the IDE are included in the list.

              -

              Checked SDKs indicate build configurations available for creating projects. Unchecked SDKs are not displayed when creating new projects.

              -

              SDKs shown in red indicate a problem, usually no EPOCROOT or missing build configurations.

              -

              Click on a SDK name to see its EPOCROOT location and build configuration status in the SDK Information area.

              Remove SDK Click to remove the selected SDK from the Available Symbian OS SDK's list.
              Add New SDK

              Click to add an SDK to the Available Symbian OS SDKs list.

              SDK Properties

              Click to view and edit the properties of the currently selected SDK in the Available Symbian OS SDKs list.

              Listen for devices.xml changes outside of Carbide Enable of have Carbide issue an alert prompting you to rescan your SDKs when changes to the devices.xml file are made outside of Carbide. When disabled the devices.xml file is not scanned for changes.

              Rescan All SDKs

              Click to rescan the drive for newly installed SDKs. The devices.xml file is scanned for SDKs and the list of available SDKs is updated if the devices.xml file has changed.

              -

              NOTE Carbide.c++ scans for available SDKs each time it is started.

              -
              Related tasks
              - - - - - - \ No newline at end of file diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/reference/pref_carb_symbian_sdk.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/reference/pref_carb_symbian_sdk.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/reference/pref_carb_symbian_sdk.htm Fri Sep 03 15:38:48 2010 -0500 @@ -1,7 +1,7 @@ -Symbian SDK +Symbian SDKs - - -

              Editing SDK Properties

              -
              - -

              - This section explains how to view and edit properties of an - existing SDK using SDK preferences. For an overview of how the plug-ins handle - SDKs, see Working with SDKs.

              -

              - To edit properties of an existing SDK

              - -
                -
              1. -

                - Click Window > Preferences to open the Preferences page, then expand Carbide.c++ and select SDK Preferences from the list of preferences - to show the page that allows SDK Preferences to be set.

                -
              2. -
                - -

                -
                -

                NOTE SDKs shown in red indicate a problem, for example no EPOCROOT.

                - -
              3. Select a SDK entry, then click SDK Properties to edit the selected SDK's information
              4. -
              5. Click OK to accept changes
              6. -
              -
              -
              Related tasks
              - - - - - - - \ No newline at end of file diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/tasks/WorkingwithSDKs.html --- a/core/com.nokia.carbide.cpp.doc.user/html/tasks/WorkingwithSDKs.html Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/tasks/WorkingwithSDKs.html Fri Sep 03 15:38:48 2010 -0500 @@ -8,18 +8,12 @@ which of the installed SDKs to work with. From the chosen SDK, Symbian OS plug-ins pick-up information such as header files, import libraries, documentation and other SDK specific information.

              -

              You can add and manage SDKs in the SDK Preferences panel. The SDK Preferences panel lists all - available SDKs and allows you to rescan the drive for newly installed and supported SDKs or remove an existing SDK. - The changes in SDK Preferences are applicable to all projects under that - workspace.

              +

              You can add and manage SDKs in the Symbian SDKs panel. The Symbian SDKs preference panel lists all available SDKs and allows you to rescan system drives for newly installed and supported SDKs.

              Related references
              diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/tasks/custom/carb_custom_keys.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/tasks/custom/carb_custom_keys.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/tasks/custom/carb_custom_keys.htm Fri Sep 03 15:38:48 2010 -0500 @@ -14,11 +14,11 @@ org.eclipse.ui.preferencePages.Keys)")'>Keys preference panel to select a shortcut set or modify the current set for your convenience. The Default set is extended by the other key bindings for commands not covered in the Default set or where the new set uses different key bindings for a command.

              The options include:

              In addition, you can modify any of the assigned key bindings to use different keys to better suit your work style. See the Workbench User Guide > Reference > Preferences > Keys preference panel page for more information.

              Other references

              diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/tasks/debugger/run_mode_debug_02.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/tasks/debugger/run_mode_debug_02.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/tasks/debugger/run_mode_debug_02.htm Fri Sep 03 15:38:48 2010 -0500 @@ -6,48 +6,30 @@ Installing an SDK - +

              Installing an SDK

              -

              To create projects an SDK must be installed. If more than one SDK is installed one must be specified as the default.

              +

              To create projects to create and develop Symbian OS programs at least one Software Development Kit (SDK) must be installed and recognized by Carbide.

              Installing an SDK

              -

              The following SDKs can be downloaded from Nokia at: http://www.forum.nokia.com/.

              +

              Download the following SDKs from Nokia at: http://www.forum.nokia.com/.

                -
              1. Install at least one of the following SDKs using the install directions that accompany the SDK: +
              2. Install one of the following SDKs using the install directions that accompany it:
                • -
                • Nokia Symbian^3
                • -
                • Nokia Qt for SDK 1.0
                • -
                • S60 5th Edition v1.0
                • -
                - -
              3. Set the default SDK to use for projects -
                  -
                1. In Carbide.c++ -
                    -
                  1. Click Window > Preferences > Carbide.c++ > SDK Preferences to open the SDK Preferences panel
                  2. -
                  3. Select the SDK and click SDK Properties to open the SDK Properties dialog
                  4. -
                  5. Set the Default SDK value to Yes
                  6. -
                  7. Close all the dialogs
                  8. -
                  -
                2. -
                3. In a command-line prompt: -
                    -
                  1. Set the default device devkit by typing on the command line:
                    -
                    - > devices –setdefault @device id: name
                  2. -

                    The device id and name can be found in the devices.xml file. For example, for a Techview 9.2 kit you might type
                    -
                    - > devices –setdefault @ SymbianOS_92_2006_wk40:com.symbian.techview

                    -
                  3. Now ensure the default device is set by entering:
                    -
                    - > devices
                  4. -
                  -
                4. -
                5. Make sure the correct SDK default is set.
                6. -
                -
              4. -
              +
            • Nokia Symbian^4
            • +
            • Nokia Symbian^3
            • +
            • Nokia Qt for SDK 1.0
            • +
            • S60 5th Edition v1.0
            • +
            +
          • Launch Carbide.c++
          • + +
            +

            The next time you create a project the new SDK is available as an option. This happens because every time Carbide launches it searches for newly installed SDKs and adds them to a cache file for later use. You can review which SDKs are installed by opening the Symbian SDKs preference panel.

            +
            Other references
            diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/tasks/debugger/stop_mode_debug.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/tasks/debugger/stop_mode_debug.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/tasks/debugger/stop_mode_debug.htm Fri Sep 03 15:38:48 2010 -0500 @@ -11,7 +11,7 @@

            This example shows how to create and build an application and debug it on a device using JTAG debug software and Lauterbach hardware.

            The basic steps include:

              -
            • Verify that your SDK or customer kit is recognized in the SDK preferences panel.
            • +
            • Verify that your SDK or customer kit is recognized in the Symbian SDKs panel.
            • Create project or Import the project's bld.inf file into Carbide.c++
            • Specify your ROM build settings for the selected project
            • Build your Project with the ARMV5 Debug Build Configuration
            • diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/tasks/debugger/stop_mode_debug_precond.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/tasks/debugger/stop_mode_debug_precond.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/tasks/debugger/stop_mode_debug_precond.htm Fri Sep 03 15:38:48 2010 -0500 @@ -18,7 +18,7 @@
            • Install Board Support Package (BSP) for your target board
            • Install JTAG software and drivers
            • Connect JTAG interface between PC and hardware
            • -
            • Verify that your SDK or customer kit is recognized in the SDK preferences panel.
            • +
            • Verify that your SDK or customer kit is recognized in the Symbian SDKs panel.
            • Build your ROM Image
            diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/tasks/debugger/work_debug_act_debug.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/tasks/debugger/work_debug_act_debug.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/tasks/debugger/work_debug_act_debug.htm Fri Sep 03 15:38:48 2010 -0500 @@ -9,12 +9,12 @@

            Debugging a Program

            -

            Use the Debug command () to execute a program under debugger control using the current launch configuration settings.

            +

            Use the Debug command () to execute a program under debugger control using the current launch configuration settings.

            If this is the first time the program is launched for debugging, a new debug launch configuration is automatically created for you based on current project settings and assigned a name. If a debug launch configuration is already available, the Debug command launches using the last debug launch configuration used with the project.

            Launching a Program for Debugging

              -
            • Click the Debug button () in the C/C++ perspective
            • +
            • Click the Debug button () in the C/C++ perspective
            • or

            • Select Run > Debug from the menu bar
            • Both of these methods create a new debug launch configuration if none previously existed in the project or uses the last one launched for debugging.

              diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/tasks/images/new_proj_name_location.png Binary file core/com.nokia.carbide.cpp.doc.user/html/tasks/images/new_proj_name_location.png has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/tasks/images/new_proj_step1.png Binary file core/com.nokia.carbide.cpp.doc.user/html/tasks/images/new_proj_step1.png has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/tasks/images/new_proj_step2.png Binary file core/com.nokia.carbide.cpp.doc.user/html/tasks/images/new_proj_step2.png has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/tasks/images/new_proj_step4.png Binary file core/com.nokia.carbide.cpp.doc.user/html/tasks/images/new_proj_step4.png has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/tasks/images/new_proj_step5.png Binary file core/com.nokia.carbide.cpp.doc.user/html/tasks/images/new_proj_step5.png has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/tasks/images/new_proj_step6.png Binary file core/com.nokia.carbide.cpp.doc.user/html/tasks/images/new_proj_step6.png has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/tasks/images/new_proj_step7.png Binary file core/com.nokia.carbide.cpp.doc.user/html/tasks/images/new_proj_step7.png has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/tasks/processes/attach_debugger_to_process.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/tasks/processes/attach_debugger_to_process.htm Wed Aug 25 12:13:45 2010 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,46 +0,0 @@ - - - - - - -Attaching to a Symbian OS Process - - - -

              Attaching to a Symbian OS Process

              -
              -

              Use the Symbian OS Attach to Process launch configuration to attach the debugger to an already running Symbian OS process or thread on a target device. This is useful for debugging servers running in RAM in a client-server relationship where the client relies on the presence of the server process to operate as one example.

              -

              You can also attach to a process in the Symbian OS Data view when debugging.

              -

              NOTE You cannot attach to a process running on the emulator. It must be a target device running the Symbian OS and the TRK debug agent.

              -

              When attempting to find a process the debugger uses the UID3 to locate the process.

              -
              -

              Attaching to a Symbian OS Process

              -
                -
              1. Import an executable to import it into the Executables view
              2. -
              3. Select any project in the workspace or the binary to attach to in the Executables view
              4. -

                In this example, we select the Executables project created when the binary was imported from the Project Explorer view (Figure 1).

                -

                -

                Figure 1 - Executables project created when importing an executable

                -
              5. Click Debug () to launch the New Configuration Launch Wizard
              6. -
              7. Select the Attach to Process Launch Configuration option and fill in the requested information
              8. -
              9. Click Debug
              10. -

                The Attach to Process window appears. Click a column title to sort the processes in ascending or descending order to help you locate a specific process or use the filter text box to show specific processes.

                -

                -

                Figure 2 - Attach to Process window

                -
              11. Select a process, click OK
              12. -

                The Attach to Process window closes. Open a Symbian OS view to show the process and thread information.

                -

                NOTE Terminating an Attach to Process session actually kills the process on the device. This means you must restart the process on the device in order to attach to it again.

                -
              -
              -
              -
              Related references
              - - - - - diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/tasks/processes/attach_to_process.htm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core/com.nokia.carbide.cpp.doc.user/html/tasks/processes/attach_to_process.htm Fri Sep 03 15:38:48 2010 -0500 @@ -0,0 +1,50 @@ + + + + + + +Attaching to a Process + + + +

              Attaching to a Process

              +
              +

              Use a Symbian OS Attach to Process launch configuration to attach the debugger to an already running Symbian OS process or thread on a target device. This is useful for debugging DLLs where the main process is unknown or for servers running in RAM in a client-server relationship where the client relies on the presence of the server process to operate.

              +

              One common debugging DLL use case is when the developer doesn't know which process calls the DLL. This makes it difficult to debug the DLL because you doesn't know which process to attach to nor start. Carbide enables DLL debugging by simply attaching the DLL to any running process as long as the DLL is included in the Executables view.

              +

              You can also attach to a process in the Symbian OS Data view when debugging.

              +

              NOTE You cannot attach to a process running on the emulator. It must be a target device running the Symbian OS and the TRK debug agent.

              +

              When attempting to find a process the debugger uses the UID3 to locate the process.

              +
              +

              Attaching to any Running Process

              +
                +
              1. In the Executables view, click the Import an executable file icon (Import an executable icon) to add an executable to the Executables view for debugging. +

                The executable added appears in the Project Explorer view under an Executables project. This group includes all executables listed in the Executables view that are not linked to any project in the workspace.

                +

                Project Explorer Executables project

                +

                Figure 1 - Executables list in Project Explorer view

                +

                NOTE The executable must include symbolics in order for debugging to work.

                +
              2. +
              3. Click Debug (Debug icon) to launch the New Configuration Launch Wizard.
              4. +

                Select the Symbian OS Attach to Process launch configuration option and fill in the requested information.

                +

                Attach to Process launch config

                +

                Figure 2 - Attach to Process launch configuration

                +
              5. Click Debug.
              6. +

                The Attach to Process dialog appears. Click a column title to sort the processes in ascending or descending order to help you locate a specific process or use the filter text box to show specific processes.

                +

                +

                Figure 3 - Attach to Process window

                +
              7. Select a process, click OK.
              8. +

                In this example we've linked the prefs.dll program to the process BlackFlag.exe on the device. The Attach to Process dialog closes. Open the Symbian OS Data view to show the process and thread information.

                +

                NOTE Terminating an Attach to Process session actually kills the process on the device. This means you must restart the process on the device in order to attach to it again.

                +
              +
              +
              Related references
              + + + + + diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/tasks/projects/images/attach_to_process_launch_config.png Binary file core/com.nokia.carbide.cpp.doc.user/html/tasks/projects/images/attach_to_process_launch_config.png has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/tasks/projects/images/attach_to_process_proj_explorer.png Binary file core/com.nokia.carbide.cpp.doc.user/html/tasks/projects/images/attach_to_process_proj_explorer.png has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/tasks/projects/images/build_console.png Binary file core/com.nokia.carbide.cpp.doc.user/html/tasks/projects/images/build_console.png has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/tasks/projects/images/menu_build_config_select_tgt_01.png Binary file core/com.nokia.carbide.cpp.doc.user/html/tasks/projects/images/menu_build_config_select_tgt_01.png has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/tasks/projects/images/menu_build_project.png Binary file core/com.nokia.carbide.cpp.doc.user/html/tasks/projects/images/menu_build_project.png has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/tasks/projects/images/sis_builder_tab.png Binary file core/com.nokia.carbide.cpp.doc.user/html/tasks/projects/images/sis_builder_tab.png has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/tasks/projects/images/wnd_add_build_config_manager.png Binary file core/com.nokia.carbide.cpp.doc.user/html/tasks/projects/images/wnd_add_build_config_manager.png has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/tasks/projects/prj_build.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/tasks/projects/prj_build.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/tasks/projects/prj_build.htm Fri Sep 03 15:38:48 2010 -0500 @@ -10,56 +10,54 @@

              Building Projects and Symbian Components

              -

              Building projects consists of a new abld-based build system that wraps build functionality around existing SDK build tools that invoke makmake commands (e.g. bldmake bldfiles and abld build).

              -

              The plug-ins provide extra functionality to set up suitable build configurations for Symbian OS C++ projects. The initial selection of a build configuration is done when you create a project, as described in Creating New Projects. You can later change the Active Build Configuration. The Build Configurations also provides a command (Project > Build All Configurations) to build all the selected build configurations in a batch.

              +

              Building projects consists of a new sbs-based build system (Raptor) that wraps build functionality around existing SDK build tools which invoke makmake commands (e.g. bldmake bldfiles and sbs build).

              +

              The plug-ins provide extra functionality to set up suitable build configurations for Symbian OS C++ projects. The initial selection of a build configuration is done when you create a project, as described in Creating New Projects. You can later change the Active Build Configuration. A command is available (Project > Build All Configurations) to build all the selected build configurations in a batch.

              Building Symbian OS C++ projects can involve the use of Symbian OS specific tools, such as the Symbian OS resource compiler. For detailed information on such tools, see the documentation for the SDK that you are using.

              You build projects to process the source files that comprise a program and - generate object code. The compiler flags syntax errors in the source files. Use the Properties for <project_name> window to control how the project is built. The following methods build a project:

              -
              • Build All Configurations—builds all build configurations for a project
              • + generate object code. The compiler flags syntax errors in the source files. Use the Properties for <project_name> dialog to control how the project is built. The following methods build a project:

                +
                  +
                • Build All Configurations (CTRL+ALT+A) —builds all build configurations for a project
                • +
                • Build Project (CTRL+B) — builds the entire project if it has never been built before or on subsequent builds only those files that have changed since the last build operation
                • Build Working Set—specify which projects to build in a working set
                • -
                • Build Project—(CTRL+B) builds the entire project if it has never been built before or on subsequent builds only those files that have changed since the last build operation
                -

                -

                Figure 1 - Right-click project name to build a project

                +

                +

                Figure 1 - Project menu includes all build options

                Building a project

                  -
                • Right-click the project name in the Project Explorer view and select Build Project (Figure 1)
                • -
                -
                  -

                  - or -
                -
                  -
                • Select the Project > Build Project menu item
                • -
                -
                  -

                  - or -
                -
                  -
                • Click the Build icon in the tool bar (Figure 2) to build the current build configuration
                • -

                  -

                  Figure 2 - Build icon

                  -

                  or -

                  -
                -
                  -
                • Select a build configuration using the Build icon’s dropdown list in the tool bar (Figure 2)
                • -
                -
                  -

                  Carbide.c++ builds the project. A build dialog and a task bar appear during a build process. All build output is shown in the Console view while build errors and warnings appear in the Problems view.

                  -

                  Whether a full build or incremental build is requested, Carbide forwards the request to the SDK make system. The SDK make system determines if anything needs to be +

                1. Choose one of the following to build a project:
                2. + + + + + + + + + + + + + + + + + +
                  From the ...
                  Do the following...
                  Menu bar Click the Project > Build Project menu option.
                  ToolbarClick the Build icon (Build project icon) on the toolbar
                  Project
                    +
                  1. Right-click the project +
                  2. Select Build Project
                  3. +
                  +
              +

              Carbide.c++ builds the project. A build dialog and a task bar appear during a build process. All build output is shown in the Console view while build errors and warnings appear in the Problems view.

              +

              Whether a full build or incremental build is requested, Carbide forwards the request to the SDK make system. The SDK make system determines if anything needs to be built. Carbide always checks that makefiles are up-to-date and - dependencies present.

              -

              Project is also built if you make a change to it and then click Debug. It may be useful to automatically save modified resources before a manual build process by enabling the Save automatically before build option in the Window > Preferences > General > Workspace preference panel.

              -

              NOTE If you want to turn off building before launching, uncheck the Build (if required) before launching option in the Window > Preferences > Run/Debug > Launching preference panel.

              - -

              When performing a build, output is displayed in the Console window. If you do not want to clear the console before each build you need to uncheck the option Always clear console before building in the Build Console panel. This option is enabled by default. You can access this panel by selecting Window > Preferences > C/C++ > Build Console preference panel (figure 2).

              + dependencies present.

              +

              Projects are also built if you make a change to it and then click Debug. It may be useful to automatically save modified resources before a manual build process by enabling the Save automatically before build option in the Window > Preferences > General > Workspace preference panel.

              +

              NOTE If you want to turn off building before launching, uncheck the Build (if required) before launching option in the Window > Preferences > Run/Debug > Launching preference panel.

              +

              When performing a build, output is displayed in the Console view. If you do not want to clear the console before each build you need to uncheck the option Always clear console before building in the Build Console panel. This option is enabled by default. You can access this panel by selecting Window > Preferences > C/C++ > Build > Build Console preference panel (figure 4).

              +

              Build Console

              +

              Figure 4 - Build Console preference panel

              Not clearing the console is useful when you are performing multiple builds, such as a regular project build, building a project package (.pkg) file, and building a ROM image. For example, if you do not clear the console before each build, then a subsequent build will not overwrite information from a previous build.

              -

              -

              Figure 4 - Build Console Preference Panel

              -

               

              Concepts
                diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/tasks/projects/prj_build_multi_projects.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/tasks/projects/prj_build_multi_projects.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/tasks/projects/prj_build_multi_projects.htm Fri Sep 03 15:38:48 2010 -0500 @@ -29,7 +29,6 @@
                diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/tasks/projects/prj_creating_sis_file.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/tasks/projects/prj_creating_sis_file.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/tasks/projects/prj_creating_sis_file.htm Fri Sep 03 15:38:48 2010 -0500 @@ -21,7 +21,7 @@
                • For non-Platform Security SDKs (pre-OS 9.x), makesis is called
                -

                Depending upon which tool is used, you will need to complete some entries in the SIS Builder pane of the Carbide Build Configurations window of the project Properties dialog box. You can access this pane by selecting a project in the Project Explorer view and select Project > Properties > Carbide Build Configurations. Fill in the necessary information to add PKG files to the project for downloading.

                +

                Depending upon which tool is used, you will need to complete some entries in the SIS Builder pane of the Carbide Build Configurations panel of the project Properties dialog box. You can access this pane by selecting a project in the Project Explorer view and select Project > Properties > Carbide.c++ > Carbide Build Configurations. Fill in the necessary information to add PKG files to the project for downloading.

                @@ -31,14 +31,14 @@ diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/tasks/projects/prj_debug_config.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/tasks/projects/prj_debug_config.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/tasks/projects/prj_debug_config.htm Fri Sep 03 15:38:48 2010 -0500 @@ -20,7 +20,7 @@

                Creating a Default Launch Configuration

                NOTE Carbide only creates a new default launch configuration when it cannot find one in the project. If the project already contains a launch configuration, Carbide launches that instead.

                  -
                • Click the Run (Run icon) or Debug (Debug icon) icon in the tool bar +
                • Click the Run (Run icon) or Debug (Debug icon) icon in the tool bar

                  or

                • Choose Select Run > Run menu option to launch the project or Run > Debug menu option to debug the project
                • diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/tasks/projects/prj_debug_console.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/tasks/projects/prj_debug_console.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/tasks/projects/prj_debug_console.htm Fri Sep 03 15:38:48 2010 -0500 @@ -35,10 +35,9 @@
                  Related tasks
                  -
                  Related references
                  +
                  Related references
                  diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/tasks/projects/prj_debug_dlls.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/tasks/projects/prj_debug_dlls.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/tasks/projects/prj_debug_dlls.htm Fri Sep 03 15:38:48 2010 -0500 @@ -14,7 +14,7 @@
                • If the DLL appears in the Executables view it can be debugged. Just set breakpoints inside the DLL sources before you start the debug session. The next time the project is debugged, the DLL is loaded and made available for debugging.
                -

                NOTE Breakpoints inside a DLL will not be resolved until the DLL is loaded into memory by the calling binary.

                +

                NOTE Breakpoints inside a DLL are not resolved until the DLL is loaded into memory by the calling binary.

                • If the DLL is not built by the project you can import the DLL by clicking the Import an executable file icon () in the Executables view. Then, set your breakpoints and start the debug session.
                • diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/tasks/projects/prj_debug_multiple_projects.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/tasks/projects/prj_debug_multiple_projects.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/tasks/projects/prj_debug_multiple_projects.htm Fri Sep 03 15:38:48 2010 -0500 @@ -14,7 +14,7 @@

                  Configuring to Debug Multiple Projects

                    -
                  1. Import one or more project executables into the current project
                  2. +
                  3. Import one or more project executables into the current project
                  4. The debugger loads the executable into the project.

                  5. Debug the project using the same debug launch configuration
                  6. The debugger loads the project and all embedded executables for debugging.

                    diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/tasks/projects/prj_new_build_config.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/tasks/projects/prj_new_build_config.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/tasks/projects/prj_new_build_config.htm Fri Sep 03 15:38:48 2010 -0500 @@ -6,25 +6,60 @@ Adding/Removing Build Configurations +

                    Adding/Removing Build Configurations

                    -

                    Use the Properties for <project_name> window to manage the active or build configurations associated with a project. In the Active Configuration group you can select which build configuration is current active as well as choose which build configurations appear in the Build Configurations sub-menu as choices.

                    +

                    Use the Add/Remove Carbide Build Configurations dialog to manage the build configurations associated with a project. The choices presented in this dialog are the result of installed Symbian SDKs and the variant builds associated with them as chosen in the Configuration Filtering Preferences panel.

                    Adding/Removing a Build Configuration

                      -
                    1. Open Carbide Build Configuration panel in the project's Properties window -

                      Select the Project > Properties menu item or right-click the project name in the Project Explorer view, then select Properties. The project Properties for <project_name> window appears. Then select Carbide Build Configurations.

                      -

                      -

                      Figure 1 - Active Configuration group in project Properties window

                    2. -
                    3. Click Manage... in the Active Configuration group (Figure 1) -

                      The Add/Remove Carbide Build Configuration window appears (Figure 2). Use the Add/Remove Carbide Build Configuration window to manage the build configurations that appear on the Build Configurations sub-menu for the current project. You can also click the Manage configurations for the current project icon () on the toolbar to open this dialog.

                      +
                    4. With a project selected in the Project Explorer view choose one of the following to open the Add/Remove Carbide Build Configuration window:
                      +
                    5. -
                    +
                ToolSIS Builder

                Use the Add control to add one or more SIS or PKG files to the project up to the maximum number Carbide supports. Note that the SIS Builder pane operates on a build configuration level. You will need to add files in this pane for every build configuration in the project.

                In addition, any PKG file added here is picked up by the Installation tab in Application TRK configurations. However, as only one SIS file can be debugged at a time you must specify which SIS/PKG file to install for debugging purposes. This is handy if you have both a developer SIS file and a certified SIS file that you want to remain in sync during development. Both are always built but you only need to debug one.

                -

                +

                Figure 1 - SIS Builder tab

                SIS Properties

                Complete the PKG File, and Signing Options settings in the SIS Properties dialog. By default, SIS files are output in the directory of the original SIS file.

                -

                +

                Figure 2 - SIS Properties dialog

                + + + + + + + + + + + + + + + + +
                From the ...
                Do the following...
                Menu bar Click the Project > Manage Configuration > Manage... menu option.
                ToolbarClick the Manage configurations for the current project icon () on the toolbar
                Project
                  +
                1. Right-click the project +
                2. Select Properties
                3. +
                4. Click Carbide.c++ > Build Configurations in the properties list.
                5. +
                6. Click Manage... in the Active Configuration section.
                7. +
                +
                +

                The Add/Remove Carbide Build Configurations window appears (Figure 1).

                +
              • Select the build configurations used by the project +

                Use the Add/Remove Carbide Build Configuration window to manage the build configurations for the current project. Checkmarked items appear in the build configuration list while unchecked items do not.

                +

                SDKs or build configurations shown in RED indicate a problem with that item. An error message is appended to the item to aid you in solving the problem.

                +
              • -
                -

                Figure 2 - Window for managing build configurations

                -
                +

                Figure 1 - Window for managing build configurations
                +

                +

                Click the Build Configuration Filtering Preferences link to set which SDKs and configurations should appear in the dialog.

                +

                Click the Symbian SDK link to open the related preference panel.

                +
              • Click OK to set the selected projects build configurations.
              • +
            Related concepts
              diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/tasks/projects/prj_set_build_tgt.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/tasks/projects/prj_set_build_tgt.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/tasks/projects/prj_set_build_tgt.htm Fri Sep 03 15:38:48 2010 -0500 @@ -31,7 +31,7 @@
            -


            +


            Figure 2 - Build Configuration menu

          • From the project's context menu diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/tasks/sdks/images/wnd_sdk_platform_filter_sbsv2.png Binary file core/com.nokia.carbide.cpp.doc.user/html/tasks/sdks/images/wnd_sdk_platform_filter_sbsv2.png has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/tasks/sdks/images/wnd_sdk_properties.png Binary file core/com.nokia.carbide.cpp.doc.user/html/tasks/sdks/images/wnd_sdk_properties.png has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/tasks/sdks/sdk_add.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/tasks/sdks/sdk_add.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/tasks/sdks/sdk_add.htm Fri Sep 03 15:38:48 2010 -0500 @@ -6,13 +6,18 @@ Adding SDKs +

            Adding SDKs

            -

            Use the Add New SDK window to provide the information Carbide.c++ requires to identify, locate and build a project with the specified SDK.

            -

            -

            Figure 1. Add New SDK window

            -
            Table 1 Add New SDK window—items
            +

            Use the Add New SDK dialog to provide the information Carbide.c++ requires to identify and locate the specified SDK.

            +

            +

            Figure 1. Add New SDK dialog

            +
            Table 1 Add New SDK dialog—items
            @@ -24,48 +29,29 @@ - - - - - - - - - - - - - - - - - +
            Item
            EPOCROOTThe path to EPOCROOT within the SDK. Click Browse to locate and select EPOCROOT.
            Vendor

            Select the vendor from the drop down list, for example, com.nokia.s60 or com.symbian.TechView

            -
            Is DefaultSpecify whether or not the selected SDK is the default to use.
            OS VersionSpecify the operating system version or select Auto detect.
            SDK Version Select the SDK version or Auto detect.The path to EPOCROOT within the SDK. Click Browse to locate and select EPOCROOT.

            Adding SDKs to Carbide.c++

              -
            1. Click Add New SDK in the SDK Preferences panel
            2. +
            3. Click Add New SDK in the Symbian SDKs preference panel
            4. The Add New SDK window (Figure 1) appears.

              -
            5. Enter SDK name, EPOCROOT, and additional information
            6. -

              Enter the requested information in the appropriate fields.

              -
            7. Click OK
            8. -

              The Add New SDK window closes and the SDK is added to the Available Symbian OS SDKs list in the SDK Preferences panel.

              +
            9. Enter the identifying SDK ID
            10. +
            11. Enter the EPOCROOT path or click Browse to locate it
            12. +
            13. Click OK
            14. +

              The Add New SDK dialog closes and the SDK is added to the Symbian SDKs list.

            -
            Related tasks
            Related references
            diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/tasks/sdks/sdk_add_custkits.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/tasks/sdks/sdk_add_custkits.htm Wed Aug 25 12:13:45 2010 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,42 +0,0 @@ - - - - - - -Adding Symbian Custom Kits - - - -

            Adding Symbian Custom Kits

            -

            The Carbide.c++ Developer Edition and higher level products includes functionality to work with Symbian CustKits or any arbitrary SDK source base. This enables you to work with evolving SDKs as they are released.

            -

            NOTE The features that enable build support with CustKits are only available for Carbide.c++ Developer Edition and higher level products.

            -
              -
            • Adding a CustKit without a devices.xml entry
            • -Use the Add SDK dialog to add an SDK entry for the CustKit that you want to use with the project. You may want to add a Symbian source base that Carbide.c++ can recognize if you do not plan to build from the command line. Once you've added the CustKit, you can now import projects against the newly added SDK. -
            • Mapping a CustKit SDK to a known SDK release
              -
              -
              Use the SDK Properties window to map an unrecognized SDK (S60_3rd_Ed_FP2) to a known version of a similar SDK (S60_3rd_Ed) . This should enable you to import projects against the CustKit SDK.
            • -
            -

            -

            Figure 1 - SDK Information group showing SDK errors

            -
            -

            Some issues to look for in the SDK Properties dialog include: -

            -
            -
              -
                -
              • SDK Name — templates and UI designs may not display if the name used is not a known default (e.g. com.nokia.s60) as defined under the SDK properties
              • -
              • OS version — ensure the correct OS version is assigned to the CustKit tells Carbide what platforms the SDK supports
              • -
              • SDK version — used to filter which template projects and/or UI Designer projects are available and the UI components displayed
              • -
              -
            -
            Related references
            - - - - - \ No newline at end of file diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/tasks/sdks/sdk_platform_filter.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/tasks/sdks/sdk_platform_filter.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/tasks/sdks/sdk_platform_filter.htm Fri Sep 03 15:38:48 2010 -0500 @@ -4,17 +4,17 @@ -SDK Platform Filter +Build Configuration Filtering -

            Platform Filtering Preferences

            -

            Use the -Platform Filtering Preferences tabs in the Preferences window to select which platforms are visible when creating new projects or build configurations.

            +

            Build Configuration Filtering

            +

            Use the +Build Configuration Filtering preference panel in the Preferences window to select which platforms are visible when creating new projects or build configurations. The results of this preference panel are used to populate the

            SBSv2 tab

            Use the SBSv2 tab to select configurations for that build system. SBSv2 is the prefered build system for the most current SDKs.

            -

            SBSv2 tab

            +

            SBSv2 tab

            Figure 1. Platform Filtering Preferences page (SBSv2 tab)

            Table 1 Platform Filtering Preferences — SBSv2 items
            @@ -23,21 +23,25 @@ - - + + + + + + + + + + + + + + + + + + @@ -75,11 +79,11 @@
            Explanation
            SBSv2 Configuration Filter

            Select platform build targets to be displayed for OS 9.5 and later when creating new projects and build configurations. BSF’s are gone in SBSv2.  All build configurations (platform/target), including the built-in platforms (WISNCW, ARMV5), are declared in xml files in the \sbs\lib\config directory.

            -

            Build targets include:

            -
              -
            • armv5_udeb
            • -
            • armv5_urel
            • -
            • armv6_udeb
            • -
            • armv6_urel
            • -
            • armv7_udeb
            • -
            • armv7_urel
            • -
            • armv9e_udeb
            • -
            • armv9e_urel
            • -
            • winscw_udeb
            • -
            • winscw_urel
            • -
            Default Configurations

            The result of a Raptor query (--query=aliases) to show every supported aliases in every installed SDK. The aliases marked with a checkmark are available immediately as a selectable build configuration.

            +
            Product Variant ConfigurationsThe result of the a Raptor query (--query=product) to show the supported product variants available for the selected configuration. This list is not displayed if none of the installed SDKs support variant builds.
            Rescan Default ConfigurationsClick to rescan for sbs and build configurations in all installed SDKs.
            Add VariantOpens the Add a custom product configuration dialog to create a variant build for the selected build configuration. The SDK must support variant builds for this to work.
            Remove VariantRemoves the selected variant from the list of available variants.
            Refresh
            -

            NOTE EKA1 platform configurations are no longer supported by Carbide.

            +

            NOTE EKA1 platform configurations are not supported by Carbide.

            Related references

            diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/tasks/sdks/sdk_search.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/tasks/sdks/sdk_search.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/tasks/sdks/sdk_search.htm Fri Sep 03 15:38:48 2010 -0500 @@ -9,16 +9,16 @@

            Searching for SDKs

            -

            Use the SDK Preferences panel to search for installed Symbian OS SDKs.

            -

            -

            Figure 1. SDK Preferences panel

            +

            Use the Symbian SDKs preference panel to search for installed Symbian SDKs. Note that Carbide rescans system drives searching for installed SDKs at startup, adding them to the Symbian SDKs list.

            +

            Symbian SDks

            +

            Figure 1. Symbian SDKs panel

            Searching for SDKs

              -

              Carbide rescans the hard drive searching for install SDKs, adding them to the Available Symbian OS SDKs list.

              +

              Carbide rescans the hard drive searching for installed SDKs, adding them to the Symbian SDKs list. This is useful should you install a new SDK and don't restart Carbide.

            @@ -28,7 +28,7 @@
          • Working with SDKs
          • Adding SDKs
          • View SDK Properties
          • -
          • SDK Preferences Panel
          • +
          • Symbian SDKs panel
          diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/tasks/sdks/sdk_view_properties.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/tasks/sdks/sdk_view_properties.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/tasks/sdks/sdk_view_properties.htm Fri Sep 03 15:38:48 2010 -0500 @@ -9,17 +9,16 @@

          SDK Properties

          -

          Use the SDK Properties window to examine the properties associated with the currently selected SDK in the SDK Preferences panel. You can also use this window to map an unrecognized SDK to a known build configuration to use CustKits with a project.

          -

          NOTE The SDK Properties dialog box serves as a devices.xml editor for the OEM or Professional Developer edition of Carbide.c++.

          +

          Use the SDK Properties dialog to examine the properties associated with the currently selected SDK in the Symbian SDKs preference panel.

          SDK Properties window

          -

          Figure 1. SDK properties window

          +

          Figure 1. SDK properties dialog

          -

          Viewing and Modifying SDK Properties

          +

          Viewing SDK Properties

            -
          1. Select an SDK in the Available Symbian OS SDKs list in the SDK Preferences panel
          2. -
          3. Click SDK Properties -

            The SDK Properties window (Figure 1) appears. You can now review an SDKs properties and make modifications if your Carbide.c++ edition supports SDK modification.

            -

            NOTE Changes are directly applied to the devices.xml file.

          4. +
          5. Select an SDK in the Symbian OS SDKs list in the Symbian SDKs preference panel
          6. +
          7. Click Properties +

            The SDK Properties dialog (Figure 1) appears. You can now review the SDKs properties.

            +
          @@ -29,7 +28,7 @@
        • Working with SDKs
        • Adding SDKs
        • Searching SDKs
        • -
        • SDK Preferences Panel
        • +
        • Symbian SDKs panel
        diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/tasks/start/carbide_example.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/tasks/start/carbide_example.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/tasks/start/carbide_example.htm Fri Sep 03 15:38:48 2010 -0500 @@ -17,7 +17,7 @@
      • Using a debugger to interactively control the program in the emulator

      Follow the steps to successfully create the HelloCarbide program and debug it on the S60 Emulator.

      -

      NOTE There must be at least one recognized SDK installed before you can create a project. See the SDK Preferences panel to determine if the installed SDKs are recognized by Carbide.c++ IDE. If the SDK you have installed is not recognized, you may still be able to add it to the Discovered Symbian OS SDK list.

      +

      NOTE There must be at least one recognized SDK installed before you can create a project. See the Symbian SDKs panel to determine if the installed SDKs are recognized by Carbide.c++ IDE. If the SDK you have installed is not recognized, you may still be able to add it to the Discovered Symbian OS SDK list.

      diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/tasks/start/carbide_example_trk.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/tasks/start/carbide_example_trk.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/tasks/start/carbide_example_trk.htm Fri Sep 03 15:38:48 2010 -0500 @@ -22,7 +22,7 @@

      NOTE The symbolics are automatically loaded for the binaries that appear in the Executables view.

    • Set breakpoints in the project source files
    • In this example we will set one breakpoint in two different EXEs. The first is set in the file called MCEngine.cpp (MCServer.exe) and the second is set in MPlayerAppUI.cpp (MusicPlayer.exe).

      -
    • Click the Debug icon () to launch the New Launch Configuration wizard +
    • Click the Debug icon () to launch the New Launch Configuration wizard
      1. Select the Application TRK Launch Configuration from the Launch Types page, then click Next
      2. diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/tasks/start/carbide_overview_trk.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/tasks/start/carbide_overview_trk.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/tasks/start/carbide_overview_trk.htm Fri Sep 03 15:38:48 2010 -0500 @@ -13,7 +13,7 @@

        This example shows how to create and build an application and debug it on a device using the Application TRK on-device debug agent. Click this link to the HelloCarbide cheatsheet that provides links to detailed steps. The majority of steps are identical to the ones used to create a program and debug in an emulator, with some minor variations.

        See the Run Mode Debug Example for a walkthrough of the following steps which include:

          -
        1. Verify that your SDK or customer kit is recognized in the SDK preferences panel.
        2. +
        3. Verify that your SDK or customer kit is recognized in the Symbian SDKs panel.
        4. Create a project by importing a Bld.inf
        5. Verify that all the symbolics for the binaries are visible in the Executables view
        6. Manage the project's PKG file, being sure to: @@ -32,7 +32,7 @@

          At this point you can open sources files from the Executables view or project view in order to set breakpoints.

          Related tasks
          Related references
            diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/tasks/start/carbide_requirements.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/tasks/start/carbide_requirements.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/tasks/start/carbide_requirements.htm Fri Sep 03 15:38:48 2010 -0500 @@ -25,7 +25,7 @@

            An SDK or OS developer kit (DevKit) including:

            • 9.x or higher for Platform Security
            -

            Targets: Symbian ^3, S60 5th Ed., Qt

            +

            Targets: Symbian ^3, Symbian ^4, Nokia Qt SDK, S60 5th Ed.

            Debugger: Emulators, on-device debugging

            diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/html/tasks/trk/trk_carbide_setup.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/tasks/trk/trk_carbide_setup.htm Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/tasks/trk/trk_carbide_setup.htm Fri Sep 03 15:38:48 2010 -0500 @@ -14,7 +14,7 @@
          • Symbian OS Appication TRK— used to run or debug applications on a target device using the Application TRK on-device debug agent. Application TRK is an application that runs on released phones and allows you to debug your executables. The debugger will download a Symbian OS installation file to the phone and install it prior to launching.
          • Symbian OS System TRK (not available in the Developer Edition) —used to run or debug applications or ROM code on a target device using the System TRK on-device debug agent. System TRK is an application that runs on reference boards and prototype phones and allows you to debug your executables. The debugger will download files to the phone prior to launching.
          -

          By default, you can click the Debug icon () in the toolbar to launch the New Launch Configuration Wizard. This creates a launch configuration for the project based on project information and any additional input required, like COM port selection. It is the recommended method for creating new launch configurations. Or, use the Debug window to create a customized launch configuration.

          +

          By default, you can click the Debug icon () in the toolbar to launch the New Launch Configuration Wizard. This creates a launch configuration for the project based on project information and any additional input required, like COM port selection. It is the recommended method for creating new launch configurations. Or, use the Debug window to create a customized launch configuration.

          Figure 1. Debug launch configuration for on-device debugging (Application TRK shown)

          diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/index.xml --- a/core/com.nokia.carbide.cpp.doc.user/index.xml Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/index.xml Fri Sep 03 15:38:48 2010 -0500 @@ -13,7 +13,7 @@ - + @@ -104,8 +104,8 @@ - - + + @@ -491,7 +491,7 @@ - + @@ -571,7 +571,6 @@ - @@ -585,7 +584,6 @@ - diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/intro/carbide.css --- a/core/com.nokia.carbide.cpp.doc.user/intro/carbide.css Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/intro/carbide.css Fri Sep 03 15:38:48 2010 -0500 @@ -1,21 +1,21 @@ - -a#carbide img { background-image : url(images/carbide.png); } -a#carbide:hover img { background-image : url(images/carbide_hov.png); } - -a#carbide-whatsnew img { background-image : url(images/carbide_new.png); } -a#carbide-whatsnew :hover img { background-image : url(images/carbide_new_hov.png); } - -a#carbide-sample img { background-image : url(images/carbide_sample.png); } -a#carbide-sample:hover img { background-image : url(../images/carbide_sample_hov.png); } - -a#carbide-tutorial img { background-image : url(images/carbide_tutorial.png); } -a#carbide-tutorial:hover img { background-image : url(images/carbide_tutorial_hov.png); } - -a#carbide-keys img { background-image : url(images/carbide_keys.png); } -a#carbide-keys:hover img { background-image : url(images/carbide_keys_hov.png); } - -a#carbide-web img { background-image : url(images/carbide_web.png); } -a#carbide-web:hover img { background-image : url(images/carbide_web_hov.png); } - -a#carbide-people img { background-image : url(images/carbide_people.png); } -a#carbide-people:hover img { background-image : url(images/carbide_people_hov.png); } + +a#carbide img { background-image : url(images/carbide.png); } +a#carbide:hover img { background-image : url(images/carbide_hov.png); } + +a#carbide-whatsnew img { background-image : url(images/carbide_new.png); } +a#carbide-whatsnew :hover img { background-image : url(images/carbide_new_hov.png); } + +a#carbide-sample img { background-image : url(images/carbide_sample.png); } +a#carbide-sample:hover img { background-image : url(images/carbide_sample_hov.png); } + +a#carbide-tutorial img { background-image : url(images/carbide_tutorial.png); } +a#carbide-tutorial:hover img { background-image : url(images/carbide_tutorial_hov.png); } + +a#carbide-keys img { background-image : url(images/carbide_keys.png); } +a#carbide-keys:hover img { background-image : url(images/carbide_keys_hov.png); } + +a#carbide-web img { background-image : url(images/carbide_web.png); } +a#carbide-web:hover img { background-image : url(images/carbide_web_hov.png); } + +a#carbide-people img { background-image : url(images/carbide_people.png); } +a#carbide-people:hover img { background-image : url(images/carbide_people_hov.png); } diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.doc.user/plugin.xml --- a/core/com.nokia.carbide.cpp.doc.user/plugin.xml Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/plugin.xml Fri Sep 03 15:38:48 2010 -0500 @@ -79,6 +79,13 @@ id="com.nokia.carbide.cpp.doc.user.customize_export_settings" name="Share my Settings..."/> + + - - + + - + @@ -324,9 +320,11 @@ + + + + - - diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.featureTracker/META-INF/MANIFEST.MF --- a/core/com.nokia.carbide.cpp.featureTracker/META-INF/MANIFEST.MF Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.featureTracker/META-INF/MANIFEST.MF Fri Sep 03 15:38:48 2010 -0500 @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: FeatureTracker Bundle-SymbolicName: com.nokia.carbide.cpp.featureTracker;singleton:=true -Bundle-Version: 1.0.0.qualifier +Bundle-Version: 3.0.0.qualifier Bundle-Activator: com.nokia.carbide.cpp.internal.featureTracker.FeatureUseTrackerPlugin Bundle-Vendor: Nokia Require-Bundle: org.eclipse.core.runtime diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.featureTracker/src/com/nokia/carbide/cpp/internal/api/featureTracker/IFeatureUseTracker.java --- a/core/com.nokia.carbide.cpp.featureTracker/src/com/nokia/carbide/cpp/internal/api/featureTracker/IFeatureUseTracker.java Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.featureTracker/src/com/nokia/carbide/cpp/internal/api/featureTracker/IFeatureUseTracker.java Fri Sep 03 15:38:48 2010 -0500 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2009-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" @@ -21,14 +21,9 @@ public interface IFeatureUseTracker { /** - * Start using the feature (a.k.a. 'checkout') - * @param featureName - The string of the feature to be used + * Track the usage of the given feature + * @param featureName the name of the feature being used + * @since 3.0 */ - public void startUsingFeature(String featureName); - - /** - * Called after 'startUsingFeature' once a feature is no longer being used - * @param featureName - The string of the feature being used - */ - public void stopUsingFeature(String featureName); + public void useFeature(String featureName); } diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.featureTracker/src/com/nokia/carbide/cpp/internal/featureTracker/FeatureUseTrackerConsts.java --- a/core/com.nokia.carbide.cpp.featureTracker/src/com/nokia/carbide/cpp/internal/featureTracker/FeatureUseTrackerConsts.java Wed Aug 25 12:13:45 2010 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,27 +0,0 @@ -/* -* Copyright (c) 2009 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. -* -*/ - -package com.nokia.carbide.cpp.internal.featureTracker; - -public class FeatureUseTrackerConsts { - - public static final String CARBIDE_APP_TRK = "Carbide_App_TRK"; - public static final String CARBIDE_UI_DESIGNER = "Carbide_UI_Designer"; - public static final String CARBIDE_SYS_TRK = "Carbide_Sys_TRK"; - public static final String CARBIDE_PROFILER = "Carbide_Profiler"; - public static final String CARBIDE_CODESCANNER = "Carbide_CodeScanner"; - public static final String CARBIDE_OST_TRACE = "Carbide_OST_Trace"; - public static final String CARBIDE_IDE = "Carbide_IDE"; // did user launch IDE - public static final String CARBIDE_INTERNALONLY = "Carbide_InternalOnly"; // many carbide extensions - -} \ No newline at end of file diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.featureTracker/src/com/nokia/carbide/cpp/internal/featureTracker/FeatureUseTrackerProxy.java --- a/core/com.nokia.carbide.cpp.featureTracker/src/com/nokia/carbide/cpp/internal/featureTracker/FeatureUseTrackerProxy.java Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.featureTracker/src/com/nokia/carbide/cpp/internal/featureTracker/FeatureUseTrackerProxy.java Fri Sep 03 15:38:48 2010 -0500 @@ -37,20 +37,14 @@ private List featureClients = new ArrayList(); private boolean featureClientInited; - public void startUsingFeature(String featureName) { + public void useFeature(String featureName) { if (!featureClientInited) { checkForClients(); featureClientInited = true; } for (IFeatureUseTracker client : featureClients) { - client.startUsingFeature(featureName); - } - } - - public void stopUsingFeature(String featureName) { - for (IFeatureUseTracker client : featureClients) { - client.stopUsingFeature(featureName); + client.useFeature(featureName); } } diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.oss/META-INF/MANIFEST.MF --- a/core/com.nokia.carbide.cpp.oss/META-INF/MANIFEST.MF Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.oss/META-INF/MANIFEST.MF Fri Sep 03 15:38:48 2010 -0500 @@ -1,6 +1,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 -Bundle-Name: OSS Plug-in -Bundle-SymbolicName: com.nokia.carbide.cpp.oss +Bundle-Name: OSS +Bundle-SymbolicName: com.nokia.carbide.cpp.oss;singleton:=true Bundle-Version: 1.4.0.qualifier Bundle-Vendor: Nokia +Bundle-ActivationPolicy: lazy diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.sdk.core.test/src/com/nokia/carbide/cpp/sdk/core/test/TestDevicesXMLListener.java --- a/core/com.nokia.carbide.cpp.sdk.core.test/src/com/nokia/carbide/cpp/sdk/core/test/TestDevicesXMLListener.java Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.sdk.core.test/src/com/nokia/carbide/cpp/sdk/core/test/TestDevicesXMLListener.java Fri Sep 03 15:38:48 2010 -0500 @@ -74,54 +74,54 @@ // Here we just rescan the sdks and the listener will perform the test public void testCarbideConfigurationChangedListener() throws Exception{ - if (!SBSv2Utils.enableSBSv1Support()) - return; - - ISDKManager sdkMgr = SDKCorePlugin.getSDKManager(); - - // get devics.xml and make a backup copy - File devicesFile = SDKCorePlugin.getSDKManager().getDevicesXMLFile(); - assertNotNull("Devices.xml file is NULL!", devicesFile); - assertTrue(devicesFile.toString() + "file doesn't exist", devicesFile.exists()); - File backupFile = new File(devicesFile.toString() + ".backup"); - - if (backupFile.exists()) { - backupFile.delete(); - } - backupFile.createNewFile(); - // backup devices.xml - copyFile(devicesFile, backupFile); - - - - // Here we just changed the time stamp and not the contents so it should be OK. - assertTrue("Devices.xml has changed only timestamp, bad return value", ((SDKManager)sdkMgr).checkDevicesXMLSynchronized()); - - ISymbianSDK sdk = sdkMgr.getSDKList().get(0); - ((SymbianSDK)sdk).setEPOCROOT("K:\\"); - sdkMgr.updateSDK(sdk); - assertTrue("Devices.xml should still be true with sdk update via APIs", ((SDKManager)sdkMgr).checkDevicesXMLSynchronized()); - - // copy a different devices.xml file over. - copyFile (pluginRelativeFile(devicesTestFile), devicesFile); - - assertFalse("Devices.xml has changed changed content, should reutrn false. ", ((SDKManager)sdkMgr).checkDevicesXMLSynchronized()); - - ISDKManagerInternal sdkMgrInternal = (ISDKManagerInternal)sdkMgr; - sdkMgrInternal.fireDevicesXMLChanged(); - - if (backupFile != null) { - // restore devices.xml - try { - copyFile(backupFile, devicesFile); - } catch (Exception e) { - fail(e.getMessage()); - } - backupFile.delete(); - } - - assertTrue("devices.xml change was not detected properly", outOfSyncListenerWasTested); - +// if (!SBSv2Utils.enableSBSv1Support()) +// return; +// +// ISDKManager sdkMgr = SDKCorePlugin.getSDKManager(); +// +// // get devics.xml and make a backup copy +// File devicesFile = SDKCorePlugin.getSDKManager().getDevicesXMLFile(); +// assertNotNull("Devices.xml file is NULL!", devicesFile); +// assertTrue(devicesFile.toString() + "file doesn't exist", devicesFile.exists()); +// File backupFile = new File(devicesFile.toString() + ".backup"); +// +// if (backupFile.exists()) { +// backupFile.delete(); +// } +// backupFile.createNewFile(); +// // backup devices.xml +// copyFile(devicesFile, backupFile); +// +// +// +// // Here we just changed the time stamp and not the contents so it should be OK. +// assertTrue("Devices.xml has changed only timestamp, bad return value", ((SDKManager)sdkMgr).checkDevicesXMLSynchronized()); +// +// ISymbianSDK sdk = sdkMgr.getSDKList().get(0); +// ((SymbianSDK)sdk).setEPOCROOT("K:\\"); +// sdkMgr.updateSDK(sdk); +// assertTrue("Devices.xml should still be true with sdk update via APIs", ((SDKManager)sdkMgr).checkDevicesXMLSynchronized()); +// +// // copy a different devices.xml file over. +// copyFile (pluginRelativeFile(devicesTestFile), devicesFile); +// +// assertFalse("Devices.xml has changed changed content, should reutrn false. ", ((SDKManager)sdkMgr).checkDevicesXMLSynchronized()); +// +// ISDKManagerInternal sdkMgrInternal = (ISDKManagerInternal)sdkMgr; +// sdkMgrInternal.fireDevicesXMLChanged(); +// +// if (backupFile != null) { +// // restore devices.xml +// try { +// copyFile(backupFile, devicesFile); +// } catch (Exception e) { +// fail(e.getMessage()); +// } +// backupFile.delete(); +// } +// +// assertTrue("devices.xml change was not detected properly", outOfSyncListenerWasTested); +// } public void copyFile(File in, File out) throws Exception { diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/BuildContextSBSv2.java --- a/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/BuildContextSBSv2.java Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/BuildContextSBSv2.java Fri Sep 03 15:38:48 2010 -0500 @@ -142,6 +142,9 @@ if (sbsv2Alias.toUpperCase().contains(TOOLCHAIN_GCCE) || sbsv2Alias.toUpperCase().contains(TOOLCHAIN_ARM)) { if (configQueryData != null) { + if (configQueryData.getBuildPrefix() != null && !(new File(configQueryData.getBuildPrefix()).exists())){ + this.configQueryData = setConfigQueryData(sdk, getSBSv2Alias()); + } return new Path(configQueryData.getBuildPrefix()); } } @@ -160,7 +163,7 @@ public List getCompilerPreincludeDefines() { IPath prefixFile = getCompilerPrefixFile(); - if (prefixFile == null || !prefixFile.toFile().exists()) { + if (prefixFile == null) { return getCachedData().getCompilerMacros(null); } @@ -391,11 +394,15 @@ */ public IPath getPrefixFromVariantCfg(){ ISBSv2BuildInfo sbsv2BldInfo = ((ISBSv2BuildInfo)getSDK().getBuildInfo(ISymbianBuilderID.SBSV2_BUILDER)); + if (sbsv2BldInfo.getPrefixFromVariantCfg()== null || sbsv2BldInfo.getPrefixFromVariantCfg().toOSString().length() == 0){ + return null; + } return sbsv2BldInfo.getPrefixFromVariantCfg(); } public List getBuildMacros() { ISBSv2BuildInfo sbsv2BldInfo = ((ISBSv2BuildInfo)getSDK().getBuildInfo(ISymbianBuilderID.SBSV2_BUILDER)); + Map buildMacroMap = sbsv2BldInfo.getBuildMacros(getSBSv2Alias()); List defines = new ArrayList(); for (String macroName : buildMacroMap.keySet()){ diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/SymbianBuildContextDataCache.java --- a/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/SymbianBuildContextDataCache.java Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/SymbianBuildContextDataCache.java Fri Sep 03 15:38:48 2010 -0500 @@ -159,7 +159,7 @@ boolean buildCache = false; - if (hrhFileInfo == null) { + if (hrhFileInfo == null || hrhFileInfo.getFiles().length == 0) { // hasn't been built yet, or was flushed buildCache = true; } else { @@ -311,7 +311,7 @@ compilerPrefixFile = prefixFile; - if (compilerPrefixFileInfo == null || + if (compilerPrefixFileInfo == null || compilerPrefixFile == null || compilerPrefixFileInfo.anyChanged()) { changed = true; diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/sbsv2/SBSv2ConfigQueryData.java --- a/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/sbsv2/SBSv2ConfigQueryData.java Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/sbsv2/SBSv2ConfigQueryData.java Fri Sep 03 15:38:48 2010 -0500 @@ -1,5 +1,6 @@ package com.nokia.carbide.cpp.internal.api.sdk.sbsv2; +import java.io.File; import java.io.StringReader; import java.util.ArrayList; import java.util.HashMap; @@ -181,6 +182,11 @@ if (valueNode != null) { value = valueNode.getNodeValue(); } + if (name.equals("__PRODUCT_INCLUDE__")){ + File f = new File(value.replaceAll("\"", "")); + if (!f.exists()) + continue; // Don't add a product include for non-existent HRH + } buildMacros.put(name, value); } else if (buildChild.getNodeName().equals("preinclude")){ buildPrefix = attribs.getNamedItem("file").getNodeValue(); diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/sbsv2/SBSv2QueryUtils.java --- a/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/sbsv2/SBSv2QueryUtils.java Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/sbsv2/SBSv2QueryUtils.java Fri Sep 03 15:38:48 2010 -0500 @@ -482,5 +482,19 @@ public static void removeCachedConfigurations() { SDKCacheUtils.getCache().removeCache(CONFIG_CACHE_KEY, true); } + + /** + * Write all SBSv2 caches. + */ + public static void flushAllSBSv2Caches(){ + try { + SDKCacheUtils.getCache().flushCache(ALIAS_CACHE_KEY); + SDKCacheUtils.getCache().flushCache(PRODUCT_CACHE_KEY); + SDKCacheUtils.getCache().flushCache(CONFIG_CACHE_KEY); + } catch (Exception e) { + e.printStackTrace(); + } + + } } diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/sdk/core/model/AbstractSDKManager.java --- a/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/sdk/core/model/AbstractSDKManager.java Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/sdk/core/model/AbstractSDKManager.java Fri Sep 03 15:38:48 2010 -0500 @@ -113,11 +113,14 @@ public void aboutToRun(IJobChangeEvent event) {} public void done(IJobChangeEvent event) { fireInstalledSdkChanged(SDKChangeEventType.eSDKScanned); + // Notify any plugins that want to know if the SDKManager has scanned plugins. + if (!sdkHookExtenstionsNotified) { + notifySDKManagerLoaded(); + sdkHookExtenstionsNotified = true; + } } }; - - public AbstractSDKManager() { macroStore = SymbianMacroStore.getInstance(); scanJob = new Job ("Scan for installed SDKs") { @@ -186,11 +189,6 @@ updateCarbideSDKCache(); - // Notify any plugins that want to know if the SDKManager has scanned plugins. - if (!sdkHookExtenstionsNotified) { - notifySDKManagerLoaded(); - sdkHookExtenstionsNotified = true; - } if (monitor.isCanceled()) { return Status.CANCEL_STATUS; } @@ -231,6 +229,7 @@ if (sdkList.size() < 1) { ensureScannedSDKs(); } + List listCopy = new ArrayList(sdkList); return listCopy; } @@ -318,6 +317,9 @@ sdk = SymbianSDKFactory.createInstance(id, entry.getEpocRoot(), osVersion); + if (isInSDKList(sdk)) { + continue; + } ((SymbianSDK)sdk).setEnabled(entry.isEnabled()); synchronized (sdkList) { sdkList.add(sdk); @@ -348,6 +350,13 @@ } /** + * Check whether an SDK already exist in SDK list. + * @param sdk - SDK to be checked + * @return true if SDK already exist in SDK list, false otherwise + */ + abstract protected boolean isInSDKList(ISymbianSDK sdk); + + /** * Tell whether EPOCROOT can be changed for a given ISymbianSDK * @return flag */ @@ -499,7 +508,8 @@ } public void fireInstalledSdkChanged(SDKChangeEventType eventType) { - for (ICarbideInstalledSDKChangeListener l : listeners) { + ListenerList lList = listeners; + for (ICarbideInstalledSDKChangeListener l : lList) { l.installedSdkChanged(eventType); } } @@ -646,7 +656,7 @@ } protected void clearSDKCache() { - SDKCacheUtils.getCache().removeCache(SDK_MANAGER_CACHE_KEY, false); + SDKCacheUtils.getCache().removeCache(SDK_MANAGER_CACHE_KEY, true); } protected void flushSDKCache() { diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/sdk/core/model/SBSv2BuildInfo.java --- a/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/sdk/core/model/SBSv2BuildInfo.java Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/sdk/core/model/SBSv2BuildInfo.java Fri Sep 03 15:38:48 2010 -0500 @@ -248,7 +248,8 @@ public Map getBuildMacros(String buildAlias) { Map buildMacros = cachedBuildMacros.get(buildAlias); - if (buildMacros == null) { + + if (buildMacros == null || buildMacros.size() == 0) { buildMacros = new HashMap(); synchronized (cachedBuildMacros) { if (sbsv2FilteredContexts == null || sbsv2FilteredContexts.size() == 0) { @@ -272,7 +273,7 @@ * @return A path object, or null if the variant.cfg does not exist. This routine does not check to see if the returned path exists. */ public IPath getPrefixFromVariantCfg(){ - if (cachedVariantHRHFile == null) { + if (cachedVariantHRHFile == null || cachedVariantHRHFile.toOSString().length() == 0) { if (sbsv2FilteredContexts == null || sbsv2FilteredContexts.size() == 0) { getFilteredBuildConfigurations(); } diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/sdk/core/model/SDKManager.java --- a/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/sdk/core/model/SDKManager.java Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/sdk/core/model/SDKManager.java Fri Sep 03 15:38:48 2010 -0500 @@ -54,10 +54,15 @@ private static final String EMPTY_DEVICES_XML_CONTENT = ""; + /** Older kits put qmake under the tools/qt folder. */ private static final String QMAKE_FILE = "epoc32/tools/qt/qmake" + HostOS.EXE_EXT; //$NON-NLS-1$ + /** Newer kits put qmake under the tools folder */ + private static final String QMAKE_FILE_LOCATION2 = "epoc32/tools/qmake" + HostOS.EXE_EXT; //$NON-NLS-1$ private static final String MIFCONV_FILE = "epoc32/tools/mifconv" + HostOS.EXE_EXT; //$NON-NLS-1$ private static final String ABLD_FILE = "epoc32/tools/abld.pl"; //$NON-NLS-1$ private static final long VALID_ABLD_SIZE = 1024; + + private File[] systemDrives; static boolean hasPromptedForDevicesXML = false; // make sure we only ask once at startup if devices.xml does not exist long devicesXLMLastModified; @@ -92,6 +97,9 @@ for (Iterator iter = devices.iterator(); iter.hasNext();) { SymbianSDK sdk = new SymbianSDK((DeviceType) iter.next()); sdk.addSupportedFeature(ISymbianSDKFeatures.IS_FROM_DEVICES_XML); + if (isInSDKList(sdk)) { + continue; + } sdkList.add(sdk); } } @@ -363,6 +371,14 @@ } } + public void ensureSystemDrivesSynchronized() { + if (HostOS.IS_WIN32) { + if (systemDrives != null && getSystemDrives().length > systemDrives.length) { + scanSDKs(); + } + } + } + @Override protected boolean isEPOCRootFixed() { return true; @@ -372,7 +388,7 @@ * Scan system drives for installed SDKs */ protected void doScanDrives(IProgressMonitor monitor) { - File[] drives = getSystemDrives(); + File[] drives = systemDrives = getSystemDrives(); monitor.beginTask("Scanning system drives for installed SDKs", drives.length); for (File drive : drives) { if (!isEPOCRoot(drive)) { @@ -440,10 +456,17 @@ } private boolean hasQmake(ISymbianSDK sdk) { - File qmake = new File(sdk.getEPOCROOT(), QMAKE_FILE); + File qmake = new File(sdk.getEPOCROOT(), QMAKE_FILE_LOCATION2); if (qmake.exists()) { return true; } + + // try alternate (old) location + qmake = new File(sdk.getEPOCROOT(), QMAKE_FILE); + if (qmake.exists()) { + return true; + } + return false; } @@ -464,7 +487,8 @@ } } - private boolean isInSDKList(ISymbianSDK sdk) { + @Override + protected boolean isInSDKList(ISymbianSDK sdk) { for (ISymbianSDK entry : sdkList) { if (entry.getEPOCROOT().equalsIgnoreCase(sdk.getEPOCROOT())) { return true; diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/sdk/core/model/SDKManagerRaptorOnly.java --- a/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/sdk/core/model/SDKManagerRaptorOnly.java Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/sdk/core/model/SDKManagerRaptorOnly.java Fri Sep 03 15:38:48 2010 -0500 @@ -135,7 +135,17 @@ public void updateSDK(ISymbianSDK sdkId) { updateCarbideSDKCache(); } - + + @Override + protected boolean isInSDKList(ISymbianSDK sdk) { + for (ISymbianSDK entry : sdkList) { + if (entry.getEPOCROOT().equalsIgnoreCase(sdk.getEPOCROOT())) { + return true; + } + } + return false; + } + @Override protected boolean isEPOCRootFixed() { return false; diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/sdk/core/model/SymbianSDK.java --- a/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/sdk/core/model/SymbianSDK.java Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/sdk/core/model/SymbianSDK.java Fri Sep 03 15:38:48 2010 -0500 @@ -547,9 +547,9 @@ return; } // not there, check winscw - String winscwURELFullPathStr = getEPOCROOT(); - winscwURELFullPathStr += WINSCW_UREL_DIR; - IPath winscwURELPath = new Path(winscwURELFullPathStr); + String winscwUDEBFullPathStr = getEPOCROOT(); + winscwUDEBFullPathStr += WINSCW_UDEB_DIR; + IPath winscwURELPath = new Path(winscwUDEBFullPathStr); if (winscwURELPath != null && winscwURELPath.toFile().exists()){ if (winscwURELPath.append("avkon.dll").toFile().exists()){ sdkFeatures.add(ISymbianSDKFeatures.IS_AVKON_SUPPORTED); diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/sdk/core/ISymbianSDK.java --- a/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/sdk/core/ISymbianSDK.java Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/sdk/core/ISymbianSDK.java Fri Sep 03 15:38:48 2010 -0500 @@ -87,6 +87,7 @@ * Feature IDs are defined in ISymbianSDKFeatures. * @return set of features * @since 3.0 + * @see {@link ISymbianSDKFeatures} */ @SuppressWarnings("rawtypes") Set getSupportedFeatures(); diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.sdk.ui/META-INF/MANIFEST.MF --- a/core/com.nokia.carbide.cpp.sdk.ui/META-INF/MANIFEST.MF Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.sdk.ui/META-INF/MANIFEST.MF Fri Sep 03 15:38:48 2010 -0500 @@ -1,6 +1,6 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 -Bundle-Name: SDK Ui Plug-in +Bundle-Name: SDK UI Bundle-SymbolicName: com.nokia.carbide.cpp.sdk.ui; singleton:=true Bundle-Version: 1.4.0.qualifier Bundle-Activator: com.nokia.carbide.cpp.sdk.ui.SDKUIPlugin diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/internal/api/sdk/ui/BuildPlatformFilterPage.java --- a/core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/internal/api/sdk/ui/BuildPlatformFilterPage.java Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/internal/api/sdk/ui/BuildPlatformFilterPage.java Fri Sep 03 15:38:48 2010 -0500 @@ -92,6 +92,14 @@ return super.performOk(); } + public boolean performCancel() { + if (sbsv2Tab != null) { + sbsv2Tab.performCancel(); + } + + return super.performCancel(); + } + @Override protected void performApply() { performOk(); diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/internal/api/sdk/ui/SBSv2PlatformFilterComposite.java --- a/core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/internal/api/sdk/ui/SBSv2PlatformFilterComposite.java Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/internal/api/sdk/ui/SBSv2PlatformFilterComposite.java Fri Sep 03 15:38:48 2010 -0500 @@ -38,6 +38,7 @@ import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.TableItem; @@ -48,6 +49,7 @@ import com.nokia.carbide.cpp.internal.sdk.core.model.SDKManager; import com.nokia.carbide.cpp.internal.sdk.ui.AddSBSv2ProductVariant; import com.nokia.carbide.cpp.internal.sdk.ui.Messages; +import com.nokia.carbide.cpp.sdk.core.ICarbideInstalledSDKChangeListener; import com.nokia.carbide.cpp.sdk.core.ISymbianBuilderID; import com.nokia.carbide.cpp.sdk.core.ISymbianSDK; import com.nokia.carbide.cpp.sdk.core.SDKCorePlugin; @@ -68,6 +70,17 @@ private Button addVariantButton; private Button removeVariantButton; + private ICarbideInstalledSDKChangeListener sdkListener = new ICarbideInstalledSDKChangeListener() { + public void installedSdkChanged(SDKChangeEventType eventType) { + Display.getDefault().asyncExec(new Runnable() { + public void run() { + // refresh locally cached SBSv2 data whenever there is any change to SDK list + refreshLocalSBSCacheData(); + } + }); + } + }; + SBSv2PlatformFilterComposite(Composite parent) { super(parent, SWT.NONE); } @@ -122,24 +135,19 @@ public void widgetSelected(SelectionEvent e) { refreshButton.setEnabled(false); refreshButton.setText(Messages.getString("SBSv2PlatformFilterComposite.RefreshButtonScanningText")); //$NON-NLS-1$ - SBSv2QueryUtils.removeAllCachedQueries(); - clearLocalSBSCacheData(); - initTable(); - for (ISymbianSDK sdk : SDKCorePlugin.getSDKManager().getSDKList()){ - ((SBSv2BuildInfo)sdk.getBuildInfo(ISymbianBuilderID.SBSV2_BUILDER)).clearDataFromBuildCache(); - } +// for (ISymbianSDK sdk : SDKCorePlugin.getSDKManager().getSDKList()){ +// ((SBSv2BuildInfo)sdk.getBuildInfo(ISymbianBuilderID.SBSV2_BUILDER)).clearDataFromBuildCache(); +// } + SBSv2QueryUtils.removeAllCachedQueries(); + refreshLocalSBSCacheData(); + + SBSv2QueryUtils.flushAllSBSv2Caches(); refreshButton.setText(Messages.getString("SBSv2PlatformFilterComposite.RefreshButtonText")); //$NON-NLS-1$ refreshButton.setEnabled(true); } - private void clearLocalSBSCacheData(){ - aliasMap.clear(); - productVariantList.clear(); - } - - }); Composite variantButtonsComposite = new Composite(this, SWT.NONE); @@ -216,6 +224,12 @@ }); initTable(); + addListeners(); + } + + @Override + public void dispose() { + super.dispose(); } public void performOk() { @@ -232,6 +246,19 @@ } SBSv2Utils.setSBSv2FilteredConfigs(checkedConfigs.toArray(new String[checkedConfigs.size()])); + removeListeners(); + } + + public void performCancel() { + removeListeners(); + } + + private void addListeners() { + SDKCorePlugin.getSDKManager().addInstalledSdkChangeListener(sdkListener); + } + + private void removeListeners() { + SDKCorePlugin.getSDKManager().removeInstalledSdkChangeListener(sdkListener); } private void initTable() { @@ -276,22 +303,34 @@ } Collections.sort(sbsAliases); - buildAliasTableViewer.setInput(sbsAliases); - customVariantListViewer.setInput(savedVariants); - // uncheck all configs to init - buildAliasTableViewer.setAllChecked(false); - - for (String config : checkedConfigsFromStore) { - for (TableItem item : buildAliasTableViewer.getTable().getItems()) { - if (item.getText().equals(config) && !item.getText().contains(".")) { - buildAliasTableViewer.setChecked(item.getData(), true); - break; + if (buildAliasTableViewer != null) { + buildAliasTableViewer.setInput(sbsAliases); + // uncheck all configs to init + buildAliasTableViewer.setAllChecked(false); + + for (String config : checkedConfigsFromStore) { + for (TableItem item : buildAliasTableViewer.getTable().getItems()) { + if (item.getText().equals(config) && !item.getText().contains(".")) { + buildAliasTableViewer.setChecked(item.getData(), true); + break; + } } } } + + if (customVariantListViewer != null) { + customVariantListViewer.setInput(savedVariants); + } + } - + + private void refreshLocalSBSCacheData() { + aliasMap.clear(); + productVariantList.clear(); + initTable(); + } + public void setDefaults(){ initTable(); for (TableItem item : buildAliasTableViewer.getTable().getItems()) { diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/internal/sdk/ui/SDKPreferencePage.java --- a/core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/internal/sdk/ui/SDKPreferencePage.java Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/internal/sdk/ui/SDKPreferencePage.java Fri Sep 03 15:38:48 2010 -0500 @@ -181,6 +181,7 @@ ((SymbianSDK)sdk).setEPOCROOT(value.toString()); SDKCorePlugin.getSDKManager().updateSDK(sdk); getViewer().refresh(); + updateSDKStatus(sdk); } } diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/sdk/ui/shared/BuildTargetTreeNode.java --- a/core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/sdk/ui/shared/BuildTargetTreeNode.java Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/sdk/ui/shared/BuildTargetTreeNode.java Fri Sep 03 15:38:48 2010 -0500 @@ -19,9 +19,13 @@ package com.nokia.carbide.cpp.sdk.ui.shared; import java.io.File; +import java.lang.reflect.InvocationTargetException; import java.util.ArrayList; import java.util.List; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.jface.operation.IRunnableContext; +import org.eclipse.jface.operation.IRunnableWithProgress; import org.eclipse.jface.viewers.TreeNode; import com.nokia.carbide.cpp.internal.api.sdk.ISBSv2BuildContext; @@ -112,60 +116,81 @@ * from the SDK preferences page. Only enabled SDK's are used. Each SDK node will * have build configurations for children appropriate for the SDK. These configurations * are filtered based on the platform filtering preference panel. - * @return - */ - public static BuildTargetTreeNode[] getTreeViewerInput() { - return getTreeViewerInput(false); - } - - /** - * Gets the list of SDK tree nodes for use in a tree viewer. The SDK's are gathered - * from the SDK preferences page. Only enabled SDK's are used. Each SDK node will - * have build configurations for children appropriate for the SDK. These configurations - * are filtered based on the platform filtering preference panel. * @param sbsv2Project true if this is an SBSv2 project which affects how the build * configuration list is calculated + * @param IRunnableContext - a runnable context for which to update a progress monitor. Cannot be null. * @return array of BuildTargetTreeNode, or null * @since 1.4 */ - public static BuildTargetTreeNode[] getTreeViewerInput(boolean sbsv2Project) { - ISDKManager sdkMgr = SDKCorePlugin.getSDKManager(); - List sdkList = sdkMgr.getSDKList(); - if (sdkList == null) - return null; + public static BuildTargetTreeNode[] getTreeViewerInput(final boolean sbsv2Project, IRunnableContext runnableContext) { + + final List assembledInput = new ArrayList(); - List sdkListCopy = new ArrayList(); - // Only add SDKs that are enabled - for (ISymbianSDK currSDK : sdkList){ - if (currSDK.isEnabled()){ - sdkListCopy.add(currSDK); - } - } - - if (sbsv2Project) { - // filter non-SBSv2 supported SDK's - sdkListCopy = SBSv2Utils.getSupportedSDKs(sdkListCopy); + try { + runnableContext.run(true, false, new IRunnableWithProgress(){ + + public void run(IProgressMonitor monitor) + throws InvocationTargetException, InterruptedException { + + String msgPrefix = "Building SDK/Configuration Model: "; //$NON-NLS-N$ + + ISDKManager sdkMgr = SDKCorePlugin.getSDKManager(); + List sdkList = sdkMgr.getSDKList(); + monitor.beginTask(msgPrefix, sdkList.size() + 2); + if (sdkList == null) + return; + + monitor.worked(1); + List sdkListCopy = new ArrayList(); + // Only add SDKs that are enabled + for (ISymbianSDK currSDK : sdkList) { + if (currSDK.isEnabled()) { + sdkListCopy.add(currSDK); + } + } + + if (sbsv2Project) { + // filter non-SBSv2 supported SDK's + sdkListCopy = SBSv2Utils.getSupportedSDKs(sdkListCopy); + } + + BuildTargetTreeNode[] input = new BuildTargetTreeNode[sdkListCopy + .size()]; + int index = 0; + monitor.worked(1); + for (ISymbianSDK sdk : sdkListCopy) { + monitor.worked(1); + monitor.setTaskName(msgPrefix + sdk.getUniqueId()); + BuildTargetTreeNode treeNode = new BuildTargetTreeNode( + sdk, sbsv2Project); + if (treeNode.getChildren() != null || sbsv2Project) { + input[index++] = treeNode; + } + } + + // Filter out any SDKs that don't have configs + monitor.worked(1); + for (BuildTargetTreeNode currNode : input) { + if (currNode != null) { + assembledInput.add(currNode); + } + } + monitor.done(); + } + + + }); + } catch (InvocationTargetException e) { + e.printStackTrace(); + } catch (InterruptedException e) { + e.printStackTrace(); } - BuildTargetTreeNode[] input = new BuildTargetTreeNode[sdkListCopy.size()]; - int index = 0; - for (ISymbianSDK sdk : sdkListCopy) { - - BuildTargetTreeNode treeNode = new BuildTargetTreeNode(sdk, sbsv2Project); - if (treeNode.getChildren() != null || sbsv2Project){ - input[index++] = treeNode; - } + if (assembledInput.size() == 0){ + return null; } - - // Filter out any SDKs that don't have configs - BuildTargetTreeNode[] realInput = new BuildTargetTreeNode[index]; - index = 0; - for (BuildTargetTreeNode currNode : input) { - if (currNode != null){ - realInput[index++] = currNode; - } - } - return realInput; + + return assembledInput.toArray(new BuildTargetTreeNode[assembledInput.size()]); } private static String stripSDKIDFromConfigName(String configName, String sdkID){ diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/sdk/ui/shared/BuildTargetsPage.java --- a/core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/sdk/ui/shared/BuildTargetsPage.java Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/sdk/ui/shared/BuildTargetsPage.java Fri Sep 03 15:38:48 2010 -0500 @@ -439,7 +439,7 @@ } if (setInput) { - viewer.setInput(BuildTargetTreeNode.getTreeViewerInput(useSBSv2Builder)); + viewer.setInput(BuildTargetTreeNode.getTreeViewerInput(useSBSv2Builder, getContainer())); } if (!inited) { diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.sysdoc.hover/src/com/nokia/carbide/cpp/sysdoc/internal/hover/dal/sdk/SDKController.java --- a/core/com.nokia.carbide.cpp.sysdoc.hover/src/com/nokia/carbide/cpp/sysdoc/internal/hover/dal/sdk/SDKController.java Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.sysdoc.hover/src/com/nokia/carbide/cpp/sysdoc/internal/hover/dal/sdk/SDKController.java Fri Sep 03 15:38:48 2010 -0500 @@ -83,6 +83,10 @@ } }; probeAllAvailableSystemSDKDirectories(); + + // add the listener after getting the initial list of SDK's to prevent possible + // bundle state exception + sdkMgr.addInstalledSdkChangeListener(sdkListChangeListener); } @@ -144,7 +148,6 @@ * @throws MalformedURLException */ public void probeAllAvailableSystemSDKDirectories() { - sdkMgr.addInstalledSdkChangeListener(sdkListChangeListener); List sdkList = sdkMgr.getSDKList(); for (ISymbianSDK currSDK : sdkList) { diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.ui/META-INF/MANIFEST.MF --- a/core/com.nokia.carbide.cpp.ui/META-INF/MANIFEST.MF Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.ui/META-INF/MANIFEST.MF Fri Sep 03 15:38:48 2010 -0500 @@ -1,6 +1,6 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 -Bundle-Name: Carbide.c++ UI Plugin +Bundle-Name: Carbide.c++ UI Bundle-SymbolicName: com.nokia.carbide.cpp.ui;singleton:=true Bundle-Version: 1.4.0.qualifier Bundle-Activator: com.nokia.carbide.cpp.ui.CarbideUIPlugin @@ -12,7 +12,8 @@ com.nokia.cpp.utils.ui, com.nokia.sdt.utils, org.eclipse.core.resources, - org.eclipse.ui.forms + org.eclipse.ui.forms, + com.nokia.carbide.cpp.featureTracker;bundle-version="3.0.0" Bundle-ActivationPolicy: lazy Export-Package: com.nokia.carbide.cpp.internal.ui.images; x-friends:="com.nokia.sdt.symbian, diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp.ui/src/com/nokia/carbide/cpp/ui/CarbideUIPlugin.java --- a/core/com.nokia.carbide.cpp.ui/src/com/nokia/carbide/cpp/ui/CarbideUIPlugin.java Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp.ui/src/com/nokia/carbide/cpp/ui/CarbideUIPlugin.java Fri Sep 03 15:38:48 2010 -0500 @@ -21,6 +21,7 @@ import org.eclipse.ui.plugin.AbstractUIPlugin; import org.osgi.framework.BundleContext; +import com.nokia.carbide.cpp.internal.featureTracker.FeatureUseTrackerPlugin; import com.nokia.carbide.cpp.internal.ui.SharedImages; import com.nokia.cpp.internal.api.utils.core.Logging; @@ -32,6 +33,8 @@ // The plug-in ID public static final String PLUGIN_ID = "com.nokia.carbide.cpp.ui"; + private static final String CARBIDE_IDE_FEATURE = "CARBIDE_IDE"; //$NON-NLS-1$ + // The shared instance private static CarbideUIPlugin plugin; @@ -50,6 +53,8 @@ */ public void start(BundleContext context) throws Exception { super.start(context); + + FeatureUseTrackerPlugin.getFeatureUseProxy().useFeature(CARBIDE_IDE_FEATURE); } /* diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp/META-INF/MANIFEST.MF --- a/core/com.nokia.carbide.cpp/META-INF/MANIFEST.MF Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp/META-INF/MANIFEST.MF Fri Sep 03 15:38:48 2010 -0500 @@ -14,8 +14,8 @@ org.eclipse.core.filesystem, org.eclipse.ui.ide, org.eclipse.cdt.core, - org.eclipse.equinox.p2.ui;bundle-version="2.0.0", - com.nokia.carbide.cpp.featureTracker + com.nokia.carbide.discovery.ui;bundle-version="1.0.0", + org.eclipse.equinox.p2.ui;bundle-version="2.0.0" Bundle-ActivationPolicy: lazy Export-Package: com.nokia.carbide.cpp, com.nokia.carbide.cpp.logging diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp/icons/Carbide_c_flat.ico Binary file core/com.nokia.carbide.cpp/icons/Carbide_c_flat.ico has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp/splash.bmp Binary file core/com.nokia.carbide.cpp/splash.bmp has changed diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.cpp/src/com/nokia/carbide/cpp/ProductPlugin.java --- a/core/com.nokia.carbide.cpp/src/com/nokia/carbide/cpp/ProductPlugin.java Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.cpp/src/com/nokia/carbide/cpp/ProductPlugin.java Fri Sep 03 15:38:48 2010 -0500 @@ -16,12 +16,13 @@ */ package com.nokia.carbide.cpp; +import java.io.File; + import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.ui.plugin.AbstractUIPlugin; import org.osgi.framework.BundleContext; -import com.nokia.carbide.cpp.internal.featureTracker.FeatureUseTrackerConsts; -import com.nokia.carbide.cpp.internal.featureTracker.FeatureUseTrackerPlugin; +import com.nokia.carbide.internal.discovery.ui.wizard.P2Utils; /** * The main plugin class to be used in the desktop. @@ -44,7 +45,10 @@ public void start(BundleContext context) throws Exception { super.start(context); - FeatureUseTrackerPlugin.getFeatureUseProxy().startUsingFeature(FeatureUseTrackerConsts.CARBIDE_IDE); + File file = P2Utils.getInitialFeaturesFile(); + if (!file.exists()) { + P2Utils.writeFeaturesToFile(file); + } } /** diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.discovery.ui/META-INF/MANIFEST.MF --- a/core/com.nokia.carbide.discovery.ui/META-INF/MANIFEST.MF Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.discovery.ui/META-INF/MANIFEST.MF Fri Sep 03 15:38:48 2010 -0500 @@ -30,4 +30,5 @@ com.nokia.carbide.internal.discovery.ui.command;x-internal:=true, com.nokia.carbide.internal.discovery.ui.editor;x-internal:=true, com.nokia.carbide.internal.discovery.ui.extension;x-internal:=true, - com.nokia.carbide.internal.discovery.ui.view;x-internal:=true + com.nokia.carbide.internal.discovery.ui.view;x-internal:=true, + com.nokia.carbide.internal.discovery.ui.wizard;x-friends:="com.nokia.carbide.cpp" diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.discovery.ui/src/com/nokia/carbide/discovery/ui/Messages.java --- a/core/com.nokia.carbide.discovery.ui/src/com/nokia/carbide/discovery/ui/Messages.java Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.discovery.ui/src/com/nokia/carbide/discovery/ui/Messages.java Fri Sep 03 15:38:48 2010 -0500 @@ -65,6 +65,7 @@ public static String ExportPage_Title; public static String ExportPage_ViewerGroupLabel; public static String ExportWizard_ErrorTitle; + public static String ExportWizard_ReadInstalledFeaturesError; public static String ExportWizard_Title; public static String ExportWizard_WriteFileError; public static String FeatureInstallOperation_ConfiguringTaskName; @@ -94,6 +95,7 @@ public static String InstallExtensionsPortalExtension_ExportActionLabel; public static String InstallExtensionsPortalExtension_ImportActionLabel; public static String InstallExtensionsPortalExtension_MigrateTitle; + public static String P2Utils_WriteInitialFeaturesFileError; public static String PortalEditor_BadCommandBarFactoryError; public static String PortalEditor_Name; public static String PortalEditor_NoLayersError; diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.discovery.ui/src/com/nokia/carbide/discovery/ui/messages.properties --- a/core/com.nokia.carbide.discovery.ui/src/com/nokia/carbide/discovery/ui/messages.properties Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.discovery.ui/src/com/nokia/carbide/discovery/ui/messages.properties Fri Sep 03 15:38:48 2010 -0500 @@ -43,6 +43,7 @@ ExportPage_Title=Export Installed Feature Configuration ExportPage_ViewerGroupLabel=Export features: ExportWizard_ErrorTitle=Error +ExportWizard_ReadInstalledFeaturesError=Could not read installed features file: ExportWizard_Title=Export ExportWizard_WriteFileError=Could not write export file due to error: {0} FeatureInstallOperation_ConfiguringTaskName=Configuring install operation @@ -72,6 +73,7 @@ InstallExtensionsPortalExtension_ExportActionLabel=Export... InstallExtensionsPortalExtension_ImportActionLabel=Import... InstallExtensionsPortalExtension_MigrateTitle=Migrate +P2Utils_WriteInitialFeaturesFileError=Could not write inital features file: {0} PortalEditor_BadCommandBarFactoryError=Command bar factory class could not be created for id: {0 PortalEditor_Name=Carbide.c++ Portal PortalEditor_NoLayersError=Could not load portal page because no layers were found for id: {0} diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.discovery.ui/src/com/nokia/carbide/internal/discovery/ui/view/SupportPage.java --- a/core/com.nokia.carbide.discovery.ui/src/com/nokia/carbide/internal/discovery/ui/view/SupportPage.java Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.discovery.ui/src/com/nokia/carbide/internal/discovery/ui/view/SupportPage.java Fri Sep 03 15:38:48 2010 -0500 @@ -16,37 +16,7 @@ */ package com.nokia.carbide.internal.discovery.ui.view; -import org.eclipse.swt.SWT; -import org.eclipse.swt.layout.FillLayout; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.ui.IEditorPart; - -import com.nokia.carbide.internal.discovery.ui.extension.IActionBar; -import com.nokia.carbide.internal.discovery.ui.extension.IActionUIUpdater; -import com.nokia.carbide.internal.discovery.ui.extension.IPortalPageLayer; - -public class SupportPage implements IPortalPageLayer { +import com.nokia.carbide.internal.discovery.ui.extension.AbstractBrowserPortalPageLayer; - @Override - public Control createControl(Composite parent, IEditorPart part) { - Composite composite = new Composite(parent, SWT.NONE); - composite.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND)); - composite.setLayout(new FillLayout()); - - return composite; - } - - @Override - public void init() { - } - - @Override - public IActionBar[] createCommandBars(IEditorPart part, IActionUIUpdater updater) { - return null; - } - - @Override - public void dispose() { - } +public class SupportPage extends AbstractBrowserPortalPageLayer { } diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.discovery.ui/src/com/nokia/carbide/internal/discovery/ui/wizard/AbstractImportExportPage.java --- a/core/com.nokia.carbide.discovery.ui/src/com/nokia/carbide/internal/discovery/ui/wizard/AbstractImportExportPage.java Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.discovery.ui/src/com/nokia/carbide/internal/discovery/ui/wizard/AbstractImportExportPage.java Fri Sep 03 15:38:48 2010 -0500 @@ -30,6 +30,7 @@ import org.eclipse.jface.viewers.ColumnLabelProvider; import org.eclipse.jface.viewers.ICheckStateListener; import org.eclipse.jface.viewers.TableViewerColumn; +import org.eclipse.jface.viewers.ViewerSorter; import org.eclipse.jface.wizard.WizardPage; import org.eclipse.swt.SWT; import org.eclipse.swt.events.ModifyEvent; @@ -137,6 +138,7 @@ return null; } }); + viewer.setSorter(new ViewerSorter()); viewer.getControl().setLayoutData( new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.discovery.ui/src/com/nokia/carbide/internal/discovery/ui/wizard/ExportPage.java --- a/core/com.nokia.carbide.discovery.ui/src/com/nokia/carbide/internal/discovery/ui/wizard/ExportPage.java Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.discovery.ui/src/com/nokia/carbide/internal/discovery/ui/wizard/ExportPage.java Fri Sep 03 15:38:48 2010 -0500 @@ -21,6 +21,8 @@ import java.io.File; import java.util.ArrayList; import java.util.Collection; +import java.util.HashSet; +import java.util.Set; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.IProgressMonitor; @@ -46,9 +48,11 @@ private File file; private Collection featureInfos; private static String saveAsParent; + private Set filteredFeatureIds; - protected ExportPage() { + protected ExportPage(Collection filteredFeatureIds) { super("ExportPage"); //$NON-NLS-1$ + this.filteredFeatureIds = new HashSet(filteredFeatureIds); setTitle(Messages.ExportPage_Title); setDescription(Messages.ExportPage_Description); } @@ -100,14 +104,25 @@ UIJob j = new UIJob(Messages.ExportPage_GetFeaturesJobName) { @Override public IStatus runInUIThread(IProgressMonitor monitor) { - viewer.setInput(P2Utils.getInstalledFeatures(monitor)); + viewer.setInput(getInstalledFeatureInfos(monitor)); updateViewer(); return Status.OK_STATUS; - } + } }; j.schedule(); } + private Collection getInstalledFeatureInfos(IProgressMonitor monitor) { + Collection featureInfos = new ArrayList(); + // filter out the filtered ids + for (FeatureInfo featureInfo : P2Utils.getInstalledFeatures(monitor)) { + if (!filteredFeatureIds.contains(featureInfo.getId())) + featureInfos.add(featureInfo); + } + + return featureInfos; + } + protected boolean validatePage() { setErrorMessage(null); if (viewer.getTable().getItemCount() == 0) { diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.discovery.ui/src/com/nokia/carbide/internal/discovery/ui/wizard/ExportWizard.java --- a/core/com.nokia.carbide.discovery.ui/src/com/nokia/carbide/internal/discovery/ui/wizard/ExportWizard.java Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.discovery.ui/src/com/nokia/carbide/internal/discovery/ui/wizard/ExportWizard.java Fri Sep 03 15:38:48 2010 -0500 @@ -19,9 +19,11 @@ package com.nokia.carbide.internal.discovery.ui.wizard; import java.io.File; +import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.OutputStream; import java.text.MessageFormat; +import java.util.ArrayList; import java.util.Collection; import org.eclipse.jface.dialogs.MessageDialog; @@ -61,8 +63,29 @@ public void init(IWorkbench workbench, IStructuredSelection selection) { setDefaultPageImageDescriptor(Activator.getImageDescriptor("icons\\install_wiz.gif")); //$NON-NLS-1$ setWindowTitle(Messages.ExportWizard_Title); - exportPage = new ExportPage(); + exportPage = new ExportPage(getInitialFeatureIds()); addPage(exportPage); } + private Collection getInitialFeatureIds() { + Collection installedFeatures = null; + File file = P2Utils.getInitialFeaturesFile(); + if (file.exists()) { + try { + ImportExportData data = Streamer.readFromXML(new FileInputStream(file)); + installedFeatures = data.getFeatureInfos(); + } catch (Exception e) { + Activator.logError(Messages.ExportWizard_ReadInstalledFeaturesError + file, e); + } + } + + Collection featureIds = new ArrayList(); + if (installedFeatures != null) { + for (FeatureInfo featureInfo : installedFeatures) { + featureIds.add(featureInfo.getId()); + } + } + return featureIds; + } + } diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.discovery.ui/src/com/nokia/carbide/internal/discovery/ui/wizard/FeatureInfo.java --- a/core/com.nokia.carbide.discovery.ui/src/com/nokia/carbide/internal/discovery/ui/wizard/FeatureInfo.java Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.discovery.ui/src/com/nokia/carbide/internal/discovery/ui/wizard/FeatureInfo.java Fri Sep 03 15:38:48 2010 -0500 @@ -70,4 +70,9 @@ return false; return true; } + + @Override + public String toString() { + return getId() + " " + getVersion().toString(); //$NON-NLS-1$ + } } \ No newline at end of file diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.discovery.ui/src/com/nokia/carbide/internal/discovery/ui/wizard/P2Utils.java --- a/core/com.nokia.carbide.discovery.ui/src/com/nokia/carbide/internal/discovery/ui/wizard/P2Utils.java Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.discovery.ui/src/com/nokia/carbide/internal/discovery/ui/wizard/P2Utils.java Fri Sep 03 15:38:48 2010 -0500 @@ -16,14 +16,23 @@ */ package com.nokia.carbide.internal.discovery.ui.wizard; +import java.io.File; +import java.io.FileOutputStream; import java.net.URI; +import java.net.URL; +import java.text.MessageFormat; import java.util.Arrays; import java.util.Collection; +import java.util.Collections; import java.util.HashSet; import java.util.Iterator; import java.util.Set; +import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.NullProgressMonitor; +import org.eclipse.core.runtime.Path; +import org.eclipse.core.runtime.Platform; import org.eclipse.equinox.p2.core.IProvisioningAgent; import org.eclipse.equinox.p2.engine.IProfile; import org.eclipse.equinox.p2.engine.IProfileRegistry; @@ -32,8 +41,12 @@ import org.eclipse.equinox.p2.query.IQueryResult; import org.eclipse.equinox.p2.query.QueryUtil; import org.eclipse.equinox.p2.ui.ProvisioningUI; +import org.eclipse.osgi.service.datalocation.Location; -class P2Utils { +import com.nokia.carbide.discovery.ui.Activator; +import com.nokia.carbide.discovery.ui.Messages; + +public class P2Utils { public static Collection getKnownRepositories() { ProvisioningUI provisioningUI = ProvisioningUI.getDefaultUI(); @@ -61,4 +74,26 @@ } return infos; } + + public static void writeFeaturesToFile(File file) { + if (!file.exists()) { + Collection initialFeatures = P2Utils.getInstalledFeatures(new NullProgressMonitor()); + ImportExportData data = new ImportExportData(false, Collections.emptyList(), initialFeatures); + try { + Streamer.writeToXML(new FileOutputStream(file), data); + } catch (Exception e) { + Activator.logError(MessageFormat.format( + Messages.P2Utils_WriteInitialFeaturesFileError, file), e); + } + } + } + + public static File getInitialFeaturesFile() { + Location installLocation = Platform.getInstallLocation(); + URL url = installLocation.getURL(); + IPath path = new Path(url.getPath()); + path = path.append("configuration/initialFeatures.xml"); //$NON-NLS-1$ + File file = path.toFile(); + return file; + } } diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.help.common/META-INF/MANIFEST.MF --- a/core/com.nokia.carbide.help.common/META-INF/MANIFEST.MF Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.help.common/META-INF/MANIFEST.MF Fri Sep 03 15:38:48 2010 -0500 @@ -1,9 +1,9 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 -Bundle-Name: Common Carbide Help Plugin +Bundle-Name: Common Carbide Help Bundle-SymbolicName: com.nokia.carbide.help.common;singleton:=true Bundle-Version: 1.4.0.qualifier Bundle-Vendor: Nokia Bundle-Localization: plugin -Eclipse-LazyStart: true +Bundle-ActivationPolicy: lazy Require-Bundle: org.eclipse.help diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.templatewizard/META-INF/MANIFEST.MF --- a/core/com.nokia.carbide.templatewizard/META-INF/MANIFEST.MF Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.templatewizard/META-INF/MANIFEST.MF Fri Sep 03 15:38:48 2010 -0500 @@ -11,7 +11,8 @@ org.eclipse.emf.ecore.xmi, org.eclipse.ui.ide, com.nokia.cpp.utils.core, - com.nokia.cpp.utils.ui + com.nokia.cpp.utils.ui, + com.nokia.carbide.cpp.featureTracker;bundle-version="3.0.0" Bundle-ActivationPolicy: lazy Export-Package: com.nokia.carbide.internal.api.template.engine, com.nokia.carbide.internal.api.templatewizard.ui, diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.templatewizard/src/com/nokia/carbide/internal/api/templatewizard/ui/TemplatePagesNode.java --- a/core/com.nokia.carbide.templatewizard/src/com/nokia/carbide/internal/api/templatewizard/ui/TemplatePagesNode.java Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.templatewizard/src/com/nokia/carbide/internal/api/templatewizard/ui/TemplatePagesNode.java Fri Sep 03 15:38:48 2010 -0500 @@ -58,6 +58,7 @@ Image defaultPageImage = parentWizard.getDefaultPageImage(); ImageDescriptor imageDescriptor = ImageDescriptor.createFromImage(defaultPageImage); setDefaultPageImageDescriptor(imageDescriptor); + setNeedsProgressMonitor(true); ILoadedTemplateUI selectedLoadedTemplateUI = parentWizard.getSelectedTemplateUI(); selectedLoadedTemplateUI.initExtraPagesProvider(parentWizard, diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.templatewizard/src/com/nokia/carbide/internal/api/templatewizard/ui/TemplateWizard.java --- a/core/com.nokia.carbide.templatewizard/src/com/nokia/carbide/internal/api/templatewizard/ui/TemplateWizard.java Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.templatewizard/src/com/nokia/carbide/internal/api/templatewizard/ui/TemplateWizard.java Fri Sep 03 15:38:48 2010 -0500 @@ -18,13 +18,15 @@ package com.nokia.carbide.internal.api.templatewizard.ui; -import com.nokia.carbide.internal.api.template.engine.TemplateEngine; -import com.nokia.carbide.template.engine.*; -import com.nokia.carbide.templatewizard.TemplateWizardPlugin; -import com.nokia.cpp.internal.api.utils.core.Check; +import java.util.Arrays; +import java.util.Collection; +import java.util.List; +import java.util.Map; import org.eclipse.core.resources.WorkspaceJob; -import org.eclipse.core.runtime.*; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.jobs.ISchedulingRule; import org.eclipse.jface.viewers.IFilter; import org.eclipse.jface.viewers.IStructuredSelection; @@ -33,7 +35,15 @@ import org.eclipse.ui.IWorkbench; import org.eclipse.ui.wizards.newresource.BasicNewResourceWizard; -import java.util.*; +import com.nokia.carbide.cpp.internal.featureTracker.FeatureUseTrackerPlugin; +import com.nokia.carbide.internal.api.template.engine.TemplateEngine; +import com.nokia.carbide.template.engine.DialogSettingsPersistedStorage; +import com.nokia.carbide.template.engine.ILoadedTemplate; +import com.nokia.carbide.template.engine.ILoadedTemplateUI; +import com.nokia.carbide.template.engine.IPersistedSettingStorage; +import com.nokia.carbide.template.engine.ITemplate; +import com.nokia.carbide.templatewizard.TemplateWizardPlugin; +import com.nokia.cpp.internal.api.utils.core.Check; public abstract class TemplateWizard extends BasicNewResourceWizard { @@ -100,6 +110,11 @@ job.setRule(getJobSchedulingRule()); job.schedule(); + String featureName = getFeatureName(); + if (featureName != null && !featureName.isEmpty()) { + FeatureUseTrackerPlugin.getFeatureUseProxy().useFeature(featureName); + } + return true; } @@ -248,6 +263,8 @@ public abstract String getProcessingTitle(); + public abstract String getFeatureName(); + public void notifyTemplateChanged() { // nothing to do in base class } diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.carbide.win32.utils/META-INF/MANIFEST.MF --- a/core/com.nokia.carbide.win32.utils/META-INF/MANIFEST.MF Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.carbide.win32.utils/META-INF/MANIFEST.MF Fri Sep 03 15:38:48 2010 -0500 @@ -1,6 +1,6 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 -Bundle-Name: Win32Utils Plug-in +Bundle-Name: Win32Utils Bundle-SymbolicName: com.nokia.carbide.win32.utils;singleton:=true Bundle-Version: 1.4.0.qualifier Bundle-Activator: com.nokia.carbide.internal.win32.utils.Win32UtilsPlugin diff -r fccb2e8f8b9b -r fc333b249602 core/com.nokia.cpp.utils.ui/META-INF/MANIFEST.MF --- a/core/com.nokia.cpp.utils.ui/META-INF/MANIFEST.MF Wed Aug 25 12:13:45 2010 -0500 +++ b/core/com.nokia.cpp.utils.ui/META-INF/MANIFEST.MF Fri Sep 03 15:38:48 2010 -0500 @@ -1,7 +1,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Carbide.c++ UI Utilities -Bundle-SymbolicName: com.nokia.cpp.utils.ui +Bundle-SymbolicName: com.nokia.cpp.utils.ui;singleton:=true Bundle-Version: 1.0.0.qualifier Bundle-Activator: com.nokia.cpp.utils.ui.noexport.UtilsUIPlugin Bundle-Vendor: Nokia diff -r fccb2e8f8b9b -r fc333b249602 debuggercdi/com.nokia.carbide.trk.support/src/com/nokia/carbide/trk/support/Activator.java --- a/debuggercdi/com.nokia.carbide.trk.support/src/com/nokia/carbide/trk/support/Activator.java Wed Aug 25 12:13:45 2010 -0500 +++ b/debuggercdi/com.nokia.carbide.trk.support/src/com/nokia/carbide/trk/support/Activator.java Fri Sep 03 15:38:48 2010 -0500 @@ -22,8 +22,6 @@ import org.eclipse.ui.plugin.AbstractUIPlugin; import org.osgi.framework.BundleContext; -import com.nokia.carbide.cpp.internal.featureTracker.FeatureUseTrackerConsts; -import com.nokia.carbide.cpp.internal.featureTracker.FeatureUseTrackerPlugin; import com.nokia.carbide.trk.support.status.ConnectionStatusReconciler; import com.nokia.cpp.internal.api.utils.core.Logging; diff -r fccb2e8f8b9b -r fc333b249602 debuggercdi/com.nokia.carbide.trk.support/src/com/nokia/carbide/trk/support/messages.properties --- a/debuggercdi/com.nokia.carbide.trk.support/src/com/nokia/carbide/trk/support/messages.properties Wed Aug 25 12:13:45 2010 -0500 +++ b/debuggercdi/com.nokia.carbide.trk.support/src/com/nokia/carbide/trk/support/messages.properties Fri Sep 03 15:38:48 2010 -0500 @@ -5,7 +5,7 @@ ConnectionStatusReconciler_NotReadyLabel=Not Ready ConnectionStatusReconciler_ReadyLabel=Ready ConnectionStatusReconciler_TracingServicePrefix=, Tracing service -ConnectionStatusReconciler_TRKServicePrefix=debugging services +ConnectionStatusReconciler_TRKServicePrefix=Debugging services ConnectionStatusReconciler_unavailableLabel=unavailable TRKConnectedService.AppTRKName=Application TRK TRKConnectedService.DownLabel=Not Accessible diff -r fccb2e8f8b9b -r fc333b249602 debuggercdi/com.nokia.cdt.debug.launch/src/com/nokia/cdt/internal/debug/launch/NokiaAbstractLaunchDelegate.java --- a/debuggercdi/com.nokia.cdt.debug.launch/src/com/nokia/cdt/internal/debug/launch/NokiaAbstractLaunchDelegate.java Wed Aug 25 12:13:45 2010 -0500 +++ b/debuggercdi/com.nokia.cdt.debug.launch/src/com/nokia/cdt/internal/debug/launch/NokiaAbstractLaunchDelegate.java Fri Sep 03 15:38:48 2010 -0500 @@ -23,7 +23,6 @@ import java.util.Date; import java.util.LinkedList; import java.util.List; -import java.util.StringTokenizer; import org.eclipse.cdt.core.model.CModelException; import org.eclipse.cdt.core.model.IBinary; @@ -36,10 +35,7 @@ import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.Path; import org.eclipse.core.runtime.SubProgressMonitor; -import org.eclipse.core.runtime.jobs.IJobManager; -import org.eclipse.core.runtime.jobs.Job; import org.eclipse.debug.core.ILaunchConfiguration; import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy; import org.eclipse.jface.dialogs.MessageDialog; @@ -209,49 +205,19 @@ */ protected IPath[] getOtherExecutables(ICProject project, IPath exePath, ILaunchConfiguration config, IProgressMonitor monitor) throws CModelException { - ArrayList targetedBinaries = new ArrayList(); - targetedBinaries.addAll(getBldInfExecutables(project, exePath, config, monitor)); - return (IPath[]) targetedBinaries.toArray(new IPath[targetedBinaries - .size()]); - } - - /** - * Returns list of executables that are built as part of the bld inf file. - * Excludes the exe specified in the launch configuration. - * @param monitor - * - * @return - */ - protected List getBldInfExecutables(ICProject project, - IPath mainExePath, ILaunchConfiguration config, IProgressMonitor monitor) { - // Target imported executables in the project - ArrayList infExecutables = new ArrayList(); - + List targetedBinaries = new ArrayList(); + try { - - String executablesToTarget = ExecutablesTab.getExecutablesToTarget(config, monitor); + targetedBinaries.addAll(ExecutablesTab.getExecutablesToTarget(config, monitor)); - if (executablesToTarget.length() > 0) { - StringTokenizer tokenizer = new StringTokenizer(executablesToTarget, - ","); //$NON-NLS-1$ - while (tokenizer.hasMoreTokens()) { - String exe = tokenizer.nextToken(); - String enabled = tokenizer.nextToken(); - - Path exePath = new Path(exe); - if (enabled.compareTo("0") == 0 //$NON-NLS-1$ - || exePath.lastSegment().equalsIgnoreCase( - mainExePath.lastSegment())) { - continue; - } - infExecutables.add(exePath); - } + // remove the main exe if it exists + if (targetedBinaries.contains(exePath)) { + targetedBinaries.remove(exePath); } - } catch (CoreException ce) { - return infExecutables; + } catch (CoreException e) { } - return infExecutables; + return (IPath[]) targetedBinaries.toArray(new IPath[targetedBinaries.size()]); } /** diff -r fccb2e8f8b9b -r fc333b249602 debuggercdi/com.nokia.cdt.debug.launch/src/com/nokia/cdt/internal/debug/launch/ui/ExecutablesTab.java --- a/debuggercdi/com.nokia.cdt.debug.launch/src/com/nokia/cdt/internal/debug/launch/ui/ExecutablesTab.java Wed Aug 25 12:13:45 2010 -0500 +++ b/debuggercdi/com.nokia.cdt.debug.launch/src/com/nokia/cdt/internal/debug/launch/ui/ExecutablesTab.java Fri Sep 03 15:38:48 2010 -0500 @@ -231,16 +231,43 @@ } } - public static String getExecutablesToTarget(ILaunchConfiguration config, IProgressMonitor monitor) throws CoreException { + public static List getExecutablesToTarget(ILaunchConfiguration config, IProgressMonitor monitor) throws CoreException { + List executables = new ArrayList(); + int targetingRule = config.getAttribute(SettingsData.LCS_ExecutableTargetingRule, SettingsData.LCS_ExeTargetingRule_AllInSDK); String filesString = ""; //$NON-NLS-1$ if (targetingRule == SettingsData.LCS_ExeTargetingRule_ExeList) { filesString = config.getAttribute(PreferenceConstants.J_PN_ExecutablesToDebug, ""); //$NON-NLS-1$ } else { - List exeFiles = ExecutablesTab.getExecutablesToTarget(targetingRule, config, monitor); - filesString = ExecutablesTab.getExeFilesAsString(exeFiles.toArray(new ExeFileToDebug[exeFiles.size()])); + List exeFiles = getExecutablesToTarget(targetingRule, config, monitor); + filesString = getExeFilesAsString(exeFiles.toArray(new ExeFileToDebug[exeFiles.size()])); } - return filesString; + + if (filesString.length() > 0) { + StringTokenizer tokenizer = new StringTokenizer(filesString, ","); //$NON-NLS-1$ + while (tokenizer.hasMoreTokens()) { + String exePath = tokenizer.nextToken(); + String enabled = tokenizer.nextToken(); + try { + int enabledVal = Integer.parseInt(enabled); + if (enabledVal != 0) { + IPath path = new Path(exePath); + if (!executables.contains(path)) { + executables.add(path); + } + } + } catch (NumberFormatException e) { + } + } + } + + // add in the main executable for the launch config + IPath mainExePath = new Path(config.getAttribute(ICDTLaunchConfigurationConstants.ATTR_PROGRAM_NAME, "")); + if (!executables.contains(mainExePath)) { + executables.add(mainExePath); + } + + return executables; } private static String getExeFilesAsString(ExeFileToDebug[] files) { @@ -269,37 +296,6 @@ configuration.setAttribute( PreferenceConstants.J_PN_SymbolLoadingRule, PreferenceConstants.J_PV_SymbolLoadingRule_Auto); - - // get the current program name because it needs to be set to some executable to target - String programName = null; - try { - programName = AbstractCLaunchDelegate.getProgramName(configuration); - } catch (CoreException e) { - } - - // only do this when the current program name is not empty. if it is, we'll be changing it - // which causes the apply button to become enabled which is not expected behavior. this will - // be called later if/when they do specify the main program, so we'll make sure then that it's - // actually being targeted. - if (programName != null && programName.length() > 0) { - boolean resetProgramName = true; - // check to see if the current program name is one of the executables to target - for (ExeFileToDebug exeFileToDebug : executablesToTarget) { - if (exeFileToDebug.getExePath().equalsIgnoreCase(programName)) { - resetProgramName = false; - break; - } - } - if (resetProgramName) { - // ensure one of the enabled files to target is set as the program name - for (ExeFileToDebug exeFileToDebug : executablesToTarget) { - if (exeFileToDebug.getEnabled()) { - configuration.setAttribute(ICDTLaunchConfigurationConstants.ATTR_PROGRAM_NAME, exeFileToDebug.getExePath()); - break; - } - } - } - } } private static List getExecutablesForTheProject(ILaunchConfiguration configuration) { @@ -328,7 +324,7 @@ return files; } - static public List getExecutablesToTarget(int targetingRule, ILaunchConfiguration launchConfig, IProgressMonitor monitor) { + private static List getExecutablesToTarget(int targetingRule, ILaunchConfiguration launchConfig, IProgressMonitor monitor) { List files = new ArrayList(); if (targetingRule == SettingsData.LCS_ExeTargetingRule_All) { diff -r fccb2e8f8b9b -r fc333b249602 debuggercdi/com.nokia.cdt.debug.launch/src/com/nokia/cdt/internal/debug/launch/ui/RunModeMainTab.java --- a/debuggercdi/com.nokia.cdt.debug.launch/src/com/nokia/cdt/internal/debug/launch/ui/RunModeMainTab.java Wed Aug 25 12:13:45 2010 -0500 +++ b/debuggercdi/com.nokia.cdt.debug.launch/src/com/nokia/cdt/internal/debug/launch/ui/RunModeMainTab.java Fri Sep 03 15:38:48 2010 -0500 @@ -16,13 +16,12 @@ */ package com.nokia.cdt.internal.debug.launch.ui; -import java.util.StringTokenizer; - import org.eclipse.cdt.debug.core.ICDTLaunchConfigurationConstants; import org.eclipse.core.resources.IResourceChangeEvent; import org.eclipse.core.resources.IResourceChangeListener; import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Path; import org.eclipse.debug.core.ILaunchConfiguration; @@ -180,23 +179,14 @@ // main target if its in the list of target executables if (isRemoteTextValid(remoteText.getText()) == null) { try { - Path processToLaunch = new Path(remoteText.getText()); - Path mainExePath = new Path(config.getAttribute(ICDTLaunchConfigurationConstants.ATTR_PROGRAM_NAME, "")); + IPath processToLaunch = new Path(remoteText.getText()); + IPath mainExePath = new Path(config.getAttribute(ICDTLaunchConfigurationConstants.ATTR_PROGRAM_NAME, "")); if (!processToLaunch.lastSegment().equalsIgnoreCase(mainExePath.lastSegment())) { // passing null as the monitor should be ok as its not really being used. - String executablesToTarget = ExecutablesTab.getExecutablesToTarget(config, null); - if (executablesToTarget != null && executablesToTarget.length() > 0) { - StringTokenizer tokenizer = new StringTokenizer(executablesToTarget, ","); //$NON-NLS-1$ - while (tokenizer.hasMoreTokens()) { - String exe = tokenizer.nextToken(); - String enabled = tokenizer.nextToken(); - - Path exePath = new Path(exe); - if (enabled.compareTo("1") == 0 //$NON-NLS-1$ - && exePath.lastSegment().equalsIgnoreCase(processToLaunch.lastSegment())) { - config.setAttribute(ICDTLaunchConfigurationConstants.ATTR_PROGRAM_NAME, exePath.toOSString()); - break; - } + for (IPath exe : ExecutablesTab.getExecutablesToTarget(config, null)) { + if (exe.lastSegment().equalsIgnoreCase(processToLaunch.lastSegment())) { + config.setAttribute(ICDTLaunchConfigurationConstants.ATTR_PROGRAM_NAME, exe.toOSString()); + break; } } } diff -r fccb2e8f8b9b -r fc333b249602 project/com.nokia.carbide.cpp.epoc.engine/META-INF/MANIFEST.MF --- a/project/com.nokia.carbide.cpp.epoc.engine/META-INF/MANIFEST.MF Wed Aug 25 12:13:45 2010 -0500 +++ b/project/com.nokia.carbide.cpp.epoc.engine/META-INF/MANIFEST.MF Fri Sep 03 15:38:48 2010 -0500 @@ -1,7 +1,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 -Bundle-Name: EPOC Engine Plug-in -Bundle-SymbolicName: com.nokia.carbide.cpp.epoc.engine +Bundle-Name: EPOC Engine +Bundle-SymbolicName: com.nokia.carbide.cpp.epoc.engine;singleton:=true Bundle-Version: 2.0.0.qualifier Bundle-Activator: com.nokia.carbide.cpp.epoc.engine.EpocEnginePlugin Bundle-Vendor: Nokia diff -r fccb2e8f8b9b -r fc333b249602 project/com.nokia.carbide.cpp.epoc.engine/src/com/nokia/carbide/cpp/epoc/engine/model/mmp/EMMPStatement.java --- a/project/com.nokia.carbide.cpp.epoc.engine/src/com/nokia/carbide/cpp/epoc/engine/model/mmp/EMMPStatement.java Wed Aug 25 12:13:45 2010 -0500 +++ b/project/com.nokia.carbide.cpp.epoc.engine/src/com/nokia/carbide/cpp/epoc/engine/model/mmp/EMMPStatement.java Fri Sep 03 15:38:48 2010 -0500 @@ -82,6 +82,11 @@ STDCPP("STDCPP", IMMPParserConfiguration.FLAG_STATEMENT), //$NON-NLS-1$ NOSTDCPP("NOSTDCPP", IMMPParserConfiguration.FLAG_STATEMENT), //$NON-NLS-1$ + /** + * @since 3.0 + */ + TRACES("TRACES", IMMPParserConfiguration.FLAG_STATEMENT), //$NON-NLS-1$ + HEADER("HEADER", IMMPParserConfiguration.FLAG_STATEMENT, "RESOURCE|BITMAP"), //$NON-NLS-1$ //$NON-NLS-2$ HEADERONLY("HEADERONLY", IMMPParserConfiguration.FLAG_STATEMENT, "RESOURCE|BITMAP"), //$NON-NLS-1$ //$NON-NLS-2$ diff -r fccb2e8f8b9b -r fc333b249602 project/com.nokia.carbide.cpp.project.core/META-INF/MANIFEST.MF --- a/project/com.nokia.carbide.cpp.project.core/META-INF/MANIFEST.MF Wed Aug 25 12:13:45 2010 -0500 +++ b/project/com.nokia.carbide.cpp.project.core/META-INF/MANIFEST.MF Fri Sep 03 15:38:48 2010 -0500 @@ -1,6 +1,6 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 -Bundle-Name: Carbide Project Core Plug-in +Bundle-Name: Carbide Project Bundle-SymbolicName: com.nokia.carbide.cpp.project.core; singleton:=true Bundle-Version: 2.0.0.qualifier Bundle-Activator: com.nokia.carbide.cpp.project.core.ProjectCorePlugin diff -r fccb2e8f8b9b -r fc333b249602 project/com.nokia.carbide.cpp.project.ui/META-INF/MANIFEST.MF --- a/project/com.nokia.carbide.cpp.project.ui/META-INF/MANIFEST.MF Wed Aug 25 12:13:45 2010 -0500 +++ b/project/com.nokia.carbide.cpp.project.ui/META-INF/MANIFEST.MF Fri Sep 03 15:38:48 2010 -0500 @@ -1,6 +1,6 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 -Bundle-Name: Carbide Project UI Plug-in +Bundle-Name: Carbide Project UI Bundle-SymbolicName: com.nokia.carbide.cpp.project.ui; singleton:=true Bundle-Version: 1.4.0.qualifier Bundle-Activator: com.nokia.carbide.cpp.internal.project.ui.ProjectUIPlugin @@ -30,7 +30,8 @@ com.nokia.carbide.cpp.ui, org.eclipse.ui.navigator, org.eclipse.ui.navigator.resources, - org.eclipse.core.filesystem;bundle-version="1.2.0" + org.eclipse.core.filesystem;bundle-version="1.2.0", + com.nokia.carbide.cpp.featureTracker;bundle-version="3.0.0" Bundle-ActivationPolicy: lazy Export-Package: com.nokia.carbide.cpp.internal.project.ui, com.nokia.carbide.cpp.internal.project.ui.actions, diff -r fccb2e8f8b9b -r fc333b249602 project/com.nokia.carbide.cpp.project.ui/src/com/nokia/carbide/cpp/internal/project/ui/ProjectUIPlugin.java --- a/project/com.nokia.carbide.cpp.project.ui/src/com/nokia/carbide/cpp/internal/project/ui/ProjectUIPlugin.java Wed Aug 25 12:13:45 2010 -0500 +++ b/project/com.nokia.carbide.cpp.project.ui/src/com/nokia/carbide/cpp/internal/project/ui/ProjectUIPlugin.java Fri Sep 03 15:38:48 2010 -0500 @@ -276,16 +276,6 @@ store.setValue(PreferenceConstants.PREF_KEEP_PROJECTS_IN_SYNC, keepInSync); } - public static boolean supportLinkedResources() { - IPreferenceStore store = ProjectUIPlugin.getDefault().getPreferenceStore(); - return store.getBoolean(PreferenceConstants.PREF_SUPPORT_LINKED_RESOURCES); - } - - public static void setSupportLinkedResources(boolean supported) { - IPreferenceStore store = ProjectUIPlugin.getDefault().getPreferenceStore(); - store.setValue(PreferenceConstants.PREF_SUPPORT_LINKED_RESOURCES, supported); - } - public static int getAddFilesToProjectOption() { IPreferenceStore store = ProjectUIPlugin.getDefault().getPreferenceStore(); return store.getInt(PreferenceConstants.PREF_ADDED_FILES_OPTION); diff -r fccb2e8f8b9b -r fc333b249602 project/com.nokia.carbide.cpp.project.ui/src/com/nokia/carbide/cpp/internal/project/ui/importWizards/BldInfImportWizard.java --- a/project/com.nokia.carbide.cpp.project.ui/src/com/nokia/carbide/cpp/internal/project/ui/importWizards/BldInfImportWizard.java Wed Aug 25 12:13:45 2010 -0500 +++ b/project/com.nokia.carbide.cpp.project.ui/src/com/nokia/carbide/cpp/internal/project/ui/importWizards/BldInfImportWizard.java Fri Sep 03 15:38:48 2010 -0500 @@ -37,8 +37,8 @@ import org.eclipse.ui.IWorkbench; import com.nokia.carbide.cdt.builder.CarbideBuilderPlugin; -import com.nokia.carbide.cdt.builder.project.ICarbideProjectInfo; import com.nokia.carbide.cpp.internal.api.sdk.ISDKManagerInternal; +import com.nokia.carbide.cpp.internal.featureTracker.FeatureUseTrackerPlugin; import com.nokia.carbide.cpp.internal.project.ui.ProjectUIPlugin; import com.nokia.carbide.cpp.internal.sdk.core.model.SDKManager; import com.nokia.carbide.cpp.project.core.ProjectCorePlugin; @@ -56,6 +56,7 @@ private MMPSelectionPage mmpSelectionPage; private ProjectPropertiesPage projectPropertiesPage; + private static final String CARBIDE_BLDINF_IMFPORTER_FEATURE = "CARBIDE_BLDINF_IMPORTER"; //$NON-NLS-1$ public BldInfImportWizard() { super(); @@ -69,6 +70,7 @@ ISDKManager sdkMgr = SDKCorePlugin.getSDKManager(); if (HostOS.IS_WIN32){ + ((SDKManager)sdkMgr).ensureSystemDrivesSynchronized(); if (!((SDKManager)sdkMgr).checkDevicesXMLSynchronized()){ if (sdkMgr instanceof ISDKManagerInternal){ ISDKManagerInternal sdkMgrInternal = (ISDKManagerInternal)sdkMgr; @@ -87,7 +89,6 @@ final String projectName = projectPropertiesPage.getProjectName(); final IPath rootDirectory = projectPropertiesPage.getRootDirectory(); - final boolean isLinkedProject = projectPropertiesPage.linkedResourcesEnabled(); // calculate the project relative path to the bld.inf file. IPath absoluteBldInfPath = new Path(getBldInfFile()); @@ -99,8 +100,6 @@ // way the project setting will be set to build bld.inf. final List components = mmpSelectionPage.areAllMakMakeReferencesChecked() ? new ArrayList(0) : mmpSelectionPage.getSelectedMakMakeReferences(); - final List refs = getSelectedMakMakeReferences(); - final List selectedConfigs = getSelectedConfigs(); // run this in a workspace job @@ -109,41 +108,14 @@ public IStatus runInWorkspace(IProgressMonitor monitor) throws CoreException { monitor.beginTask(Messages.BldInfImportWizard_CreatingProjectJobName, IProgressMonitor.UNKNOWN); - // write the debug target mmp setting - use the last mmp in - // the list of selected mak make files. - // We also need to check for project test mmpfiles and add that only if the project is only comprised of test mmp files - String debugMMP = ""; //$NON-NLS-1$ - boolean hasOneNormalMMP = false; // Don't add test mmp if there's a regular MMP - for (String ref : refs) { - if (ref.toLowerCase().endsWith(".mmp")){ - hasOneNormalMMP = true; - debugMMP = ref; - } - - if (hasOneNormalMMP == false){ - if (ref.toLowerCase().endsWith(".mmp " + ICarbideProjectInfo.TEST_COMPONENT_LABEL)) { //$NON-NLS-1$ - debugMMP = ref; - debugMMP = debugMMP.substring(0, debugMMP.indexOf( " " + ICarbideProjectInfo.TEST_COMPONENT_LABEL)); - } - } - } // for - IProject newProject = null; - if (isLinkedProject){ - newProject = ProjectCorePlugin.createProject(projectName, null); - newProject.getFolder(rootDirectory.lastSegment()).createLink(rootDirectory.toFile().toURI(), IResource.BACKGROUND_REFRESH, new NullProgressMonitor()); - } else { - newProject = ProjectCorePlugin.createProject(projectName, rootDirectory.toOSString()); - } + newProject = ProjectCorePlugin.createProject(projectName, rootDirectory.toOSString()); + monitor.worked(1); newProject.setSessionProperty(CarbideBuilderPlugin.SBSV2_PROJECT, Boolean.valueOf(useSBSv2Builder())); - if (isLinkedProject){ - ProjectCorePlugin.postProjectCreatedActions(newProject, absoluteInfPath, selectedConfigs, components, debugMMP, null, monitor); - } else { - ProjectCorePlugin.postProjectCreatedActions(newProject, projectRelativePath, selectedConfigs, components, debugMMP, null, monitor); - } + ProjectCorePlugin.postProjectCreatedActions(newProject, projectRelativePath, selectedConfigs, components, null, null, monitor); if (monitor.isCanceled()) { // the user canceled the import so delete the project @@ -161,6 +133,8 @@ job.setRule(ResourcesPlugin.getWorkspace().getRoot()); job.schedule(); + FeatureUseTrackerPlugin.getFeatureUseProxy().useFeature(CARBIDE_BLDINF_IMFPORTER_FEATURE); + return true; } diff -r fccb2e8f8b9b -r fc333b249602 project/com.nokia.carbide.cpp.project.ui/src/com/nokia/carbide/cpp/internal/project/ui/importWizards/Messages.java --- a/project/com.nokia.carbide.cpp.project.ui/src/com/nokia/carbide/cpp/internal/project/ui/importWizards/Messages.java Wed Aug 25 12:13:45 2010 -0500 +++ b/project/com.nokia.carbide.cpp.project.ui/src/com/nokia/carbide/cpp/internal/project/ui/importWizards/Messages.java Fri Sep 03 15:38:48 2010 -0500 @@ -112,10 +112,6 @@ public static String ProjectPropertiesPage_directoryTooLong; public static String ProjectPropertiesPage_directoryIsRoot; - - public static String ProjectPropertiesPage_linkedProject; - - public static String ProjectPropertiesPage_linkedProjectTooltip; static { // initialize resource bundle diff -r fccb2e8f8b9b -r fc333b249602 project/com.nokia.carbide.cpp.project.ui/src/com/nokia/carbide/cpp/internal/project/ui/importWizards/ProjectPropertiesPage.java --- a/project/com.nokia.carbide.cpp.project.ui/src/com/nokia/carbide/cpp/internal/project/ui/importWizards/ProjectPropertiesPage.java Wed Aug 25 12:13:45 2010 -0500 +++ b/project/com.nokia.carbide.cpp.project.ui/src/com/nokia/carbide/cpp/internal/project/ui/importWizards/ProjectPropertiesPage.java Fri Sep 03 15:38:48 2010 -0500 @@ -44,7 +44,6 @@ import com.nokia.carbide.cdt.builder.EpocEngineHelper; import com.nokia.carbide.cpp.internal.project.ui.ProjectUIHelpIds; -import com.nokia.carbide.cpp.internal.project.ui.ProjectUIPlugin; import com.nokia.carbide.cpp.sdk.core.ISymbianBuildContext; import com.nokia.cpp.internal.api.utils.ui.BrowseDialogUtils; @@ -53,7 +52,6 @@ private Text projectName; private Text rootDirectory; private Button browseButton; - private Button linkedResourcesCheck; String projectNameText = ""; //$NON-NLS-1$ IPath rootDirectoryPath = null; @@ -143,14 +141,6 @@ gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL); gd.horizontalSpan = 3; helpText.setLayoutData(gd); - - if (ProjectUIPlugin.supportLinkedResources()){ - linkedResourcesCheck = new Button(parent, SWT.CHECK); - linkedResourcesCheck.setFont(font); - linkedResourcesCheck.setText(Messages.ProjectPropertiesPage_linkedProject); - linkedResourcesCheck.setToolTipText(Messages.ProjectPropertiesPage_linkedProjectTooltip); - linkedResourcesCheck.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL)); - } setButtonLayoutData(browseButton); } @@ -288,15 +278,7 @@ public IPath getRootDirectory() { return rootDirectoryPath; } - - public boolean linkedResourcesEnabled(){ - if (linkedResourcesCheck == null){ - return false; - } - - return linkedResourcesCheck.getSelection(); - } - + @Override public void setVisible(boolean visible) { // this gets called just before the page goes in or out of view. if it's diff -r fccb2e8f8b9b -r fc333b249602 project/com.nokia.carbide.cpp.project.ui/src/com/nokia/carbide/cpp/internal/project/ui/importWizards/messages.properties --- a/project/com.nokia.carbide.cpp.project.ui/src/com/nokia/carbide/cpp/internal/project/ui/importWizards/messages.properties Wed Aug 25 12:13:45 2010 -0500 +++ b/project/com.nokia.carbide.cpp.project.ui/src/com/nokia/carbide/cpp/internal/project/ui/importWizards/messages.properties Fri Sep 03 15:38:48 2010 -0500 @@ -18,8 +18,6 @@ ProjectPropertiesPage_directoryDoesNotContainSourceFiles=The root directory specified does not contain all the source and resource files referenced in the project. This may make navigation and editing more difficult. ProjectPropertiesPage_directoryTooLong=The root directory specified is too long. It cannot exceed 215 characters so that project settings files do not exceed the 256 character path limit. ProjectPropertiesPage_directoryIsRoot=A project path near the root SDK directory can lead to slow import times. Please select another project path or import a subset of included bld.inf files (if possible). -ProjectPropertiesPage_linkedProject=Create project with linked resources -ProjectPropertiesPage_linkedProjectToolTip=When enabled, the eclipse project files are created in the workspace and all project content is formed with linked resources. MMPSelectionPage_title=MMP Selection MMPSelectionPage_description=Select the mmp and extension make files to work with. You will be able to edit this after the project has been created. MMPSelectionPage_selectAllAButtonLabel=Select All diff -r fccb2e8f8b9b -r fc333b249602 project/com.nokia.carbide.cpp.project.ui/src/com/nokia/carbide/cpp/internal/project/ui/preferences/PreferenceConstants.java --- a/project/com.nokia.carbide.cpp.project.ui/src/com/nokia/carbide/cpp/internal/project/ui/preferences/PreferenceConstants.java Wed Aug 25 12:13:45 2010 -0500 +++ b/project/com.nokia.carbide.cpp.project.ui/src/com/nokia/carbide/cpp/internal/project/ui/preferences/PreferenceConstants.java Fri Sep 03 15:38:48 2010 -0500 @@ -28,6 +28,4 @@ public final static String PREF_CHANGED_FILES_OPTION = "changedFilesOption"; //$NON-NLS-1$ public static final String PREF_INDEX_ALL = "indexAll"; //$NON-NLS-1$ - - public static final String PREF_SUPPORT_LINKED_RESOURCES = "supportsLinkedRsrcs"; //$NON-NLS-1$ } diff -r fccb2e8f8b9b -r fc333b249602 project/com.nokia.carbide.cpp.project.ui/src/com/nokia/carbide/cpp/internal/project/ui/preferences/PreferenceInitializer.java --- a/project/com.nokia.carbide.cpp.project.ui/src/com/nokia/carbide/cpp/internal/project/ui/preferences/PreferenceInitializer.java Wed Aug 25 12:13:45 2010 -0500 +++ b/project/com.nokia.carbide.cpp.project.ui/src/com/nokia/carbide/cpp/internal/project/ui/preferences/PreferenceInitializer.java Fri Sep 03 15:38:48 2010 -0500 @@ -16,7 +16,6 @@ */ package com.nokia.carbide.cpp.internal.project.ui.preferences; -import org.eclipse.core.runtime.Platform; import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; import org.eclipse.jface.preference.IPreferenceStore; @@ -36,21 +35,6 @@ IPreferenceStore store = ProjectUIPlugin.getDefault().getPreferenceStore(); store.setDefault(PreferenceConstants.PREF_KEEP_PROJECTS_IN_SYNC, true); store.setDefault(PreferenceConstants.PREF_INDEX_ALL, false); - - if (cmdLineArgsSupportsLinkedResources()){ - store.setDefault(PreferenceConstants.PREF_SUPPORT_LINKED_RESOURCES, true); - } else { - store.setDefault(PreferenceConstants.PREF_SUPPORT_LINKED_RESOURCES, false); - } - } - - private boolean cmdLineArgsSupportsLinkedResources(){ - String[] args = Platform.getCommandLineArgs(); - for (String arg : args){ - if (arg.equals("supportsLinkedRsrcs=true")) - return true; - } - return false; } } diff -r fccb2e8f8b9b -r fc333b249602 project/com.nokia.carbide.cpp.project.ui/src/com/nokia/carbide/cpp/internal/project/ui/views/SPNViewContentProvider.java --- a/project/com.nokia.carbide.cpp.project.ui/src/com/nokia/carbide/cpp/internal/project/ui/views/SPNViewContentProvider.java Wed Aug 25 12:13:45 2010 -0500 +++ b/project/com.nokia.carbide.cpp.project.ui/src/com/nokia/carbide/cpp/internal/project/ui/views/SPNViewContentProvider.java Fri Sep 03 15:38:48 2010 -0500 @@ -43,7 +43,6 @@ import org.eclipse.core.resources.IFolder; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IResource; -import org.eclipse.core.resources.IWorkspace; import org.eclipse.core.resources.IWorkspaceRoot; import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.CoreException; @@ -71,7 +70,6 @@ import org.eclipse.ui.PlatformUI; import org.eclipse.ui.model.BaseWorkbenchContentProvider; import org.eclipse.ui.model.IWorkbenchAdapter; -import org.eclipse.ui.model.WorkbenchAdapter; import com.nokia.carbide.cdt.builder.BldInfViewPathHelper; import com.nokia.carbide.cdt.builder.CarbideBuilderPlugin; @@ -108,13 +106,15 @@ import com.nokia.carbide.cpp.epoc.engine.preprocessor.DefaultModelDocumentProvider; import com.nokia.carbide.cpp.epoc.engine.preprocessor.DefaultTranslationUnitProvider; import com.nokia.carbide.cpp.epoc.engine.preprocessor.IIncludeFileLocator; +import com.nokia.carbide.cpp.internal.api.sdk.ISBSv1BuildInfo; +import com.nokia.carbide.cpp.internal.api.sdk.ISBSv2BuildInfo; import com.nokia.carbide.cpp.internal.project.ui.ProjectUIPlugin; import com.nokia.carbide.cpp.sdk.core.ISymbianBuildContext; +import com.nokia.carbide.cpp.sdk.core.ISymbianBuilderID; import com.nokia.carbide.cpp.sdk.core.ISymbianSDK; import com.nokia.carbide.cpp.ui.CarbideUIPlugin; import com.nokia.carbide.cpp.ui.ICarbideSharedImages; import com.nokia.carbide.internal.api.cpp.epoc.engine.preprocessor.DependencyScanner; -import com.nokia.cpp.internal.api.utils.ui.WorkbenchUtils; /** * Content provider for the SymbianProjectNavigatorView @@ -2329,20 +2329,7 @@ if (info != null) { IPath infPath = info.getProjectRelativeBldInfPath(); if (infPath != null) { - IFile file = null; - if (infPath.isAbsolute()){ - // Make sure to get the project relative location if the inf path is absolute. - // This means the project has linked resources - // TODO: Just using for prototyping with using linked resources.... - // XXX: This is still not working, as the path is relative to the workspace and - // hence it's wrong. Seems we need to change the container for the SPN to take - // a bld.inf as an absolute path??? - IFile infFile = ResourcesPlugin.getWorkspace().getRoot().getFile(infPath); - children.add(infFile); - return children.toArray(); - } else { - file = getIFileFromBldInfViewPath(project, infPath); - } + IFile file = getIFileFromBldInfViewPath(project, infPath); if (file != null) { children.add(containerFactory.getBldInfContainer(file, true)); @@ -2529,11 +2516,6 @@ } protected IFile getIFileFromBldInfViewPath(IProject project, IPath pathFromBldInfView) { - - if (pathFromBldInfView.isAbsolute()){ - IWorkspace workspace= ResourcesPlugin.getWorkspace(); - return workspace.getRoot().getFile(pathFromBldInfView); - } EpocEnginePathHelper helper = new EpocEnginePathHelper(project); IPath resolvedProjectRelativePath = helper.convertToProject(pathFromBldInfView); if (resolvedProjectRelativePath != null) diff -r fccb2e8f8b9b -r fc333b249602 project/com.nokia.carbide.cpp.project.ui/src/com/nokia/carbide/cpp/internal/project/ui/wizards/NewSymbianOSCppClassWizard.java --- a/project/com.nokia.carbide.cpp.project.ui/src/com/nokia/carbide/cpp/internal/project/ui/wizards/NewSymbianOSCppClassWizard.java Wed Aug 25 12:13:45 2010 -0500 +++ b/project/com.nokia.carbide.cpp.project.ui/src/com/nokia/carbide/cpp/internal/project/ui/wizards/NewSymbianOSCppClassWizard.java Fri Sep 03 15:38:48 2010 -0500 @@ -37,6 +37,7 @@ */ public class NewSymbianOSCppClassWizard extends TemplateWizard { + private static final String SOS_CLASS_WIZARD_FEATURE = "SOS_CLASS_WIZARD"; //$NON-NLS-1$ private static final String ID = "com.nokia.carbide.cpp.project.ui.wizards.NewSymbianOSCppClassWizard"; private ChooseProjectPage chooseProjectPage; private ClassNameAndLocationPage chooseClassLocationPage; @@ -109,4 +110,9 @@ public String getProcessingTitle() { return Messages.getString("NewSymbianOSCppClassWizard.ProcessTitle"); //$NON-NLS-1$ } + + @Override + public String getFeatureName() { + return SOS_CLASS_WIZARD_FEATURE; + } } diff -r fccb2e8f8b9b -r fc333b249602 project/com.nokia.carbide.cpp.project.ui/src/com/nokia/carbide/cpp/internal/project/ui/wizards/NewSymbianOSCppProjectWizard.java --- a/project/com.nokia.carbide.cpp.project.ui/src/com/nokia/carbide/cpp/internal/project/ui/wizards/NewSymbianOSCppProjectWizard.java Wed Aug 25 12:13:45 2010 -0500 +++ b/project/com.nokia.carbide.cpp.project.ui/src/com/nokia/carbide/cpp/internal/project/ui/wizards/NewSymbianOSCppProjectWizard.java Fri Sep 03 15:38:48 2010 -0500 @@ -22,6 +22,8 @@ import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.jobs.ISchedulingRule; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.ui.IWorkbench; import com.nokia.carbide.cpp.internal.api.sdk.ISDKManagerInternal; import com.nokia.carbide.cpp.internal.api.sdk.ui.TemplateSDKsFilter; @@ -42,6 +44,7 @@ */ public class NewSymbianOSCppProjectWizard extends TemplateWizard { + private static final String SOS_PROJECT_WIZARD_FEATURE = "SOS_PROJECT_WIZARD"; //$NON-NLS-1$ private static final String ID = "com.nokia.carbide.cpp.project.ui.wizards.NewSymbianOSCppProjectWizard"; //$NON-NLS-1$ protected List pagesAfterTemplateChoice; protected BuildTargetsPage buildTargetsPage; @@ -55,6 +58,7 @@ if (HostOS.IS_WIN32){ ISDKManager sdkMgr = SDKCorePlugin.getSDKManager(); + ((SDKManager)sdkMgr).ensureSystemDrivesSynchronized(); if (!((SDKManager)sdkMgr).checkDevicesXMLSynchronized()){ if (sdkMgr instanceof ISDKManagerInternal){ ISDKManagerInternal sdkMgrInternal = (ISDKManagerInternal)sdkMgr; @@ -78,6 +82,7 @@ String description = Messages.getString("NewSymbianOSCppProjectWizard.NewProjectPageDesc"); //$NON-NLS-1$ newProjectPage = new NewProjectPage(title, description); pagesAfterTemplateChoice.add(newProjectPage); + setNeedsProgressMonitor(true); buildTargetsPage = new ProjectWizardBuildTargetsPage(this); pagesAfterTemplateChoice.add(buildTargetsPage); notifyTemplateChanged(); @@ -86,6 +91,11 @@ } @Override + public void init(IWorkbench workbench, IStructuredSelection currentSelection) { + super.init(workbench, currentSelection); + } + + @Override public String getChooseTemplatePageTitle() { return Messages.getString("NewSymbianOSCppProjectWizard.ChooseTemplatePageTitle"); //$NON-NLS-1$ } @@ -125,4 +135,9 @@ newProjectPage.saveDialogSettings(); return super.performFinish(); } + + @Override + public String getFeatureName() { + return SOS_PROJECT_WIZARD_FEATURE; + } } diff -r fccb2e8f8b9b -r fc333b249602 qt/com.nokia.carbide.cpp.qt.core/META-INF/MANIFEST.MF --- a/qt/com.nokia.carbide.cpp.qt.core/META-INF/MANIFEST.MF Wed Aug 25 12:13:45 2010 -0500 +++ b/qt/com.nokia.carbide.cpp.qt.core/META-INF/MANIFEST.MF Fri Sep 03 15:38:48 2010 -0500 @@ -1,6 +1,6 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 -Bundle-Name: Carbide Qt Core Plug-in +Bundle-Name: Carbide Qt Core Bundle-SymbolicName: com.nokia.carbide.cpp.qt.core;singleton:=true Bundle-Version: 1.4.0.qualifier Bundle-Activator: com.nokia.carbide.cpp.internal.qt.core.QtCorePlugin diff -r fccb2e8f8b9b -r fc333b249602 qt/com.nokia.carbide.cpp.qt.core/src/com/nokia/carbide/cpp/internal/qt/core/QtCorePlugin.java --- a/qt/com.nokia.carbide.cpp.qt.core/src/com/nokia/carbide/cpp/internal/qt/core/QtCorePlugin.java Wed Aug 25 12:13:45 2010 -0500 +++ b/qt/com.nokia.carbide.cpp.qt.core/src/com/nokia/carbide/cpp/internal/qt/core/QtCorePlugin.java Fri Sep 03 15:38:48 2010 -0500 @@ -58,7 +58,6 @@ public void start(BundleContext context) throws Exception { super.start(context); plugin = this; - SDKCorePlugin.getSDKManager().addInstalledSdkChangeListener(this); } /* @@ -129,7 +128,7 @@ * ISDKManagerLoadedHook extension implementation */ public void symbianSDKManagerLoaded() { - scanForQtSDKs(); + SDKCorePlugin.getSDKManager().addInstalledSdkChangeListener(this); } /** diff -r fccb2e8f8b9b -r fc333b249602 qt/com.nokia.carbide.cpp.qt.ui/META-INF/MANIFEST.MF --- a/qt/com.nokia.carbide.cpp.qt.ui/META-INF/MANIFEST.MF Wed Aug 25 12:13:45 2010 -0500 +++ b/qt/com.nokia.carbide.cpp.qt.ui/META-INF/MANIFEST.MF Fri Sep 03 15:38:48 2010 -0500 @@ -24,6 +24,7 @@ org.eclipse.ui.ide, com.trolltech.qtcppproject;bundle-version="1.6.0";resolution:=optional, com.nokia.cpp.utils.ui, - com.nokia.cpp.utils.core;bundle-version="1.0.0" + com.nokia.cpp.utils.core;bundle-version="1.0.0", + com.nokia.carbide.cpp.featureTracker;bundle-version="3.0.0" Bundle-RequiredExecutionEnvironment: J2SE-1.5 Bundle-ActivationPolicy: lazy diff -r fccb2e8f8b9b -r fc333b249602 qt/com.nokia.carbide.cpp.qt.ui/src/com/nokia/carbide/cpp/internal/qt/ui/wizard/NewQtCppProjectWizard.java --- a/qt/com.nokia.carbide.cpp.qt.ui/src/com/nokia/carbide/cpp/internal/qt/ui/wizard/NewQtCppProjectWizard.java Wed Aug 25 12:13:45 2010 -0500 +++ b/qt/com.nokia.carbide.cpp.qt.ui/src/com/nokia/carbide/cpp/internal/qt/ui/wizard/NewQtCppProjectWizard.java Fri Sep 03 15:38:48 2010 -0500 @@ -26,6 +26,7 @@ public class NewQtCppProjectWizard extends NewSymbianOSCppProjectWizard { private static final String ID = "com.nokia.carbide.cpp.qt.ui.wizard.NewQtCppProjectWizard"; //$NON-NLS-1$ + private static final String QT_PROJECT_WIZARD_FEATURE = "QT_PROJECT_WIZARD"; //$NON-NLS-1$ private QtModulesPage modulesPage; @@ -37,6 +38,7 @@ @Override public List getPagesAfterTemplateChoice() { if (pagesAfterTemplateChoice == null) { + setNeedsProgressMonitor(true); pagesAfterTemplateChoice = new ArrayList(); newProjectPage = new NewProjectPage(Messages.NewQtCppProjectWizard_title, Messages.NewQtCppProjectWizard_desc); @@ -53,8 +55,13 @@ return pagesAfterTemplateChoice; } - @Override + @Override public String getWizardId() { return ID; } + + @Override + public String getFeatureName() { + return QT_PROJECT_WIZARD_FEATURE; + } } diff -r fccb2e8f8b9b -r fc333b249602 qt/com.nokia.carbide.cpp.qt.ui/src/com/nokia/carbide/cpp/internal/qt/ui/wizard/QtProFileImportWizard.java --- a/qt/com.nokia.carbide.cpp.qt.ui/src/com/nokia/carbide/cpp/internal/qt/ui/wizard/QtProFileImportWizard.java Wed Aug 25 12:13:45 2010 -0500 +++ b/qt/com.nokia.carbide.cpp.qt.ui/src/com/nokia/carbide/cpp/internal/qt/ui/wizard/QtProFileImportWizard.java Fri Sep 03 15:38:48 2010 -0500 @@ -38,6 +38,7 @@ import com.nokia.carbide.cdt.builder.CarbideBuilderPlugin; import com.nokia.carbide.cpp.internal.api.sdk.ISDKManagerInternal; +import com.nokia.carbide.cpp.internal.featureTracker.FeatureUseTrackerPlugin; import com.nokia.carbide.cpp.internal.project.ui.ProjectUIPlugin; import com.nokia.carbide.cpp.internal.qt.core.QtCorePlugin; import com.nokia.carbide.cpp.internal.qt.core.QtSDKUtils; @@ -57,6 +58,7 @@ private QtProFileSelectionPage proFileSelectionPage; private QtImporterBuildTargetsPage buildTargetsPage; + private static final String CARBIDE_QTPRO_IMFPORTER_FEATURE = "CARBIDE_QTPRO_IMPORTER"; //$NON-NLS-1$ public QtProFileImportWizard() { super(); @@ -156,6 +158,8 @@ job.setRule(ResourcesPlugin.getWorkspace().getRoot()); job.schedule(); + FeatureUseTrackerPlugin.getFeatureUseProxy().useFeature(CARBIDE_QTPRO_IMFPORTER_FEATURE); + return true; } diff -r fccb2e8f8b9b -r fc333b249602 templates/com.nokia.carbide.cpp.qt.templates/templates/Qt-Console/Basename.pro --- a/templates/com.nokia.carbide.cpp.qt.templates/templates/Qt-Console/Basename.pro Wed Aug 25 12:13:45 2010 -0500 +++ b/templates/com.nokia.carbide.cpp.qt.templates/templates/Qt-Console/Basename.pro Fri Sep 03 15:38:48 2010 -0500 @@ -9,4 +9,7 @@ FORMS += RESOURCES += -symbian:TARGET.UID3 = $(uid3) +symbian: { + TARGET.UID3 = $(uid3) + MMP_RULES += DEBUGGABLE_UDEBONLY +} diff -r fccb2e8f8b9b -r fc333b249602 templates/com.nokia.carbide.cpp.qt.templates/templates/Qt-GUI-Common/Basename.pro --- a/templates/com.nokia.carbide.cpp.qt.templates/templates/Qt-GUI-Common/Basename.pro Wed Aug 25 12:13:45 2010 -0500 +++ b/templates/com.nokia.carbide.cpp.qt.templates/templates/Qt-GUI-Common/Basename.pro Fri Sep 03 15:38:48 2010 -0500 @@ -10,4 +10,9 @@ FORMS += $(baseName).ui RESOURCES += -symbian:TARGET.UID3 = $(uid3) +symbian: { + TARGET.UID3 = $(uid3) + MMP_RULES += DEBUGGABLE_UDEBONLY +} + + diff -r fccb2e8f8b9b -r fc333b249602 templates/com.nokia.carbide.cpp.templates/META-INF/MANIFEST.MF --- a/templates/com.nokia.carbide.cpp.templates/META-INF/MANIFEST.MF Wed Aug 25 12:13:45 2010 -0500 +++ b/templates/com.nokia.carbide.cpp.templates/META-INF/MANIFEST.MF Fri Sep 03 15:38:48 2010 -0500 @@ -1,7 +1,8 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 -Bundle-Name: Nokia Common Templates Plug-in +Bundle-Name: Nokia Common Templates Bundle-SymbolicName: com.nokia.carbide.cpp.templates;singleton:=true Bundle-Version: 1.4.0.qualifier Bundle-Vendor: Nokia Bundle-Localization: plugin +Bundle-ActivationPolicy: lazy diff -r fccb2e8f8b9b -r fc333b249602 templates/com.nokia.carbide.cpp.templates/templates/projecttemplates/OpenC-HelloWorld/group/Basename.mmp --- a/templates/com.nokia.carbide.cpp.templates/templates/projecttemplates/OpenC-HelloWorld/group/Basename.mmp Wed Aug 25 12:13:45 2010 -0500 +++ b/templates/com.nokia.carbide.cpp.templates/templates/projecttemplates/OpenC-HelloWorld/group/Basename.mmp Fri Sep 03 15:38:48 2010 -0500 @@ -39,6 +39,5 @@ // No capabilities needed by this application CAPABILITY None -#ifdef ENABLE_ABIV2_MODE - DEBUGGABLE_UDEBONLY -#endif +DEBUGGABLE_UDEBONLY + diff -r fccb2e8f8b9b -r fc333b249602 templates/com.nokia.carbide.cpp.templates/templates/projecttemplates/S60-PlatsecApp/group/baseName.mmp --- a/templates/com.nokia.carbide.cpp.templates/templates/projecttemplates/S60-PlatsecApp/group/baseName.mmp Wed Aug 25 12:13:45 2010 -0500 +++ b/templates/com.nokia.carbide.cpp.templates/templates/projecttemplates/S60-PlatsecApp/group/baseName.mmp Fri Sep 03 15:38:48 2010 -0500 @@ -56,7 +56,5 @@ SECUREID $(uid3) CAPABILITY ReadUserData -#ifdef ENABLE_ABIV2_MODE - DEBUGGABLE_UDEBONLY -#endif +DEBUGGABLE_UDEBONLY // End of File diff -r fccb2e8f8b9b -r fc333b249602 templates/com.nokia.carbide.cpp.templates/templates/projecttemplates/S60-TouchUIApplication/group/baseName.mmp --- a/templates/com.nokia.carbide.cpp.templates/templates/projecttemplates/S60-TouchUIApplication/group/baseName.mmp Wed Aug 25 12:13:45 2010 -0500 +++ b/templates/com.nokia.carbide.cpp.templates/templates/projecttemplates/S60-TouchUIApplication/group/baseName.mmp Fri Sep 03 15:38:48 2010 -0500 @@ -56,7 +56,5 @@ SECUREID $(uid3) CAPABILITY ReadUserData -#ifdef ENABLE_ABIV2_MODE - DEBUGGABLE_UDEBONLY -#endif +DEBUGGABLE_UDEBONLY // End of File diff -r fccb2e8f8b9b -r fc333b249602 templates/com.nokia.carbide.cpp.templates/templates/projecttemplates/Symbian-DLL/group/Basename.mmp --- a/templates/com.nokia.carbide.cpp.templates/templates/projecttemplates/Symbian-DLL/group/Basename.mmp Wed Aug 25 12:13:45 2010 -0500 +++ b/templates/com.nokia.carbide.cpp.templates/templates/projecttemplates/Symbian-DLL/group/Basename.mmp Fri Sep 03 15:38:48 2010 -0500 @@ -43,7 +43,5 @@ LIBRARY euser.lib -#ifdef ENABLE_ABIV2_MODE - DEBUGGABLE_UDEBONLY -#endif +DEBUGGABLE_UDEBONLY diff -r fccb2e8f8b9b -r fc333b249602 templates/com.nokia.carbide.cpp.templates/templates/projecttemplates/Symbian-EXE/group/Basename.mmp --- a/templates/com.nokia.carbide.cpp.templates/templates/projecttemplates/Symbian-EXE/group/Basename.mmp Wed Aug 25 12:13:45 2010 -0500 +++ b/templates/com.nokia.carbide.cpp.templates/templates/projecttemplates/Symbian-EXE/group/Basename.mmp Fri Sep 03 15:38:48 2010 -0500 @@ -19,6 +19,4 @@ LIBRARY euser.lib -#ifdef ENABLE_ABIV2_MODE - DEBUGGABLE_UDEBONLY -#endif +DEBUGGABLE_UDEBONLY diff -r fccb2e8f8b9b -r fc333b249602 templates/com.nokia.carbide.cpp.templates/templates/projecttemplates/Symbian-Empty/group/Basename.mmp --- a/templates/com.nokia.carbide.cpp.templates/templates/projecttemplates/Symbian-Empty/group/Basename.mmp Wed Aug 25 12:13:45 2010 -0500 +++ b/templates/com.nokia.carbide.cpp.templates/templates/projecttemplates/Symbian-Empty/group/Basename.mmp Fri Sep 03 15:38:48 2010 -0500 @@ -13,6 +13,4 @@ SYSTEMINCLUDE \epoc32\include -#ifdef ENABLE_ABIV2_MODE - DEBUGGABLE_UDEBONLY -#endif +DEBUGGABLE_UDEBONLY diff -r fccb2e8f8b9b -r fc333b249602 templates/com.nokia.carbide.cpp.templates/templates/projecttemplates/Symbian-LIB/group/Basename.mmp --- a/templates/com.nokia.carbide.cpp.templates/templates/projecttemplates/Symbian-LIB/group/Basename.mmp Wed Aug 25 12:13:45 2010 -0500 +++ b/templates/com.nokia.carbide.cpp.templates/templates/projecttemplates/Symbian-LIB/group/Basename.mmp Fri Sep 03 15:38:48 2010 -0500 @@ -17,6 +17,4 @@ SOURCEPATH ..\$(sourceDir) SOURCE $(baseName).cpp -#ifdef ENABLE_ABIV2_MODE - DEBUGGABLE_UDEBONLY -#endif +DEBUGGABLE_UDEBONLY