Skip to main content
summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2003-09-15Patch for Sean Evoy:Doug Schaefer18-4134/+0
- Move the managed builder to it's own plugins and feature.
2003-09-11Patch for Sean EvoyJohn Camelon8-36/+137
Hi All, Details are in the change log, but this patch contains work that partially implements incremental build. There are 2 major use cases not implemented: full rebuild on project settings change and properly handling header file changes. Both problems require build model work, so I will deliver that functionality in another patch. There are also fixes for bugs 41412 and 42735. As always, I have run the JUnit tests on Solaris (Motif) and Linux (Gtk).
2003-08-20Patch for Sean Evoy:Doug Schaefer4-76/+154
This patch contains some minor UI changes and a big chunk of work to add built-in symbols and includes search paths to a tool specification. The UI change is a switch from dynamically resizing the property page when an option category is selected from the list, but rather using a scrolled edit area. Now, if the option set is larger than the viewable area, a horizontal and/or vertical scrollbar is displayed. In terms of built-ins, there is no UI support to change the values just yet. That is coming, but I wanted to get the framework and some definitions in place so that the indexer and scanner can start using them.
2003-08-18patch from sean see changelogDavid Inglis2-5/+19
2003-08-13Patch for Sean EvoyJohn Camelon2-70/+32
In order to work through CExtensionPoint mechanism, I have to change the existing extension point entries for the Managed and Standard builders to the following (all future builders will have to conform to this as well): <extension id="ManagedBuildManager" point="org.eclipse.cdt.core.ScannerInfoProvider"> <cextension> <run class="org.eclipse.cdt.core.build.managed.ManagedBuildManager"> </run> </cextension> </extension> <extension id="StandardBuildManager" point="org.eclipse.cdt.core.ScannerInfoProvider"> <cextension> <run class="org.eclipse.cdt.core.build.standard.StandardBuildManager"> </run> </cextension> </extension> As well, the ManagedBuildManager and StandardBuildManager must extend AbstractCExtension. The new project wizards for managed and standard projects have to be modified to register the right class as the scanner info providers for the project. The example below shows the managed project wizard code, but the standard project wizard is similar. try { ICDescriptor desc = CCorePlugin.getDefault().getCProjectDescription(project); desc.remove(CCorePlugin.BUILD_SCANNER_INFO_UNIQ_ID); desc.create(CCorePlugin.BUILD_SCANNER_INFO_UNIQ_ID, ManagedBuildManager.INTERFACE_IDENTITY); } <snip> Clients use a new method defined in CCorePlugin public IScannerInfoProvider getScannerInfoProvider(IProject project) { IScannerInfoProvider provider = null; if (project != null) { try { ICDescriptor desc = (ICDescriptor) getCProjectDescription(project); ICExtensionReference[] extensions = desc.get(BUILD_SCANNER_INFO_UNIQ_ID); if (extensions.length > 0) provider = (IScannerInfoProvider) extensions[0].createExtension(); } catch (CoreException e) { } } return provider; } to get the information provider as shown in the updated JUnit test code below: // Find the first IScannerInfoProvider that supplies build info for the project IScannerInfoProvider provider = CCorePlugin.getDefault().getScannerInfoProvider(project); assertNotNull(provider); As is the case now, clients implement the IScannerInfoChangeListener interface and pass themselves to the provider in a subscription message. There is also a new method on the IScannerInfoProvider interface that allows the client to get information immediately as shown below: IScannerInfo currentSettings = provider.getScannerInformation(project); The ManagedBuildManager::getScannerInfo(IResource) method will be deprecated, then removed before the end of this release cycle.
2003-08-11Patch for Sean EvoyJohn Camelon1-0/+3
This patch contains a fix for bug 41274 in the core; library entries in the build property pages were not being saved by the build model manager. It also contains a bunch of fixes for minor problems in the UI. I added a new target for building DLLs on Cygwin. The zip file adds a new icon for configurations in the tree view of the build property page for managed builds. Now the tool uses the tool icon and the category uses the new category icon. The list editor will better fit a page with space-grabbing widgets in different columns. For example, the default list field editor puts the list in the left column and allows it to grab all excess space. Entry fields put the label in the left and the space-grabbing entry field/combo box in the right. The layout manager then gives both left and right columns equal space in that case. By wrapping the list field editor in a group control that spans both columns, the layout manager allocates enough space for controls in the right-hand column. It also lays out the contents of the list field editor inside the group control independently of the outer container, so it looks right too. Also added a double-click event handler so users can edit list elements. All in all, this makes the list widget work better. I re-activated the summary field editor class (it's alive!). It still does not behave quite right in terms of showing the command line summary, but that functionality will be added shortly. Finally, the build property page is being resized for large pages. It is still possible to specify categories with too many options to display, even with the new resize. This will have to be a documented limitation, or we will have to add a vertical scroll bar for pages that are too large.
2003-07-31Patch for Sean EvoyJohn Camelon11-82/+114
I am in the process of documenting the build model and as I go along, a number of things will have to be cleaned up in the actual model itself. This patch is purely a bookeeping change to make it easier for me to maintain the build model in the face of these changes as we go forward. Where I used to access XML elements using hard-coded strings, I have moved the string into the appropriate interface class. If the name of the attribute changes in the future, I only have to update it one place. I have also begun the process of renaming certain attributes of the schema to make them better reflect what they are doing. My hope is that if they have intuitive names, toolchain implementers will have less difficulty understanding their intent. In any case, I have changed four attribute names; optionRef -> optionReference, toolRef -> toolReference, optionValue -> listOptionValue, and optionEnum -> enumeratedOptionValue. Unfortunately, these changes will invalidate the dot-cdtbuild files for any managed build projects in your workspace. If you can't bear to create a new project, move the files over, and set-up the compiler options again, you can always hand-edit the changes in the file yourself. Just remember to restart CDT after you do so.
2003-07-29Patch for Sean EvoyJohn Camelon3-11/+74
In order to meet certain internal guidelines and to test the makefile generator, the build model replied to some answers with hard-coded information. This patch moves the information into the build model. Tests have been updated to reflect these changes, and the patch has been smoke-tested on Unix.
2003-07-25Patch for Sean Evoy:Doug Schaefer8-12/+187
- I added the ability to build when there are inter-project dependencies (first iteration; I would like to try another way). There is also some changes to how libraries are handled. Change logs describe the changes and the AllBuildTests has been updated to reflect these changes.
2003-07-25Patch for Sean Evoy:Doug Schaefer3-43/+197
- Initial makefile generator for managed build.
2003-07-24Patch for Bogdan Gheorghe:Doug Schaefer1-1/+1
- Here's a first take at the dependency tree service which is needed by both the managed build and the indexer. The service is in a really early form with no persistance or notification mechanisms in place yet. There is just enough in here to allow Sean to get his makefile dependencies. I added a check box to the indexer tab to enable the service on a per project basis.
2003-07-21Removal of cdt.builder packages.Doug Schaefer39-4834/+0
2003-07-16Fixes a couple of cdtproject bugs 40103.Doug Schaefer1-5/+4
2003-07-10Fixed ordering problem where the CProjectNature wasDoug Schaefer1-1/+0
trying to get at build info before it was created.
2003-07-10- Added the ability to add arbitrary XML data to theDoug Schaefer1-70/+33
cdtproject file. - Used to store the data that had been put in the cdtbuild file for Standard Make projects. - Cleaned up some of the exception handling in the StandardBuildManager.
2003-07-04Patch for Sean Evoy. John Camelon6-74/+488
The change logs contain an overview of what has been done to implement a new interface between a build model (any build model) and clients of the model that need to extract include search paths and defined symbols. For the most part, I have tried to leave the old build system as unchanged as possible. For example, project properties like the make search path, and whether or not to continue on build failures are still stored as persistent properties on the project through the CNature (ugh). The new information I have added is managed by a new build manager on a per-project basis and is associated with a project as a session property. The information is persisted in the 'cdtbuild' file introduced by the new managed build system.
2003-06-23Patch for Sean Evoy:Doug Schaefer9-59/+330
1. Fix for bug 38665 - Need to select platform before configurations become visible 2. Icon files that were not delivered in my last patch 3. A new interface for clients of the build model to extract include paths and defined symbols for managed projects. Unmanaged projects to follow soon.
2003-06-09Patch for Sean Evoy:Doug Schaefer10-72/+762
- Initial contribution of Managed Build UI.
2003-05-29Patch for Sean Evoy:Doug Schaefer10-124/+274
- More data types for build model - New natures for managed build
2003-05-21Patch for Sean Evoy:Doug Schaefer3-38/+204
Core 1. Added 2 new option types: Boolean and enumerated 2. Changed the IOption interface to get new option type values 3. In plugin manifest and IOption interface added concept of a default enumerated value to support on-going GUI work 4. In plugin manifest and IOption, added field to map the actual command line argument with the option for makefile generation. Tests 1. Changed the plugin.xml manifest to match the new option types 2. AllBuildTests.java updated to test new option types and fields added in core
2003-04-25New Build ModelDoug Schaefer4-1/+99
- Save and load options values
2003-04-21- Fixed the test failures that arose because the targets don'tDoug Schaefer5-14/+63
automatically copy over their configs (however now they do for targets defined at the extension point). - Config elements and attributes are now saved in the cdtbuild file, but not any children.
2003-04-17Update to build model.Doug Schaefer9-172/+289
- ablility to add configs to target and set options on configs.
2003-04-14Work on the Build Model.Doug Schaefer13-184/+888
- Model is maturing - Loading/saving moved into the objects themselves - Project build info saved to/loaded from a file
2003-04-09Fleshing out the build model.Doug Schaefer13-114/+428
2003-04-09A little more sanity to the new build model.Doug Schaefer7-124/+230
2003-04-07Updates to the new build model.Doug Schaefer11-81/+241
2003-04-06Yet Another Build Model.Doug Schaefer9-0/+613
- Defines most of the interfaces - Some simple implementation behind the interfaces to at least get information from the extension point.
2003-02-17New build model from Sam Robb.Doug Schaefer39-0/+4834

    Back to the top