<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>

<!--
     Copyright (c) 2009-2010 Thales Corporate Services S.A.S.
     All rights reserved. This program and the accompanying materials
     are made available under the terms of the Eclipse Public License v1.0
     which accompanies this distribution, and is available at
     http://www.eclipse.org/legal/epl-v10.html
    
     Contributors:
         Thales Corporate Services S.A.S - initial API and implementation
 -->

<plugin>

   <extension point="org.eclipse.emf.ecore.generated_package">
      <package
            uri="http://www.eclipse.org/egf/1.0.0/buildcore"
            class="org.eclipse.egf.portfolio.eclipse.build.buildcore.BuildcorePackage"
            genModel="model/BuildCore.genmodel"/>
   </extension>
   
  <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
      <factory
            uri="http://www.eclipse.org/egf/1.0.0/buildcore"
            class="org.eclipse.egf.portfolio.eclipse.build.buildcore.provider.BuildcoreItemProviderAdapterFactory"
            supportedTypes=
              "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
               org.eclipse.emf.edit.provider.IStructuredItemContentProvider
               org.eclipse.emf.edit.provider.ITreeItemContentProvider
               org.eclipse.emf.edit.provider.IItemLabelProvider
               org.eclipse.emf.edit.provider.IItemPropertySource"/>
   </extension>
   
   
   
   <extension point="org.eclipse.emf.ecore.generated_package">
      <package
            uri="http://www.eclipse.org/egf/1.0.0/buildstep"
            class="org.eclipse.egf.portfolio.eclipse.build.buildstep.BuildstepPackage"
            genModel="model/BuildStep.genmodel"/>
   </extension>
   
   <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
      <factory
            uri="http://www.eclipse.org/egf/1.0.0/buildstep"
            class="org.eclipse.egf.portfolio.eclipse.build.buildstep.provider.BuildstepItemProviderAdapterFactory"
            supportedTypes=
              "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
               org.eclipse.emf.edit.provider.IStructuredItemContentProvider
               org.eclipse.emf.edit.provider.ITreeItemContentProvider
               org.eclipse.emf.edit.provider.IItemLabelProvider
               org.eclipse.emf.edit.provider.IItemPropertySource"/>
   </extension>
   
   <extension point="org.eclipse.emf.edit.childCreationExtenders">
      <extender
            uri="http://www.eclipse.org/egf/1.0.0/buildcore"
            class="org.eclipse.egf.portfolio.eclipse.build.buildstep.provider.BuildstepItemProviderAdapterFactory$BuildcoreChildCreationExtender"
      />
   </extension>   
  
  
  
   <extension point="org.eclipse.emf.ecore.generated_package">
      <package
            uri="http://www.eclipse.org/egf/1.0.0/buildscm"
            class="org.eclipse.egf.portfolio.eclipse.build.buildscm.BuildscmPackage"
            genModel="model/BuildSCM.genmodel"/>
   </extension>
   
   <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
      <factory
            uri="http://www.eclipse.org/egf/1.0.0/buildscm"
            class="org.eclipse.egf.portfolio.eclipse.build.buildscm.provider.BuildscmItemProviderAdapterFactory"
            supportedTypes=
              "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
               org.eclipse.emf.edit.provider.IStructuredItemContentProvider
               org.eclipse.emf.edit.provider.ITreeItemContentProvider
               org.eclipse.emf.edit.provider.IItemLabelProvider
               org.eclipse.emf.edit.provider.IItemPropertySource"/>
   </extension>
   
  <extension point="org.eclipse.emf.edit.childCreationExtenders">
      <extender
            uri="http://www.eclipse.org/egf/1.0.0/buildcore"
            class="org.eclipse.egf.portfolio.eclipse.build.buildscm.provider.BuildscmItemProviderAdapterFactory$BuildcoreChildCreationExtender"
      />
   </extension>   
  
  
  
   <extension point="org.eclipse.emf.ecore.generated_package">
      <package
            uri="http://www.eclipse.org/egf/1.0.0/buildtrigger"
            class="org.eclipse.egf.portfolio.eclipse.build.buildtrigger.BuildtriggerPackage"
            genModel="model/BuildTrigger.genmodel"/>
   </extension>
   
   <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
      <factory
            uri="http://www.eclipse.org/egf/1.0.0/buildtrigger"
            class="org.eclipse.egf.portfolio.eclipse.build.buildtrigger.provider.BuildtriggerItemProviderAdapterFactory"
            supportedTypes=
              "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
               org.eclipse.emf.edit.provider.IStructuredItemContentProvider
               org.eclipse.emf.edit.provider.ITreeItemContentProvider
               org.eclipse.emf.edit.provider.IItemLabelProvider
               org.eclipse.emf.edit.provider.IItemPropertySource"/>
   </extension>
   
   <extension point="org.eclipse.emf.edit.childCreationExtenders">
      <extender
            uri="http://www.eclipse.org/egf/1.0.0/buildcore"
            class="org.eclipse.egf.portfolio.eclipse.build.buildtrigger.provider.BuildtriggerItemProviderAdapterFactory$BuildcoreChildCreationExtender"
      />
   </extension>   
  
  
  
   <extension point="org.eclipse.emf.ecore.extension_parser">
      <parser
            type="egfbuild"
            class="org.eclipse.egf.portfolio.eclipse.build.buildcore.util.BuildcoreResourceFactoryImpl"/>
   </extension>
   
   
   
   <extension
         point="org.eclipse.egf.core.fcore">
      <fcore
            id="egf/Build.fcore">
      </fcore>
      <fcore
            id="egf-generation/Build_generation.fcore">
      </fcore>
      <fcore
            id="egf-generation/BuildCore_generation.fcore">
      </fcore>
      <fcore
            id="egf-generation/BuildSCM_generation.fcore">
      </fcore>
      <fcore
            id="egf-generation/BuildStep_generation.fcore">
      </fcore>
      <fcore
            id="egf-generation/BuildTrigger_generation.fcore">
      </fcore>
   </extension>
   
   
   
    <extension
        point="org.eclipse.egf.pattern.query">
        <query
            id="org.eclipse.egf.portfolio.eclipse.build.ItemPropertiesQuery"
	        name="Item Properties query"
            class="org.eclipse.egf.portfolio.eclipse.build.ItemPropertiesQuery"
        />
    </extension>
</plugin>
