1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-18 22:45:23 +02:00
cdt/build/org.eclipse.cdt.make.core/plugin.xml
Andrew Eidsness a0a2059fdd Bug 416471: Support for extra ILanguageSettingsProviders in new projects
This change introduces three new ProcessRunners that can be used in the
New Project wizard's template.xml files.  These will be used by two new
Qt project wizards that I will introduce in a second patch.

The three new rules are:

1) "AddMakeTarget" which creates new Make Targets (in the Make Targets
view) for the new projects.

2) "SetEnvironmentVariable" which sets an environment variable in all of
the new project's build configurations.

3) "ExtraLanguageSettingsProvider" which modifies the new project's
build configurations to include a new ILanguageSettingsProvider.

The first two are straightforward, the third is a bit different.
Instead of creating a new Toolchain or Configuration it modifies the
Configurations that were created for the new project.  In this case the
only modification is to add the extra ILanguageSettingsProvider, but it
might be useful to extend this to other customizations as well.

Change-Id: I30710400e9b0dffcbe6e8965ce7ce2078c1c99ca
Signed-off-by: Andrew Eidsness <eclipse@jfront.com>
Reviewed-on: https://git.eclipse.org/r/16817
Reviewed-by: Andrew Gvozdev <angvoz.dev@gmail.com>
IP-Clean: Andrew Gvozdev <angvoz.dev@gmail.com>
Tested-by: Andrew Gvozdev <angvoz.dev@gmail.com>
2013-10-01 20:59:40 -04:00

198 lines
7.3 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin>
<extension-point id="MakeTargetBuilder" name="%extensionTargetBuilder.name" schema="schema/MakeTargetBuilder.exsd"/>
<extension-point id="ScannerConfigurationDiscoveryProfile" name="%extensionScannerConfigurationDiscoveryProfile.name" schema="schema/ScannerConfigurationDiscoveryProfile.exsd"/>
<extension
id="MakeScannerProvider"
point="org.eclipse.cdt.core.ScannerInfoProvider">
<cextension>
<run
class="org.eclipse.cdt.make.core.MakeScannerProvider">
</run>
</cextension>
</extension>
<extension
id="makeNature"
name="%natureMake.name"
point="org.eclipse.core.resources.natures">
<requires-nature
id="org.eclipse.cdt.core.cnature">
</requires-nature>
<runtime>
<run
class="org.eclipse.cdt.make.core.MakeProjectNature">
</run>
</runtime>
<builder
id="org.eclipse.cdt.make.core.makeBuilder">
</builder>
</extension>
<extension
id="makeBuilder"
name="%builderMake.name"
point="org.eclipse.core.resources.builders">
<builder
hasNature="true"
isConfigurable="true">
<run class="org.eclipse.cdt.make.core.MakeBuilder">
<parameter
name="defaultCommand"
value="make">
</parameter>
</run>
</builder>
</extension>
<extension
id="make"
name="%makeproject.name"
point="org.eclipse.cdt.core.CProject">
<cproject
class="org.eclipse.cdt.make.internal.core.MakeProject"
natureID="org.eclipse.cdt.make.core.makeNature">
</cproject>
</extension>
<extension
point="org.eclipse.cdt.make.core.MakeTargetBuilder">
<builder
builderID="org.eclipse.cdt.make.core.makeBuilder"
id="org.eclipse.cdt.make.MakeTargetBuilder">
</builder>
</extension>
<extension
id="ScannerConfigNature"
name="%epScannerConfigNature.name"
point="org.eclipse.core.resources.natures">
<requires-nature
id="org.eclipse.cdt.make.core.makeNature">
</requires-nature>
<runtime>
<run
class="org.eclipse.cdt.make.core.scannerconfig.ScannerConfigNature">
</run>
</runtime>
<builder
id="org.eclipse.cdt.make.core.ScannerConfigBuilder">
</builder>
</extension>
<extension
id="ScannerConfigBuilder"
name="%epScannerConfigBuilder.name"
point="org.eclipse.core.resources.builders">
<builder
hasNature="true">
<run
class="org.eclipse.cdt.make.core.scannerconfig.ScannerConfigBuilder">
</run>
</builder>
</extension>
<extension
id="DiscoveredScannerInfoProvider"
point="org.eclipse.cdt.core.ScannerInfoProvider">
<cextension>
<run
class="org.eclipse.cdt.make.core.scannerconfig.DiscoveredScannerInfoProvider">
</run>
</cextension>
</extension>
<extension
point="org.eclipse.cdt.core.PathEntryContainerInitializer">
<pathEntryContainerInitializer
class="org.eclipse.cdt.make.internal.core.scannerconfig.DiscoveredPathInitializer"
id="org.eclipse.cdt.make.core.DISCOVERED_SCANNER_INFO">
</pathEntryContainerInitializer>
</extension>
<extension
point="org.eclipse.core.runtime.preferences">
<initializer class="org.eclipse.cdt.make.internal.core.PreferenceInitializer"/>
</extension>
<extension
id="GCCStandardMakePerProjectProfile"
name="%extensionGCCPerProjectProfile.name"
point="org.eclipse.cdt.make.core.ScannerConfigurationDiscoveryProfile">
<scannerInfoCollector
class="org.eclipse.cdt.make.internal.core.scannerconfig2.PerProjectSICollector"
scope="project"/>
<buildOutputProvider>
<open/>
<scannerInfoConsoleParser class="org.eclipse.cdt.make.internal.core.scannerconfig.gnu.GCCScannerInfoConsoleParser"/>
</buildOutputProvider>
<scannerInfoProvider providerId="specsFile">
<run
command="gcc"
arguments="-E -P -v -dD &quot;${plugin_state_location}/${specs_file}&quot;"
class="org.eclipse.cdt.make.internal.core.scannerconfig2.GCCSpecsRunSIProvider"/>
<scannerInfoConsoleParser class="org.eclipse.cdt.make.internal.core.scannerconfig.gnu.GCCSpecsConsoleParser"/>
</scannerInfoProvider>
</extension>
<extension
id="GCCStandardMakePerFileProfile"
name="%extensionGCCPerFileProfile.name"
point="org.eclipse.cdt.make.core.ScannerConfigurationDiscoveryProfile">
<scannerInfoCollector
class="org.eclipse.cdt.make.internal.core.scannerconfig2.PerFileSICollector"
scope="file"/>
<buildOutputProvider>
<open/>
<scannerInfoConsoleParser class="org.eclipse.cdt.make.internal.core.scannerconfig.gnu.GCCPerFileBOPConsoleParser"/>
</buildOutputProvider>
<scannerInfoProvider providerId="makefileGenerator">
<run
arguments="-E -P -v -dD"
class="org.eclipse.cdt.make.internal.core.scannerconfig2.SCDMakefileGenerator"/>
<scannerInfoConsoleParser class="org.eclipse.cdt.make.internal.core.scannerconfig.gnu.GCCPerFileSIPConsoleParser"/>
</scannerInfoProvider>
</extension>
<extension point="org.eclipse.core.contenttype.contentTypes">
<!-- declares a content type for Makefile files -->
<content-type id="makefile" name="%makefile"
base-type="org.eclipse.core.runtime.text"
priority="high"/>
</extension>
<extension point="org.eclipse.core.contenttype.contentTypes">
<file-association
content-type="org.eclipse.cdt.make.core.makefile"
file-names="Makefile,makefile,GNUMakefile"
file-extensions="mk"/>
</extension>
<extension
id="cfgSupportNature"
name="%natureCfg.name"
point="org.eclipse.core.resources.natures">
<requires-nature
id="org.eclipse.cdt.core.cnature">
</requires-nature>
<runtime>
<run
class="org.eclipse.cdt.make.internal.core.dataprovider.ConfigSupportNature">
</run>
</runtime>
</extension>
<extension
id="configurationDataProvider"
name="%CfgDataProvider.name"
point="org.eclipse.cdt.core.CConfigurationDataProvider">
<provider
natures="org.eclipse.cdt.make.core.cfgSupportNature"
class="org.eclipse.cdt.make.internal.core.dataprovider.MakeConfigurationDataProvider"
/>
</extension>
<extension point="org.eclipse.cdt.core.templateProcessTypes">
<processType
name="AddMakeTarget"
processRunner="org.eclipse.cdt.make.internal.core.templateengine.AddMakeTarget">
<simple name="projectName"/>
<simple name="targetName"/>
<simple name="makeTarget" external="true" nullable="true"/>
<simple name="buildCommand" external="true" nullable="true"/>
<simple name="buildArguments" external="true" nullable="true"/>
</processType>
</extension>
</plugin>