Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cdt-dev] Re: [cdt-patch] Initial Managed Build System patch for CDT 2.1

Hey Leo, this is a great start! One regression I noticed, though, is that 
the MBS no longer detects the built-in include paths. This essentially 
blows up content assist and other parser based features. Do I have 
something set up wrong or is this still to come?

Also, another thing I haven't seen yet is the ability to add targets to a 
project. I am trying to build a shared library project that uses gcc and 
builds for both Windows and Linux with a couple of files built for one 
target or the other (thanks to the per config exclude from build :-). 
Right now those show up as different targets. This could be addressed if 
we have removed the road blocks to having these represented by the same 
target but different configs, or by allowing us to have multi-target 
projects. Any thoughts on how we can accomplish this?

Thanks,
Doug Schaefer, IBM's Technical Lead, Eclipse CDT
Ottawa Lab, IBM Canada, Rational Software Division



"Treggiari, Leo" <leo.treggiari@xxxxxxxxx> 
Sent by: cdt-patch-admin@xxxxxxxxxxx
10/25/2004 01:55 PM
Please respond to
cdt-patch


To
<cdt-patch@xxxxxxxxxxx>
cc

Subject
[cdt-patch] Initial Managed Build System patch for CDT 2.1








This patch contains the initial drop for the Managed Build System (MBS) 
work

for CDT 2.1.  There are 3 patches attached - one for each of the core,

core.tests, and ui MBS packages.  Below is a listing of the new, removed, 
and

modified source files for each package.

 

 

New Functionality:

 

  New model for manifest file and .cdtbuild file:

    o Old model manifest files continue to be supported.

    o The new model should be used in the future since not all new 

      functionality will be available from the old model.  In general, no 

      significant effort will be expended in making new functionality work

      with the old model manifest files.  However, in some cases, new

      functionality will automatically work with old model manifest files.

      The new functionality in this patch appears to work with old model 

      manifest files.  The GNU tool-chain definition has been updated to 
use

      the new model.

    o Old model project (.cdtbuild) files are converted upon approval

      by end-user.  Converted project files will no longer work with CDT 
2.0.

 

  Support for file-specific tool command line options:

    o A specific file in a configuration can use different tool options

      than the rest of the files in the configuration.

    o A specific file can be excluded from the build of a configuration.

 

  New attributes that add flexibility to tool command line generation:

    o Tool.commandLinePattern:  Specifies a command “pattern” that 
indicates 

      how the parts of the command line are used to create the entire 
command 

      line.  The pattern consists of the replaceable variables COMMAND, 
FLAGS, 

      OUTPUT_FLAG, OUTPUT_PREFIX, OUTPUT and INPUTS.  The default command 
line 

      pattern is 

      ${COMMAND} ${FLAGS} ${OUTPUT_FLAG}${OUTPUT_PREFIX}${OUTPUT} 
${INPUTS}

      White space and other characters are significant and are copied to 
the 

      generated command.

    o Tool.commandLineGenerator:  The name of a class that implements 

      IManagedCommandLineGenerator (to be defined in the ISV document).

    o Option.command:  The command provides a “pattern” for specifying 
where 

      the value should be placed for options of type string and 
stringlist.

      The pattern can contain the replaceable variable VALUE.  If no 
${VALUE}

      is specified in the command, the option value is appended to the end 
of

      the specified command (as happens in CDT 2.0).

 

  Modified UI:

    o Error parsers are no longer selectable in the project creation 
wizard.

      This is because error parsers are set per-configuration, and 

      per-configuation changes are made via the property page.

    o C/C++ Build page of MBS project properties now contains all of the

      per-configuration settings for the project.  There are 4 tabs for 

      Tool Settings, Build Settings, Error Parsers, and Binary Parsers.

      Note that binary parsers are not yet applied per configuration 
because

      the rest of CDT is not currently set up to handle it.

    o File properties now contains a C/C++ Build page where the tool 
options 

      for a particular file can be set.

 

 

To Do:

    o There remain a few functionality problems that need to be worked on, 
but

      I am not aware of any regressions from the CDT 2.0 MBS 
functionality.

    o End-user documentation needs to be contributed.

    o ISV documentation needs to be contributed.

    o Additional JUnit tests for the new model.

 

 

org.eclipse.cdt.managedbuilder.core

 

 New Source Files:

 

  schema

    buildDefinitions.exsd

 

  org.eclipse.cdt.managedbuilder.core

    IBuilder.java

    IConfigurationV2.java

    IManagedCommandLineGenerator.java

    IManagedCommandLineInfo.java

    IManagedProject.java

    IProjectType.java

    IResourceConfiguration.java

    ITargetPlatform.java

    IToolChain.java

 

  org.eclipse.cdt.managedbuilder.internal.core

    Builder.java

    ConfigurationV2.java

    ManagedCommandLineGenerator.java

    ManagedCommandLineInfo.java

    ManagedProject.java

    ProjectType.java

    ResourceConfiguration.java

    TargetPlatform.java

    ToolChain.java

 

  org.eclipse.cdt.managedbuilder.projectconverter

    ConverterMessages.java

    PluginResources.properties

    UpdateManagedProject12.java

    UpdateManagedProject20.java

    UpdateManagedProjectManager.java

 

 Modified Source Files:

 

  plugin.xml

 

  Schema

    ManagedBuildTools.exsd

 

  org.eclipse.cdt.managedbuilder.core

    IConfiguration.java

    IManagedBuildInfo.java

    IOption.java

    IOptionCategory.java

    ITarget.java

    ITool.java

    IToolReference.java

    ManagedBuilderCorePlugin.java

    ManagedBuildManager.java

 

  org.eclipse.cdt.managedbuilder.internal.core

    Configuration.java

    GeneratedMakefileBuilder.java

    ManagedBuildInfo.java

    Option.java

    OptionCategory.java

    OptionReference.java

    Target.java

    Tool.java

    ToolReference.java

 

  org.eclipse.cdt.managedbuilder.internal.scannerconfig

    ManagedBuildCPathEntryContainer.java

 

  org.eclipse.cdt.managedbuilder.makegen.gnu

    GnuMakefileGenerator.java

 

 

org.eclipse.cdt.managedbuilder.core.tests

 

 New Source Files:

 

  tests/org.eclipse.cdt.managedbuild.core.tests

    ManagedCommandLineGeneratorTest.java

    ManagedProjectUpdateTests.java

  Resources/oldTypeProjects/1.2/test12.zip

  Resources/oldTypeProjects/2.0/test20.zip

  Suite/org/eclipse/managedbuilder/testplugin/CTestPlugin.java

  Suite/org/eclipse/managedbuilder/testplugin/ManagedBuildTestHelper.java

 

 Modified Source Files:

 

  tests/org.eclipse.cdt.managedbuild.core.tests

    build.properties

    plugin.xml

    ManagedBuildCoreTests.java

    TestManagedConfigProvider.java

 

 

org.eclipse.cdt.managedbuilder.ui

 

 New Source Files:

 

  org.eclipse.cdt.managedbuilder.internal.ui

    BuildSettingsBlock.java

    ManagedBuildOptionBlock.java

    ToolsSettingsBlock.java

 

  org.eclipse.cdt.managedbuilder.ui.properties

    ResourceBuildPropertyPage.java

 

 Removed Source Files:

 

  org.eclipse.cdt.managedbuilder.internal.ui

    ManagedMakeStartup.java

 

  org.eclipse.cdt.managedbuilder.ui.actions

    UpdateManagedProjectAction.java

 

  org.eclipse.cdt.managedbuilder.ui.properties

    ManagedBuilderPropertyPage.java

 

 Modified Source Files:

 

  org.eclipse.cdt.managedbuilder.ui

    plugin.properties

    plugin.xml

 

  org.eclipse.cdt.managedbuilder.internal.ui

    ErrorParserBlock.java

    ManagedProjectOptionBlock.java

    PluginResources.properties

 

  org.eclipse.cdt.managedbuilder.ui.properties

    BuildOptionComboFieldEditor.java

    BuildOptionSettingsPage.java

    BuildPropertyPage.java

    BuildSettingsPage.java

    BuildToolsSettingsPage.java

    BuildToolsSettingsStore.java

    ManageConfigDialog.java

    NewConfigurationDialog.java

    ToolListContentProvider.java

    ToolListLabelProvider.java

 

  org.eclipse.cdt.managedbuilder.ui.wizards

    ConfigurationContentProvider.java

    CProjectPlatformPage.java

    NewManagedProjectOptionPage.java

    NewManagedProjectWizard.java

 




#### ui_patch.txt has been removed from this note on October 25, 2004 by 
Douglas Schaefer
#### core_patch.txt has been removed from this note on October 25, 2004 by 
Douglas Schaefer
#### tests_patch.txt has been removed from this note on October 25, 2004 
by Douglas Schaefer


Back to the top