[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[mddi-dev] How to testing tool registration and tool lookup

Hello Chris,
 
We have developped a utility for testing whether the tool description file can be correctly registered to the Registry and whether it can be correctly looked up from the Registry.
 
This tool is located in the CVS, project modelbus.adapter.test
http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.mddi/org.eclipse.mddi.modelbus/org.eclipse.mddi.modelbus.adapter.test/src/org/eclipse/mddi/modelbus/adapter/test/registry/BasicRegistry.java?cvsroot=Technology_Project
 
This utility is a Java class : RegistryTest.
This class has a main method taking two arguments :
1) the URL of the registry
2) the path to the tool description file.
 
When executed, this utilitiy registers the specified tool description to the Registry.
Then it tests the loading of the registerred description from the Registry
 
 
I have tested your tool description .
It reports no problem.
Could you please retest your adapter with the ModelBus latest version which is located on the CVS ?
This version is located at :
http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.mddi/org.eclipse.mddi.modelbus/org.eclipse.mddi.modelbus.adapter/src-adapter/?cvsroot=Technology_Project
 
 
Please remark the followings.
 
1)
 
In your log file, I see the log of the description sent to the Registry and the one received from the registry.
Both of them contains dangling links ( shown in red):
 
     [java]   <abstract:PrimitiveType name="String"/>
     [java]   <abstract:ModelType name="ProjectModel">
     [java]     <content name="">
     [java]       <metaClass href=""/>
     [java]     </content>
     [java]   </abstract:ModelType>
     [java]   <abstract:ModelType name="ResourceModel">
     [java]     <content name="">
     [java]       <metaClass href=""/>
     [java]     </content>
     [java]   </abstract:ModelType>
     [java]   <abstract:ModelingServiceInterface name="MavenInterface">
     [java]     <service name="createProject">
     [java]       <parameter name="projectID" type="/0" direction="return"/>
     [java]     </service>
     [java]     <service name="deleteProject">
     [java]       <parameter name="projectID" type="/0"/>
     [java]       <serviceError name="invalidProjectID" type="/0"/>
     [java]     </service>
     [java]     <service name="getProjectModel">
     [java]       <parameter name="projectID" type="/0"/>
     [java]       <parameter name="projectModel" type="/1" direction="return"/>
     [java]       <serviceError name="invalidProjectID" type="/0"/>
     [java]     </service>
     [java]     <service name="setProjectModel">
     [java]       <parameter name="projectID" type="/0"/>
     [java]       <parameter name="projectModel" type="/1"/>
     [java]       <serviceError name="invalidProjectID" type="/0"/>
     [java]     </service>
     [java]     <service name="execute">
     [java]       <parameter name="projectID" type="/0"/>
     [java]       <parameter name="arguments" type="/0"/>
     [java]       <serviceError name="invalidProjectID" type="/0"/>
     [java]     </service>
     [java]     <service name="storeResources">
     [java]       <parameter name="projectID" type="/0"/>
     [java]       <parameter name="resourceModel" type="/2"/>
     [java]       <serviceError name="invalidProjectID" type="/0"/>
     [java]     </service>
     [java]   </abstract:ModelingServiceInterface>
     [java] </xmi:XMI>
 
On the other hand, in the log that we obtained, the tool description sent to the registry is integrated with the tool description file
(Please see the attachment) 
 
 
2)
Perhaps, the error exist on the version of ModelBus that you use.
Please retry with the lastest version.
 
Best regards,
----------------------------
Prawee SRIPLAKICH
LIP6 - Université Pierre et Marie Curie
Office C1133
8, rue du Capitaine Scott, 75015 Paris - France
Tel:   +33 (0) 1 44 27 88 61
Fax : +33 (0) 1 44 27 87 71
 
http://www-src.lip6.fr/homepages/Prawee.Sriplakich/
----------------------------
 
 
 
----- Original Message -----
From: "Broecker, Christoph" <cab@xxxxxxxxxxx>
Sent: Monday, August 28, 2006 10:39 AM
Subject: [Task3.1] RE: How to manage a tool description file that referenceexternal metamodels.

Hi Prawee,
 
Thanks for the detailed information you have provided.
 
I have run the LinkTester against the Maven.description file, but it did not report any issues:
 
     [java] log4j:WARN No appenders could be found for logger (org.eclipse.mddi.modelbus.adapter.infrastructure.model_manipulation.ModelBusResourceSet).
     [java] log4j:WARN Please initialize the log4j system properly.
     [java] 0 [main] INFO org.eclipse.mddi.modelbus - Logger configured
     [java] Analyzing Resource ../MavenAdapter/resources/Maven.description
     [java] 31 model element(s) examined
 
Just to make sure, I have also changed the path to make it invalid and then the tool did report the inconsistent reference.
The Maven.description file references two external models: the Maven POM (POM4) and the File Reference Model (FRM).
In the previous of the description file, there was no href for the FRM, so I thought this could be the problem.
However, even with the reference for the FRM filled in, the effect is still the following error:
 
     [java] 1) testCreateProject(org.modelware.modelbus.adapter.maven.test.TestMavenAdapter)java.lang.NullPointerException
     [java]  at org.eclipse.mddi.modelbus.adapter.infrastructure.registry.RegistryClient.getMetaModel(RegistryClient.java:353)
     [java]  at org.eclipse.mddi.modelbus.adapter.infrastructure.registry.RegistryClient.getMetaModel(RegistryClient.java:344)
     [java]  at org.eclipse.mddi.modelbus.adapter.infrastructure.registry.RegistryClient.registerResources(RegistryClient.java:299)
     [java]  at org.eclipse.mddi.modelbus.adapter.infrastructure.registry.RegistryClient.registerResources(RegistryClient.java:332)
     [java]  at org.eclipse.mddi.modelbus.adapter.infrastructure.registry.RegistryClient.loadDescriptionsFromRegistry(RegistryClient.java:153)
     [java]  at org.eclipse.mddi.modelbus.adapter.infrastructure.registry.RegistryClient.loadDescriptionsFromRegistry(RegistryClient.java:176)
     [java]  at org.eclipse.mddi.modelbus.adapter.infrastructure.registry.RegistryClient.lookupToolByModelingService(RegistryClient.java:107)
     [java]  at org.eclipse.mddi.modelbus.adapter.infrastructure.registry.RegistryManager.getToolDescription(RegistryManager.java:106)
     [java]  at org.eclipse.mddi.modelbus.adapter.user.consumer.impl.GenericConsumerImpl.consume(GenericConsumerImpl.java:59)
     [java]  at org.modelware.modelbus.adapter.maven.test.TestMavenAdapter.setUp(TestMavenAdapter.java:116)
 
Please find attached the following detailed information:
- The tool description file "Maven.description"
- The referenced ecore models POM4 and FRM
- The log file for the "ant start" task, which runs MavenRegistration.java and provides the actual Maven service.
  This also register Maven.description
- The log file for the "ant test" task, which runs our unit tests.
 
If you have any further ideas on what is going wrong, this would be very appreciated.
 
Kind regards,
Chris


 

________________________________

Von: Prawee Sriplakich [mailto:Prawee.Sriplakich@xxxxxxx]
Gesendet: Fr 25.08.2006 18:33
An: Broecker, Christoph;
mddi-dev@xxxxxxxxxxx; task3.1
Betreff: How to manage a tool description file that reference external metamodels.


Hello Chris,

Thank you very much for your feed back.
Please see below for our suggestion for the problem resolution.
 
Some tool integrators experience a dangling link problem when registering a tool description that references an external metamodel.
 
Concretely, such a tool description contains a HREF refering to another XMI file that contains the metamodel. 
For example  :
 
<content name="ModelclassSpec2" lower="1" upper="-1">
 <metaClass href=""/>
</content>
 
ModelBus can use the default EMF mechanism for resolving this HREF.
This mechanism supports
1) the absulute HREF, similar to the presented example
2) the relative HREF, relative to the execution path of the JVM.
 
We suggest that the tool integrators use the absolute path style because the JVM maybe executed in different locations each time.
 
The dangling link problem occurs when the HREF is not valid.
Consequently, ModelBus can not completely load the tool description in order to send to the Registry.
 
To help tool integrators avoid this problem, we have developped a tool for checking the HREFs in a tool description.
(In fact, this tool can check HREFs in any XMI file)
 
This tool is one Java file (with main methode). It is available in the CVS repository, project org.eclipse.mddi.modelbus.adapter.test.
 
http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.mddi/org.eclipse.mddi.modelbus/org.eclipse.mddi.modelbus.adapter.test/src/org/eclipse/mddi/modelbus/adapter/test/model/LinkTester.java?cvsroot=Technology_Project
 
 
In order to use this tool, execute the java file (with the same classpath libraries as the adapter)
 
java org.eclipse.mddi.modelbus.adapter.test.model.LinkTester [your XMI file]
 
Please see the example models in
http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.mddi/org.eclipse.mddi.modelbus/org.eclipse.mddi.modelbus.adapter.test/src/org/eclipse/mddi/modelbus/adapter/test/model/ex/?cvsroot=Technology_Project
 
 
This tool will report whether the XMI file contains dangling HREFs.
 
Can you use this tool to check you tool description?
If the HREFs are found, then  please try to correct them and recheck.
 
If the tool description file passes the checking but ModelBus still generates error when registering the tool,
then please send us the tool description file with metamodels and error logs, so that we can try analyse them
 
 
Best regards,
----------------------------
Prawee SRIPLAKICH
LIP6 - Université Pierre et Marie Curie
Office C1133
8, rue du Capitaine Scott, 75015 Paris - France
Tel:   +33 (0) 1 44 27 88 61
Fax : +33 (0) 1 44 27 87 71
 
http://www-src.lip6.fr/homepages/Prawee.Sriplakich/
----------------------------
 
 
 

----- Original Message -----
From: "Broecker, Christoph" <
cab@xxxxxxxxxxx <mailto:cab@xxxxxxxxxxx> >
To: <
Prawee.Sriplakich@xxxxxxx <mailto:Prawee.Sriplakich@xxxxxxx> >
Cc: "Andrey Sadovykh" <
andrey.sadovykh@xxxxxxxxxx <mailto:andrey.sadovykh@xxxxxxxxxx> >; <Xavier.Blanc@xxxxxxx <mailto:Xavier.Blanc@xxxxxxx> >
Sent: Friday, August 25, 2006 12:01 PM
Subject: RE: Issue with ModelBus adapter v2


Andrey - Many thanks for the quick response.
Prawee - I have tried replacing the meta-model path with an absolute one,
but get exactly the same result when I run the test. Have you got any other
ideas where this comes from or how I could test what is going wrong?

Kind regards,
Chris



-----Original Message-----
From: Andrey Sadovykh [mailto:andrey.sadovykh@xxxxxxxxxx]
Sent: Freitag, 25. August 2006 08:58
To: Broecker, Christoph
Cc: 'François Jaouen';
Prawee.Sriplakich@xxxxxxx <mailto:Prawee.Sriplakich@xxxxxxx> ; Xavier.Blanc@xxxxxxx <mailto:Xavier.Blanc@xxxxxxx>
Subject: RE : Issue with ModelBus adapter v2

Hi Chris,

It seems that there is a "meta-model" involved.
>From the first glance to the Maven.description, you have used a meta-model
>to describe the ProjectModel type.
Adapter tries to resolve this meta-model and fails.
The reason for this is the path declaration in the description file.
Please replace it by the absolute path to the meta-model.

For the packaging in the release, the meta-model can be integrated within
the description file and thus users won't need to redefine absolute path.
The simplest way to get "all-in-one" description file is to register your
"absolute path" description in the Web Registry. Then, the adapter will
automatically integrate the meta-model within the description and register
the right version in the Web Registry. Use Web Registry Client to download
the final version of the description file.

Regards,

Andrey

PS: BTW, I'm forwarding your request to Prawee, he's now the person
responsible to ModelBus bug fixing.
--------------------------------------------------------
mailto:andrey.sadovykh@xxxxxxxxxx <mailto:andrey.sadovykh@xxxxxxxxxx>

-----Message d'origine-----
De : Broecker, Christoph [mailto:cab@xxxxxxxxxxx] Envoyé : vendredi 25 août
2006 05:45 À : Andrey Sadovykh Cc : François Jaouen Objet : Issue with
ModelBus adapter v2

Hi Andrey,

As you have probably seen, I have released a new version of the Maven2
adapter.

However, there is an issue regarding the use of ModelBus v2 as compared to
v1.11.

The tests run OK in version 1.11, but in version 2, I get the following
error:

     [java] There was 1 error:
     [java] 1)
testCreateProject(org.modelware.modelbus.adapter.maven.test.TestMavenAdapter
)java.lang.NullPointerException
     [java] at
org.eclipse.mddi.modelbus.adapter.infrastructure.registry.RegistryClient.get
MetaModel(RegistryClient.java:353)
     [java] at
org.eclipse.mddi.modelbus.adapter.infrastructure.registry.RegistryClient.get
MetaModel(RegistryClient.java:344)
     [java] at
org.eclipse.mddi.modelbus.adapter.infrastructure.registry.RegistryClient.reg
isterResources(RegistryClient.java:299)
     [java] at
org.eclipse.mddi.modelbus.adapter.infrastructure.registry.RegistryClient.reg
isterResources(RegistryClient.java:332)
     [java] at
org.eclipse.mddi.modelbus.adapter.infrastructure.registry.RegistryClient.loa
dDescriptionsFromRegistry(RegistryClient.java:153)
     [java] at
org.eclipse.mddi.modelbus.adapter.infrastructure.registry.RegistryClient.loa
dDescriptionsFromRegistry(RegistryClient.java:176)
     [java] at
org.eclipse.mddi.modelbus.adapter.infrastructure.registry.RegistryClient.loo
kupToolByModelingService(RegistryClient.java:107)
     [java] at
org.eclipse.mddi.modelbus.adapter.infrastructure.registry.RegistryManager.ge
tToolDescription(RegistryManager.java:106)
     [java] at
org.eclipse.mddi.modelbus.adapter.user.consumer.impl.GenericConsumerImpl.con
sume(GenericConsumerImpl.java:59)
     [java] at
org.modelware.modelbus.adapter.maven.test.TestMavenAdapter.setUp(TestMavenAd
apter.java:116)


What surprises me is that the other four tests (there are 5 in total) run
through fine.

Have you got any ideas about what the source of this problem could be? What
has changed in the new ModelBus version?


Kind regards,
Christoph Broecker










--------------------------------------------------------------------------------


No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.1.405 / Virus Database: 268.11.6/427 - Release Date: 24/08/2006


> _______________________________________________
> Task3.1 mailing list
>
Task3.1@xxxxxxxxxxxxxxxxx
> http://www.modelware-ist.org/mailman/listinfo/task3.1
>


No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.1.405 / Virus Database: 268.11.6/428 - Release Date: 25/08/2006
Analyzing Resource Maven.description
31 model element(s) examined
0 [main] INFO org.eclipse.mddi.modelbus - Logger configured
792 [main] DEBUG org.eclipse.mddi.modelbus.adapter.infrastructure.transport.server.ws.axis.SimpleModelBusServer$EngineConfigurationImpl - configureEngine()
812 [Thread-1] INFO org.apache.axis.transport.http.SimpleAxisServer - starting up SimpleAxisServer on port 8081 (C:\users\prawee\eclipse3_workspace\modelbus.adapter.test\src\org\eclipse\mddi\modelbus\adapter\test\registry\ex)
812 [main] DEBUG org.eclipse.mddi.modelbus.adapter.infrastructure.transport.server.ws.ProviderEndPoint - Assign URL http://132.227.64.164:8081/modelbus/modeling_services/Maven
812 [main] DEBUG org.eclipse.mddi.modelbus.adapter.infrastructure.transport.server.ws.EndPointManagerImpl - add path:modeling_services
812 [main] DEBUG org.eclipse.mddi.modelbus.adapter.infrastructure.AdapterContainerImpl - Registering Tool: 
4066 [main] DEBUG org.eclipse.mddi.modelbus.adapter.infrastructure.registry.RegistryClient - Registry lookup result: 
4066 [main] DEBUG org.eclipse.mddi.modelbus.adapter.infrastructure.registry.RegistryClient - <?xml version="1.0" encoding="UTF-8"?>
<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xmlns:abstract="http://modelbus/description/abstract"; xmlns:concrete="http://modelbus/description/concrete"; xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"; xmlns:tooldescription="http://modelbus/description";>
  <tooldescription:ModelBusPackaging>
    <content xsi:type="abstract:ModelingServiceInterface" name="MavenInterface">
      <service name="createProject">
        <parameter name="projectID" type="/0/@content.1/@content.0" direction="return"/>
      </service>
      <service name="deleteProject">
        <parameter name="projectID" type="/0/@content.1/@content.0"/>
        <serviceError name="invalidProjectID" type="/0/@content.1/@content.0"/>
      </service>
      <service name="getProjectModel">
        <parameter name="projectID" type="/0/@content.1/@content.0"/>
        <parameter name="projectModel" type="/0/@content.1/@content.1" direction="return"/>
        <serviceError name="invalidProjectID" type="/0/@content.1/@content.0"/>
      </service>
      <service name="setProjectModel">
        <parameter name="projectID" type="/0/@content.1/@content.0"/>
        <parameter name="projectModel" type="/0/@content.1/@content.1"/>
        <serviceError name="invalidProjectID" type="/0/@content.1/@content.0"/>
      </service>
      <service name="execute">
        <parameter name="projectID" type="/0/@content.1/@content.0"/>
        <parameter name="arguments" type="/0/@content.1/@content.0"/>
        <serviceError name="invalidProjectID" type="/0/@content.1/@content.0"/>
      </service>
      <service name="storeResources">
        <parameter name="projectID" type="/0/@content.1/@content.0"/>
        <parameter name="resourceModel" type="/0/@content.1/@content.2"/>
        <serviceError name="invalidProjectID" type="/0/@content.1/@content.0"/>
      </service>
    </content>
    <content xsi:type="tooldescription:ModelBusPackaging" name="Types">
      <content xsi:type="abstract:PrimitiveType" name="String"/>
      <content xsi:type="abstract:ModelType" name="ProjectModel">
        <content name="" metaClass="/1/Model"/>
      </content>
      <content xsi:type="abstract:ModelType" name="ResourceModel">
        <content name="" metaClass="/2/FileResourcesType"/>
      </content>
    </content>
    <content xsi:type="concrete:Tool" name="Maven" interface="/0/@content.0" platform="Java">
      <property name="URL" value="http://132.227.64.164:8081/modelbus/modeling_services/Maven"/>
    </content>
  </tooldescription:ModelBusPackaging>
  <ecore:EPackage name="pom" nsURI="http://maven.apache.org/POM/4.0.0"; nsPrefix="">
    <eClassifiers xsi:type="ecore:EClass" name="Activation">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
        <details key="documentation" value="4.0.0&#xD;&#xA;&#xD;&#xA;        The conditions within the build runtime environment which will trigger&#xD;&#xA;        the automatic inclusion of the parent build profile.&#xD;&#xA;      "/>
      </eAnnotations>
      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
        <details key="name" value="Activation"/>
        <details key="kind" value="elementOnly"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="activeByDefault" unique="false" defaultValueLiteral="false" unsettable="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="4.0.0&#xD;&#xA;Flag specifying whether this profile is active as a default."/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="activeByDefault"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2003/XMLType#//Boolean"/>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="jdk" unique="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="4.0.0&#xD;&#xA;&#xD;&#xA;            Specifies that this profile will be activated when a matching JDK is detected.&#xD;&#xA;          "/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="jdk"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2003/XMLType#//String"/>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="os" eType="/1/ActivationOS" containment="true" resolveProxies="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="4.0.0&#xD;&#xA;&#xD;&#xA;            Specifies that this profile will be activated when matching OS attributes are detected.&#xD;&#xA;          "/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="os"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="property" eType="/1/ActivationProperty" containment="true" resolveProxies="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="4.0.0&#xD;&#xA;&#xD;&#xA;            Specifies that this profile will be activated when this System property is specified.&#xD;&#xA;          "/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="property"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="file" eType="/1/ActivationFile" containment="true" resolveProxies="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="4.0.0&#xD;&#xA;&#xD;&#xA;             Specifies that this profile will be activated based on existence of a file.&#xD;&#xA;             "/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="file"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ActivationFile">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
        <details key="documentation" value="4.0.0&#xD;&#xA;&#xD;&#xA;        This is the file specification used to activate a profile. The missing value will be a the location&#xD;&#xA;        of a file that needs to exist, and if it doesn't the profile must run.  On the other hand exists will test &#xD;&#xA;        for the existence of the file and if it is there will run the profile.&#xD;&#xA;      "/>
      </eAnnotations>
      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
        <details key="name" value="ActivationFile"/>
        <details key="kind" value="elementOnly"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="missing" unique="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="4.0.0&#xD;&#xA;The name of the file that should be missing to activate a profile"/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="missing"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2003/XMLType#//String"/>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="exists" unique="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="4.0.0&#xD;&#xA;The name of the file that should exist to activate a profile"/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="exists"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2003/XMLType#//String"/>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ActivationOS">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
        <details key="documentation" value="4.0.0&#xD;&#xA;&#xD;&#xA;        This is an activator which will detect an operating system's attributes in order to activate&#xD;&#xA;        its profile.&#xD;&#xA;      "/>
      </eAnnotations>
      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
        <details key="name" value="ActivationOS"/>
        <details key="kind" value="elementOnly"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" unique="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="4.0.0&#xD;&#xA;The name of the OS to be used to activate a profile"/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="name"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2003/XMLType#//String"/>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="family" unique="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="4.0.0&#xD;&#xA;The general family of the OS to be used to activate a profile (e.g. 'windows')"/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="family"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2003/XMLType#//String"/>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="arch" unique="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="4.0.0&#xD;&#xA;The architecture of the OS to be used to activate a profile"/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="arch"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2003/XMLType#//String"/>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="version" unique="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="4.0.0&#xD;&#xA;The version of the OS to be used to activate a profile"/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="version"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2003/XMLType#//String"/>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ActivationProperty">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
        <details key="documentation" value="4.0.0&#xD;&#xA;&#xD;&#xA;        This is the property specification used to activate a profile. If the value field is empty,&#xD;&#xA;        then the existence of the named property will activate the profile, otherwise it does a case-sensitive&#xD;&#xA;        match against the property value as well.&#xD;&#xA;      "/>
      </eAnnotations>
      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
        <details key="name" value="ActivationProperty"/>
        <details key="kind" value="elementOnly"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" unique="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="4.0.0&#xD;&#xA;The name of the property to be used to activate a profile"/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="name"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2003/XMLType#//String"/>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" unique="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="4.0.0&#xD;&#xA;The value of the property to be used to activate a profile"/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="value"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2003/XMLType#//String"/>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Build">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
        <details key="documentation" value="3.0.0+"/>
      </eAnnotations>
      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
        <details key="name" value="Build"/>
        <details key="kind" value="elementOnly"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="sourceDirectory" unique="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="3.0.0+&#xD;&#xA;&#xD;&#xA;            This element specifies a directory containing the source&#xD;&#xA;            of the project. The generated build system will compile&#xD;&#xA;            the source in this directory when the project is built.&#xD;&#xA;            The path given is relative to the project descriptor.&#xD;&#xA;          "/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="sourceDirectory"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2003/XMLType#//String"/>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="scriptSourceDirectory" unique="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="4.0.0&#xD;&#xA;&#xD;&#xA;            This element specifies a directory containing the script sources&#xD;&#xA;            of the project. This directory is meant to be different from the&#xD;&#xA;            sourceDirectory, in that its contents will be copied to the output&#xD;&#xA;            directory in most cases (since scripts are interpreted rather than&#xD;&#xA;            compiled).&#xD;&#xA;          "/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="scriptSourceDirectory"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2003/XMLType#//String"/>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="testSourceDirectory" unique="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="4.0.0&#xD;&#xA;&#xD;&#xA;            This element specifies a directory containing the unit test&#xD;&#xA;            source of the project. The generated build system will&#xD;&#xA;            compile these directories when the project is being tested.&#xD;&#xA;            The unit tests must use the JUnit test framework.&#xD;&#xA;            The path given is relative to the project descriptor.&#xD;&#xA;          "/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="testSourceDirectory"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2003/XMLType#//String"/>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="outputDirectory" unique="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="4.0.0&#xD;&#xA;&#xD;&#xA;            The directory where compiled application classes are placed.&#xD;&#xA;          "/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="outputDirectory"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2003/XMLType#//String"/>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="testOutputDirectory" unique="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="4.0.0&#xD;&#xA;&#xD;&#xA;            The directory where compiled test classes are placed.&#xD;&#xA;          "/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="testOutputDirectory"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2003/XMLType#//String"/>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="extensions" eType="/1/ExtensionsType" containment="true" resolveProxies="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="4.0.0&#xD;&#xA;A set of build extensions to use from this project."/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="extensions"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="defaultGoal" unique="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="3.0.0+&#xD;&#xA;&#xD;&#xA;            The default goal (or phase in Maven 2) to execute when none is specified for the project.&#xD;&#xA;          "/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="defaultGoal"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2003/XMLType#//String"/>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="resources" eType="/1/ResourcesType" containment="true" resolveProxies="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="3.0.0+&#xD;&#xA;&#xD;&#xA;            This element describes all of the resources associated with a &#xD;&#xA;            project or unit tests. Each resource is described by a resource &#xD;&#xA;            element, which is then described by additional elements (described &#xD;&#xA;            &amp;lt;a href=&quot;#resource&quot;&amp;gt;below&amp;lt;/a&amp;gt;). These resources are used to complete &#xD;&#xA;            the jar file or to run unit test.&#xD;&#xA;          "/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="resources"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="testResources" eType="/1/TestResourcesType" containment="true" resolveProxies="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="4.0.0&#xD;&#xA;&#xD;&#xA;            This element describes all of the resources associated with a &#xD;&#xA;            project's unit tests. Each resource is described by a resource &#xD;&#xA;            element, which is then described by additional elements (described&#xD;&#xA;            &amp;lt;a href=&quot;#resource&quot;&amp;gt;below&amp;lt;/a&amp;gt;). These resources are used to complete &#xD;&#xA;            the jar file or to run unit test.&#xD;&#xA;          "/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="testResources"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="directory" unique="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="4.0.0&#xD;&#xA;&#xD;&#xA;            The directory where all files generated by the build is placed.&#xD;&#xA;          "/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="directory"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2003/XMLType#//String"/>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="finalName" unique="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="4.0.0&#xD;&#xA;&#xD;&#xA;            The filename (including an extension, but with no path information) that the produced artifact&#xD;&#xA;            will be called. The default value is artifactId-version.extension (where extension is derived from&#xD;&#xA;            type).&#xD;&#xA;          "/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="finalName"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2003/XMLType#//String"/>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="filters" eType="/1/FiltersType" containment="true" resolveProxies="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="4.0.0&#xD;&#xA;&#xD;&#xA;          The list of filter properties files that are used when filtering is enabled.&#xD;&#xA;          "/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="filters"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="pluginManagement" eType="/1/PluginManagement" containment="true" resolveProxies="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="4.0.0&#xD;&#xA;&#xD;&#xA;            Default plugin information to be made available for reference by &#xD;&#xA;            projects derived from this one. This plugin configuration will not&#xD;&#xA;            be validated or bound to the lifecycle unless referenced. Any local&#xD;&#xA;            configuration for a given plugin will override the plugin's entire&#xD;&#xA;            definition here.&#xD;&#xA;          "/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="pluginManagement"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="plugins" eType="/1/PluginsType" containment="true" resolveProxies="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="4.0.0&#xD;&#xA;&#xD;&#xA;            The plugins specified here are not validated until they&#xD;&#xA;            are referenced in a POM within the group. This allows the&#xD;&#xA;            specification of a &quot;standard&quot; version for a particular&#xD;&#xA;            plugin.&#xD;&#xA;          "/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="plugins"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="BuildBase">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
        <details key="documentation" value="3.0.0+"/>
      </eAnnotations>
      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
        <details key="name" value="BuildBase"/>
        <details key="kind" value="elementOnly"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="defaultGoal" unique="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="3.0.0+&#xD;&#xA;&#xD;&#xA;            The default goal (or phase in Maven 2) to execute when none is specified for the project.&#xD;&#xA;          "/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="defaultGoal"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2003/XMLType#//String"/>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="resources" eType="/1/ResourcesType" containment="true" resolveProxies="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="3.0.0+&#xD;&#xA;&#xD;&#xA;            This element describes all of the resources associated with a &#xD;&#xA;            project or unit tests. Each resource is described by a resource &#xD;&#xA;            element, which is then described by additional elements (described &#xD;&#xA;            &amp;lt;a href=&quot;#resource&quot;&amp;gt;below&amp;lt;/a&amp;gt;). These resources are used to complete &#xD;&#xA;            the jar file or to run unit test.&#xD;&#xA;          "/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="resources"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="testResources" eType="/1/TestResourcesType" containment="true" resolveProxies="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="4.0.0&#xD;&#xA;&#xD;&#xA;            This element describes all of the resources associated with a &#xD;&#xA;            project's unit tests. Each resource is described by a resource &#xD;&#xA;            element, which is then described by additional elements (described&#xD;&#xA;            &amp;lt;a href=&quot;#resource&quot;&amp;gt;below&amp;lt;/a&amp;gt;). These resources are used to complete &#xD;&#xA;            the jar file or to run unit test.&#xD;&#xA;          "/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="testResources"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="directory" unique="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="4.0.0&#xD;&#xA;&#xD;&#xA;            The directory where all files generated by the build is placed.&#xD;&#xA;          "/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="directory"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2003/XMLType#//String"/>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="finalName" unique="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="4.0.0&#xD;&#xA;&#xD;&#xA;            The filename (including an extension, but with no path information) that the produced artifact&#xD;&#xA;            will be called. The default value is artifactId-version.extension (where extension is derived from&#xD;&#xA;            type).&#xD;&#xA;          "/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="finalName"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2003/XMLType#//String"/>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="filters" eType="/1/FiltersType" containment="true" resolveProxies="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="4.0.0&#xD;&#xA;&#xD;&#xA;          The list of filter properties files that are used when filtering is enabled.&#xD;&#xA;          "/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="filters"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="pluginManagement" eType="/1/PluginManagement" containment="true" resolveProxies="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="4.0.0&#xD;&#xA;&#xD;&#xA;            Default plugin information to be made available for reference by &#xD;&#xA;            projects derived from this one. This plugin configuration will not&#xD;&#xA;            be validated or bound to the lifecycle unless referenced. Any local&#xD;&#xA;            configuration for a given plugin will override the plugin's entire&#xD;&#xA;            definition here.&#xD;&#xA;          "/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="pluginManagement"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="plugins" eType="/1/PluginsType" containment="true" resolveProxies="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="4.0.0&#xD;&#xA;&#xD;&#xA;            The plugins specified here are not validated until they&#xD;&#xA;            are referenced in a POM within the group. This allows the&#xD;&#xA;            specification of a &quot;standard&quot; version for a particular&#xD;&#xA;            plugin.&#xD;&#xA;          "/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="plugins"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="CiManagement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
        <details key="documentation" value="4.0.0"/>
      </eAnnotations>
      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
        <details key="name" value="CiManagement"/>
        <details key="kind" value="elementOnly"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="system" unique="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="4.0.0&#xD;&#xA;The name of the continuous integration system i.e. Bugzilla"/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="system"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2003/XMLType#//String"/>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="url" unique="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="4.0.0&#xD;&#xA;Url for the continuous integration system used by the project."/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="url"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2003/XMLType#//String"/>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="notifiers" eType="/1/NotifiersType" containment="true" resolveProxies="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="4.0.0&#xD;&#xA;&#xD;&#xA;            Configuration for notifying developers/users when a build is &#xD;&#xA;            unsuccessful, including user information and notification mode.&#xD;&#xA;          "/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="notifiers"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ConfigurationType">
      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
        <details key="name" value="configuration_._type"/>
        <details key="kind" value="elementOnly"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="any" unique="false" upperBound="-1">
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="elementWildcard"/>
          <details key="wildcards" value="##any"/>
          <details key="name" value=":0"/>
          <details key="processing" value="skip"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry"/>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Contributor">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
        <details key="documentation" value="3.0.0+&#xD;&#xA;&#xD;&#xA;        Description of a person who has contributed to the project, but who does&#xD;&#xA;        not have commit privileges. Usually, these contributions come in the&#xD;&#xA;        form of patches submitted.&#xD;&#xA;      "/>
      </eAnnotations>
      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
        <details key="name" value="Contributor"/>
        <details key="kind" value="elementOnly"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" unique="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="3.0.0+&#xD;&#xA;The full name of the contributor."/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="name"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2003/XMLType#//String"/>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="email" unique="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="3.0.0+&#xD;&#xA;The email address of the contributor."/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="email"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2003/XMLType#//String"/>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="url" unique="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="3.0.0+&#xD;&#xA;The URL for the homepage of the contributor."/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="url"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2003/XMLType#//String"/>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="organization" unique="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="3.0.0+&#xD;&#xA;The organization to which the contributor belongs."/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="organization"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2003/XMLType#//String"/>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="organizationUrl" unique="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="3.0.0+&#xD;&#xA;The URL of the organization."/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="organizationUrl"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2003/XMLType#//String"/>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="roles" eType="/1/RolesType" containment="true" resolveProxies="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="3.0.0+&#xD;&#xA;&#xD;&#xA;            The roles the contributor plays in the project.  Each role is&#xD;&#xA;            described by a &amp;lt;code&amp;gt;role&amp;lt;/code&amp;gt; element, the body of which is a&#xD;&#xA;            role name.&#xD;&#xA;          "/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="roles"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="timezone" unique="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="3.0.0+&#xD;&#xA;&#xD;&#xA;            The timezone the contributor is in. This is a number in the range -11 to 12.&#xD;&#xA;          "/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="timezone"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2003/XMLType#//String"/>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="properties" eType="/1/PropertiesType" containment="true" resolveProxies="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="3.0.0+&#xD;&#xA;&#xD;&#xA;            Properties about the contributor, such as an instant messenger handle.&#xD;&#xA;          "/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="properties"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ContributorsType">
      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
        <details key="name" value="contributors_._type"/>
        <details key="kind" value="elementOnly"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="contributor" upperBound="-1" eType="/1/Contributor" containment="true" resolveProxies="false">
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="contributor"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="DependenciesType">
      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
        <details key="name" value="dependencies_._type"/>
        <details key="kind" value="elementOnly"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="dependency" upperBound="-1" eType="/1/Dependency" containment="true" resolveProxies="false">
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="dependency"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Dependency">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
        <details key="documentation" value="3.0.0+"/>
      </eAnnotations>
      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
        <details key="name" value="Dependency"/>
        <details key="kind" value="elementOnly"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="groupId" unique="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="3.0.0+&#xD;&#xA;&#xD;&#xA;            The project group that produced the dependency, e.g.&#xD;&#xA;            &amp;lt;code&amp;gt;geronimo&amp;lt;/code&amp;gt;.&#xD;&#xA;          "/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="groupId"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2003/XMLType#//String"/>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="artifactId" unique="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="3.0.0+&#xD;&#xA;&#xD;&#xA;            The unique id for an artifact produced by the project group, e.g.&#xD;&#xA;            &amp;lt;code&amp;gt;germonimo-jms&amp;lt;/code&amp;gt;&#xD;&#xA;          "/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="artifactId"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2003/XMLType#//String"/>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="version" unique="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="3.0.0+&#xD;&#xA;&#xD;&#xA;            The version of the dependency, e.g. &amp;lt;code&amp;gt;3.2.1&amp;lt;/code&amp;gt;&#xD;&#xA;          "/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="version"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2003/XMLType#//String"/>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" unique="false" defaultValueLiteral="jar" unsettable="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="3.0.0+&#xD;&#xA;&#xD;&#xA;            The type of dependency. This defaults to &amp;lt;code&amp;gt;jar&amp;lt;/code&amp;gt;.&#xD;&#xA;            Known recognised dependency types are:&#xD;&#xA;            &amp;lt;ul&amp;gt;&#xD;&#xA;            &amp;lt;li&amp;gt;&amp;lt;code&amp;gt;jar&amp;lt;/code&amp;gt;&amp;lt;/li&amp;gt;&#xD;&#xA;            &amp;lt;li&amp;gt;&amp;lt;code&amp;gt;ejb&amp;lt;/code&amp;gt;&amp;lt;/li&amp;gt;&#xD;&#xA;            &amp;lt;li&amp;gt;&amp;lt;code&amp;gt;plugin&amp;lt;/code&amp;gt;&amp;lt;/li&amp;gt;&#xD;&#xA;            &amp;lt;/ul&amp;gt;&#xD;&#xA;          "/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="type"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2003/XMLType#//String"/>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="classifier" unique="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="4.0.0&#xD;&#xA;&#xD;&#xA;            The classifier of the dependency. This allows distinguishing two artifacts that belong to the same POM but&#xD;&#xA;            were built differently, and is appended to the filename after the version.&#xD;&#xA;          "/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="classifier"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2003/XMLType#//String"/>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="scope" unique="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="4.0.0&#xD;&#xA;&#xD;&#xA;            The scope of the dependency - compile, runtime, test. Used to&#xD;&#xA;            calculate the various classpaths used for testing, etc. and for &#xD;&#xA;            determining which artifacts to include in a distribution of this&#xD;&#xA;            project. For more information, see &#xD;&#xA;            &amp;lt;a href=&quot;http://maven.apache.org/maven2/dependencies-mechanism.html&quot;&amp;gt;Dependency Mechanism&amp;lt;/a&amp;gt;.&#xD;&#xA;          "/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="scope"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2003/XMLType#//String"/>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="systemPath" unique="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="4.0.0&#xD;&#xA;FOR SYSTEM SCOPE ONLY. This specifies the path on the filesystem for this&#xD;&#xA;            dependency."/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="systemPath"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2003/XMLType#//String"/>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="exclusions" eType="/1/ExclusionsType" containment="true" resolveProxies="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="4.0.0&#xD;&#xA;&#xD;&#xA;            Lists a set of artifacts that should be excluded from this dependency's artifact list when it comes to&#xD;&#xA;            calculating transitive dependencies.&#xD;&#xA;          "/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="exclusions"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="optional" unique="false" defaultValueLiteral="false" unsettable="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="4.0.0&#xD;&#xA;&#xD;&#xA;            Indicates the dependency is optional for use of this library. While the version of the dependency will be&#xD;&#xA;            taken into account for dependency calculation if the library is used elsewhere, it will not be passed on&#xD;&#xA;            transitively.&#xD;&#xA;          "/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="optional"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2003/XMLType#//Boolean"/>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="DependencyManagement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
        <details key="documentation" value="4.0.0&#xD;&#xA;&#xD;&#xA;        Section for management of default dependency information for use in a group of POMs.&#xD;&#xA;      "/>
      </eAnnotations>
      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
        <details key="name" value="DependencyManagement"/>
        <details key="kind" value="elementOnly"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="dependencies" eType="/1/DependenciesType" containment="true" resolveProxies="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="4.0.0&#xD;&#xA;&#xD;&#xA;            The dependencies specified here are not validated until they&#xD;&#xA;            are referenced in a POM within the group. This allows the&#xD;&#xA;            specification of a &quot;standard&quot; version for a particular&#xD;&#xA;            dependency.&#xD;&#xA;          "/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="dependencies"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="DeploymentRepository">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
        <details key="documentation" value="4.0.0&#xD;&#xA;&#xD;&#xA;        Repository contains the information needed for deploying to the remote repoistory&#xD;&#xA;      "/>
      </eAnnotations>
      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
        <details key="name" value="DeploymentRepository"/>
        <details key="kind" value="elementOnly"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="uniqueVersion" unique="false" defaultValueLiteral="true" unsettable="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="4.0.0&#xD;&#xA;Whether to assign snapshots a unique version comprised of the timestamp and build number, or to use the same version each time"/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="uniqueVersion"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2003/XMLType#//Boolean"/>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" unique="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="4.0.0&#xD;&#xA;&#xD;&#xA;            A unique identifier for a repository.&#xD;&#xA;          "/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="id"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2003/XMLType#//String"/>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" unique="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="4.0.0&#xD;&#xA;&#xD;&#xA;            Human readable name of the repository&#xD;&#xA;          "/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="name"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2003/XMLType#//String"/>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="url" unique="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="4.0.0&#xD;&#xA;&#xD;&#xA;             The url of the repository&#xD;&#xA;          "/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="url"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2003/XMLType#//String"/>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="layout" unique="false" defaultValueLiteral="default" unsettable="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="4.0.0&#xD;&#xA;The type of layout this repository uses for locating and storing artifacts - can be &quot;legacy&quot; or&#xD;&#xA;            &quot;default&quot;."/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="layout"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2003/XMLType#//String"/>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Developer">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
        <details key="documentation" value="3.0.0+&#xD;&#xA;&#xD;&#xA;        Information about one of the committers on this project. Derived from&#xD;&#xA;        &amp;lt;code&amp;gt;Contributor&amp;lt;/code&amp;gt;.&#xD;&#xA;      "/>
      </eAnnotations>
      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
        <details key="name" value="Developer"/>
        <details key="kind" value="elementOnly"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" unique="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="3.0.0+&#xD;&#xA;The username of the developer."/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="id"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2003/XMLType#//String"/>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" unique="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="3.0.0+&#xD;&#xA;The full name of the contributor."/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="name"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2003/XMLType#//String"/>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="email" unique="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="3.0.0+&#xD;&#xA;The email address of the contributor."/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="email"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2003/XMLType#//String"/>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="url" unique="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="3.0.0+&#xD;&#xA;The URL for the homepage of the contributor."/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="url"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2003/XMLType#//String"/>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="organization" unique="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="3.0.0+&#xD;&#xA;The organization to which the contributor belongs."/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="organization"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2003/XMLType#//String"/>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="organizationUrl" unique="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="3.0.0+&#xD;&#xA;The URL of the organization."/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="organizationUrl"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2003/XMLType#//String"/>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="roles" eType="/1/RolesType" containment="true" resolveProxies="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel";>
          <details key="documentation" value="3.0.0+&#xD;&#xA;&#xD;&#xA;            The roles the contributor plays in the project.  Each role is&#xD;&#xA;            described by a &amp;lt;code&amp;gt;role&amp;lt;/code&amp;gt; element, the body of which is a&#xD;&#xA;            role name.&#xD;&#xA;          "/>
        </eAnnotations>
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData";>
          <details key="kind" value="element"/>
          <details key="name" value="roles"/>
          <details key="namespace" value="##targetNamespace"/>
        </eAnnotations>
      </eStructuralFea