| <?xml version='1.0' encoding='UTF-8'?> |
| <!-- Schema file written by PDE --> |
| <schema targetNamespace="org.eclipse.wst.common.modulecore" xmlns="http://www.w3.org/2001/XMLSchema"> |
| <annotation> |
| <appInfo> |
| <meta.schema plugin="org.eclipse.wst.common.modulecore" id="heirarchyFlattenParticipant" name="heirarchyFlattenParticipant"/> |
| </appInfo> |
| <documentation> |
| This extension point is to register a global level flatten participant |
| which can be trusted to know about any and all approved nestings of various |
| project types, specifically regarding child modules. |
| |
| By registering a heirarchyParticipant via this extension point, you can allow |
| your custom project / module type to be recognized as a child of another module type. |
| For example, your custom "car" archive project can be recognized as a child |
| module of an ear project or web project. |
| |
| Parent modules and module delegates using a GlobalHeirarchyParticipant |
| or its provider are accepting that some potentially unknown module types |
| may declare themselves to be child modules of the parent module. Risk |
| is limited, however, as all that will change is whether a child component |
| is marked as a child or not. This will have some effect on the publish or export |
| events, however, as children modules will have their list of participants |
| used when a component is marked as a child module. If it is not marked as a child module, |
| the referenced component will instead be traversed normally. |
| |
| As an example, if an unknown "car" project is referenced inside an ear project, |
| and if the "car" project is recognized as a child module, the "Car" project will |
| have its participants assist in the publish |
| (ex, ignoring .java files, optimizing itself according to logic consistent with the "car" project). |
| |
| If the car project is NOT recognized as a child, the nested files |
| will be traversed simply as a tree, and features such as including |
| .class files instead of .java files will not take place. |
| |
| Parent modules that require complete control over which virtual components |
| may be recognized as children should not allow their deployables to use the |
| GlobalHeirarchyParticipant at all. |
| </documentation> |
| </annotation> |
| |
| <element name="extension"> |
| <annotation> |
| <appInfo> |
| <meta.element /> |
| </appInfo> |
| </annotation> |
| <complexType> |
| <sequence> |
| <element ref="heirarchyParticipant"/> |
| </sequence> |
| <attribute name="point" type="string" use="required"> |
| <annotation> |
| <documentation> |
| |
| </documentation> |
| </annotation> |
| </attribute> |
| <attribute name="id" type="string"> |
| <annotation> |
| <documentation> |
| |
| </documentation> |
| </annotation> |
| </attribute> |
| <attribute name="name" type="string"> |
| <annotation> |
| <documentation> |
| |
| </documentation> |
| <appInfo> |
| <meta.attribute translatable="true"/> |
| </appInfo> |
| </annotation> |
| </attribute> |
| </complexType> |
| </element> |
| |
| <element name="heirarchyParticipant"> |
| <complexType> |
| <attribute name="class" type="string" use="required"> |
| <annotation> |
| <documentation> |
| |
| </documentation> |
| <appInfo> |
| <meta.attribute kind="java" basedOn=":org.eclipse.wst.common.componentcore.internal.flat.IFlattenParticipant"/> |
| </appInfo> |
| </annotation> |
| </attribute> |
| </complexType> |
| </element> |
| |
| <annotation> |
| <appInfo> |
| <meta.section type="since"/> |
| </appInfo> |
| <documentation> |
| [Enter the first release in which this extension point appears.] |
| </documentation> |
| </annotation> |
| |
| <annotation> |
| <appInfo> |
| <meta.section type="examples"/> |
| </appInfo> |
| <documentation> |
| [Enter extension point usage example here.] |
| </documentation> |
| </annotation> |
| |
| <annotation> |
| <appInfo> |
| <meta.section type="apiinfo"/> |
| </appInfo> |
| <documentation> |
| This extension point is provisional API and may change in the future. |
| </documentation> |
| </annotation> |
| |
| <annotation> |
| <appInfo> |
| <meta.section type="implementation"/> |
| </appInfo> |
| <documentation> |
| [Enter information about supplied implementation of this extension point.] |
| </documentation> |
| </annotation> |
| |
| |
| </schema> |