| [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
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 :
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>
To: "Prawee Sriplakich" <Prawee.Sriplakich@xxxxxxx>;
<mddi-dev@xxxxxxxxxxx>; "task3.1"
<task3.1@xxxxxxxxxxxxxxxxx>
Sent: Monday, August 28, 2006 10:39 AM
Subject: [Task3.1] RE: How to manage a tool
description file that referenceexternal metamodels. 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

 The conditions within the build runtime environment which will trigger
 the automatic inclusion of the parent build profile.
 "/>
</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
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

 Specifies that this profile will be activated when a matching JDK is detected.
 "/>
</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

 Specifies that this profile will be activated when matching OS attributes are detected.
 "/>
</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

 Specifies that this profile will be activated when this System property is specified.
 "/>
</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

 Specifies that this profile will be activated based on existence of a file.
 "/>
</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

 This is the file specification used to activate a profile. The missing value will be a the location
 of a file that needs to exist, and if it doesn't the profile must run. On the other hand exists will test 
 for the existence of the file and if it is there will run the profile.
 "/>
</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
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
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

 This is an activator which will detect an operating system's attributes in order to activate
 its profile.
 "/>
</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
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
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
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
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

 This is the property specification used to activate a profile. If the value field is empty,
 then the existence of the named property will activate the profile, otherwise it does a case-sensitive
 match against the property value as well.
 "/>
</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
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
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+

 This element specifies a directory containing the source
 of the project. The generated build system will compile
 the source in this directory when the project is built.
 The path given is relative to the project descriptor.
 "/>
</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

 This element specifies a directory containing the script sources
 of the project. This directory is meant to be different from the
 sourceDirectory, in that its contents will be copied to the output
 directory in most cases (since scripts are interpreted rather than
 compiled).
 "/>
</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

 This element specifies a directory containing the unit test
 source of the project. The generated build system will
 compile these directories when the project is being tested.
 The unit tests must use the JUnit test framework.
 The path given is relative to the project descriptor.
 "/>
</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

 The directory where compiled application classes are placed.
 "/>
</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

 The directory where compiled test classes are placed.
 "/>
</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
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+

 The default goal (or phase in Maven 2) to execute when none is specified for the project.
 "/>
</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+

 This element describes all of the resources associated with a 
 project or unit tests. Each resource is described by a resource 
 element, which is then described by additional elements (described 
 &lt;a href="#resource"&gt;below&lt;/a&gt;). These resources are used to complete 
 the jar file or to run unit test.
 "/>
</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

 This element describes all of the resources associated with a 
 project's unit tests. Each resource is described by a resource 
 element, which is then described by additional elements (described
 &lt;a href="#resource"&gt;below&lt;/a&gt;). These resources are used to complete 
 the jar file or to run unit test.
 "/>
</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

 The directory where all files generated by the build is placed.
 "/>
</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

 The filename (including an extension, but with no path information) that the produced artifact
 will be called. The default value is artifactId-version.extension (where extension is derived from
 type).
 "/>
</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

 The list of filter properties files that are used when filtering is enabled.
 "/>
</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

 Default plugin information to be made available for reference by 
 projects derived from this one. This plugin configuration will not
 be validated or bound to the lifecycle unless referenced. Any local
 configuration for a given plugin will override the plugin's entire
 definition here.
 "/>
</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

 The plugins specified here are not validated until they
 are referenced in a POM within the group. This allows the
 specification of a "standard" version for a particular
 plugin.
 "/>
</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+

 The default goal (or phase in Maven 2) to execute when none is specified for the project.
 "/>
</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+

 This element describes all of the resources associated with a 
 project or unit tests. Each resource is described by a resource 
 element, which is then described by additional elements (described 
 &lt;a href="#resource"&gt;below&lt;/a&gt;). These resources are used to complete 
 the jar file or to run unit test.
 "/>
</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

 This element describes all of the resources associated with a 
 project's unit tests. Each resource is described by a resource 
 element, which is then described by additional elements (described
 &lt;a href="#resource"&gt;below&lt;/a&gt;). These resources are used to complete 
 the jar file or to run unit test.
 "/>
</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

 The directory where all files generated by the build is placed.
 "/>
</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

 The filename (including an extension, but with no path information) that the produced artifact
 will be called. The default value is artifactId-version.extension (where extension is derived from
 type).
 "/>
</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

 The list of filter properties files that are used when filtering is enabled.
 "/>
</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

 Default plugin information to be made available for reference by 
 projects derived from this one. This plugin configuration will not
 be validated or bound to the lifecycle unless referenced. Any local
 configuration for a given plugin will override the plugin's entire
 definition here.
 "/>
</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

 The plugins specified here are not validated until they
 are referenced in a POM within the group. This allows the
 specification of a "standard" version for a particular
 plugin.
 "/>
</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
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
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

 Configuration for notifying developers/users when a build is 
 unsuccessful, including user information and notification mode.
 "/>
</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+

 Description of a person who has contributed to the project, but who does
 not have commit privileges. Usually, these contributions come in the
 form of patches submitted.
 "/>
</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+
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+
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+
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+
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+
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+

 The roles the contributor plays in the project. Each role is
 described by a &lt;code&gt;role&lt;/code&gt; element, the body of which is a
 role name.
 "/>
</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+

 The timezone the contributor is in. This is a number in the range -11 to 12.
 "/>
</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+

 Properties about the contributor, such as an instant messenger handle.
 "/>
</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+

 The project group that produced the dependency, e.g.
 &lt;code&gt;geronimo&lt;/code&gt;.
 "/>
</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+

 The unique id for an artifact produced by the project group, e.g.
 &lt;code&gt;germonimo-jms&lt;/code&gt;
 "/>
</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+

 The version of the dependency, e.g. &lt;code&gt;3.2.1&lt;/code&gt;
 "/>
</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+

 The type of dependency. This defaults to &lt;code&gt;jar&lt;/code&gt;.
 Known recognised dependency types are:
 &lt;ul&gt;
 &lt;li&gt;&lt;code&gt;jar&lt;/code&gt;&lt;/li&gt;
 &lt;li&gt;&lt;code&gt;ejb&lt;/code&gt;&lt;/li&gt;
 &lt;li&gt;&lt;code&gt;plugin&lt;/code&gt;&lt;/li&gt;
 &lt;/ul&gt;
 "/>
</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

 The classifier of the dependency. This allows distinguishing two artifacts that belong to the same POM but
 were built differently, and is appended to the filename after the version.
 "/>
</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

 The scope of the dependency - compile, runtime, test. Used to
 calculate the various classpaths used for testing, etc. and for 
 determining which artifacts to include in a distribution of this
 project. For more information, see 
 &lt;a href="http://maven.apache.org/maven2/dependencies-mechanism.html"&gt;Dependency Mechanism&lt;/a&gt;.
 "/>
</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
FOR SYSTEM SCOPE ONLY. This specifies the path on the filesystem for this
 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

 Lists a set of artifacts that should be excluded from this dependency's artifact list when it comes to
 calculating transitive dependencies.
 "/>
</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

 Indicates the dependency is optional for use of this library. While the version of the dependency will be
 taken into account for dependency calculation if the library is used elsewhere, it will not be passed on
 transitively.
 "/>
</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

 Section for management of default dependency information for use in a group of POMs.
 "/>
</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

 The dependencies specified here are not validated until they
 are referenced in a POM within the group. This allows the
 specification of a "standard" version for a particular
 dependency.
 "/>
</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

 Repository contains the information needed for deploying to the remote repoistory
 "/>
</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
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

 A unique identifier for a repository.
 "/>
</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

 Human readable name of the repository
 "/>
</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

 The url of the repository
 "/>
</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
The type of layout this repository uses for locating and storing artifacts - can be "legacy" or
 "default"."/>
</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+

 Information about one of the committers on this project. Derived from
 &lt;code&gt;Contributor&lt;/code&gt;.
 "/>
</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+
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+
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+
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+
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+
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+
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+

 The roles the contributor plays in the project. Each role is
 described by a &lt;code&gt;role&lt;/code&gt; element, the body of which is a
 role name.
 "/>
</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