Skip to main content

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


Thanks Leo,
This was a massive effort from you and the other developers who helped with the UI and project upgrade functionality. I think this represents a large step forward for our users and toolchain integrators, and based on the quality of the work I've seen,  it is clear the MBS is in good hands.

Sean Evoy
Rational Software - IBM Software Group
Ottawa, Ontario, Canada



"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
 [attachment "ui_patch.txt" deleted by Sean Evoy/Ottawa/IBM] [attachment "core_patch.txt" deleted by Sean Evoy/Ottawa/IBM] [attachment "tests_patch.txt" deleted by Sean Evoy/Ottawa/IBM]

Back to the top