<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>

<!--
Copyright (c) 2011, 2020 Mia-Software and others.

All rights reserved. This program and the accompanying materials
are made available under the terms of the Eclipse Public License v2.0
which accompanies this distribution, and is available at
http://www.eclipse.org/legal/epl-v20.html

Contributors:
     Gregoire Dupe (Mia-Software) - Bug 361794 - [Restructuring] New customization meta-model
     David Couvrand (Soft-Maint) - Bug 402725 - Need a query to get an image from an URI
     Nicolas Rault (Soft-Maint) - Bug 402725 - Need a query to get an image from an URI
-->

<plugin>

   <extension point="org.eclipse.emf.ecore.generated_package">
      <package
            uri="http://www.eclipse.org/emf/facet/custom/0.2.incubation/custom"
            class="org.eclipse.modisco.facet.custom.metamodel.v0_2_0.custom.CustomPackage"
            genModel="model/custom-0.2.0.genmodel"/>
   </extension>

	<extension point="org.eclipse.emf.ecore.generated_package">
      <package
            uri="http://www.eclipse.org/emf/facet/custom/0.2.incubation/custom_primitive_types"
            class="org.eclipse.modisco.facet.custom.metamodel.v0_2_0.custompt.CustomptPackage"
            genModel="model/custom_primitive_types-0.2.0.genmodel"/>
   </extension>

	<extension point="org.eclipse.emf.ecore.generated_package">
      <package
            uri="http://www.eclipse.org/emf/facet/custom/0.3.incubation/query"
            class="org.eclipse.modisco.facet.custom.metamodel.v0_3_0.query.QueryPackage"
            genModel="model/query-0.3.0.genmodel"/>
   </extension>

</plugin>
