mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-18 22:45:23 +02:00

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>
198 lines
7.3 KiB
XML
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 "${plugin_state_location}/${specs_file}""
|
|
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>
|