diff --git a/features/org.eclipse.gmf.sdk-feature/.cvsignore b/features/org.eclipse.gmf.sdk-feature/.cvsignore
new file mode 100644
index 0000000..eb5a316
--- /dev/null
+++ b/features/org.eclipse.gmf.sdk-feature/.cvsignore
@@ -0,0 +1 @@
+target
diff --git a/features/org.eclipse.gmf.sdk-feature/pom.xml b/features/org.eclipse.gmf.sdk-feature/pom.xml
index 029aa47..27a0e82 100644
--- a/features/org.eclipse.gmf.sdk-feature/pom.xml
+++ b/features/org.eclipse.gmf.sdk-feature/pom.xml
@@ -1,7 +1,7 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.eclipse.gmf</groupId>
-  <artifactId>feature.xml</artifactId>
+  <artifactId>org.eclipse.gmf.sdk.experimental</artifactId>
   <version>2.3.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
   
diff --git a/features/org.eclipse.gmf.sdk.experimental-feature/.cvsignore b/features/org.eclipse.gmf.sdk.experimental-feature/.cvsignore
new file mode 100644
index 0000000..eb5a316
--- /dev/null
+++ b/features/org.eclipse.gmf.sdk.experimental-feature/.cvsignore
@@ -0,0 +1 @@
+target
diff --git a/features/org.eclipse.gmf.sdk.experimental.source-feature/.cvsignore b/features/org.eclipse.gmf.sdk.experimental.source-feature/.cvsignore
new file mode 100644
index 0000000..eb5a316
--- /dev/null
+++ b/features/org.eclipse.gmf.sdk.experimental.source-feature/.cvsignore
@@ -0,0 +1 @@
+target
diff --git a/features/org.eclipse.gmf.sdk.experimental.source-feature/build.properties b/features/org.eclipse.gmf.sdk.experimental.source-feature/build.properties
new file mode 100755
index 0000000..2dd3f91
--- /dev/null
+++ b/features/org.eclipse.gmf.sdk.experimental.source-feature/build.properties
@@ -0,0 +1,15 @@
+###############################################################################
+# Copyright (c) 2005 Borland Software Corporation and others.
+# 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:
+#     Borland Software Corporation - initial API and implementation
+###############################################################################
+bin.includes = feature.xml,\
+               feature.properties,\
+               eclipse_update_120.jpg,\
+               license.html,\
+               epl-v10.html
\ No newline at end of file
diff --git a/features/org.eclipse.gmf.sdk.experimental.source-feature/epl-v10.html b/features/org.eclipse.gmf.sdk.experimental.source-feature/epl-v10.html
new file mode 100755
index 0000000..ed4b196
--- /dev/null
+++ b/features/org.eclipse.gmf.sdk.experimental.source-feature/epl-v10.html
@@ -0,0 +1,328 @@
+<html xmlns:o="urn:schemas-microsoft-com:office:office"
+xmlns:w="urn:schemas-microsoft-com:office:word"
+xmlns="http://www.w3.org/TR/REC-html40">
+
+<head>
+<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
+<meta name=ProgId content=Word.Document>
+<meta name=Generator content="Microsoft Word 9">
+<meta name=Originator content="Microsoft Word 9">
+<link rel=File-List
+href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
+<title>Eclipse Public License - Version 1.0</title>
+<!--[if gte mso 9]><xml>
+ <o:DocumentProperties>
+  <o:Revision>2</o:Revision>
+  <o:TotalTime>3</o:TotalTime>
+  <o:Created>2004-03-05T23:03:00Z</o:Created>
+  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
+  <o:Pages>4</o:Pages>
+  <o:Words>1626</o:Words>
+  <o:Characters>9270</o:Characters>
+   <o:Lines>77</o:Lines>
+  <o:Paragraphs>18</o:Paragraphs>
+  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
+  <o:Version>9.4402</o:Version>
+ </o:DocumentProperties>
+</xml><![endif]--><!--[if gte mso 9]><xml>
+ <w:WordDocument>
+  <w:TrackRevisions/>
+ </w:WordDocument>
+</xml><![endif]-->
+<style>
+<!--
+ /* Font Definitions */
+@font-face
+	{font-family:Tahoma;
+	panose-1:2 11 6 4 3 5 4 4 2 4;
+	mso-font-charset:0;
+	mso-generic-font-family:swiss;
+	mso-font-pitch:variable;
+	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
+ /* Style Definitions */
+p.MsoNormal, li.MsoNormal, div.MsoNormal
+	{mso-style-parent:"";
+	margin:0in;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";}
+p
+	{margin-right:0in;
+	mso-margin-top-alt:auto;
+	mso-margin-bottom-alt:auto;
+	margin-left:0in;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";}
+p.BalloonText, li.BalloonText, div.BalloonText
+	{mso-style-name:"Balloon Text";
+	margin:0in;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	font-size:8.0pt;
+	font-family:Tahoma;
+	mso-fareast-font-family:"Times New Roman";}
+@page Section1
+	{size:8.5in 11.0in;
+	margin:1.0in 1.25in 1.0in 1.25in;
+	mso-header-margin:.5in;
+	mso-footer-margin:.5in;
+	mso-paper-source:0;}
+div.Section1
+	{page:Section1;}
+-->
+</style>
+</head>
+
+<body lang=EN-US style='tab-interval:.5in'>
+
+<div class=Section1>
+
+<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
+</p>
+
+<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
+THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
+REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
+OF THIS AGREEMENT.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
+
+<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+in the case of the initial Contributor, the initial code and documentation
+distributed under this Agreement, and<br clear=left>
+b) in the case of each subsequent Contributor:</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
+changes to the Program, and</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
+additions to the Program;</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
+such changes and/or additions to the Program originate from and are distributed
+by that particular Contributor. A Contribution 'originates' from a Contributor
+if it was added to the Program by such Contributor itself or anyone acting on
+such Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in conjunction
+with the Program under their own license agreement, and (ii) are not derivative
+works of the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
+entity that distributes the Program.</span> </p>
+
+<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
+claims licensable by a Contributor which are necessarily infringed by the use
+or sale of its Contribution alone or when combined with the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
+distributed in accordance with this Agreement.</span> </p>
+
+<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
+receives the Program under this Agreement, including all Contributors.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+Subject to the terms of this Agreement, each Contributor hereby grants Recipient
+a non-exclusive, worldwide, royalty-free copyright license to<span
+style='color:red'> </span>reproduce, prepare derivative works of, publicly
+display, publicly perform, distribute and sublicense the Contribution of such
+Contributor, if any, and such derivative works, in source code and object code
+form.</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
+Subject to the terms of this Agreement, each Contributor hereby grants
+Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
+patent license under Licensed Patents to make, use, sell, offer to sell, import
+and otherwise transfer the Contribution of such Contributor, if any, in source
+code and object code form. This patent license shall apply to the combination
+of the Contribution and the Program if, at the time the Contribution is added
+by the Contributor, such addition of the Contribution causes such combination
+to be covered by the Licensed Patents. The patent license shall not apply to
+any other combinations which include the Contribution. No hardware per se is
+licensed hereunder. </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
+Recipient understands that although each Contributor grants the licenses to its
+Contributions set forth herein, no assurances are provided by any Contributor
+that the Program does not infringe the patent or other intellectual property
+rights of any other entity. Each Contributor disclaims any liability to Recipient
+for claims brought by any other entity based on infringement of intellectual
+property rights or otherwise. As a condition to exercising the rights and
+licenses granted hereunder, each Recipient hereby assumes sole responsibility
+to secure any other intellectual property rights needed, if any. For example,
+if a third party patent license is required to allow Recipient to distribute
+the Program, it is Recipient's responsibility to acquire that license before
+distributing the Program.</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
+Each Contributor represents that to its knowledge it has sufficient copyright
+rights in its Contribution, if any, to grant the copyright license set forth in
+this Agreement. </span></p>
+
+<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
+
+<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
+Program in object code form under its own license agreement, provided that:</span>
+</p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+it complies with the terms and conditions of this Agreement; and</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
+its license agreement:</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
+effectively disclaims on behalf of all Contributors all warranties and
+conditions, express and implied, including warranties or conditions of title
+and non-infringement, and implied warranties or conditions of merchantability
+and fitness for a particular purpose; </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
+effectively excludes on behalf of all Contributors all liability for damages,
+including direct, indirect, special, incidental and consequential damages, such
+as lost profits; </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
+states that any provisions which differ from this Agreement are offered by that
+Contributor alone and not by any other party; and</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
+states that source code for the Program is available from such Contributor, and
+informs licensees how to obtain it in a reasonable manner on or through a
+medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
+
+<p><span style='font-size:10.0pt'>When the Program is made available in source
+code form:</span> </p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+it must be made available under this Agreement; and </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
+copy of this Agreement must be included with each copy of the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
+copyright notices contained within the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
+originator of its Contribution, if any, in a manner that reasonably allows
+subsequent Recipients to identify the originator of the Contribution. </span></p>
+
+<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
+
+<p><span style='font-size:10.0pt'>Commercial distributors of software may
+accept certain responsibilities with respect to end users, business partners
+and the like. While this license is intended to facilitate the commercial use
+of the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create potential
+liability for other Contributors. Therefore, if a Contributor includes the
+Program in a commercial product offering, such Contributor (&quot;Commercial
+Contributor&quot;) hereby agrees to defend and indemnify every other
+Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
+costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
+legal actions brought by a third party against the Indemnified Contributor to
+the extent caused by the acts or omissions of such Commercial Contributor in
+connection with its distribution of the Program in a commercial product
+offering. The obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In order
+to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
+Contributor in writing of such claim, and b) allow the Commercial Contributor
+to control, and cooperate with the Commercial Contributor in, the defense and
+any related settlement negotiations. The Indemnified Contributor may participate
+in any such claim at its own expense.</span> </p>
+
+<p><span style='font-size:10.0pt'>For example, a Contributor might include the
+Program in a commercial product offering, Product X. That Contributor is then a
+Commercial Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance claims and
+warranties are such Commercial Contributor's responsibility alone. Under this
+section, the Commercial Contributor would have to defend claims against the
+other Contributors related to those performance claims and warranties, and if a
+court requires any other Contributor to pay any damages as a result, the
+Commercial Contributor must pay those damages.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
+
+<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
+WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
+WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and distributing the
+Program and assumes all risks associated with its exercise of rights under this
+Agreement , including but not limited to the risks and costs of program errors,
+compliance with applicable laws, damage to or loss of data, programs or
+equipment, and unavailability or interruption of operations. </span></p>
+
+<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
+
+<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
+THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
+THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
+
+<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
+or unenforceable under applicable law, it shall not affect the validity or
+enforceability of the remainder of the terms of this Agreement, and without
+further action by the parties hereto, such provision shall be reformed to the
+minimum extent necessary to make such provision valid and enforceable.</span> </p>
+
+<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
+against any entity (including a cross-claim or counterclaim in a lawsuit)
+alleging that the Program itself (excluding combinations of the Program with
+other software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the date
+such litigation is filed. </span></p>
+
+<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
+shall terminate if it fails to comply with any of the material terms or
+conditions of this Agreement and does not cure such failure in a reasonable
+period of time after becoming aware of such noncompliance. If all Recipient's
+rights under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive. </span></p>
+
+<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
+copies of this Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The Agreement
+Steward reserves the right to publish new versions (including revisions) of
+this Agreement from time to time. No one other than the Agreement Steward has
+the right to modify this Agreement. The Eclipse Foundation is the initial
+Agreement Steward. The Eclipse Foundation may assign the responsibility to
+serve as the Agreement Steward to a suitable separate entity. Each new version
+of the Agreement will be given a distinguishing version number. The Program
+(including Contributions) may always be distributed subject to the version of
+the Agreement under which it was received. In addition, after a new version of
+the Agreement is published, Contributor may elect to distribute the Program
+(including its Contributions) under the new version. Except as expressly stated
+in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
+the intellectual property of any Contributor under this Agreement, whether
+expressly, by implication, estoppel or otherwise. All rights in the Program not
+expressly granted under this Agreement are reserved.</span> </p>
+
+<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
+State of New York and the intellectual property laws of the United States of
+America. No party to this Agreement will bring a legal action under this
+Agreement more than one year after the cause of action arose. Each party waives
+its rights to a jury trial in any resulting litigation.</span> </p>
+
+<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
+
+</div>
+
+</body>
+
+</html>
\ No newline at end of file
diff --git a/features/org.eclipse.gmf.sdk.experimental.source-feature/feature.properties b/features/org.eclipse.gmf.sdk.experimental.source-feature/feature.properties
new file mode 100755
index 0000000..b297174
--- /dev/null
+++ b/features/org.eclipse.gmf.sdk.experimental.source-feature/feature.properties
@@ -0,0 +1,155 @@
+###############################################################################
+# Copyright (c) 2006, 2010 Borland Software Corporation and others.
+# 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:
+#     Borland Software Corporation - initial API and implementation
+###############################################################################
+
+# This file should be translated.
+
+# "featureName" property - name of the feature
+featureName=GMF Experimental SDK - Sources
+
+# "providerName" property - name of the company that provides the feature
+providerName=Eclipse Modeling Project
+
+# "updateSiteName" property - label for the update site
+updateSiteName=Graphical Modeling Framework (GMF) Updates
+
+# "description" property - description of the feature
+description=Source for the Graphical Modeling Framework Experimental SDK
+
+# "licenseURL" property - URL of the "Feature License"
+# do not translate value - just change to point to a locale-specific HTML page
+licenseURL=license.html
+
+# "license" property - text of the "Feature Update License"
+# should be plain text version of license agreement pointed to be "licenseURL"
+license=\
+Eclipse Foundation Software User Agreement\n\
+April 14, 2010\n\
+\n\
+Usage Of Content\n\
+\n\
+THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
+OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
+USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
+AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
+NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU\n\
+AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
+AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
+OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE\n\
+TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
+OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
+BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
+\n\
+Applicable Licenses\n\
+\n\
+Unless otherwise indicated, all Content made available by the\n\
+Eclipse Foundation is provided to you under the terms and conditions of\n\
+the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\
+provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
+For purposes of the EPL, "Program" will mean the Content.\n\
+\n\
+Content includes, but is not limited to, source code, object code,\n\
+documentation and other files maintained in the Eclipse Foundation source code\n\
+repository ("Repository") in software modules ("Modules") and made available\n\
+as downloadable archives ("Downloads").\n\
+\n\
+       - Content may be structured and packaged into modules to facilitate delivering,\n\
+         extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
+         plug-in fragments ("Fragments"), and features ("Features").\n\
+       - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\
+         in a directory named "plugins".\n\
+       - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
+         Each Feature may be packaged as a sub-directory in a directory named "features".\n\
+         Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
+         numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
+       - Features may also include other Features ("Included Features"). Within a Feature, files\n\
+         named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
+\n\
+The terms and conditions governing Plug-ins and Fragments should be\n\
+contained in files named "about.html" ("Abouts"). The terms and\n\
+conditions governing Features and Included Features should be contained\n\
+in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
+Licenses may be located in any directory of a Download or Module\n\
+including, but not limited to the following locations:\n\
+\n\
+       - The top-level (root) directory\n\
+       - Plug-in and Fragment directories\n\
+       - Inside Plug-ins and Fragments packaged as JARs\n\
+       - Sub-directories of the directory named "src" of certain Plug-ins\n\
+       - Feature directories\n\
+\n\
+Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
+Provisioning Technology (as defined below), you must agree to a license ("Feature \n\
+Update License") during the installation process. If the Feature contains\n\
+Included Features, the Feature Update License should either provide you\n\
+with the terms and conditions governing the Included Features or inform\n\
+you where you can locate them. Feature Update Licenses may be found in\n\
+the "license" property of files named "feature.properties" found within a Feature.\n\
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\
+terms and conditions (or references to such terms and conditions) that\n\
+govern your use of the associated Content in that directory.\n\
+\n\
+THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\
+TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
+SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
+\n\
+       - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
+       - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
+       - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
+       - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
+       - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
+\n\
+IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
+TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\
+is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
+govern that particular Content.\n\
+\n\
+\n\Use of Provisioning Technology\n\
+\n\
+The Eclipse Foundation makes available provisioning software, examples of which include,\n\
+but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\
+the purpose of allowing users to install software, documentation, information and/or\n\
+other materials (collectively "Installable Software"). This capability is provided with\n\
+the intent of allowing such users to install, extend and update Eclipse-based products.\n\
+Information about packaging Installable Software is available at\n\
+http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\
+\n\
+You may use Provisioning Technology to allow other parties to install Installable Software.\n\
+You shall be responsible for enabling the applicable license agreements relating to the\n\
+Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\
+in accordance with the Specification. By using Provisioning Technology in such a manner and\n\
+making it available in accordance with the Specification, you further acknowledge your\n\
+agreement to, and the acquisition of all necessary rights to permit the following:\n\
+\n\
+       1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\
+          the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\
+          extending or updating the functionality of an Eclipse-based product.\n\
+       2. During the Provisioning Process, the Provisioning Technology may cause third party\n\
+          Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\
+       3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\
+          govern the use of the Installable Software ("Installable Software Agreement") and such\n\
+          Installable Software Agreement shall be accessed from the Target Machine in accordance\n\
+          with the Specification. Such Installable Software Agreement must inform the user of the\n\
+          terms and conditions that govern the Installable Software and must solicit acceptance by\n\
+          the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\
+          indication of agreement by the user, the provisioning Technology will complete installation\n\
+          of the Installable Software.\n\
+\n\
+Cryptography\n\
+\n\
+Content may contain encryption software. The country in which you are\n\
+currently may have restrictions on the import, possession, and use,\n\
+and/or re-export to another country, of encryption software. BEFORE\n\
+using any encryption software, please check the country's laws,\n\
+regulations and policies concerning the import, possession, or use, and\n\
+re-export of encryption software, to see if this is permitted.\n\
+\n\
+Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n
+########### end of license property ##########################################
diff --git a/features/org.eclipse.gmf.sdk.experimental.source-feature/feature.xml b/features/org.eclipse.gmf.sdk.experimental.source-feature/feature.xml
new file mode 100755
index 0000000..65ca706
--- /dev/null
+++ b/features/org.eclipse.gmf.sdk.experimental.source-feature/feature.xml
@@ -0,0 +1,149 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="org.eclipse.gmf.sdk.experimental.source"
+      label="%featureName"
+      version="1.1.1.qualifier"
+      provider-name="%providerName">
+
+   <description url="http://www.eclipse.org/gmf">
+      %description
+   </description>
+
+   <copyright url="http://www.eclipse.org/legal/epl-v10.html">
+      Copyright (c) 2011, BonitaSoft S.A. and other.
+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
+   </copyright>
+
+   <license url="%licenseURL">
+      %license
+   </license>
+
+   <url>
+      <update label="%updateSiteName" url="http://download.eclipse.org/modeling/gmf/updates/releases/"/>
+   </url>
+
+   <includes
+         id="org.eclipse.gmf.runtime.thirdparty"
+         version="0.0.0"/>
+
+   <includes
+         id="org.eclipse.gmf.sdk.experimental.source"
+         version="0.0.0"/>
+
+   <requires>
+      <import plugin="org.eclipse.core.runtime" version="3.3.0" match="compatible"/>
+      <import plugin="org.eclipse.emf.codegen.ecore" version="2.3.0" match="compatible"/>
+      <import plugin="org.eclipse.gmf.common" version="1.1.0" match="compatible"/>
+      <import plugin="org.eclipse.gmf.codegen" version="2.0.0" match="compatible"/>
+      <import plugin="org.eclipse.gmf.xpand" version="2.0.0" match="compatible"/>
+      <import plugin="org.eclipse.core.resources" version="3.3.0" match="compatible"/>
+      <import plugin="org.eclipse.ui" version="3.3.0" match="compatible"/>
+      <import plugin="org.eclipse.gmf.codegen.lite" version="1.1.0" match="compatible"/>
+      <import plugin="org.eclipse.gmf.codegen.ui" version="1.1.0" match="compatible"/>
+      <import plugin="org.eclipse.gmf.bridge.ui.dashboard" version="2.0.0" match="compatible"/>
+      <import plugin="org.eclipse.core.expressions"/>
+      <import plugin="org.eclipse.jface"/>
+      <import plugin="org.eclipse.ui.ide"/>
+      <import plugin="org.eclipse.ui.views"/>
+      <import plugin="org.eclipse.ui.navigator"/>
+      <import plugin="org.eclipse.emf.ecore"/>
+      <import plugin="org.eclipse.emf.ecore.xmi"/>
+      <import plugin="org.eclipse.emf.edit.ui"/>
+      <import plugin="org.eclipse.gef"/>
+      <import plugin="org.eclipse.gmf.runtime.emf.core"/>
+      <import plugin="org.eclipse.gmf.runtime.emf.commands.core"/>
+      <import plugin="org.eclipse.gmf.runtime.emf.ui.properties"/>
+      <import plugin="org.eclipse.gmf.runtime.diagram.ui"/>
+      <import plugin="org.eclipse.gmf.runtime.diagram.ui.properties"/>
+      <import plugin="org.eclipse.gmf.runtime.diagram.ui.providers"/>
+      <import plugin="org.eclipse.gmf.runtime.diagram.ui.providers.ide"/>
+      <import plugin="org.eclipse.gmf.runtime.diagram.ui.render"/>
+      <import plugin="org.eclipse.gmf.runtime.diagram.ui.resources.editor"/>
+      <import plugin="org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide"/>
+      <import plugin="org.eclipse.gmf.graphdef"/>
+      <import plugin="org.eclipse.gmf.graphdef.edit"/>
+      <import plugin="org.eclipse.gmf.runtime.draw2d.ui"/>
+      <import plugin="org.eclipse.draw2d"/>
+      <import plugin="org.eclipse.emf.ecore" version="2.3.0" match="compatible"/>
+      <import plugin="org.eclipse.gmf.bridge" version="1.1.0" match="compatible"/>
+      <import plugin="org.eclipse.emf.ecore.xmi" version="2.3.0" match="compatible"/>
+      <import plugin="org.eclipse.emf.common"/>
+      <import plugin="org.eclipse.gmf.runtime.notation"/>
+      <import plugin="org.eclipse.emf.edit"/>
+      <import plugin="org.eclipse.emf.transaction"/>
+      <import plugin="org.eclipse.emf.workspace"/>
+      <import plugin="org.eclipse.ui.views.properties.tabbed"/>
+      <import plugin="org.eclipse.gmf.runtime.notation.providers"/>
+      <import plugin="org.eclipse.ui.navigator.resources"/>
+      <import plugin="org.eclipse.ocl.ecore"/>
+      <import plugin="org.apache.batik.bridge"/>
+      <import plugin="org.apache.batik.css"/>
+      <import plugin="org.apache.batik.dom"/>
+      <import plugin="org.apache.batik.dom.svg"/>
+      <import plugin="org.apache.batik.ext.awt"/>
+      <import plugin="org.apache.batik.svggen"/>
+      <import plugin="org.apache.batik.transcoder"/>
+      <import plugin="org.apache.batik.util"/>
+      <import plugin="org.w3c.dom.svg"/>
+      <import plugin="org.eclipse.ui.workbench"/>
+      <import plugin="org.eclipse.ui.workbench.texteditor"/>
+      <import plugin="org.eclipse.gmf.map"/>
+      <import plugin="org.eclipse.gmf.map.edit"/>
+      <import plugin="org.eclipse.gmf.tooldef"/>
+      <import plugin="org.eclipse.gmf.tooldef.edit"/>
+   </requires>
+
+   <plugin
+         id="org.eclipse.gmf.codegen.lite.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.gmf.codegen.lite.ui.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.gmf.graphdef.editor.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.gmf.bridge.trace.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.gmf.runtime.lite.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.gmf.runtime.lite.svg.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.gmf.map.editor.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+</feature>
diff --git a/features/org.eclipse.gmf.sdk.experimental.source-feature/license.html b/features/org.eclipse.gmf.sdk.experimental.source-feature/license.html
new file mode 100755
index 0000000..c184ca3
--- /dev/null
+++ b/features/org.eclipse.gmf.sdk.experimental.source-feature/license.html
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>Eclipse Foundation Software User Agreement</title>
+</head>
+
+<body lang="EN-US">
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>April 14, 2010</p>
+
+<h3>Usage Of Content</h3>
+
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
+   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
+   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
+   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+
+<h3>Applicable Licenses</h3>
+
+<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
+   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code
+   repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
+
+<ul>
+       <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
+       <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
+       <li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
+      and/or Fragments associated with that Feature.</li>
+       <li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
+</ul>
+
+<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
+Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+       <li>The top-level (root) directory</li>
+       <li>Plug-in and Fragment directories</li>
+       <li>Inside Plug-ins and Fragments packaged as JARs</li>
+       <li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
+       <li>Feature directories</li>
+</ul>
+
+<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license (&quot;Feature Update License&quot;) during the
+installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
+inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
+that directory.</p>
+
+<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+
+<ul>
+       <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+       <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+       <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+       <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
+       <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
+contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
+
+
+<h3>Use of Provisioning Technology</h3>
+
+<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse
+   Update Manager (&quot;Provisioning Technology&quot;) for the purpose of allowing users to install software, documentation, information and/or
+   other materials (collectively &quot;Installable Software&quot;). This capability is provided with the intent of allowing such users to
+   install, extend and update Eclipse-based products. Information about packaging Installable Software is available at <a
+       href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+   (&quot;Specification&quot;).</p>
+
+<p>You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the
+   applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
+   in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the
+   Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:</p>
+
+<ol>
+       <li>A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute the Provisioning Technology
+       on a machine (&quot;Target Machine&quot;) with the intent of installing, extending or updating the functionality of an Eclipse-based
+       product.</li>
+       <li>During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be
+       accessed and copied to the Target Machine.</li>
+       <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable
+       Software (&quot;Installable Software Agreement&quot;) and such Installable Software Agreement shall be accessed from the Target
+       Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern
+       the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such
+       indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.</li>
+</ol>
+
+<h3>Cryptography</h3>
+
+<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
+   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
+   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
+
+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
+</body>
+</html>
diff --git a/features/org.eclipse.gmf.sdk.experimental.source-feature/pom.xml b/features/org.eclipse.gmf.sdk.experimental.source-feature/pom.xml
new file mode 100644
index 0000000..a11e80f
--- /dev/null
+++ b/features/org.eclipse.gmf.sdk.experimental.source-feature/pom.xml
@@ -0,0 +1,14 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.eclipse.gmf</groupId>
+  <artifactId>org.eclipse.gmf.sdk.experimental.source</artifactId>
+  <version>1.1.1-SNAPSHOT</version>
+  <packaging>eclipse-feature</packaging>
+  
+  <parent>
+  	<groupId>org.eclipse.gmf</groupId>
+	<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
+	<version>2.4.0-SNAPSHOT</version>
+	<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
+  </parent>
+</project>
\ No newline at end of file
diff --git a/features/org.eclipse.gmf.tooling.source-feature/build.properties b/features/org.eclipse.gmf.tooling.source-feature/build.properties
new file mode 100755
index 0000000..3d3848c
--- /dev/null
+++ b/features/org.eclipse.gmf.tooling.source-feature/build.properties
@@ -0,0 +1,16 @@
+###############################################################################
+# Copyright (c) 2008 Borland Software Corporation and others.
+# 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:
+#     Borland Software Corporation - initial API and implementation
+###############################################################################
+bin.includes = feature.xml,\
+               feature.properties,\
+               eclipse_update_120.jpg,\
+               license.html,\
+               epl-v10.html
+root=file:rootfiles/epl-v10.html,file:rootfiles/notice.html
\ No newline at end of file
diff --git a/features/org.eclipse.gmf.tooling.source-feature/eclipse_update_120.jpg b/features/org.eclipse.gmf.tooling.source-feature/eclipse_update_120.jpg
new file mode 100755
index 0000000..68e3e02
--- /dev/null
+++ b/features/org.eclipse.gmf.tooling.source-feature/eclipse_update_120.jpg
Binary files differ
diff --git a/features/org.eclipse.gmf.tooling.source-feature/epl-v10.html b/features/org.eclipse.gmf.tooling.source-feature/epl-v10.html
new file mode 100755
index 0000000..ed4b196
--- /dev/null
+++ b/features/org.eclipse.gmf.tooling.source-feature/epl-v10.html
@@ -0,0 +1,328 @@
+<html xmlns:o="urn:schemas-microsoft-com:office:office"
+xmlns:w="urn:schemas-microsoft-com:office:word"
+xmlns="http://www.w3.org/TR/REC-html40">
+
+<head>
+<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
+<meta name=ProgId content=Word.Document>
+<meta name=Generator content="Microsoft Word 9">
+<meta name=Originator content="Microsoft Word 9">
+<link rel=File-List
+href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
+<title>Eclipse Public License - Version 1.0</title>
+<!--[if gte mso 9]><xml>
+ <o:DocumentProperties>
+  <o:Revision>2</o:Revision>
+  <o:TotalTime>3</o:TotalTime>
+  <o:Created>2004-03-05T23:03:00Z</o:Created>
+  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
+  <o:Pages>4</o:Pages>
+  <o:Words>1626</o:Words>
+  <o:Characters>9270</o:Characters>
+   <o:Lines>77</o:Lines>
+  <o:Paragraphs>18</o:Paragraphs>
+  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
+  <o:Version>9.4402</o:Version>
+ </o:DocumentProperties>
+</xml><![endif]--><!--[if gte mso 9]><xml>
+ <w:WordDocument>
+  <w:TrackRevisions/>
+ </w:WordDocument>
+</xml><![endif]-->
+<style>
+<!--
+ /* Font Definitions */
+@font-face
+	{font-family:Tahoma;
+	panose-1:2 11 6 4 3 5 4 4 2 4;
+	mso-font-charset:0;
+	mso-generic-font-family:swiss;
+	mso-font-pitch:variable;
+	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
+ /* Style Definitions */
+p.MsoNormal, li.MsoNormal, div.MsoNormal
+	{mso-style-parent:"";
+	margin:0in;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";}
+p
+	{margin-right:0in;
+	mso-margin-top-alt:auto;
+	mso-margin-bottom-alt:auto;
+	margin-left:0in;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";}
+p.BalloonText, li.BalloonText, div.BalloonText
+	{mso-style-name:"Balloon Text";
+	margin:0in;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	font-size:8.0pt;
+	font-family:Tahoma;
+	mso-fareast-font-family:"Times New Roman";}
+@page Section1
+	{size:8.5in 11.0in;
+	margin:1.0in 1.25in 1.0in 1.25in;
+	mso-header-margin:.5in;
+	mso-footer-margin:.5in;
+	mso-paper-source:0;}
+div.Section1
+	{page:Section1;}
+-->
+</style>
+</head>
+
+<body lang=EN-US style='tab-interval:.5in'>
+
+<div class=Section1>
+
+<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
+</p>
+
+<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
+THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
+REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
+OF THIS AGREEMENT.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
+
+<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+in the case of the initial Contributor, the initial code and documentation
+distributed under this Agreement, and<br clear=left>
+b) in the case of each subsequent Contributor:</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
+changes to the Program, and</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
+additions to the Program;</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
+such changes and/or additions to the Program originate from and are distributed
+by that particular Contributor. A Contribution 'originates' from a Contributor
+if it was added to the Program by such Contributor itself or anyone acting on
+such Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in conjunction
+with the Program under their own license agreement, and (ii) are not derivative
+works of the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
+entity that distributes the Program.</span> </p>
+
+<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
+claims licensable by a Contributor which are necessarily infringed by the use
+or sale of its Contribution alone or when combined with the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
+distributed in accordance with this Agreement.</span> </p>
+
+<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
+receives the Program under this Agreement, including all Contributors.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+Subject to the terms of this Agreement, each Contributor hereby grants Recipient
+a non-exclusive, worldwide, royalty-free copyright license to<span
+style='color:red'> </span>reproduce, prepare derivative works of, publicly
+display, publicly perform, distribute and sublicense the Contribution of such
+Contributor, if any, and such derivative works, in source code and object code
+form.</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
+Subject to the terms of this Agreement, each Contributor hereby grants
+Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
+patent license under Licensed Patents to make, use, sell, offer to sell, import
+and otherwise transfer the Contribution of such Contributor, if any, in source
+code and object code form. This patent license shall apply to the combination
+of the Contribution and the Program if, at the time the Contribution is added
+by the Contributor, such addition of the Contribution causes such combination
+to be covered by the Licensed Patents. The patent license shall not apply to
+any other combinations which include the Contribution. No hardware per se is
+licensed hereunder. </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
+Recipient understands that although each Contributor grants the licenses to its
+Contributions set forth herein, no assurances are provided by any Contributor
+that the Program does not infringe the patent or other intellectual property
+rights of any other entity. Each Contributor disclaims any liability to Recipient
+for claims brought by any other entity based on infringement of intellectual
+property rights or otherwise. As a condition to exercising the rights and
+licenses granted hereunder, each Recipient hereby assumes sole responsibility
+to secure any other intellectual property rights needed, if any. For example,
+if a third party patent license is required to allow Recipient to distribute
+the Program, it is Recipient's responsibility to acquire that license before
+distributing the Program.</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
+Each Contributor represents that to its knowledge it has sufficient copyright
+rights in its Contribution, if any, to grant the copyright license set forth in
+this Agreement. </span></p>
+
+<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
+
+<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
+Program in object code form under its own license agreement, provided that:</span>
+</p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+it complies with the terms and conditions of this Agreement; and</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
+its license agreement:</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
+effectively disclaims on behalf of all Contributors all warranties and
+conditions, express and implied, including warranties or conditions of title
+and non-infringement, and implied warranties or conditions of merchantability
+and fitness for a particular purpose; </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
+effectively excludes on behalf of all Contributors all liability for damages,
+including direct, indirect, special, incidental and consequential damages, such
+as lost profits; </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
+states that any provisions which differ from this Agreement are offered by that
+Contributor alone and not by any other party; and</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
+states that source code for the Program is available from such Contributor, and
+informs licensees how to obtain it in a reasonable manner on or through a
+medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
+
+<p><span style='font-size:10.0pt'>When the Program is made available in source
+code form:</span> </p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+it must be made available under this Agreement; and </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
+copy of this Agreement must be included with each copy of the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
+copyright notices contained within the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
+originator of its Contribution, if any, in a manner that reasonably allows
+subsequent Recipients to identify the originator of the Contribution. </span></p>
+
+<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
+
+<p><span style='font-size:10.0pt'>Commercial distributors of software may
+accept certain responsibilities with respect to end users, business partners
+and the like. While this license is intended to facilitate the commercial use
+of the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create potential
+liability for other Contributors. Therefore, if a Contributor includes the
+Program in a commercial product offering, such Contributor (&quot;Commercial
+Contributor&quot;) hereby agrees to defend and indemnify every other
+Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
+costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
+legal actions brought by a third party against the Indemnified Contributor to
+the extent caused by the acts or omissions of such Commercial Contributor in
+connection with its distribution of the Program in a commercial product
+offering. The obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In order
+to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
+Contributor in writing of such claim, and b) allow the Commercial Contributor
+to control, and cooperate with the Commercial Contributor in, the defense and
+any related settlement negotiations. The Indemnified Contributor may participate
+in any such claim at its own expense.</span> </p>
+
+<p><span style='font-size:10.0pt'>For example, a Contributor might include the
+Program in a commercial product offering, Product X. That Contributor is then a
+Commercial Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance claims and
+warranties are such Commercial Contributor's responsibility alone. Under this
+section, the Commercial Contributor would have to defend claims against the
+other Contributors related to those performance claims and warranties, and if a
+court requires any other Contributor to pay any damages as a result, the
+Commercial Contributor must pay those damages.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
+
+<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
+WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
+WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and distributing the
+Program and assumes all risks associated with its exercise of rights under this
+Agreement , including but not limited to the risks and costs of program errors,
+compliance with applicable laws, damage to or loss of data, programs or
+equipment, and unavailability or interruption of operations. </span></p>
+
+<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
+
+<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
+THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
+THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
+
+<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
+or unenforceable under applicable law, it shall not affect the validity or
+enforceability of the remainder of the terms of this Agreement, and without
+further action by the parties hereto, such provision shall be reformed to the
+minimum extent necessary to make such provision valid and enforceable.</span> </p>
+
+<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
+against any entity (including a cross-claim or counterclaim in a lawsuit)
+alleging that the Program itself (excluding combinations of the Program with
+other software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the date
+such litigation is filed. </span></p>
+
+<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
+shall terminate if it fails to comply with any of the material terms or
+conditions of this Agreement and does not cure such failure in a reasonable
+period of time after becoming aware of such noncompliance. If all Recipient's
+rights under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive. </span></p>
+
+<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
+copies of this Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The Agreement
+Steward reserves the right to publish new versions (including revisions) of
+this Agreement from time to time. No one other than the Agreement Steward has
+the right to modify this Agreement. The Eclipse Foundation is the initial
+Agreement Steward. The Eclipse Foundation may assign the responsibility to
+serve as the Agreement Steward to a suitable separate entity. Each new version
+of the Agreement will be given a distinguishing version number. The Program
+(including Contributions) may always be distributed subject to the version of
+the Agreement under which it was received. In addition, after a new version of
+the Agreement is published, Contributor may elect to distribute the Program
+(including its Contributions) under the new version. Except as expressly stated
+in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
+the intellectual property of any Contributor under this Agreement, whether
+expressly, by implication, estoppel or otherwise. All rights in the Program not
+expressly granted under this Agreement are reserved.</span> </p>
+
+<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
+State of New York and the intellectual property laws of the United States of
+America. No party to this Agreement will bring a legal action under this
+Agreement more than one year after the cause of action arose. Each party waives
+its rights to a jury trial in any resulting litigation.</span> </p>
+
+<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
+
+</div>
+
+</body>
+
+</html>
\ No newline at end of file
diff --git a/features/org.eclipse.gmf.tooling.source-feature/feature.properties b/features/org.eclipse.gmf.tooling.source-feature/feature.properties
new file mode 100755
index 0000000..d20eeb0
--- /dev/null
+++ b/features/org.eclipse.gmf.tooling.source-feature/feature.properties
@@ -0,0 +1,155 @@
+###############################################################################
+# Copyright (c) 2005, 2010 IBM Corporation and others.
+# 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:
+#     IBM Corporation - initial API and implementation
+###############################################################################
+
+# This file should be translated.
+
+# "featureName" property - name of the feature
+featureName=Graphical Modeling Framework Tooling
+
+# "providerName" property - name of the company that provides the feature
+providerName=Eclipse Modeling Project
+
+# "updateSiteName" property - label for the update site
+updateSiteName=Graphical Modeling Framework (GMF) Updates
+
+# "description" property - description of the feature
+description=Graphical Modeling Framework Tooling
+
+# "licenseURL" property - URL of the "Feature License"
+# do not translate value - just change to point to a locale-specific HTML page
+licenseURL=license.html
+
+# "license" property - text of the "Feature Update License"
+# should be plain text version of license agreement pointed to be "licenseURL"
+license=\
+Eclipse Foundation Software User Agreement\n\
+April 14, 2010\n\
+\n\
+Usage Of Content\n\
+\n\
+THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
+OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
+USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
+AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
+NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU\n\
+AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
+AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
+OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE\n\
+TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
+OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
+BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
+\n\
+Applicable Licenses\n\
+\n\
+Unless otherwise indicated, all Content made available by the\n\
+Eclipse Foundation is provided to you under the terms and conditions of\n\
+the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\
+provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
+For purposes of the EPL, "Program" will mean the Content.\n\
+\n\
+Content includes, but is not limited to, source code, object code,\n\
+documentation and other files maintained in the Eclipse Foundation source code\n\
+repository ("Repository") in software modules ("Modules") and made available\n\
+as downloadable archives ("Downloads").\n\
+\n\
+       - Content may be structured and packaged into modules to facilitate delivering,\n\
+         extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
+         plug-in fragments ("Fragments"), and features ("Features").\n\
+       - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\
+         in a directory named "plugins".\n\
+       - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
+         Each Feature may be packaged as a sub-directory in a directory named "features".\n\
+         Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
+         numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
+       - Features may also include other Features ("Included Features"). Within a Feature, files\n\
+         named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
+\n\
+The terms and conditions governing Plug-ins and Fragments should be\n\
+contained in files named "about.html" ("Abouts"). The terms and\n\
+conditions governing Features and Included Features should be contained\n\
+in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
+Licenses may be located in any directory of a Download or Module\n\
+including, but not limited to the following locations:\n\
+\n\
+       - The top-level (root) directory\n\
+       - Plug-in and Fragment directories\n\
+       - Inside Plug-ins and Fragments packaged as JARs\n\
+       - Sub-directories of the directory named "src" of certain Plug-ins\n\
+       - Feature directories\n\
+\n\
+Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
+Provisioning Technology (as defined below), you must agree to a license ("Feature \n\
+Update License") during the installation process. If the Feature contains\n\
+Included Features, the Feature Update License should either provide you\n\
+with the terms and conditions governing the Included Features or inform\n\
+you where you can locate them. Feature Update Licenses may be found in\n\
+the "license" property of files named "feature.properties" found within a Feature.\n\
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\
+terms and conditions (or references to such terms and conditions) that\n\
+govern your use of the associated Content in that directory.\n\
+\n\
+THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\
+TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
+SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
+\n\
+       - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
+       - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
+       - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
+       - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
+       - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
+\n\
+IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
+TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\
+is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
+govern that particular Content.\n\
+\n\
+\n\Use of Provisioning Technology\n\
+\n\
+The Eclipse Foundation makes available provisioning software, examples of which include,\n\
+but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\
+the purpose of allowing users to install software, documentation, information and/or\n\
+other materials (collectively "Installable Software"). This capability is provided with\n\
+the intent of allowing such users to install, extend and update Eclipse-based products.\n\
+Information about packaging Installable Software is available at\n\
+http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\
+\n\
+You may use Provisioning Technology to allow other parties to install Installable Software.\n\
+You shall be responsible for enabling the applicable license agreements relating to the\n\
+Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\
+in accordance with the Specification. By using Provisioning Technology in such a manner and\n\
+making it available in accordance with the Specification, you further acknowledge your\n\
+agreement to, and the acquisition of all necessary rights to permit the following:\n\
+\n\
+       1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\
+          the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\
+          extending or updating the functionality of an Eclipse-based product.\n\
+       2. During the Provisioning Process, the Provisioning Technology may cause third party\n\
+          Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\
+       3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\
+          govern the use of the Installable Software ("Installable Software Agreement") and such\n\
+          Installable Software Agreement shall be accessed from the Target Machine in accordance\n\
+          with the Specification. Such Installable Software Agreement must inform the user of the\n\
+          terms and conditions that govern the Installable Software and must solicit acceptance by\n\
+          the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\
+          indication of agreement by the user, the provisioning Technology will complete installation\n\
+          of the Installable Software.\n\
+\n\
+Cryptography\n\
+\n\
+Content may contain encryption software. The country in which you are\n\
+currently may have restrictions on the import, possession, and use,\n\
+and/or re-export to another country, of encryption software. BEFORE\n\
+using any encryption software, please check the country's laws,\n\
+regulations and policies concerning the import, possession, or use, and\n\
+re-export of encryption software, to see if this is permitted.\n\
+\n\
+Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n
+########### end of license property ##########################################
diff --git a/features/org.eclipse.gmf.tooling.source-feature/feature.xml b/features/org.eclipse.gmf.tooling.source-feature/feature.xml
new file mode 100755
index 0000000..977f9d8
--- /dev/null
+++ b/features/org.eclipse.gmf.tooling.source-feature/feature.xml
@@ -0,0 +1,265 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="org.eclipse.gmf.tooling.source"
+      label="%featureName"
+      version="2.4.0.qualifier"
+      provider-name="%providerName"
+      image="eclipse_update_120.jpg">
+
+   <description url="http://www.eclipse.org/gmf">
+      %description
+   </description>
+
+   <copyright url="http://www.eclipse.org/legal/epl-v10.html">
+      Copyright (c) 2008, 2010 Borland Software Corporation and others.
+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
+   </copyright>
+
+   <license url="%licenseURL">
+      %license
+   </license>
+
+   <url>
+      <update label="%updateSiteName" url="http://download.eclipse.org/modeling/gmf/updates/releases/"/>
+   </url>
+
+   <requires>
+      <import plugin="org.eclipse.core.runtime" version="3.3.0" match="compatible"/>
+      <import plugin="org.eclipse.emf.common.ui" version="2.3.0" match="compatible"/>
+      <import plugin="org.eclipse.emf.codegen" version="2.3.0" match="compatible"/>
+      <import plugin="org.eclipse.emf.codegen.ecore" version="2.3.0" match="compatible"/>
+      <import plugin="org.eclipse.emf.ecore.xmi" version="2.3.0" match="compatible"/>
+      <import plugin="org.eclipse.core.resources" version="3.3.0" match="compatible"/>
+      <import plugin="org.eclipse.ui.ide" version="3.3.0" match="compatible"/>
+      <import plugin="org.eclipse.ui.forms" version="3.3.0" match="compatible"/>
+      <import plugin="org.eclipse.jdt.core" version="3.3.0" match="compatible"/>
+      <import plugin="org.eclipse.jface.text" version="3.3.0" match="compatible"/>
+      <import plugin="org.eclipse.jface" version="3.3.0" match="compatible"/>
+      <import plugin="org.eclipse.jdt.ui" version="3.3.0" match="compatible"/>
+      <import plugin="org.eclipse.core.runtime" version="3.2.0" match="compatible"/>
+      <import plugin="org.eclipse.core.resources" version="3.2.0" match="compatible"/>
+      <import plugin="org.eclipse.emf.ecore" version="2.4.0" match="compatible"/>
+      <import plugin="org.eclipse.emf.codegen.ecore" version="2.4.0" match="compatible"/>
+      <import plugin="org.eclipse.draw2d" version="3.2.0" match="compatible"/>
+      <import plugin="org.eclipse.gmf.validate" version="1.1.0" match="compatible"/>
+      <import plugin="org.eclipse.m2m.qvt.oml" version="3.0.0" match="compatible"/>
+      <import plugin="org.eclipse.gmf.codegen" version="2.0.0" match="compatible"/>
+      <import plugin="org.eclipse.emf.edit" version="2.4.0" match="compatible"/>
+      <import plugin="org.eclipse.emf.ecore.xmi" version="2.4.0" match="compatible"/>
+      <import plugin="org.eclipse.emf.edit.ui" version="2.4.0" match="compatible"/>
+      <import plugin="org.eclipse.emf.codegen.ecore.ui" version="2.3.0" match="compatible"/>
+      <import plugin="org.eclipse.ui" version="3.3.0" match="compatible"/>
+      <import plugin="org.eclipse.gmf.bridge" version="1.1.0" match="compatible"/>
+      <import plugin="org.eclipse.gmf.bridge.ui.dashboard" version="2.0.0" match="compatible"/>
+      <import plugin="org.eclipse.gmf.codegen.edit" version="2.0.0" match="compatible"/>
+      <import plugin="org.eclipse.gmf.graphdef.codegen.ui" version="1.0.0" match="compatible"/>
+      <import plugin="org.eclipse.emf.importer" version="2.3.0" match="compatible"/>
+      <import plugin="org.eclipse.gmf.bridge.ui" version="1.1.0" match="compatible"/>
+      <import plugin="org.eclipse.gmf.common" version="1.1.0" match="compatible"/>
+      <import plugin="org.eclipse.gmf.graphdef" version="2.0.0" match="compatible"/>
+      <import plugin="org.eclipse.gmf.tooldef" version="2.0.0" match="compatible"/>
+      <import plugin="org.eclipse.gmf.map" version="2.0.0" match="compatible"/>
+      <import plugin="org.eclipse.gmf.graphdef.edit" version="2.0.0" match="compatible"/>
+      <import plugin="org.eclipse.gmf.tooldef.edit" version="2.0.0" match="compatible"/>
+      <import plugin="org.eclipse.emf.ecore.edit" version="2.4.0" match="compatible"/>
+      <import plugin="org.eclipse.gmf.runtime.notation" version="1.0.0" match="compatible"/>
+      <import plugin="org.eclipse.gmf.graphdef.codegen" version="2.0.0" match="compatible"/>
+      <import plugin="org.eclipse.emf.common" version="2.3.0" match="compatible"/>
+      <import plugin="org.eclipse.emf.ecore.edit" version="2.3.0" match="compatible"/>
+      <import plugin="org.eclipse.gmf.map.edit" version="2.0.0" match="compatible"/>
+      <import plugin="org.eclipse.emf.ecore.editor" version="2.3.0" match="compatible"/>
+      <import plugin="org.eclipse.emf.ecore" version="2.3.0" match="compatible"/>
+      <import plugin="org.eclipse.pde.ui" version="3.3.0" match="compatible"/>
+      <import plugin="org.eclipse.pde.core" version="3.3.0" match="compatible"/>
+      <import plugin="org.eclipse.emf.edit" version="2.3.0" match="compatible"/>
+      <import plugin="org.eclipse.emf.edit.ui" version="2.3.0" match="compatible"/>
+      <import plugin="org.eclipse.emf.validation" version="1.1.0" match="compatible"/>
+      <import plugin="org.eclipse.ocl.ecore" version="3.0.0" match="compatible"/>
+      <import plugin="org.eclipse.core.expressions"/>
+      <import plugin="org.eclipse.ui.views"/>
+      <import plugin="org.eclipse.ui.navigator"/>
+      <import plugin="org.eclipse.gef"/>
+      <import plugin="org.eclipse.gmf.runtime.emf.core"/>
+      <import plugin="org.eclipse.gmf.runtime.emf.commands.core"/>
+      <import plugin="org.eclipse.gmf.runtime.emf.ui.properties"/>
+      <import plugin="org.eclipse.gmf.runtime.diagram.ui"/>
+      <import plugin="org.eclipse.gmf.runtime.diagram.ui.printing.render"/>
+      <import plugin="org.eclipse.gmf.runtime.diagram.ui.printing"/>
+      <import plugin="org.eclipse.gmf.runtime.diagram.ui.properties"/>
+      <import plugin="org.eclipse.gmf.runtime.diagram.ui.providers"/>
+      <import plugin="org.eclipse.gmf.runtime.diagram.ui.providers.ide"/>
+      <import plugin="org.eclipse.gmf.runtime.diagram.ui.render"/>
+      <import plugin="org.eclipse.gmf.runtime.diagram.ui.resources.editor"/>
+      <import plugin="org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide"/>
+      <import plugin="org.eclipse.gmf.runtime.draw2d.ui"/>
+      <import plugin="org.eclipse.ui.navigator.resources"/>
+      <import plugin="org.eclipse.emf.ecore" version="2.2.0" match="compatible"/>
+      <import plugin="org.eclipse.gmf.xpand.qvtlibrary" version="1.0.0" match="compatible"/>
+      <import plugin="org.eclipse.ui" version="3.2.0" match="compatible"/>
+      <import plugin="org.eclipse.text" version="3.2.0" match="compatible"/>
+      <import plugin="org.eclipse.jface.text" version="3.2.0" match="compatible"/>
+      <import plugin="org.eclipse.ui.editors" version="3.2.0" match="compatible"/>
+      <import plugin="org.eclipse.ui.workbench.texteditor" version="3.2.0" match="compatible"/>
+      <import plugin="org.eclipse.ui.views" version="3.2.0" match="compatible"/>
+      <import plugin="org.eclipse.ui.ide" version="3.2.0" match="compatible"/>
+      <import plugin="org.eclipse.swt" version="3.3.0" match="compatible"/>
+      <import plugin="org.eclipse.gmf.xpand" version="2.1.0" match="compatible"/>
+      <import plugin="org.eclipse.gmf.common" version="1.2.0" match="compatible"/>
+      <import plugin="org.eclipse.m2m.qvt.oml.runtime" version="2.0.0"/>
+      <import plugin="org.eclipse.m2m.qvt.oml.common" version="2.1.0"/>
+      <import plugin="org.eclipse.m2m.qvt.oml.project" version="2.1.0"/>
+      <import plugin="org.eclipse.m2m.qvt.oml.runtime" version="2.1.0"/>
+      <import plugin="lpg.runtime.java" version="2.0.17" match="compatible"/>
+   </requires>
+
+   <plugin
+         id="org.eclipse.gmf.common.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.gmf.codegen.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.gmf.codegen.edit.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.gmf.codegen.ui.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.gmf.graphdef.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.gmf.graphdef.edit.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.gmf.map.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.gmf.map.edit.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.gmf.bridge.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.gmf.bridge.ui.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.gmf.bridge.ui.dashboard.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.gmf.tooling.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.gmf.graphdef.codegen.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.gmf.graphdef.codegen.ui.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.gmf.tooldef.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.gmf.tooldef.edit.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.gmf.validate.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.gmf.ecore.editor.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.gmf.xpand.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.gmf.xpand.editor.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.gmf.xpand.qvtlibrary.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+</feature>
diff --git a/features/org.eclipse.gmf.tooling.source-feature/license.html b/features/org.eclipse.gmf.tooling.source-feature/license.html
new file mode 100755
index 0000000..c184ca3
--- /dev/null
+++ b/features/org.eclipse.gmf.tooling.source-feature/license.html
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>Eclipse Foundation Software User Agreement</title>
+</head>
+
+<body lang="EN-US">
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>April 14, 2010</p>
+
+<h3>Usage Of Content</h3>
+
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
+   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
+   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
+   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+
+<h3>Applicable Licenses</h3>
+
+<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
+   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code
+   repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
+
+<ul>
+       <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
+       <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
+       <li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
+      and/or Fragments associated with that Feature.</li>
+       <li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
+</ul>
+
+<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
+Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+       <li>The top-level (root) directory</li>
+       <li>Plug-in and Fragment directories</li>
+       <li>Inside Plug-ins and Fragments packaged as JARs</li>
+       <li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
+       <li>Feature directories</li>
+</ul>
+
+<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license (&quot;Feature Update License&quot;) during the
+installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
+inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
+that directory.</p>
+
+<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+
+<ul>
+       <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+       <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+       <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+       <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
+       <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
+contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
+
+
+<h3>Use of Provisioning Technology</h3>
+
+<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse
+   Update Manager (&quot;Provisioning Technology&quot;) for the purpose of allowing users to install software, documentation, information and/or
+   other materials (collectively &quot;Installable Software&quot;). This capability is provided with the intent of allowing such users to
+   install, extend and update Eclipse-based products. Information about packaging Installable Software is available at <a
+       href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+   (&quot;Specification&quot;).</p>
+
+<p>You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the
+   applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
+   in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the
+   Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:</p>
+
+<ol>
+       <li>A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute the Provisioning Technology
+       on a machine (&quot;Target Machine&quot;) with the intent of installing, extending or updating the functionality of an Eclipse-based
+       product.</li>
+       <li>During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be
+       accessed and copied to the Target Machine.</li>
+       <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable
+       Software (&quot;Installable Software Agreement&quot;) and such Installable Software Agreement shall be accessed from the Target
+       Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern
+       the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such
+       indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.</li>
+</ol>
+
+<h3>Cryptography</h3>
+
+<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
+   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
+   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
+
+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
+</body>
+</html>
diff --git a/features/org.eclipse.gmf.tooling.source-feature/pom.xml b/features/org.eclipse.gmf.tooling.source-feature/pom.xml
new file mode 100644
index 0000000..a850755
--- /dev/null
+++ b/features/org.eclipse.gmf.tooling.source-feature/pom.xml
@@ -0,0 +1,14 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.eclipse.gmf</groupId>
+  <artifactId>org.eclipse.gmf.tooling.source</artifactId>
+  <version>2.4.0-SNAPSHOT</version>
+  <packaging>eclipse-feature</packaging>
+  
+  <parent>
+  	<groupId>org.eclipse.gmf</groupId>
+	<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
+	<version>2.4.0-SNAPSHOT</version>
+	<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
+  </parent>
+</project>
\ No newline at end of file
diff --git a/features/org.eclipse.gmf.tooling.source-feature/target/feature.xml b/features/org.eclipse.gmf.tooling.source-feature/target/feature.xml
new file mode 100644
index 0000000..16233d6
--- /dev/null
+++ b/features/org.eclipse.gmf.tooling.source-feature/target/feature.xml
@@ -0,0 +1,265 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="org.eclipse.gmf.tooling.source"
+      label="%featureName"
+      version="2.4.0.201105101148"
+      provider-name="%providerName"
+      image="eclipse_update_120.jpg">
+
+   <description url="http://www.eclipse.org/gmf">
+      %description
+   </description>
+
+   <copyright url="http://www.eclipse.org/legal/epl-v10.html">
+      Copyright (c) 2008, 2010 Borland Software Corporation and others.
+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
+   </copyright>
+
+   <license url="%licenseURL">
+      %license
+   </license>
+
+   <url>
+      <update label="%updateSiteName" url="http://download.eclipse.org/modeling/gmf/updates/releases/"/>
+   </url>
+
+   <requires>
+      <import plugin="org.eclipse.core.runtime" version="3.3.0" match="compatible"/>
+      <import plugin="org.eclipse.emf.common.ui" version="2.3.0" match="compatible"/>
+      <import plugin="org.eclipse.emf.codegen" version="2.3.0" match="compatible"/>
+      <import plugin="org.eclipse.emf.codegen.ecore" version="2.3.0" match="compatible"/>
+      <import plugin="org.eclipse.emf.ecore.xmi" version="2.3.0" match="compatible"/>
+      <import plugin="org.eclipse.core.resources" version="3.3.0" match="compatible"/>
+      <import plugin="org.eclipse.ui.ide" version="3.3.0" match="compatible"/>
+      <import plugin="org.eclipse.ui.forms" version="3.3.0" match="compatible"/>
+      <import plugin="org.eclipse.jdt.core" version="3.3.0" match="compatible"/>
+      <import plugin="org.eclipse.jface.text" version="3.3.0" match="compatible"/>
+      <import plugin="org.eclipse.jface" version="3.3.0" match="compatible"/>
+      <import plugin="org.eclipse.jdt.ui" version="3.3.0" match="compatible"/>
+      <import plugin="org.eclipse.core.runtime" version="3.2.0" match="compatible"/>
+      <import plugin="org.eclipse.core.resources" version="3.2.0" match="compatible"/>
+      <import plugin="org.eclipse.emf.ecore" version="2.4.0" match="compatible"/>
+      <import plugin="org.eclipse.emf.codegen.ecore" version="2.4.0" match="compatible"/>
+      <import plugin="org.eclipse.draw2d" version="3.2.0" match="compatible"/>
+      <import plugin="org.eclipse.gmf.validate" version="1.1.0" match="compatible"/>
+      <import plugin="org.eclipse.m2m.qvt.oml" version="3.0.0" match="compatible"/>
+      <import plugin="org.eclipse.gmf.codegen" version="2.0.0" match="compatible"/>
+      <import plugin="org.eclipse.emf.edit" version="2.4.0" match="compatible"/>
+      <import plugin="org.eclipse.emf.ecore.xmi" version="2.4.0" match="compatible"/>
+      <import plugin="org.eclipse.emf.edit.ui" version="2.4.0" match="compatible"/>
+      <import plugin="org.eclipse.emf.codegen.ecore.ui" version="2.3.0" match="compatible"/>
+      <import plugin="org.eclipse.ui" version="3.3.0" match="compatible"/>
+      <import plugin="org.eclipse.gmf.bridge" version="1.1.0" match="compatible"/>
+      <import plugin="org.eclipse.gmf.bridge.ui.dashboard" version="2.0.0" match="compatible"/>
+      <import plugin="org.eclipse.gmf.codegen.edit" version="2.0.0" match="compatible"/>
+      <import plugin="org.eclipse.gmf.graphdef.codegen.ui" version="1.0.0" match="compatible"/>
+      <import plugin="org.eclipse.emf.importer" version="2.3.0" match="compatible"/>
+      <import plugin="org.eclipse.gmf.bridge.ui" version="1.1.0" match="compatible"/>
+      <import plugin="org.eclipse.gmf.common" version="1.1.0" match="compatible"/>
+      <import plugin="org.eclipse.gmf.graphdef" version="2.0.0" match="compatible"/>
+      <import plugin="org.eclipse.gmf.tooldef" version="2.0.0" match="compatible"/>
+      <import plugin="org.eclipse.gmf.map" version="2.0.0" match="compatible"/>
+      <import plugin="org.eclipse.gmf.graphdef.edit" version="2.0.0" match="compatible"/>
+      <import plugin="org.eclipse.gmf.tooldef.edit" version="2.0.0" match="compatible"/>
+      <import plugin="org.eclipse.emf.ecore.edit" version="2.4.0" match="compatible"/>
+      <import plugin="org.eclipse.gmf.runtime.notation" version="1.0.0" match="compatible"/>
+      <import plugin="org.eclipse.gmf.graphdef.codegen" version="2.0.0" match="compatible"/>
+      <import plugin="org.eclipse.emf.common" version="2.3.0" match="compatible"/>
+      <import plugin="org.eclipse.emf.ecore.edit" version="2.3.0" match="compatible"/>
+      <import plugin="org.eclipse.gmf.map.edit" version="2.0.0" match="compatible"/>
+      <import plugin="org.eclipse.emf.ecore.editor" version="2.3.0" match="compatible"/>
+      <import plugin="org.eclipse.emf.ecore" version="2.3.0" match="compatible"/>
+      <import plugin="org.eclipse.pde.ui" version="3.3.0" match="compatible"/>
+      <import plugin="org.eclipse.pde.core" version="3.3.0" match="compatible"/>
+      <import plugin="org.eclipse.emf.edit" version="2.3.0" match="compatible"/>
+      <import plugin="org.eclipse.emf.edit.ui" version="2.3.0" match="compatible"/>
+      <import plugin="org.eclipse.emf.validation" version="1.1.0" match="compatible"/>
+      <import plugin="org.eclipse.ocl.ecore" version="3.0.0" match="compatible"/>
+      <import plugin="org.eclipse.core.expressions"/>
+      <import plugin="org.eclipse.ui.views"/>
+      <import plugin="org.eclipse.ui.navigator"/>
+      <import plugin="org.eclipse.gef"/>
+      <import plugin="org.eclipse.gmf.runtime.emf.core"/>
+      <import plugin="org.eclipse.gmf.runtime.emf.commands.core"/>
+      <import plugin="org.eclipse.gmf.runtime.emf.ui.properties"/>
+      <import plugin="org.eclipse.gmf.runtime.diagram.ui"/>
+      <import plugin="org.eclipse.gmf.runtime.diagram.ui.printing.render"/>
+      <import plugin="org.eclipse.gmf.runtime.diagram.ui.printing"/>
+      <import plugin="org.eclipse.gmf.runtime.diagram.ui.properties"/>
+      <import plugin="org.eclipse.gmf.runtime.diagram.ui.providers"/>
+      <import plugin="org.eclipse.gmf.runtime.diagram.ui.providers.ide"/>
+      <import plugin="org.eclipse.gmf.runtime.diagram.ui.render"/>
+      <import plugin="org.eclipse.gmf.runtime.diagram.ui.resources.editor"/>
+      <import plugin="org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide"/>
+      <import plugin="org.eclipse.gmf.runtime.draw2d.ui"/>
+      <import plugin="org.eclipse.ui.navigator.resources"/>
+      <import plugin="org.eclipse.emf.ecore" version="2.2.0" match="compatible"/>
+      <import plugin="org.eclipse.gmf.xpand.qvtlibrary" version="1.0.0" match="compatible"/>
+      <import plugin="org.eclipse.ui" version="3.2.0" match="compatible"/>
+      <import plugin="org.eclipse.text" version="3.2.0" match="compatible"/>
+      <import plugin="org.eclipse.jface.text" version="3.2.0" match="compatible"/>
+      <import plugin="org.eclipse.ui.editors" version="3.2.0" match="compatible"/>
+      <import plugin="org.eclipse.ui.workbench.texteditor" version="3.2.0" match="compatible"/>
+      <import plugin="org.eclipse.ui.views" version="3.2.0" match="compatible"/>
+      <import plugin="org.eclipse.ui.ide" version="3.2.0" match="compatible"/>
+      <import plugin="org.eclipse.swt" version="3.3.0" match="compatible"/>
+      <import plugin="org.eclipse.gmf.xpand" version="2.1.0" match="compatible"/>
+      <import plugin="org.eclipse.gmf.common" version="1.2.0" match="compatible"/>
+      <import plugin="org.eclipse.m2m.qvt.oml.runtime" version="2.0.0"/>
+      <import plugin="org.eclipse.m2m.qvt.oml.common" version="2.1.0"/>
+      <import plugin="org.eclipse.m2m.qvt.oml.project" version="2.1.0"/>
+      <import plugin="org.eclipse.m2m.qvt.oml.runtime" version="2.1.0"/>
+      <import plugin="lpg.runtime.java" version="2.0.17" match="compatible"/>
+   </requires>
+
+   <plugin
+         id="org.eclipse.gmf.common.source"
+         download-size="132"
+         install-size="255"
+         version="1.2.0.201105101148"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.gmf.codegen.source"
+         download-size="528"
+         install-size="3271"
+         version="2.2.200.v20101209-2359"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.gmf.codegen.edit.source"
+         download-size="370"
+         install-size="857"
+         version="2.2.100.201105101148"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.gmf.codegen.ui.source"
+         download-size="48"
+         install-size="96"
+         version="1.1.200.201105101148"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.gmf.graphdef.source"
+         download-size="217"
+         install-size="574"
+         version="2.0.100.201105101148"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.gmf.graphdef.edit.source"
+         download-size="272"
+         install-size="511"
+         version="2.0.200.201105101148"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.gmf.map.source"
+         download-size="144"
+         install-size="435"
+         version="2.2.101.201105101148"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.gmf.map.edit.source"
+         download-size="198"
+         install-size="402"
+         version="2.2.100.201105101148"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.gmf.bridge.source"
+         download-size="99"
+         install-size="245"
+         version="1.1.100.201105101148"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.gmf.bridge.ui.source"
+         download-size="198"
+         install-size="410"
+         version="1.3.0.201105101148"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.gmf.bridge.ui.dashboard.source"
+         download-size="32"
+         install-size="88"
+         version="2.0.100.v20100226-2359"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.gmf.tooling.source"
+         download-size="6"
+         install-size="8"
+         version="2.1.0.201105101148"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.gmf.graphdef.codegen.source"
+         download-size="21"
+         install-size="44"
+         version="2.0.101.v20100901-2359"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.gmf.graphdef.codegen.ui.source"
+         download-size="23"
+         install-size="56"
+         version="1.0.100.v20090114-0940"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.gmf.tooldef.source"
+         download-size="74"
+         install-size="165"
+         version="2.0.0.201105101148"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.gmf.tooldef.edit.source"
+         download-size="118"
+         install-size="231"
+         version="2.0.100.201105101148"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.gmf.validate.source"
+         download-size="98"
+         install-size="208"
+         version="1.2.0.201105101148"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.gmf.ecore.editor.source"
+         download-size="300"
+         install-size="1059"
+         version="2.2.0.v20100315-2359"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.gmf.xpand.source"
+         download-size="321"
+         install-size="702"
+         version="2.1.0.201105101148"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.gmf.xpand.editor.source"
+         download-size="69"
+         install-size="133"
+         version="2.1.0.201105101148"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.gmf.xpand.qvtlibrary.source"
+         download-size="10"
+         install-size="14"
+         version="1.1.0.v20100309-2359"
+         unpack="false"/>
+
+</feature>
diff --git a/features/org.eclipse.gmf.tooling.source-feature/target/local-artifacts.properties b/features/org.eclipse.gmf.tooling.source-feature/target/local-artifacts.properties
new file mode 100644
index 0000000..4172210
--- /dev/null
+++ b/features/org.eclipse.gmf.tooling.source-feature/target/local-artifacts.properties
@@ -0,0 +1,4 @@
+#Tue May 10 11:49:19 CEST 2011
+artifact.attached.p2metadata=/home/mistria/workspaceGMF/org.eclipse.gmf.tooling-root/features/org.eclipse.gmf.tooling.source-feature/target/p2content.xml
+artifact.main=/home/mistria/workspaceGMF/org.eclipse.gmf.tooling-root/features/org.eclipse.gmf.tooling.source-feature/target/org.eclipse.gmf.tooling.source-2.4.0-SNAPSHOT.jar
+artifact.attached.p2artifacts=/home/mistria/workspaceGMF/org.eclipse.gmf.tooling-root/features/org.eclipse.gmf.tooling.source-feature/target/p2artifacts.xml
diff --git a/features/org.eclipse.gmf.tooling.source-feature/target/maven-archiver/pom.properties b/features/org.eclipse.gmf.tooling.source-feature/target/maven-archiver/pom.properties
new file mode 100644
index 0000000..1bf8ed7
--- /dev/null
+++ b/features/org.eclipse.gmf.tooling.source-feature/target/maven-archiver/pom.properties
@@ -0,0 +1,5 @@
+#Generated by Maven
+#Tue May 10 11:49:19 CEST 2011
+version=2.4.0-SNAPSHOT
+groupId=org.eclipse.gmf
+artifactId=org.eclipse.gmf.tooling.source
diff --git a/features/org.eclipse.gmf.tooling.source-feature/target/org.eclipse.gmf.tooling.source-2.4.0-SNAPSHOT.jar b/features/org.eclipse.gmf.tooling.source-feature/target/org.eclipse.gmf.tooling.source-2.4.0-SNAPSHOT.jar
new file mode 100644
index 0000000..906c168
--- /dev/null
+++ b/features/org.eclipse.gmf.tooling.source-feature/target/org.eclipse.gmf.tooling.source-2.4.0-SNAPSHOT.jar
Binary files differ
diff --git a/features/org.eclipse.gmf.tooling.source-feature/target/p2artifacts.xml b/features/org.eclipse.gmf.tooling.source-feature/target/p2artifacts.xml
new file mode 100644
index 0000000..95e1340
--- /dev/null
+++ b/features/org.eclipse.gmf.tooling.source-feature/target/p2artifacts.xml
@@ -0,0 +1,15 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<?artifactRepository version='1.1.0'?>
+<artifacts size='1'>
+  <artifact classifier='org.eclipse.update.feature' id='org.eclipse.gmf.tooling.source' version='2.4.0.201105101148'>
+    <properties size='7'>
+      <property name='artifact.size' value='28782'/>
+      <property name='download.size' value='28782'/>
+      <property name='download.md5' value='355ef8cd9e54a49fb3b922f9f87214d9'/>
+      <property name='maven-groupId' value='org.eclipse.gmf'/>
+      <property name='maven-artifactId' value='org.eclipse.gmf.tooling.source'/>
+      <property name='maven-version' value='2.4.0-SNAPSHOT'/>
+      <property name='download.contentType' value='application/zip'/>
+    </properties>
+  </artifact>
+</artifacts>
diff --git a/features/org.eclipse.gmf.tooling.source-feature/target/p2content.xml b/features/org.eclipse.gmf.tooling.source-feature/target/p2content.xml
new file mode 100644
index 0000000..9cd923e
--- /dev/null
+++ b/features/org.eclipse.gmf.tooling.source-feature/target/p2content.xml
@@ -0,0 +1,189 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<units size='2'>
+  <unit id='org.eclipse.gmf.tooling.source.feature.group' version='2.4.0.201105101148' singleton='false'>
+    <update id='org.eclipse.gmf.tooling.source.feature.group' range='[0.0.0,2.4.0.201105101148)' severity='0'/>
+    <properties size='12'>
+      <property name='org.eclipse.equinox.p2.name' value='%featureName'/>
+      <property name='org.eclipse.equinox.p2.description' value='%description'/>
+      <property name='org.eclipse.equinox.p2.description.url' value='http://www.eclipse.org/gmf'/>
+      <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
+      <property name='org.eclipse.equinox.p2.type.group' value='true'/>
+      <property name='maven-groupId' value='org.eclipse.gmf'/>
+      <property name='maven-artifactId' value='org.eclipse.gmf.tooling.source'/>
+      <property name='maven-version' value='2.4.0-SNAPSHOT'/>
+      <property name='df_LT.featureName' value='Graphical Modeling Framework Tooling'/>
+      <property name='df_LT.providerName' value='Eclipse Modeling Project'/>
+      <property name='df_LT.description' value='Graphical Modeling Framework Tooling'/>
+      <property name='df_LT.license' value='Eclipse Foundation Software User Agreement&#xA;April 14, 2010&#xA;&#xA;Usage Of Content&#xA;&#xA;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#xA;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#xA;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#xA;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#xA;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#xA;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#xA;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#xA;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#xA;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#xA;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#xA;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#xA;&#xA;Applicable Licenses&#xA;&#xA;Unless otherwise indicated, all Content made available by the&#xA;Eclipse Foundation is provided to you under the terms and conditions of&#xA;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#xA;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#xA;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#xA;&#xA;Content includes, but is not limited to, source code, object code,&#xA;documentation and other files maintained in the Eclipse Foundation source code&#xA;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#xA;as downloadable archives (&quot;Downloads&quot;).&#xA;&#xA;- Content may be structured and packaged into modules to facilitate delivering,&#xA;extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#xA;plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#xA;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#xA;in a directory named &quot;plugins&quot;.&#xA;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#xA;Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#xA;Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#xA;numbers of the Plug-ins and/or Fragments associated with that Feature.&#xA;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#xA;named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#xA;&#xA;The terms and conditions governing Plug-ins and Fragments should be&#xA;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#xA;conditions governing Features and Included Features should be contained&#xA;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#xA;Licenses may be located in any directory of a Download or Module&#xA;including, but not limited to the following locations:&#xA;&#xA;- The top-level (root) directory&#xA;- Plug-in and Fragment directories&#xA;- Inside Plug-ins and Fragments packaged as JARs&#xA;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#xA;- Feature directories&#xA;&#xA;Note: if a Feature made available by the Eclipse Foundation is installed using the&#xA;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#xA;Update License&quot;) during the installation process. If the Feature contains&#xA;Included Features, the Feature Update License should either provide you&#xA;with the terms and conditions governing the Included Features or inform&#xA;you where you can locate them. Feature Update Licenses may be found in&#xA;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#xA;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#xA;terms and conditions (or references to such terms and conditions) that&#xA;govern your use of the associated Content in that directory.&#xA;&#xA;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#xA;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#xA;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#xA;&#xA;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#xA;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#xA;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#xA;- Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)&#xA;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#xA;&#xA;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#xA;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#xA;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#xA;govern that particular Content.&#xA;&#xA;&#xA;Use of Provisioning Technology&#xA;&#xA;The Eclipse Foundation makes available provisioning software, examples of which include,&#xA;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#xA;the purpose of allowing users to install software, documentation, information and/or&#xA;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#xA;the intent of allowing such users to install, extend and update Eclipse-based products.&#xA;Information about packaging Installable Software is available at&#xA;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#xA;&#xA;You may use Provisioning Technology to allow other parties to install Installable Software.&#xA;You shall be responsible for enabling the applicable license agreements relating to the&#xA;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#xA;in accordance with the Specification. By using Provisioning Technology in such a manner and&#xA;making it available in accordance with the Specification, you further acknowledge your&#xA;agreement to, and the acquisition of all necessary rights to permit the following:&#xA;&#xA;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#xA;the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#xA;extending or updating the functionality of an Eclipse-based product.&#xA;2. During the Provisioning Process, the Provisioning Technology may cause third party&#xA;Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#xA;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#xA;govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#xA;Installable Software Agreement shall be accessed from the Target Machine in accordance&#xA;with the Specification. Such Installable Software Agreement must inform the user of the&#xA;terms and conditions that govern the Installable Software and must solicit acceptance by&#xA;the end user in the manner prescribed in such Installable Software Agreement. Upon such&#xA;indication of agreement by the user, the provisioning Technology will complete installation&#xA;of the Installable Software.&#xA;&#xA;Cryptography&#xA;&#xA;Content may contain encryption software. The country in which you are&#xA;currently may have restrictions on the import, possession, and use,&#xA;and/or re-export to another country, of encryption software. BEFORE&#xA;using any encryption software, please check the country&apos;s laws,&#xA;regulations and policies concerning the import, possession, or use, and&#xA;re-export of encryption software, to see if this is permitted.&#xA;&#xA;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.&#xA;'/>
+    </properties>
+    <provides size='2'>
+      <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.tooling.source.feature.group' version='2.4.0.201105101148'/>
+      <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
+    </provides>
+    <requires size='108'>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.runtime' range='[3.3.0,4.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.emf.common.ui' range='[2.3.0,3.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.emf.codegen' range='[2.3.0,3.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.emf.codegen.ecore' range='[2.3.0,3.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.emf.ecore.xmi' range='[2.3.0,3.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.resources' range='[3.3.0,4.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.ide' range='[3.3.0,4.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.forms' range='[3.3.0,4.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.jdt.core' range='[3.3.0,4.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.jface.text' range='[3.3.0,4.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.jface' range='[3.3.0,4.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.jdt.ui' range='[3.3.0,4.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.runtime' range='[3.2.0,4.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.resources' range='[3.2.0,4.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.emf.ecore' range='[2.4.0,3.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.emf.codegen.ecore' range='[2.4.0,3.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.draw2d' range='[3.2.0,4.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.validate' range='[1.1.0,2.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.m2m.qvt.oml' range='[3.0.0,4.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.codegen' range='[2.0.0,3.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.emf.edit' range='[2.4.0,3.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.emf.ecore.xmi' range='[2.4.0,3.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.emf.edit.ui' range='[2.4.0,3.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.emf.codegen.ecore.ui' range='[2.3.0,3.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui' range='[3.3.0,4.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.bridge' range='[1.1.0,2.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.bridge.ui.dashboard' range='[2.0.0,3.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.codegen.edit' range='[2.0.0,3.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.graphdef.codegen.ui' range='[1.0.0,2.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.emf.importer' range='[2.3.0,3.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.bridge.ui' range='[1.1.0,2.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.common' range='[1.1.0,2.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.graphdef' range='[2.0.0,3.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.tooldef' range='[2.0.0,3.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.map' range='[2.0.0,3.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.graphdef.edit' range='[2.0.0,3.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.tooldef.edit' range='[2.0.0,3.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.emf.ecore.edit' range='[2.4.0,3.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.runtime.notation' range='[1.0.0,2.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.graphdef.codegen' range='[2.0.0,3.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.emf.common' range='[2.3.0,3.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.emf.ecore.edit' range='[2.3.0,3.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.map.edit' range='[2.0.0,3.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.emf.ecore.editor' range='[2.3.0,3.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.emf.ecore' range='[2.3.0,3.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.pde.ui' range='[3.3.0,4.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.pde.core' range='[3.3.0,4.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.emf.edit' range='[2.3.0,3.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.emf.edit.ui' range='[2.3.0,3.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.emf.validation' range='[1.1.0,2.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ocl.ecore' range='[3.0.0,4.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.core.expressions' range='0.0.0'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.views' range='0.0.0'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.navigator' range='0.0.0'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gef' range='0.0.0'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.runtime.emf.core' range='0.0.0'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.runtime.emf.commands.core' range='0.0.0'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.runtime.emf.ui.properties' range='0.0.0'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.runtime.diagram.ui' range='0.0.0'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.runtime.diagram.ui.printing.render' range='0.0.0'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.runtime.diagram.ui.printing' range='0.0.0'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.runtime.diagram.ui.properties' range='0.0.0'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.runtime.diagram.ui.providers' range='0.0.0'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.runtime.diagram.ui.providers.ide' range='0.0.0'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.runtime.diagram.ui.render' range='0.0.0'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.runtime.diagram.ui.resources.editor' range='0.0.0'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide' range='0.0.0'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.runtime.draw2d.ui' range='0.0.0'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.navigator.resources' range='0.0.0'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.emf.ecore' range='[2.2.0,3.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.xpand.qvtlibrary' range='[1.0.0,2.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui' range='[3.2.0,4.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.text' range='[3.2.0,4.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.jface.text' range='[3.2.0,4.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.editors' range='[3.2.0,4.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.workbench.texteditor' range='[3.2.0,4.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.views' range='[3.2.0,4.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.ui.ide' range='[3.2.0,4.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.swt' range='[3.3.0,4.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.xpand' range='[2.1.0,3.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.common' range='[1.2.0,2.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.m2m.qvt.oml.runtime' range='0.0.0'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.m2m.qvt.oml.common' range='0.0.0'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.m2m.qvt.oml.project' range='0.0.0'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.m2m.qvt.oml.runtime' range='0.0.0'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='lpg.runtime.java' range='[2.0.17,3.0.0)'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.common.source' range='[1.2.0.201105101148,1.2.0.201105101148]'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.codegen.source' range='[2.2.200.v20101209-2359,2.2.200.v20101209-2359]'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.codegen.edit.source' range='[2.2.100.201105101148,2.2.100.201105101148]'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.codegen.ui.source' range='[1.1.200.201105101148,1.1.200.201105101148]'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.graphdef.source' range='[2.0.100.201105101148,2.0.100.201105101148]'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.graphdef.edit.source' range='[2.0.200.201105101148,2.0.200.201105101148]'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.map.source' range='[2.2.101.201105101148,2.2.101.201105101148]'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.map.edit.source' range='[2.2.100.201105101148,2.2.100.201105101148]'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.bridge.source' range='[1.1.100.201105101148,1.1.100.201105101148]'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.bridge.ui.source' range='[1.3.0.201105101148,1.3.0.201105101148]'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.bridge.ui.dashboard.source' range='[2.0.100.v20100226-2359,2.0.100.v20100226-2359]'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.tooling.source' range='[2.1.0.201105101148,2.1.0.201105101148]'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.graphdef.codegen.source' range='[2.0.101.v20100901-2359,2.0.101.v20100901-2359]'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.graphdef.codegen.ui.source' range='[1.0.100.v20090114-0940,1.0.100.v20090114-0940]'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.tooldef.source' range='[2.0.0.201105101148,2.0.0.201105101148]'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.tooldef.edit.source' range='[2.0.100.201105101148,2.0.100.201105101148]'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.validate.source' range='[1.2.0.201105101148,1.2.0.201105101148]'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.ecore.editor.source' range='[2.2.0.v20100315-2359,2.2.0.v20100315-2359]'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.xpand.source' range='[2.1.0.201105101148,2.1.0.201105101148]'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.xpand.editor.source' range='[2.1.0.201105101148,2.1.0.201105101148]'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.xpand.qvtlibrary.source' range='[1.1.0.v20100309-2359,1.1.0.v20100309-2359]'/>
+      <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.tooling.source.feature.jar' range='[2.4.0.201105101148,2.4.0.201105101148]'>
+        <filter>
+          (org.eclipse.update.install.features=true)
+        </filter>
+      </required>
+    </requires>
+    <touchpoint id='null' version='0.0.0'/>
+    <licenses size='1'>
+      <license uri='%25licenseURL' url='%25licenseURL'>
+        %license
+      </license>
+    </licenses>
+    <copyright uri='http://www.eclipse.org/legal/epl-v10.html' url='http://www.eclipse.org/legal/epl-v10.html'>
+      Copyright (c) 2008, 2010 Borland Software Corporation and others.&#xA;All rights reserved.   This program and the accompanying materials&#xA;are made available under the terms of the Eclipse Public License v1.0&#xA;which accompanies this distribution, and is available at&#xA;http://www.eclipse.org/legal/epl-v10.html
+    </copyright>
+  </unit>
+  <unit id='org.eclipse.gmf.tooling.source.feature.jar' version='2.4.0.201105101148'>
+    <properties size='11'>
+      <property name='org.eclipse.equinox.p2.name' value='%featureName'/>
+      <property name='org.eclipse.equinox.p2.description' value='%description'/>
+      <property name='org.eclipse.equinox.p2.description.url' value='http://www.eclipse.org/gmf'/>
+      <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
+      <property name='df_LT.featureName' value='Graphical Modeling Framework Tooling'/>
+      <property name='df_LT.providerName' value='Eclipse Modeling Project'/>
+      <property name='df_LT.description' value='Graphical Modeling Framework Tooling'/>
+      <property name='df_LT.license' value='Eclipse Foundation Software User Agreement&#xA;April 14, 2010&#xA;&#xA;Usage Of Content&#xA;&#xA;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#xA;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#xA;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#xA;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#xA;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#xA;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#xA;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#xA;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#xA;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#xA;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#xA;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#xA;&#xA;Applicable Licenses&#xA;&#xA;Unless otherwise indicated, all Content made available by the&#xA;Eclipse Foundation is provided to you under the terms and conditions of&#xA;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#xA;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#xA;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#xA;&#xA;Content includes, but is not limited to, source code, object code,&#xA;documentation and other files maintained in the Eclipse Foundation source code&#xA;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#xA;as downloadable archives (&quot;Downloads&quot;).&#xA;&#xA;- Content may be structured and packaged into modules to facilitate delivering,&#xA;extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#xA;plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#xA;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#xA;in a directory named &quot;plugins&quot;.&#xA;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#xA;Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#xA;Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#xA;numbers of the Plug-ins and/or Fragments associated with that Feature.&#xA;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#xA;named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#xA;&#xA;The terms and conditions governing Plug-ins and Fragments should be&#xA;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#xA;conditions governing Features and Included Features should be contained&#xA;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#xA;Licenses may be located in any directory of a Download or Module&#xA;including, but not limited to the following locations:&#xA;&#xA;- The top-level (root) directory&#xA;- Plug-in and Fragment directories&#xA;- Inside Plug-ins and Fragments packaged as JARs&#xA;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#xA;- Feature directories&#xA;&#xA;Note: if a Feature made available by the Eclipse Foundation is installed using the&#xA;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#xA;Update License&quot;) during the installation process. If the Feature contains&#xA;Included Features, the Feature Update License should either provide you&#xA;with the terms and conditions governing the Included Features or inform&#xA;you where you can locate them. Feature Update Licenses may be found in&#xA;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#xA;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#xA;terms and conditions (or references to such terms and conditions) that&#xA;govern your use of the associated Content in that directory.&#xA;&#xA;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#xA;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#xA;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#xA;&#xA;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#xA;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#xA;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#xA;- Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)&#xA;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#xA;&#xA;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#xA;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#xA;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#xA;govern that particular Content.&#xA;&#xA;&#xA;Use of Provisioning Technology&#xA;&#xA;The Eclipse Foundation makes available provisioning software, examples of which include,&#xA;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#xA;the purpose of allowing users to install software, documentation, information and/or&#xA;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#xA;the intent of allowing such users to install, extend and update Eclipse-based products.&#xA;Information about packaging Installable Software is available at&#xA;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#xA;&#xA;You may use Provisioning Technology to allow other parties to install Installable Software.&#xA;You shall be responsible for enabling the applicable license agreements relating to the&#xA;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#xA;in accordance with the Specification. By using Provisioning Technology in such a manner and&#xA;making it available in accordance with the Specification, you further acknowledge your&#xA;agreement to, and the acquisition of all necessary rights to permit the following:&#xA;&#xA;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#xA;the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#xA;extending or updating the functionality of an Eclipse-based product.&#xA;2. During the Provisioning Process, the Provisioning Technology may cause third party&#xA;Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#xA;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#xA;govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#xA;Installable Software Agreement shall be accessed from the Target Machine in accordance&#xA;with the Specification. Such Installable Software Agreement must inform the user of the&#xA;terms and conditions that govern the Installable Software and must solicit acceptance by&#xA;the end user in the manner prescribed in such Installable Software Agreement. Upon such&#xA;indication of agreement by the user, the provisioning Technology will complete installation&#xA;of the Installable Software.&#xA;&#xA;Cryptography&#xA;&#xA;Content may contain encryption software. The country in which you are&#xA;currently may have restrictions on the import, possession, and use,&#xA;and/or re-export to another country, of encryption software. BEFORE&#xA;using any encryption software, please check the country&apos;s laws,&#xA;regulations and policies concerning the import, possession, or use, and&#xA;re-export of encryption software, to see if this is permitted.&#xA;&#xA;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.&#xA;'/>
+      <property name='maven-groupId' value='org.eclipse.gmf'/>
+      <property name='maven-artifactId' value='org.eclipse.gmf.tooling.source'/>
+      <property name='maven-version' value='2.4.0-SNAPSHOT'/>
+    </properties>
+    <provides size='3'>
+      <provided namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.gmf.tooling.source.feature.jar' version='2.4.0.201105101148'/>
+      <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' version='1.0.0'/>
+      <provided namespace='org.eclipse.update.feature' name='org.eclipse.gmf.tooling.source' version='2.4.0.201105101148'/>
+    </provides>
+    <filter>
+      (org.eclipse.update.install.features=true)
+    </filter>
+    <artifacts size='1'>
+      <artifact classifier='org.eclipse.update.feature' id='org.eclipse.gmf.tooling.source' version='2.4.0.201105101148'/>
+    </artifacts>
+    <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
+    <touchpointData size='1'>
+      <instructions size='1'>
+        <instruction key='zipped'>
+          true
+        </instruction>
+      </instructions>
+    </touchpointData>
+    <licenses size='1'>
+      <license uri='%25licenseURL' url='%25licenseURL'>
+        %license
+      </license>
+    </licenses>
+    <copyright uri='http://www.eclipse.org/legal/epl-v10.html' url='http://www.eclipse.org/legal/epl-v10.html'>
+      Copyright (c) 2008, 2010 Borland Software Corporation and others.&#xA;All rights reserved.   This program and the accompanying materials&#xA;are made available under the terms of the Eclipse Public License v1.0&#xA;which accompanies this distribution, and is available at&#xA;http://www.eclipse.org/legal/epl-v10.html
+    </copyright>
+  </unit>
+</units>
diff --git a/plugins/org.eclipse.gmf.bridge.trace/pom.xml b/plugins/org.eclipse.gmf.bridge.trace/pom.xml
index 3e8de7a..69c9f23 100644
--- a/plugins/org.eclipse.gmf.bridge.trace/pom.xml
+++ b/plugins/org.eclipse.gmf.bridge.trace/pom.xml
@@ -1,15 +1,34 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.eclipse.gmf</groupId>
-  <artifactId>org.eclipse.gmf.bridge.trace</artifactId>
-  <version>1.0.200-SNAPSHOT</version>
-  <packaging>eclipse-plugin</packaging>
-  
-  <parent>
-  	<groupId>org.eclipse.gmf</groupId>
-	<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
-	<version>2.4.0-SNAPSHOT</version>
-	<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
-  </parent>
-  
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>org.eclipse.gmf</groupId>
+	<artifactId>org.eclipse.gmf.bridge.trace</artifactId>
+	<version>1.0.200-SNAPSHOT</version>
+	<packaging>eclipse-plugin</packaging>
+
+	<parent>
+		<groupId>org.eclipse.gmf</groupId>
+		<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
+		<version>2.4.0-SNAPSHOT</version>
+		<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
+	</parent>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-source-plugin</artifactId>
+				<version>${tycho-version}</version>
+				<executions>
+					<execution>
+						<id>attach-source</id>
+						<goals>
+							<goal>plugin-source</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+	</build>
+
 </project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.gmf.bridge.ui.dashboard/pom.xml b/plugins/org.eclipse.gmf.bridge.ui.dashboard/pom.xml
index 489aac5..7deefc5 100644
--- a/plugins/org.eclipse.gmf.bridge.ui.dashboard/pom.xml
+++ b/plugins/org.eclipse.gmf.bridge.ui.dashboard/pom.xml
@@ -1,15 +1,34 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.eclipse.gmf</groupId>
-  <artifactId>org.eclipse.gmf.bridge.dashboard</artifactId>
-  <version>2.0.100-SNAPSHOT</version>
-  <packaging>eclipse-plugin</packaging>
-  
-  <parent>
-  	<groupId>org.eclipse.gmf</groupId>
-	<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
-	<version>2.4.0-SNAPSHOT</version>
-	<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
-  </parent>
-  
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>org.eclipse.gmf</groupId>
+	<artifactId>org.eclipse.gmf.bridge.dashboard</artifactId>
+	<version>2.0.100-SNAPSHOT</version>
+	<packaging>eclipse-plugin</packaging>
+
+	<parent>
+		<groupId>org.eclipse.gmf</groupId>
+		<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
+		<version>2.4.0-SNAPSHOT</version>
+		<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
+	</parent>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-source-plugin</artifactId>
+				<version>${tycho-version}</version>
+				<executions>
+					<execution>
+						<id>attach-source</id>
+						<goals>
+							<goal>plugin-source</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+	</build>
+
 </project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.gmf.bridge.ui/pom.xml b/plugins/org.eclipse.gmf.bridge.ui/pom.xml
index 8ea4d14..ba6fcc7 100644
--- a/plugins/org.eclipse.gmf.bridge.ui/pom.xml
+++ b/plugins/org.eclipse.gmf.bridge.ui/pom.xml
@@ -1,15 +1,34 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.eclipse.gmf</groupId>
-  <artifactId>org.eclipse.gmf.bridge.ui</artifactId>
-  <version>1.3.0-SNAPSHOT</version>
-  <packaging>eclipse-plugin</packaging>
-  
-  <parent>
-  	<groupId>org.eclipse.gmf</groupId>
-	<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
-	<version>2.4.0-SNAPSHOT</version>
-	<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
-  </parent>
-  
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>org.eclipse.gmf</groupId>
+	<artifactId>org.eclipse.gmf.bridge.ui</artifactId>
+	<version>1.3.0-SNAPSHOT</version>
+	<packaging>eclipse-plugin</packaging>
+
+	<parent>
+		<groupId>org.eclipse.gmf</groupId>
+		<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
+		<version>2.4.0-SNAPSHOT</version>
+		<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
+	</parent>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-source-plugin</artifactId>
+				<version>${tycho-version}</version>
+				<executions>
+					<execution>
+						<id>attach-source</id>
+						<goals>
+							<goal>plugin-source</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+	</build>
+
 </project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.gmf.bridge/pom.xml b/plugins/org.eclipse.gmf.bridge/pom.xml
index 9e519e0..52e5a5f 100644
--- a/plugins/org.eclipse.gmf.bridge/pom.xml
+++ b/plugins/org.eclipse.gmf.bridge/pom.xml
@@ -1,15 +1,34 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.eclipse.gmf</groupId>
-  <artifactId>org.eclipse.gmf.bridge</artifactId>
-  <version>1.1.100-SNAPSHOT</version>
-  <packaging>eclipse-plugin</packaging>
-  
-  <parent>
-  	<groupId>org.eclipse.gmf</groupId>
-	<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
-	<version>2.4.0-SNAPSHOT</version>
-	<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
-  </parent>
-  
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>org.eclipse.gmf</groupId>
+	<artifactId>org.eclipse.gmf.bridge</artifactId>
+	<version>1.1.100-SNAPSHOT</version>
+	<packaging>eclipse-plugin</packaging>
+
+	<parent>
+		<groupId>org.eclipse.gmf</groupId>
+		<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
+		<version>2.4.0-SNAPSHOT</version>
+		<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
+	</parent>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-source-plugin</artifactId>
+				<version>${tycho-version}</version>
+				<executions>
+					<execution>
+						<id>attach-source</id>
+						<goals>
+							<goal>plugin-source</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+	</build>
+
 </project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.gmf.codegen.edit/pom.xml b/plugins/org.eclipse.gmf.codegen.edit/pom.xml
index e8e7875..1e58e02 100644
--- a/plugins/org.eclipse.gmf.codegen.edit/pom.xml
+++ b/plugins/org.eclipse.gmf.codegen.edit/pom.xml
@@ -1,15 +1,34 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.eclipse.gmf</groupId>
-  <artifactId>org.eclipse.gmf.codegen.edit</artifactId>
-  <version>2.2.100-SNAPSHOT</version>
-  <packaging>eclipse-plugin</packaging>
-  
-  <parent>
-  	<groupId>org.eclipse.gmf</groupId>
-	<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
-	<version>2.4.0-SNAPSHOT</version>
-	<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
-  </parent>
-  
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>org.eclipse.gmf</groupId>
+	<artifactId>org.eclipse.gmf.codegen.edit</artifactId>
+	<version>2.2.100-SNAPSHOT</version>
+	<packaging>eclipse-plugin</packaging>
+
+	<parent>
+		<groupId>org.eclipse.gmf</groupId>
+		<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
+		<version>2.4.0-SNAPSHOT</version>
+		<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
+	</parent>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-source-plugin</artifactId>
+				<version>${tycho-version}</version>
+				<executions>
+					<execution>
+						<id>attach-source</id>
+						<goals>
+							<goal>plugin-source</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+	</build>
+
 </project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.gmf.codegen.lite.ui/pom.xml b/plugins/org.eclipse.gmf.codegen.lite.ui/pom.xml
index 2b46266..114b019 100644
--- a/plugins/org.eclipse.gmf.codegen.lite.ui/pom.xml
+++ b/plugins/org.eclipse.gmf.codegen.lite.ui/pom.xml
@@ -1,15 +1,34 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.eclipse.gmf</groupId>
-  <artifactId>org.eclipse.gmf.codegen.lite.ui</artifactId>
-  <version>1.1.100-SNAPSHOT</version>
-  <packaging>eclipse-plugin</packaging>
-  
-  <parent>
-  	<groupId>org.eclipse.gmf</groupId>
-	<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
-	<version>2.4.0-SNAPSHOT</version>
-	<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
-  </parent>
-  
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>org.eclipse.gmf</groupId>
+	<artifactId>org.eclipse.gmf.codegen.lite.ui</artifactId>
+	<version>1.1.100-SNAPSHOT</version>
+	<packaging>eclipse-plugin</packaging>
+
+	<parent>
+		<groupId>org.eclipse.gmf</groupId>
+		<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
+		<version>2.4.0-SNAPSHOT</version>
+		<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
+	</parent>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-source-plugin</artifactId>
+				<version>${tycho-version}</version>
+				<executions>
+					<execution>
+						<id>attach-source</id>
+						<goals>
+							<goal>plugin-source</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+	</build>
+
 </project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.gmf.codegen.lite/pom.xml b/plugins/org.eclipse.gmf.codegen.lite/pom.xml
index f86f986..55c346e 100644
--- a/plugins/org.eclipse.gmf.codegen.lite/pom.xml
+++ b/plugins/org.eclipse.gmf.codegen.lite/pom.xml
@@ -1,15 +1,34 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.eclipse.gmf</groupId>
-  <artifactId>org.eclipse.gmf.codegen.lite</artifactId>
-  <version>1.1.200-SNAPSHOT</version>
-  <packaging>eclipse-plugin</packaging>
-  
-  <parent>
-  	<groupId>org.eclipse.gmf</groupId>
-	<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
-	<version>2.4.0-SNAPSHOT</version>
-	<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
-  </parent>
-  
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>org.eclipse.gmf</groupId>
+	<artifactId>org.eclipse.gmf.codegen.lite</artifactId>
+	<version>1.1.200-SNAPSHOT</version>
+	<packaging>eclipse-plugin</packaging>
+
+	<parent>
+		<groupId>org.eclipse.gmf</groupId>
+		<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
+		<version>2.4.0-SNAPSHOT</version>
+		<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
+	</parent>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-source-plugin</artifactId>
+				<version>${tycho-version}</version>
+				<executions>
+					<execution>
+						<id>attach-source</id>
+						<goals>
+							<goal>plugin-source</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+	</build>
+
 </project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.gmf.codegen.ui/pom.xml b/plugins/org.eclipse.gmf.codegen.ui/pom.xml
index f896e35..a43cb7b 100644
--- a/plugins/org.eclipse.gmf.codegen.ui/pom.xml
+++ b/plugins/org.eclipse.gmf.codegen.ui/pom.xml
@@ -1,15 +1,34 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.eclipse.gmf</groupId>
-  <artifactId>org.eclipse.gmf.codegen.ui</artifactId>
-  <version>1.1.200-SNAPSHOT</version>
-  <packaging>eclipse-plugin</packaging>
-  
-  <parent>
-  	<groupId>org.eclipse.gmf</groupId>
-	<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
-	<version>2.4.0-SNAPSHOT</version>
-	<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
-  </parent>
-  
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>org.eclipse.gmf</groupId>
+	<artifactId>org.eclipse.gmf.codegen.ui</artifactId>
+	<version>1.1.200-SNAPSHOT</version>
+	<packaging>eclipse-plugin</packaging>
+
+	<parent>
+		<groupId>org.eclipse.gmf</groupId>
+		<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
+		<version>2.4.0-SNAPSHOT</version>
+		<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
+	</parent>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-source-plugin</artifactId>
+				<version>${tycho-version}</version>
+				<executions>
+					<execution>
+						<id>attach-source</id>
+						<goals>
+							<goal>plugin-source</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+	</build>
+
 </project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.gmf.common/pom.xml b/plugins/org.eclipse.gmf.common/pom.xml
index 3b0ae0e..60bfd8a 100644
--- a/plugins/org.eclipse.gmf.common/pom.xml
+++ b/plugins/org.eclipse.gmf.common/pom.xml
@@ -1,15 +1,34 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.eclipse.gmf</groupId>
-  <artifactId>org.eclipse.gmf.common</artifactId>
-  <version>1.2.0-SNAPSHOT</version>
-  <packaging>eclipse-plugin</packaging>
-  
-  <parent>
-  	<groupId>org.eclipse.gmf</groupId>
-	<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
-	<version>2.4.0-SNAPSHOT</version>
-	<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
-  </parent>
-  
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>org.eclipse.gmf</groupId>
+	<artifactId>org.eclipse.gmf.common</artifactId>
+	<version>1.2.0-SNAPSHOT</version>
+	<packaging>eclipse-plugin</packaging>
+
+	<parent>
+		<groupId>org.eclipse.gmf</groupId>
+		<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
+		<version>2.4.0-SNAPSHOT</version>
+		<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
+	</parent>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-source-plugin</artifactId>
+				<version>${tycho-version}</version>
+				<executions>
+					<execution>
+						<id>attach-source</id>
+						<goals>
+							<goal>plugin-source</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+	</build>
+
 </project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/pom.xml b/plugins/org.eclipse.gmf.graphdef.edit/pom.xml
index aef0876..d22a33e 100644
--- a/plugins/org.eclipse.gmf.graphdef.edit/pom.xml
+++ b/plugins/org.eclipse.gmf.graphdef.edit/pom.xml
@@ -1,15 +1,34 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.eclipse.gmf</groupId>
-  <artifactId>org.eclipse.gmf.graphdef.edit</artifactId>
-  <version>2.0.200-SNAPSHOT</version>
-  <packaging>eclipse-plugin</packaging>
-  
-  <parent>
-  	<groupId>org.eclipse.gmf</groupId>
-	<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
-	<version>2.4.0-SNAPSHOT</version>
-	<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
-  </parent>
-  
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>org.eclipse.gmf</groupId>
+	<artifactId>org.eclipse.gmf.graphdef.edit</artifactId>
+	<version>2.0.200-SNAPSHOT</version>
+	<packaging>eclipse-plugin</packaging>
+
+	<parent>
+		<groupId>org.eclipse.gmf</groupId>
+		<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
+		<version>2.4.0-SNAPSHOT</version>
+		<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
+	</parent>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-source-plugin</artifactId>
+				<version>${tycho-version}</version>
+				<executions>
+					<execution>
+						<id>attach-source</id>
+						<goals>
+							<goal>plugin-source</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+	</build>
+
 </project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.gmf.graphdef.editor/pom.xml b/plugins/org.eclipse.gmf.graphdef.editor/pom.xml
index cd8af71..8ef14e0 100644
--- a/plugins/org.eclipse.gmf.graphdef.editor/pom.xml
+++ b/plugins/org.eclipse.gmf.graphdef.editor/pom.xml
@@ -1,15 +1,34 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.eclipse.gmf</groupId>
-  <artifactId>org.eclipse.gmf.graphdef.editor</artifactId>
-  <version>1.1.0-SNAPSHOT</version>
-  <packaging>eclipse-plugin</packaging>
-  
-  <parent>
-  	<groupId>org.eclipse.gmf</groupId>
-	<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
-	<version>2.4.0-SNAPSHOT</version>
-	<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
-  </parent>
-  
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>org.eclipse.gmf</groupId>
+	<artifactId>org.eclipse.gmf.graphdef.editor</artifactId>
+	<version>1.1.0-SNAPSHOT</version>
+	<packaging>eclipse-plugin</packaging>
+
+	<parent>
+		<groupId>org.eclipse.gmf</groupId>
+		<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
+		<version>2.4.0-SNAPSHOT</version>
+		<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
+	</parent>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-source-plugin</artifactId>
+				<version>${tycho-version}</version>
+				<executions>
+					<execution>
+						<id>attach-source</id>
+						<goals>
+							<goal>plugin-source</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+	</build>
+
 </project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.gmf.graphdef/pom.xml b/plugins/org.eclipse.gmf.graphdef/pom.xml
index f378818..881b8c5 100644
--- a/plugins/org.eclipse.gmf.graphdef/pom.xml
+++ b/plugins/org.eclipse.gmf.graphdef/pom.xml
@@ -1,15 +1,34 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.eclipse.gmf</groupId>
-  <artifactId>org.eclipse.gmf.graphdef</artifactId>
-  <version>2.0.100-SNAPSHOT</version>
-  <packaging>eclipse-plugin</packaging>
-  
-  <parent>
-  	<groupId>org.eclipse.gmf</groupId>
-	<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
-	<version>2.4.0-SNAPSHOT</version>
-	<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
-  </parent>
-  
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>org.eclipse.gmf</groupId>
+	<artifactId>org.eclipse.gmf.graphdef</artifactId>
+	<version>2.0.100-SNAPSHOT</version>
+	<packaging>eclipse-plugin</packaging>
+
+	<parent>
+		<groupId>org.eclipse.gmf</groupId>
+		<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
+		<version>2.4.0-SNAPSHOT</version>
+		<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
+	</parent>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-source-plugin</artifactId>
+				<version>${tycho-version}</version>
+				<executions>
+					<execution>
+						<id>attach-source</id>
+						<goals>
+							<goal>plugin-source</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+	</build>
+
 </project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.gmf.map.edit/pom.xml b/plugins/org.eclipse.gmf.map.edit/pom.xml
index 944bf72..a5b8aa7 100644
--- a/plugins/org.eclipse.gmf.map.edit/pom.xml
+++ b/plugins/org.eclipse.gmf.map.edit/pom.xml
@@ -1,15 +1,34 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.eclipse.gmf</groupId>
-  <artifactId>org.eclipse.gmf.map.edit</artifactId>
-  <version>2.2.100-SNAPSHOT</version>
-  <packaging>eclipse-plugin</packaging>
-  
-  <parent>
-  	<groupId>org.eclipse.gmf</groupId>
-	<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
-	<version>2.4.0-SNAPSHOT</version>
-	<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
-  </parent>
-  
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>org.eclipse.gmf</groupId>
+	<artifactId>org.eclipse.gmf.map.edit</artifactId>
+	<version>2.2.100-SNAPSHOT</version>
+	<packaging>eclipse-plugin</packaging>
+
+	<parent>
+		<groupId>org.eclipse.gmf</groupId>
+		<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
+		<version>2.4.0-SNAPSHOT</version>
+		<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
+	</parent>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-source-plugin</artifactId>
+				<version>${tycho-version}</version>
+				<executions>
+					<execution>
+						<id>attach-source</id>
+						<goals>
+							<goal>plugin-source</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+	</build>
+
 </project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.gmf.map.editor/pom.xml b/plugins/org.eclipse.gmf.map.editor/pom.xml
index 0eec608..d0d4598 100644
--- a/plugins/org.eclipse.gmf.map.editor/pom.xml
+++ b/plugins/org.eclipse.gmf.map.editor/pom.xml
@@ -1,15 +1,34 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.eclipse.gmf</groupId>
-  <artifactId>org.eclipse.gmf.map.editor</artifactId>
-  <version>1.0.0-SNAPSHOT</version>
-  <packaging>eclipse-plugin</packaging>
-  
-  <parent>
-  	<groupId>org.eclipse.gmf</groupId>
-	<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
-	<version>2.4.0-SNAPSHOT</version>
-	<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
-  </parent>
-  
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>org.eclipse.gmf</groupId>
+	<artifactId>org.eclipse.gmf.map.editor</artifactId>
+	<version>1.0.0-SNAPSHOT</version>
+	<packaging>eclipse-plugin</packaging>
+
+	<parent>
+		<groupId>org.eclipse.gmf</groupId>
+		<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
+		<version>2.4.0-SNAPSHOT</version>
+		<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
+	</parent>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-source-plugin</artifactId>
+				<version>${tycho-version}</version>
+				<executions>
+					<execution>
+						<id>attach-source</id>
+						<goals>
+							<goal>plugin-source</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+	</build>
+
 </project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.gmf.map/pom.xml b/plugins/org.eclipse.gmf.map/pom.xml
index 93b5c53..1521c6d 100644
--- a/plugins/org.eclipse.gmf.map/pom.xml
+++ b/plugins/org.eclipse.gmf.map/pom.xml
@@ -1,15 +1,34 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.eclipse.gmf</groupId>
-  <artifactId>org.eclipse.gmf.map</artifactId>
-  <version>2.2.101-SNAPSHOT</version>
-  <packaging>eclipse-plugin</packaging>
-  
-  <parent>
-  	<groupId>org.eclipse.gmf</groupId>
-	<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
-	<version>2.4.0-SNAPSHOT</version>
-	<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
-  </parent>
-  
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>org.eclipse.gmf</groupId>
+	<artifactId>org.eclipse.gmf.map</artifactId>
+	<version>2.2.101-SNAPSHOT</version>
+	<packaging>eclipse-plugin</packaging>
+
+	<parent>
+		<groupId>org.eclipse.gmf</groupId>
+		<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
+		<version>2.4.0-SNAPSHOT</version>
+		<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
+	</parent>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-source-plugin</artifactId>
+				<version>${tycho-version}</version>
+				<executions>
+					<execution>
+						<id>attach-source</id>
+						<goals>
+							<goal>plugin-source</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+	</build>
+
 </project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.gmf.runtime.lite.svg/pom.xml b/plugins/org.eclipse.gmf.runtime.lite.svg/pom.xml
index ddec585..422131b 100644
--- a/plugins/org.eclipse.gmf.runtime.lite.svg/pom.xml
+++ b/plugins/org.eclipse.gmf.runtime.lite.svg/pom.xml
@@ -1,15 +1,34 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.eclipse.gmf</groupId>
-  <artifactId>org.eclipse.gmf.runtime.lite.svg</artifactId>
-  <version>1.0.0-SNAPSHOT</version>
-  <packaging>eclipse-plugin</packaging>
-  
-  <parent>
-  	<groupId>org.eclipse.gmf</groupId>
-	<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
-	<version>2.4.0-SNAPSHOT</version>
-	<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
-  </parent>
-  
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>org.eclipse.gmf</groupId>
+	<artifactId>org.eclipse.gmf.runtime.lite.svg</artifactId>
+	<version>1.0.0-SNAPSHOT</version>
+	<packaging>eclipse-plugin</packaging>
+
+	<parent>
+		<groupId>org.eclipse.gmf</groupId>
+		<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
+		<version>2.4.0-SNAPSHOT</version>
+		<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
+	</parent>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-source-plugin</artifactId>
+				<version>${tycho-version}</version>
+				<executions>
+					<execution>
+						<id>attach-source</id>
+						<goals>
+							<goal>plugin-source</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+	</build>
+
 </project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.gmf.runtime.lite/pom.xml b/plugins/org.eclipse.gmf.runtime.lite/pom.xml
index 194ab7a..da331f2 100644
--- a/plugins/org.eclipse.gmf.runtime.lite/pom.xml
+++ b/plugins/org.eclipse.gmf.runtime.lite/pom.xml
@@ -1,15 +1,34 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.eclipse.gmf</groupId>
-  <artifactId>org.eclipse.gmf.runtime.lite</artifactId>
-  <version>1.0.0-SNAPSHOT</version>
-  <packaging>eclipse-plugin</packaging>
-  
-  <parent>
-  	<groupId>org.eclipse.gmf</groupId>
-	<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
-	<version>2.4.0-SNAPSHOT</version>
-	<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
-  </parent>
-  
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>org.eclipse.gmf</groupId>
+	<artifactId>org.eclipse.gmf.runtime.lite</artifactId>
+	<version>1.0.0-SNAPSHOT</version>
+	<packaging>eclipse-plugin</packaging>
+
+	<parent>
+		<groupId>org.eclipse.gmf</groupId>
+		<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
+		<version>2.4.0-SNAPSHOT</version>
+		<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
+	</parent>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-source-plugin</artifactId>
+				<version>${tycho-version}</version>
+				<executions>
+					<execution>
+						<id>attach-source</id>
+						<goals>
+							<goal>plugin-source</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+	</build>
+
 </project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.gmf.tooldef.edit/pom.xml b/plugins/org.eclipse.gmf.tooldef.edit/pom.xml
index 06d01a4..4dd5287 100644
--- a/plugins/org.eclipse.gmf.tooldef.edit/pom.xml
+++ b/plugins/org.eclipse.gmf.tooldef.edit/pom.xml
@@ -1,15 +1,34 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.eclipse.gmf</groupId>
-  <artifactId>org.eclipse.gmf.tooldef.edit</artifactId>
-  <version>2.0.100-SNAPSHOT</version>
-  <packaging>eclipse-plugin</packaging>
-  
-  <parent>
-  	<groupId>org.eclipse.gmf</groupId>
-	<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
-	<version>2.4.0-SNAPSHOT</version>
-	<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
-  </parent>
-  
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>org.eclipse.gmf</groupId>
+	<artifactId>org.eclipse.gmf.tooldef.edit</artifactId>
+	<version>2.0.100-SNAPSHOT</version>
+	<packaging>eclipse-plugin</packaging>
+
+	<parent>
+		<groupId>org.eclipse.gmf</groupId>
+		<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
+		<version>2.4.0-SNAPSHOT</version>
+		<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
+	</parent>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-source-plugin</artifactId>
+				<version>${tycho-version}</version>
+				<executions>
+					<execution>
+						<id>attach-source</id>
+						<goals>
+							<goal>plugin-source</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+	</build>
+
 </project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.gmf.tooldef/pom.xml b/plugins/org.eclipse.gmf.tooldef/pom.xml
index 38e3cf4..3d5b036 100644
--- a/plugins/org.eclipse.gmf.tooldef/pom.xml
+++ b/plugins/org.eclipse.gmf.tooldef/pom.xml
@@ -1,15 +1,34 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.eclipse.gmf</groupId>
-  <artifactId>org.eclipse.gmf.tooldef</artifactId>
-  <version>2.0.0-SNAPSHOT</version>
-  <packaging>eclipse-plugin</packaging>
-  
-  <parent>
-  	<groupId>org.eclipse.gmf</groupId>
-	<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
-	<version>2.4.0-SNAPSHOT</version>
-	<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
-  </parent>
-  
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>org.eclipse.gmf</groupId>
+	<artifactId>org.eclipse.gmf.tooldef</artifactId>
+	<version>2.0.0-SNAPSHOT</version>
+	<packaging>eclipse-plugin</packaging>
+
+	<parent>
+		<groupId>org.eclipse.gmf</groupId>
+		<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
+		<version>2.4.0-SNAPSHOT</version>
+		<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
+	</parent>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-source-plugin</artifactId>
+				<version>${tycho-version}</version>
+				<executions>
+					<execution>
+						<id>attach-source</id>
+						<goals>
+							<goal>plugin-source</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+	</build>
+
 </project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.gmf.tooling/build.properties b/plugins/org.eclipse.gmf.tooling/build.properties
index ca0e8e5..1dcace5 100755
--- a/plugins/org.eclipse.gmf.tooling/build.properties
+++ b/plugins/org.eclipse.gmf.tooling/build.properties
@@ -17,3 +17,4 @@
                about.mappings,\
                about.properties,\
                modeling32.png
+source.. = src/
diff --git a/plugins/org.eclipse.gmf.tooling/pom.xml b/plugins/org.eclipse.gmf.tooling/pom.xml
index ec4fd88..130096f 100644
--- a/plugins/org.eclipse.gmf.tooling/pom.xml
+++ b/plugins/org.eclipse.gmf.tooling/pom.xml
@@ -1,15 +1,34 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.eclipse.gmf</groupId>
-  <artifactId>org.eclipse.gmf.tooling</artifactId>
-  <version>2.1.0-SNAPSHOT</version>
-  <packaging>eclipse-plugin</packaging>
-  
-  <parent>
-  	<groupId>org.eclipse.gmf</groupId>
-	<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
-	<version>2.4.0-SNAPSHOT</version>
-	<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
-  </parent>
-  
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>org.eclipse.gmf</groupId>
+	<artifactId>org.eclipse.gmf.tooling</artifactId>
+	<version>2.1.0-SNAPSHOT</version>
+	<packaging>eclipse-plugin</packaging>
+
+	<parent>
+		<groupId>org.eclipse.gmf</groupId>
+		<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
+		<version>2.4.0-SNAPSHOT</version>
+		<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
+	</parent>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-source-plugin</artifactId>
+				<version>${tycho-version}</version>
+				<executions>
+					<execution>
+						<id>attach-source</id>
+						<goals>
+							<goal>plugin-source</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+	</build>
+
 </project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.gmf.validate/pom.xml b/plugins/org.eclipse.gmf.validate/pom.xml
index dbf732e..e2a8d15 100644
--- a/plugins/org.eclipse.gmf.validate/pom.xml
+++ b/plugins/org.eclipse.gmf.validate/pom.xml
@@ -1,15 +1,34 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.eclipse.gmf</groupId>
-  <artifactId>org.eclipse.gmf.validate</artifactId>
-  <version>1.2.0-SNAPSHOT</version>
-  <packaging>eclipse-plugin</packaging>
-  
-  <parent>
-  	<groupId>org.eclipse.gmf</groupId>
-	<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
-	<version>2.4.0-SNAPSHOT</version>
-	<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
-  </parent>
-  
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>org.eclipse.gmf</groupId>
+	<artifactId>org.eclipse.gmf.validate</artifactId>
+	<version>1.2.0-SNAPSHOT</version>
+	<packaging>eclipse-plugin</packaging>
+
+	<parent>
+		<groupId>org.eclipse.gmf</groupId>
+		<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
+		<version>2.4.0-SNAPSHOT</version>
+		<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
+	</parent>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-source-plugin</artifactId>
+				<version>${tycho-version}</version>
+				<executions>
+					<execution>
+						<id>attach-source</id>
+						<goals>
+							<goal>plugin-source</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+	</build>
+
 </project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.gmf.xpand.editor/pom.xml b/plugins/org.eclipse.gmf.xpand.editor/pom.xml
index 1c795d9..28c3896 100644
--- a/plugins/org.eclipse.gmf.xpand.editor/pom.xml
+++ b/plugins/org.eclipse.gmf.xpand.editor/pom.xml
@@ -1,15 +1,34 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.eclipse.gmf</groupId>
-  <artifactId>org.eclipse.gmf.xpand.editor</artifactId>
-  <version>2.1.0-SNAPSHOT</version>
-  <packaging>eclipse-plugin</packaging>
-  
-  <parent>
-  	<groupId>org.eclipse.gmf</groupId>
-	<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
-	<version>2.4.0-SNAPSHOT</version>
-	<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
-  </parent>
-  
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>org.eclipse.gmf</groupId>
+	<artifactId>org.eclipse.gmf.xpand.editor</artifactId>
+	<version>2.1.0-SNAPSHOT</version>
+	<packaging>eclipse-plugin</packaging>
+
+	<parent>
+		<groupId>org.eclipse.gmf</groupId>
+		<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
+		<version>2.4.0-SNAPSHOT</version>
+		<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
+	</parent>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-source-plugin</artifactId>
+				<version>${tycho-version}</version>
+				<executions>
+					<execution>
+						<id>attach-source</id>
+						<goals>
+							<goal>plugin-source</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+	</build>
+
 </project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.gmf.xpand.qvtlibrary/pom.xml b/plugins/org.eclipse.gmf.xpand.qvtlibrary/pom.xml
index c6f3eaa..b0a16c2 100644
--- a/plugins/org.eclipse.gmf.xpand.qvtlibrary/pom.xml
+++ b/plugins/org.eclipse.gmf.xpand.qvtlibrary/pom.xml
@@ -1,15 +1,34 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.eclipse.gmf</groupId>
-  <artifactId>org.eclipse.gmf.qvtlibrary</artifactId>
-  <version>1.1.0-SNAPSHOT</version>
-  <packaging>eclipse-plugin</packaging>
-  
-  <parent>
-  	<groupId>org.eclipse.gmf</groupId>
-	<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
-	<version>2.4.0-SNAPSHOT</version>
-	<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
-  </parent>
-  
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>org.eclipse.gmf</groupId>
+	<artifactId>org.eclipse.gmf.qvtlibrary</artifactId>
+	<version>1.1.0-SNAPSHOT</version>
+	<packaging>eclipse-plugin</packaging>
+
+	<parent>
+		<groupId>org.eclipse.gmf</groupId>
+		<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
+		<version>2.4.0-SNAPSHOT</version>
+		<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
+	</parent>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-source-plugin</artifactId>
+				<version>${tycho-version}</version>
+				<executions>
+					<execution>
+						<id>attach-source</id>
+						<goals>
+							<goal>plugin-source</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+	</build>
+
 </project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.gmf.xpand/pom.xml b/plugins/org.eclipse.gmf.xpand/pom.xml
index 2aa0052..28651d9 100644
--- a/plugins/org.eclipse.gmf.xpand/pom.xml
+++ b/plugins/org.eclipse.gmf.xpand/pom.xml
@@ -1,15 +1,34 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.eclipse.gmf</groupId>
-  <artifactId>org.eclipse.gmf.xpand</artifactId>
-  <version>2.1.0-SNAPSHOT</version>
-  <packaging>eclipse-plugin</packaging>
-  
-  <parent>
-  	<groupId>org.eclipse.gmf</groupId>
-	<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
-	<version>2.4.0-SNAPSHOT</version>
-	<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
-  </parent>
-  
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>org.eclipse.gmf</groupId>
+	<artifactId>org.eclipse.gmf.xpand</artifactId>
+	<version>2.1.0-SNAPSHOT</version>
+	<packaging>eclipse-plugin</packaging>
+
+	<parent>
+		<groupId>org.eclipse.gmf</groupId>
+		<artifactId>org.eclipse.gmf.tooling-parent</artifactId>
+		<version>2.4.0-SNAPSHOT</version>
+		<relativePath>../../releng/org.eclipse.gmf.tooling-parent</relativePath>
+	</parent>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-source-plugin</artifactId>
+				<version>${tycho-version}</version>
+				<executions>
+					<execution>
+						<id>attach-source</id>
+						<goals>
+							<goal>plugin-source</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+	</build>
+
 </project>
\ No newline at end of file
diff --git a/releng/org.eclipse.gmf.tooling-parent/pom.xml b/releng/org.eclipse.gmf.tooling-parent/pom.xml
index 2e64017..f812d85 100644
--- a/releng/org.eclipse.gmf.tooling-parent/pom.xml
+++ b/releng/org.eclipse.gmf.tooling-parent/pom.xml
@@ -1,3 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright (C) 2011, BonitaSoft S.A. 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 author: Mickael Istria, BonitaSoft 
+	S.A. -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 	<modelVersion>4.0.0</modelVersion>
@@ -8,6 +14,10 @@
 	<name>Parent project for GMF Tooling build</name>
 	<description>Parent project for GMF Tooling build</description>
 
+	<prerequisites>
+		<maven>3.0</maven>
+	</prerequisites>
+
 	<properties>
 		<tycho-version>0.12.0</tycho-version>
 	</properties>
@@ -34,7 +44,7 @@
 		<module>../../plugins/org.eclipse.gmf.codegen.lite.ui</module>
 		<module>../../plugins/org.eclipse.gmf.codegen.ui</module>
 		<module>../../plugins/org.eclipse.gmf.common</module>
-		<module>../../plugins/org.eclipse.gmf.formtk</module>
+		<!-- module>../../plugins/org.eclipse.gmf.formtk</module-->
 		<module>../../plugins/org.eclipse.gmf.runtime.lite</module>
 		<module>../../plugins/org.eclipse.gmf.runtime.lite.svg</module>
 		<module>../../plugins/org.eclipse.gmf.sdk</module>
@@ -47,71 +57,102 @@
 		<module>../../plugins/org.eclipse.gmf.xpand.editor</module>
 		<module>../../plugins/org.eclipse.gmf.xpand.migration</module>
 		<module>../../plugins/org.eclipse.gmf.xpand.qvtlibrary</module>
+		
 		<!-- features -->
 		<!-- Currently disabled since they require sources, not yet handled -->
-		<!-- module>../../features/org.eclipse.gmf.doc-feature</module>
-		<module>../../features/org.eclipse.gmf.europa-feature</module>
-		<module>../../features/org.eclipse.gmf.platform-feature</module>
+		<module>../../features/org.eclipse.gmf.doc-feature</module>
+		<!-- module>../../features/org.eclipse.gmf.europa-feature</module> 
+		<module>../../features/org.eclipse.gmf.platform-feature</module-->
+		<module>../../features/org.eclipse.gmf.sdk.experimental.source-feature</module>
 		<module>../../features/org.eclipse.gmf.sdk.experimental-feature</module>
-		<module>../../features/org.eclipse.gmf.sdk-feature</module-->
+		<module>../../features/org.eclipse.gmf.sdk-feature</module>
+		<module>../../features/org.eclipse.gmf.tooling.source-feature</module>
 		<module>../../features/org.eclipse.gmf.tooling-feature</module>
 		<!-- module>../../features/org.eclipse.gmf.xpand-feature</module -->
 
 		<!-- examples -->
 		<!-- module>../../examples/org.eclipse.gmf.ecore.editor</module -->
 		<module>../../examples/org.eclipse.gmf.examples</module>
-		<!-- module>../../examples/org.eclipse.gmf.examples.design2d</module>
-		<module>../../examples/org.eclipse.gmf.examples.design2d.notation</module>
-		<module>../../examples/org.eclipse.gmf.examples.eclipsecon</module>
-		<module>../../examples/org.eclipse.gmf.examples.eclipsecon.diagram</module>
-		<module>../../examples/org.eclipse.gmf.examples.eclipsecon.diagram.custom</module>
-		<module>../../examples/org.eclipse.gmf.examples.eclipsecon.library</module>
-		<module>../../examples/org.eclipse.gmf.examples.eclipsecon.library.diagram</module>
-		<module>../../examples/org.eclipse.gmf.examples.eclipsecon.library.diagram.custom</module>
-		<module>../../examples/org.eclipse.gmf.examples.eclipsecon.library.edit</module>
-		<module>../../examples/org.eclipse.gmf.examples.eclipsecon.library.editor</module>
-		<module>../../examples/org.eclipse.gmf.examples.eclipsecon.library.notation</module>
-		<module>../../examples/org.eclipse.gmf.examples.mindmap</module>
-		<module>../../examples/org.eclipse.gmf.examples.mindmap.edit</module>
-		<module>../../examples/org.eclipse.gmf.examples.mindmap.diagram</module>
-		<module>../../examples/org.eclipse.gmf.examples.mindmap.diagram.pure</module>
-		<module>../../examples/org.eclipse.gmf.examples.mindmap.diagram.custom</module>
+		<module>../../examples/org.eclipse.gmf.examples.design2d</module>
+		<module>../../examples/org.eclipse.gmf.examples.design2d.notation</module> 
+		<!-- module>../../examples/org.eclipse.gmf.examples.eclipsecon</module>
+		<module>../../examples/org.eclipse.gmf.examples.eclipsecon.diagram</module> 
+		<module>../../examples/org.eclipse.gmf.examples.eclipsecon.diagram.custom</module> 
+		<module>../../examples/org.eclipse.gmf.examples.eclipsecon.library</module> 
+		<module>../../examples/org.eclipse.gmf.examples.eclipsecon.library.diagram</module> 
+		<module>../../examples/org.eclipse.gmf.examples.eclipsecon.library.diagram.custom</module> 
+		<module>../../examples/org.eclipse.gmf.examples.eclipsecon.library.edit</module> 
+		<module>../../examples/org.eclipse.gmf.examples.eclipsecon.library.editor</module> 
+		<module>../../examples/org.eclipse.gmf.examples.eclipsecon.library.notation</module--> 
+		<!-- module>../../examples/org.eclipse.gmf.examples.mindmap</module>
+		<module>../../examples/org.eclipse.gmf.examples.mindmap.edit</module> 
+		<module>../../examples/org.eclipse.gmf.examples.mindmap.diagram</module> 
+		<module>../../examples/org.eclipse.gmf.examples.mindmap.diagram.pure</module> 
+		<module>../../examples/org.eclipse.gmf.examples.mindmap.diagram.custom</module> 
 		<module>../../examples/org.eclipse.gmf.examples.mindmap.lite</module>
-		<module>../../examples/org.eclipse.gmf.examples.mindmap.lite.edit</module>
-		<module>../../examples/org.eclipse.gmf.examples.mindmap.lite.rcp</module>
-		<module>../../examples/org.eclipse.gmf.examples.mindmap.rcp.diagram</module>
-		<module>../../examples/org.eclipse.gmf.examples.taipan</module>
-		<module>../../examples/org.eclipse.gmf.examples.taipan.edit</module>
+		<module>../../examples/org.eclipse.gmf.examples.mindmap.lite.edit</module> 
+		<module>../../examples/org.eclipse.gmf.examples.mindmap.lite.rcp</module> 
+		<module>../../examples/org.eclipse.gmf.examples.mindmap.rcp.diagram</module--> 
+		<!-- module>../../examples/org.eclipse.gmf.examples.taipan</module>
+		<module>../../examples/org.eclipse.gmf.examples.taipan.edit</module> 
 		<module>../../examples/org.eclipse.gmf.examples.taipan.editor</module>
-		<module>../../examples/org.eclipse.gmf.examples.taipan.editor.rcp</module>
-		<module>../../examples/org.eclipse.gmf.examples.taipan.gmf.editor</module>
-		<module>../../examples/org.eclipse.gmf.examples.taipan.gmf.editor.rcp</module>
-		<module>../../examples/org.eclipse.gmf.examples.taipan.port.diagram</module>
-		<module>../../examples/org.eclipse.gmf.examples.taipan.port.diagram.rcp</module>
+		<module>../../examples/org.eclipse.gmf.examples.taipan.editor.rcp</module> 
+		<module>../../examples/org.eclipse.gmf.examples.taipan.gmf.editor</module> 
+		<module>../../examples/org.eclipse.gmf.examples.taipan.gmf.editor.rcp</module> 
+		<module>../../examples/org.eclipse.gmf.examples.taipan.port.diagram</module> 
+		<module>../../examples/org.eclipse.gmf.examples.taipan.port.diagram.rcp</module> 
 		<module>../../examples/org.eclipse.gmf.examples.taipan.ui</module -->
 		<module>../../examples/org.eclipse.gmf.examples.ui.pde</module>
-		<!-- module>../../examples/org.eclipse.gmf.sketch</module>
-		<module>../../examples/org.eclipse.gmf.sketch.edit</module>
-		<module>../../examples/org.eclipse.gmf.sketch.editor</module>
-		<module>../../examples/org.eclipse.gmf.sketch.transformer</module -->
+		<!-- module>../../examples/org.eclipse.gmf.sketch</module> <module>../../examples/org.eclipse.gmf.sketch.edit</module> 
+			<module>../../examples/org.eclipse.gmf.sketch.editor</module> <module>../../examples/org.eclipse.gmf.sketch.transformer</module -->
 		<!-- Features -->
 		<module>../../features/org.eclipse.gmf.examples-feature</module>
 		<module>../../features/org.eclipse.gmf.examples.pde-feature</module>
-		
-		<!-- tests, should be a separate build against newly built repo,
-			to test also created repo (whole distribution) -->
+
+		<!-- tests, should be a separate build against newly built repo, to test 
+			also created repo (whole distribution) -->
 		<!-- module>../../features/org.eclipse.gmf.tests.experimental-feature</module -->
-		<!-- module>../../features/org.eclipse.gmf.tests-feature</module-->
+		<!-- module>../../features/org.eclipse.gmf.tests-feature</module -->
 		<module>../../tests/org.eclipse.gmf.tests</module>
 		<module>../../tests/org.eclipse.gmf.tests.lite</module>
 		<module>../../tests/org.eclipse.gmf.tests.xpand</module>
 		<module>../../tests/org.eclipse.gmf.tests.xpand.migration</module>
-		
+
 		<!-- Repo -->
 		<module>../org.eclipse.gmf.tooling-repository</module>
-		
 	</modules>
 
+	<mailingLists>
+		<mailingList>
+			<name>GMF-dev Mailing List</name>
+			<post>gmf-dev@eclipse.org</post>
+			<subscribe>https://dev.eclipse.org/mailman/listinfo/gmf-dev</subscribe>
+			<unsubscribe>https://dev.eclipse.org/mailman/listinfo/gmf-dev</unsubscribe>
+			<archive>http://dev.eclipse.org/mhonarc/lists/gmf-dev</archive>
+		</mailingList>
+	</mailingLists>
+
+	<issueManagement>
+		<url>https://bugs.eclipse.org/bugs/buglist.cgi?classification=Modeling;query_format=advanced;component=GMF-tooling;product=GMP</url>
+		<system>Bugzilla</system>
+	</issueManagement>
+
+	<licenses>
+		<license>
+			<name>Eclipse Public License v1.0</name>
+			<comments>
+       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.htm
+      </comments>
+		</license>
+	</licenses>
+
+
+
 	<build>
 		<plugins>
 			<plugin>
diff --git a/releng/org.eclipse.gmf.tooling-repository/category.xml b/releng/org.eclipse.gmf.tooling-repository/category.xml
index 82ffda3..fb6ff1c 100755
--- a/releng/org.eclipse.gmf.tooling-repository/category.xml
+++ b/releng/org.eclipse.gmf.tooling-repository/category.xml
@@ -7,19 +7,18 @@
    <feature url="features/org.eclipse.gmf.tooling_2.4.0.qualifier.jar" id="org.eclipse.gmf.tooling" version="2.4.0.qualifier">
       <category name="GMF Tooling"/>
    </feature>
-   <!--feature url="features/org.eclipse.gmf.examples_1.4.0.qualifier.jar" id="org.eclipse.gmf.examples" version="1.4.0.qualifier">
+   <feature url="features/org.eclipse.gmf.examples_1.4.0.qualifier.jar" id="org.eclipse.gmf.examples" version="1.4.0.qualifier">
       <category name="GMF Tooling - Examples"/>
    </feature>
    <feature url="features/org.eclipse.gmf.examples.pde_1.4.0.qualifier.jar" id="org.eclipse.gmf.examples.pde" version="1.4.0.qualifier">
       <category name="GMF Tooling - Examples"/>
    </feature>
-   <feature url="features/org.eclipse.gmf.tests_2.4.0.qualifier.jar" id="org.eclipse.gmf.tests" version="2.4.0.qualifier">
+   <!-- feature url="features/org.eclipse.gmf.tests_2.4.0.qualifier.jar" id="org.eclipse.gmf.tests" version="2.4.0.qualifier">
       <category name="GMF Tooling - Tests"/>
    </feature>
    <feature url="features/org.eclipse.gmf.tests.experimental_2.4.0.qualifier.jar" id="org.eclipse.gmf.tests.experimental" version="2.4.0.qualifier">
       <category name="GMF Tooling - Tests"/>
    </feature-->
    <category-def name="GMF Tooling" label="GMF Tooling"/>
-   <category-def name="GMF Tooling - Tests" label="GMF Tooling - Tests"/>
    <category-def name="GMF Tooling - Examples" label="GMF Tooling - Examples"/>
 </site>
diff --git a/tests/org.eclipse.gmf.tests.lite/.cvsignore b/tests/org.eclipse.gmf.tests.lite/.cvsignore
new file mode 100644
index 0000000..eb5a316
--- /dev/null
+++ b/tests/org.eclipse.gmf.tests.lite/.cvsignore
@@ -0,0 +1 @@
+target
diff --git a/tests/org.eclipse.gmf.tests.xpand.migration/.cvsignore b/tests/org.eclipse.gmf.tests.xpand.migration/.cvsignore
new file mode 100644
index 0000000..eb5a316
--- /dev/null
+++ b/tests/org.eclipse.gmf.tests.xpand.migration/.cvsignore
@@ -0,0 +1 @@
+target
