blob: c1362864dd457f4c8099cadeb0b4a91d4dde854a [file] [log] [blame]
<?xml version='1.0' encoding='UTF-8'?>
<schema targetNamespace="org.eclipse.statet.autonature" xmlns="http://www.w3.org/2001/XMLSchema">
<annotation>
<appinfo>
<meta.schema id="AutoConfigurations"
plugin="org.eclipse.statet.eutils.autonature"
name="Auto Project Configurations"/>
</appinfo>
<documentation>
This extension-point allows to define project configurations automatically performed
on the specified events.
</documentation>
</annotation>
<element name="extension">
<annotation>
<appinfo>
<meta.element />
</appinfo>
</annotation>
<complexType>
<choice minOccurs="1" maxOccurs="unbounded">
<element ref="onFileContent"/>
</choice>
<attribute name="point" type="string" use="required">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<element name="onFileContent">
<annotation>
<documentation>
Performed if a file with the specified content type is changed.
</documentation>
</annotation>
<complexType>
<choice>
<element ref="ensureProjectNature" minOccurs="0" maxOccurs="unbounded"/>
<element ref="runProjectConfigurator" minOccurs="0" maxOccurs="unbounded"/>
</choice>
<attribute name="contentTypeId" type="string" use="required">
<annotation>
<documentation>
The id of the content type to handle.
</documentation>
<appinfo>
<meta.attribute kind="identifier" basedOn="org.eclipse.core.contenttype.contentTypes/content-type/@id"/>
</appinfo>
</annotation>
</attribute>
<attribute name="enable" type="boolean">
<annotation>
<documentation>
If the it should be enabled by default.
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<element name="ensureProjectNature">
<annotation>
<documentation>
Installs the specified project nature, if it is missing.
</documentation>
</annotation>
<complexType>
<attribute name="natureId" type="string" use="required">
<annotation>
<documentation>
</documentation>
<appinfo>
<meta.attribute kind="identifier" basedOn="org.eclipse.core.resources.natures/@id"/>
</appinfo>
</annotation>
</attribute>
</complexType>
</element>
<element name="runProjectConfigurator">
<annotation>
<documentation>
Asks the specified project configurator whether/to configure the project.
</documentation>
</annotation>
<complexType>
<attribute name="label" type="string" use="required">
<annotation>
<documentation>
</documentation>
<appinfo>
<meta.attribute translatable="true"/>
</appinfo>
</annotation>
</attribute>
<attribute name="class" type="string" use="required">
<annotation>
<documentation>
</documentation>
<appinfo>
<meta.attribute kind="java" basedOn=":org.eclipse.statet.eutils.autonature.IProjectConfigurator"/>
</appinfo>
</annotation>
</attribute>
<attribute name="natureId" type="string">
<annotation>
<documentation>
</documentation>
<appinfo>
<meta.attribute kind="identifier" basedOn="org.eclipse.core.resources.natures/@id"/>
</appinfo>
</annotation>
</attribute>
</complexType>
</element>
<annotation>
<appinfo>
<meta.section type="since"/>
</appinfo>
<documentation>
0.1
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="copyright"/>
</appinfo>
<documentation>
Copyright (c) 2014, 2020 Stephan Wahlbrink and others.
This program and the accompanying materials are made available under the
terms of the Eclipse Public License 2.0 which is available at
https://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0
which is available at https://www.apache.org/licenses/LICENSE-2.0.
SPDX-License-Identifier: EPL-2.0 OR Apache-2.0
Contributors:
Stephan Wahlbrink &lt;sw@wahlbrink.eu&gt; - initial API and implementation
</documentation>
</annotation>
</schema>