- Fixed code generation with XText 2.9
- Merged two test fragments to resolve compilation errors in one of them
- Fixed an IllegalArumentException in
IPaths.directoryLocationInWorkspace(IPath)
- Incremented version to 2.2.1
diff --git a/com.google.eclipse.protobuf.cdt.test/META-INF/MANIFEST.MF b/com.google.eclipse.protobuf.cdt.test/META-INF/MANIFEST.MF
index 3e989ba..69d6a57 100644
--- a/com.google.eclipse.protobuf.cdt.test/META-INF/MANIFEST.MF
+++ b/com.google.eclipse.protobuf.cdt.test/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Unit tests for com.google.eclipse.protobuf.cdt
 Bundle-SymbolicName: com.google.eclipse.protobuf.cdt.test
-Bundle-Version: 2.2.0.qualifier
+Bundle-Version: 2.2.1.qualifier
 Bundle-Vendor: Google, Inc.
 Fragment-Host: com.google.eclipse.protobuf.cdt;bundle-version="1.0.0"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/com.google.eclipse.protobuf.cdt/META-INF/MANIFEST.MF b/com.google.eclipse.protobuf.cdt/META-INF/MANIFEST.MF
index 449bfe1..921f5b8 100644
--- a/com.google.eclipse.protobuf.cdt/META-INF/MANIFEST.MF
+++ b/com.google.eclipse.protobuf.cdt/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Protocol Buffer Editor: CDT Integration
 Bundle-SymbolicName: com.google.eclipse.protobuf.cdt;singleton:=true
-Bundle-Version: 2.2.0.qualifier
+Bundle-Version: 2.2.1.qualifier
 Bundle-Activator: com.google.eclipse.protobuf.cdt.ProtobufCdtActivator
 Bundle-Vendor: Google, Inc.
 Require-Bundle: org.eclipse.ui,
diff --git a/com.google.eclipse.protobuf.feature/feature.xml b/com.google.eclipse.protobuf.feature/feature.xml
index 6593034..7e273e5 100644
--- a/com.google.eclipse.protobuf.feature/feature.xml
+++ b/com.google.eclipse.protobuf.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="com.google.eclipse.protobuf"
       label="%featureName"
-      version="2.2.0.qualifier"
+      version="2.2.1.qualifier"
       provider-name="%providerName">
 
    <description url="https://code.google.com/p/protobuf-dt/">
@@ -10,7 +10,7 @@
    </description>
 
    <copyright>
-      %description
+      %copyright
    </copyright>
 
    <license url="%licenseURL">
@@ -33,7 +33,7 @@
       <import plugin="org.eclipse.ui.console" version="3.5.100" match="greaterOrEqual"/>
       <import plugin="org.eclipse.ui.editors" version="3.7.0" match="greaterOrEqual"/>
       <import plugin="org.eclipse.ui.ide" version="3.7.0" match="greaterOrEqual"/>
-      <import feature="org.eclipse.xtext.runtime" version="2.4.2" match="compatible"/>
+      <import feature="org.eclipse.xtext.runtime" version="2.9.0" match="compatible"/>
    </requires>
 
    <plugin
diff --git a/com.google.eclipse.protobuf.integration.test/.classpath b/com.google.eclipse.protobuf.integration.test/.classpath
deleted file mode 100644
index eca7bdb..0000000
--- a/com.google.eclipse.protobuf.integration.test/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/com.google.eclipse.protobuf.integration.test/.gitignore b/com.google.eclipse.protobuf.integration.test/.gitignore
deleted file mode 100644
index 8704d93..0000000
--- a/com.google.eclipse.protobuf.integration.test/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-/test-protos
-/bin
diff --git a/com.google.eclipse.protobuf.integration.test/.project b/com.google.eclipse.protobuf.integration.test/.project
deleted file mode 100644
index 1fca0d2..0000000
--- a/com.google.eclipse.protobuf.integration.test/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>com.google.eclipse.protobuf.integration.test</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
-	</natures>
-</projectDescription>
diff --git a/com.google.eclipse.protobuf.integration.test/.settings/org.eclipse.jdt.core.prefs b/com.google.eclipse.protobuf.integration.test/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 0c68a61..0000000
--- a/com.google.eclipse.protobuf.integration.test/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,7 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
-org.eclipse.jdt.core.compiler.compliance=1.8
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.8
diff --git a/com.google.eclipse.protobuf.integration.test/META-INF/MANIFEST.MF b/com.google.eclipse.protobuf.integration.test/META-INF/MANIFEST.MF
deleted file mode 100644
index fa50f06..0000000
--- a/com.google.eclipse.protobuf.integration.test/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,13 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Integration tests for com.google.eclipse.protobuf
-Bundle-SymbolicName: com.google.eclipse.protobuf.integration.test
-Bundle-Version: 2.2.0.qualifier
-Bundle-Vendor: Google Inc.
-Fragment-Host: com.google.eclipse.protobuf;bundle-version="1.0.9"
-Require-Bundle: org.junit;bundle-version="4.8.1",
- org.mockito;bundle-version="1.8.5",
- org.eclipse.core.resources;bundle-version="3.7.100",
- org.hamcrest.core;bundle-version="1.1.0",
- org.hamcrest.library;bundle-version="1.1.0"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/com.google.eclipse.protobuf.integration.test/build.properties b/com.google.eclipse.protobuf.integration.test/build.properties
deleted file mode 100644
index 34d2e4d..0000000
--- a/com.google.eclipse.protobuf.integration.test/build.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .
diff --git a/com.google.eclipse.protobuf.test/META-INF/MANIFEST.MF b/com.google.eclipse.protobuf.test/META-INF/MANIFEST.MF
index 85d4186..756cbcd 100644
--- a/com.google.eclipse.protobuf.test/META-INF/MANIFEST.MF
+++ b/com.google.eclipse.protobuf.test/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Tests for com.google.eclipse.protobuf
 Bundle-SymbolicName: com.google.eclipse.protobuf.test
-Bundle-Version: 2.2.0.qualifier
+Bundle-Version: 2.2.1.qualifier
 Bundle-Vendor: Google Inc.
 Fragment-Host: com.google.eclipse.protobuf;bundle-version="1.0.0"
 Require-Bundle: org.junit;bundle-version="4.8.1",
diff --git a/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/bugs/Issue131_AddOptionsForService_Test.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/bugs/Issue131_AddOptionsForService_Test.java
similarity index 100%
rename from com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/bugs/Issue131_AddOptionsForService_Test.java
rename to com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/bugs/Issue131_AddOptionsForService_Test.java
diff --git a/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/bugs/Issue147_AddSupportForGroupOptions_Test.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/bugs/Issue147_AddSupportForGroupOptions_Test.java
similarity index 100%
rename from com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/bugs/Issue147_AddSupportForGroupOptions_Test.java
rename to com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/bugs/Issue147_AddSupportForGroupOptions_Test.java
diff --git a/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/bugs/Issue156_AddSupportForEnumValueOptions_Test.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/bugs/Issue156_AddSupportForEnumValueOptions_Test.java
similarity index 100%
rename from com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/bugs/Issue156_AddSupportForEnumValueOptions_Test.java
rename to com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/bugs/Issue156_AddSupportForEnumValueOptions_Test.java
diff --git a/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/bugs/Issue157_GroupsShouldBeTypes_Test.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/bugs/Issue157_GroupsShouldBeTypes_Test.java
similarity index 100%
rename from com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/bugs/Issue157_GroupsShouldBeTypes_Test.java
rename to com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/bugs/Issue157_GroupsShouldBeTypes_Test.java
diff --git a/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/bugs/Issue161_PackageScoping_Test.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/bugs/Issue161_PackageScoping_Test.java
similarity index 100%
rename from com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/bugs/Issue161_PackageScoping_Test.java
rename to com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/bugs/Issue161_PackageScoping_Test.java
diff --git a/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/bugs/Issue167_PackageScopingWithNestedTypes_Test.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/bugs/Issue167_PackageScopingWithNestedTypes_Test.java
similarity index 100%
rename from com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/bugs/Issue167_PackageScopingWithNestedTypes_Test.java
rename to com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/bugs/Issue167_PackageScopingWithNestedTypes_Test.java
diff --git a/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/bugs/Issue169_AddSupportForExtendingGroups_Test.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/bugs/Issue169_AddSupportForExtendingGroups_Test.java
similarity index 100%
rename from com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/bugs/Issue169_AddSupportForExtendingGroups_Test.java
rename to com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/bugs/Issue169_AddSupportForExtendingGroups_Test.java
diff --git a/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/bugs/Issue185_CustomOptionsShouldAllowEmptyBracesAsValue_Test.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/bugs/Issue185_CustomOptionsShouldAllowEmptyBracesAsValue_Test.java
similarity index 100%
rename from com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/bugs/Issue185_CustomOptionsShouldAllowEmptyBracesAsValue_Test.java
rename to com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/bugs/Issue185_CustomOptionsShouldAllowEmptyBracesAsValue_Test.java
diff --git a/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/bugs/Issue187_ExposeAllTypesInDescriptor_Test.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/bugs/Issue187_ExposeAllTypesInDescriptor_Test.java
similarity index 100%
rename from com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/bugs/Issue187_ExposeAllTypesInDescriptor_Test.java
rename to com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/bugs/Issue187_ExposeAllTypesInDescriptor_Test.java
diff --git a/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/bugs/Issue188_CustomOptionFieldsMayEndWithComma_Test.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/bugs/Issue188_CustomOptionFieldsMayEndWithComma_Test.java
similarity index 100%
rename from com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/bugs/Issue188_CustomOptionFieldsMayEndWithComma_Test.java
rename to com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/bugs/Issue188_CustomOptionFieldsMayEndWithComma_Test.java
diff --git a/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/bugs/Issue189_ScopingShouldLookForClosestType.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/bugs/Issue189_ScopingShouldLookForClosestType.java
similarity index 100%
rename from com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/bugs/Issue189_ScopingShouldLookForClosestType.java
rename to com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/bugs/Issue189_ScopingShouldLookForClosestType.java
diff --git a/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/junit/IEObjectDescriptions.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/junit/IEObjectDescriptions.java
similarity index 100%
rename from com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/junit/IEObjectDescriptions.java
rename to com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/junit/IEObjectDescriptions.java
diff --git a/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/junit/matchers/ContainAllFields.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/junit/matchers/ContainAllFields.java
similarity index 100%
rename from com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/junit/matchers/ContainAllFields.java
rename to com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/junit/matchers/ContainAllFields.java
diff --git a/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/junit/matchers/ContainAllFieldsInMessage.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/junit/matchers/ContainAllFieldsInMessage.java
similarity index 100%
rename from com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/junit/matchers/ContainAllFieldsInMessage.java
rename to com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/junit/matchers/ContainAllFieldsInMessage.java
diff --git a/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/junit/matchers/ContainAllLiteralsInEnum.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/junit/matchers/ContainAllLiteralsInEnum.java
similarity index 100%
rename from com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/junit/matchers/ContainAllLiteralsInEnum.java
rename to com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/junit/matchers/ContainAllLiteralsInEnum.java
diff --git a/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/junit/matchers/ContainAllNames.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/junit/matchers/ContainAllNames.java
similarity index 100%
rename from com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/junit/matchers/ContainAllNames.java
rename to com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/junit/matchers/ContainAllNames.java
diff --git a/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/junit/matchers/ContainNames.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/junit/matchers/ContainNames.java
similarity index 100%
rename from com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/junit/matchers/ContainNames.java
rename to com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/junit/matchers/ContainNames.java
diff --git a/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/model/util/Imports_getPath_Test.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/Imports_getPath_Test.java
similarity index 100%
rename from com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/model/util/Imports_getPath_Test.java
rename to com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/Imports_getPath_Test.java
diff --git a/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/model/util/Options_fieldsOf_CustomFieldOption_Test.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/Options_fieldsOf_CustomFieldOption_Test.java
similarity index 100%
rename from com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/model/util/Options_fieldsOf_CustomFieldOption_Test.java
rename to com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/Options_fieldsOf_CustomFieldOption_Test.java
diff --git a/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/model/util/Options_fieldsOf_CustomOption_Test.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/Options_fieldsOf_CustomOption_Test.java
similarity index 100%
rename from com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/model/util/Options_fieldsOf_CustomOption_Test.java
rename to com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/Options_fieldsOf_CustomOption_Test.java
diff --git a/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/model/util/Options_isDefaultValueOption_Test.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/Options_isDefaultValueOption_Test.java
similarity index 100%
rename from com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/model/util/Options_isDefaultValueOption_Test.java
rename to com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/Options_isDefaultValueOption_Test.java
diff --git a/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/model/util/Options_nameOf_FieldOption_Test.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/Options_nameOf_FieldOption_Test.java
similarity index 100%
rename from com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/model/util/Options_nameOf_FieldOption_Test.java
rename to com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/Options_nameOf_FieldOption_Test.java
diff --git a/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/model/util/Options_rootSourceOf_FieldOption_Test.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/Options_rootSourceOf_FieldOption_Test.java
similarity index 100%
rename from com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/model/util/Options_rootSourceOf_FieldOption_Test.java
rename to com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/Options_rootSourceOf_FieldOption_Test.java
diff --git a/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/model/util/Options_rootSourceOf_Option_Test.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/Options_rootSourceOf_Option_Test.java
similarity index 100%
rename from com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/model/util/Options_rootSourceOf_Option_Test.java
rename to com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/Options_rootSourceOf_Option_Test.java
diff --git a/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/model/util/Options_sourceOfLastFieldIn_CustomFieldOption_Test.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/Options_sourceOfLastFieldIn_CustomFieldOption_Test.java
similarity index 100%
rename from com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/model/util/Options_sourceOfLastFieldIn_CustomFieldOption_Test.java
rename to com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/Options_sourceOfLastFieldIn_CustomFieldOption_Test.java
diff --git a/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/model/util/Options_sourceOfLastFieldIn_CustomOption_Test.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/Options_sourceOfLastFieldIn_CustomOption_Test.java
similarity index 100%
rename from com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/model/util/Options_sourceOfLastFieldIn_CustomOption_Test.java
rename to com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/Options_sourceOfLastFieldIn_CustomOption_Test.java
diff --git a/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/model/util/Options_sourceOf_CustomFieldOption_Test.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/Options_sourceOf_CustomFieldOption_Test.java
similarity index 100%
rename from com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/model/util/Options_sourceOf_CustomFieldOption_Test.java
rename to com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/Options_sourceOf_CustomFieldOption_Test.java
diff --git a/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/model/util/Options_sourceOf_CustomOption_Test.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/Options_sourceOf_CustomOption_Test.java
similarity index 100%
rename from com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/model/util/Options_sourceOf_CustomOption_Test.java
rename to com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/Options_sourceOf_CustomOption_Test.java
diff --git a/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/scoping/ProtoDescriptor_availableOptionsFor_Test.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/scoping/ProtoDescriptor_availableOptionsFor_Test.java
similarity index 100%
rename from com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/scoping/ProtoDescriptor_availableOptionsFor_Test.java
rename to com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/scoping/ProtoDescriptor_availableOptionsFor_Test.java
diff --git a/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/scoping/ProtoDescriptor_enumTypeOf_Test.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/scoping/ProtoDescriptor_enumTypeOf_Test.java
similarity index 100%
rename from com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/scoping/ProtoDescriptor_enumTypeOf_Test.java
rename to com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/scoping/ProtoDescriptor_enumTypeOf_Test.java
diff --git a/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/scoping/ProtobufScopeProvider_scope_ComplexTypeLink_target_Test.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/scoping/ProtobufScopeProvider_scope_ComplexTypeLink_target_Test.java
similarity index 100%
rename from com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/scoping/ProtobufScopeProvider_scope_ComplexTypeLink_target_Test.java
rename to com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/scoping/ProtobufScopeProvider_scope_ComplexTypeLink_target_Test.java
diff --git a/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/scoping/ProtobufScopeProvider_scope_FieldName_target_with_ExtensionFieldName_Test.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/scoping/ProtobufScopeProvider_scope_FieldName_target_with_ExtensionFieldName_Test.java
similarity index 100%
rename from com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/scoping/ProtobufScopeProvider_scope_FieldName_target_with_ExtensionFieldName_Test.java
rename to com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/scoping/ProtobufScopeProvider_scope_FieldName_target_with_ExtensionFieldName_Test.java
diff --git a/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/scoping/ProtobufScopeProvider_scope_FieldName_target_with_NormalFieldName_Test.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/scoping/ProtobufScopeProvider_scope_FieldName_target_with_NormalFieldName_Test.java
similarity index 100%
rename from com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/scoping/ProtobufScopeProvider_scope_FieldName_target_with_NormalFieldName_Test.java
rename to com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/scoping/ProtobufScopeProvider_scope_FieldName_target_with_NormalFieldName_Test.java
diff --git a/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/scoping/ProtobufScopeProvider_scope_LiteralLink_target_Test.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/scoping/ProtobufScopeProvider_scope_LiteralLink_target_Test.java
similarity index 100%
rename from com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/scoping/ProtobufScopeProvider_scope_LiteralLink_target_Test.java
rename to com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/scoping/ProtobufScopeProvider_scope_LiteralLink_target_Test.java
diff --git a/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/scoping/ProtobufScopeProvider_scope_OptionField_target_with_ExtensionOptionField_Test.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/scoping/ProtobufScopeProvider_scope_OptionField_target_with_ExtensionOptionField_Test.java
similarity index 100%
rename from com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/scoping/ProtobufScopeProvider_scope_OptionField_target_with_ExtensionOptionField_Test.java
rename to com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/scoping/ProtobufScopeProvider_scope_OptionField_target_with_ExtensionOptionField_Test.java
diff --git a/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/scoping/ProtobufScopeProvider_scope_OptionField_target_with_MessageOptionField_Test.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/scoping/ProtobufScopeProvider_scope_OptionField_target_with_MessageOptionField_Test.java
similarity index 100%
rename from com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/scoping/ProtobufScopeProvider_scope_OptionField_target_with_MessageOptionField_Test.java
rename to com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/scoping/ProtobufScopeProvider_scope_OptionField_target_with_MessageOptionField_Test.java
diff --git a/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/scoping/ProtobufScopeProvider_scope_OptionSource_target_Test.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/scoping/ProtobufScopeProvider_scope_OptionSource_target_Test.java
similarity index 100%
rename from com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/scoping/ProtobufScopeProvider_scope_OptionSource_target_Test.java
rename to com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/scoping/ProtobufScopeProvider_scope_OptionSource_target_Test.java
diff --git a/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/validation/ImportValidator_checkUnknownSyntaxImports_Test.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/validation/ImportValidator_checkUnknownSyntaxImports_Test.java
similarity index 100%
rename from com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/validation/ImportValidator_checkUnknownSyntaxImports_Test.java
rename to com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/validation/ImportValidator_checkUnknownSyntaxImports_Test.java
diff --git a/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/validation/ImportValidator_checkUnknownSyntaxImports_withNonProto2Imports_Tests.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/validation/ImportValidator_checkUnknownSyntaxImports_withNonProto2Imports_Tests.java
similarity index 100%
rename from com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/validation/ImportValidator_checkUnknownSyntaxImports_withNonProto2Imports_Tests.java
rename to com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/validation/ImportValidator_checkUnknownSyntaxImports_withNonProto2Imports_Tests.java
diff --git a/com.google.eclipse.protobuf.ui.functional.test/META-INF/MANIFEST.MF b/com.google.eclipse.protobuf.ui.functional.test/META-INF/MANIFEST.MF
index 2b858b3..b7c64ce 100644
--- a/com.google.eclipse.protobuf.ui.functional.test/META-INF/MANIFEST.MF
+++ b/com.google.eclipse.protobuf.ui.functional.test/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Test
 Bundle-SymbolicName: com.google.eclipse.protobuf.ui.functional.test
-Bundle-Version: 2.2.0.qualifier
+Bundle-Version: 2.2.1.qualifier
 Bundle-Vendor: Google Inc.
 Fragment-Host: com.google.eclipse.protobuf.ui;bundle-version="1.1.1"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/com.google.eclipse.protobuf.ui.integration.test/META-INF/MANIFEST.MF b/com.google.eclipse.protobuf.ui.integration.test/META-INF/MANIFEST.MF
index a57e5a4..648dae8 100644
--- a/com.google.eclipse.protobuf.ui.integration.test/META-INF/MANIFEST.MF
+++ b/com.google.eclipse.protobuf.ui.integration.test/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Integration tests for com.google.eclipse.protobuf.ui
 Bundle-SymbolicName: com.google.eclipse.protobuf.ui.integration.test
-Bundle-Version: 2.2.0.qualifier
+Bundle-Version: 2.2.1.qualifier
 Bundle-Vendor: Google Inc.
 Fragment-Host: com.google.eclipse.protobuf.ui;bundle-version="1.2.3"
 Require-Bundle: org.junit;bundle-version="4.8.1",
diff --git a/com.google.eclipse.protobuf.ui.test/META-INF/MANIFEST.MF b/com.google.eclipse.protobuf.ui.test/META-INF/MANIFEST.MF
index b1b23f1..1a41b55 100644
--- a/com.google.eclipse.protobuf.ui.test/META-INF/MANIFEST.MF
+++ b/com.google.eclipse.protobuf.ui.test/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Tests for com.google.eclipse.protobuf.ui
 Bundle-SymbolicName: com.google.eclipse.protobuf.ui.test
-Bundle-Version: 2.2.0.qualifier
+Bundle-Version: 2.2.1.qualifier
 Bundle-Vendor: Google Inc.
 Fragment-Host: com.google.eclipse.protobuf.ui;bundle-version="1.0.0"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/com.google.eclipse.protobuf.ui/META-INF/MANIFEST.MF b/com.google.eclipse.protobuf.ui/META-INF/MANIFEST.MF
index e3f110b..09ab499 100644
--- a/com.google.eclipse.protobuf.ui/META-INF/MANIFEST.MF
+++ b/com.google.eclipse.protobuf.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2

 Bundle-Name: %Bundle-Name

 Bundle-Vendor: %Bundle-Vendor

-Bundle-Version: 2.2.0.qualifier

+Bundle-Version: 2.2.1.qualifier

 Bundle-Activator: com.google.eclipse.protobuf.ui.internal.ProtobufActivator

 Bundle-SymbolicName: com.google.eclipse.protobuf.ui; singleton:=true

 Bundle-ActivationPolicy: lazy

@@ -25,6 +25,7 @@
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8

 Export-Package: com.google.eclipse.protobuf.ui.contentassist,

  com.google.eclipse.protobuf.ui.contentassist.antlr,

+ com.google.eclipse.protobuf.ui.contentassist.antlr.internal,

  com.google.eclipse.protobuf.ui.editor,

  com.google.eclipse.protobuf.ui.plugin,

  com.google.eclipse.protobuf.ui.preferences,

diff --git a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/scoping/ResourceLocations.java b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/scoping/ResourceLocations.java
index afc042f..2197594 100644
--- a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/scoping/ResourceLocations.java
+++ b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/scoping/ResourceLocations.java
@@ -18,7 +18,7 @@
  */
 public class ResourceLocations {
   public String directoryLocation(String workspacePath) {
-    IPath path = Path.fromOSString(workspacePath);
+    IPath path = new Path(workspacePath);
     return directoryLocationInWorkspace(path);
   }
 }
diff --git a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/util/IPaths.java b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/util/IPaths.java
index e487944..b29fc91 100644
--- a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/util/IPaths.java
+++ b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/util/IPaths.java
@@ -10,7 +10,8 @@
 
 import static com.google.eclipse.protobuf.util.Workspaces.workspaceRoot;
 
-import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IWorkspaceRoot;
 import org.eclipse.core.runtime.IPath;
 
 /**
@@ -19,16 +20,22 @@
  * @author alruiz@google.com (Alex Ruiz)
  */
 public final class IPaths {
-
   /**
-   * Returns the absolute path in the local file system of a directory in the workspace. The returned value uses the
-   * platform-dependent path separator defined by {@code java.io.File}.
+   * Returns the absolute path in the local file system of a directory in the workspace.
+   * The returned value uses the platform-dependent path separator.
+   *
    * @param path the path of the directory. It can be relative or absolute.
    * @return the absolute path in the local file system of a directory.
    */
   public static String directoryLocationInWorkspace(IPath path) {
-    IFolder directory = workspaceRoot().getFolder(path);
-    return directory.getLocation().toOSString();
+    IWorkspaceRoot workspaceRoot = workspaceRoot();
+    IContainer container =
+    		path.segmentCount() == 0 ?
+    				workspaceRoot :
+    		path.segmentCount() == 1 ?
+    				workspaceRoot.getProject(path.segment(0)) :
+    				workspaceRoot.getFolder(path);
+    return container.getLocation().toOSString();
   }
 
   private IPaths() {}
diff --git a/com.google.eclipse.protobuf/.gitignore b/com.google.eclipse.protobuf/.gitignore
index eb969ce..6064afa 100644
--- a/com.google.eclipse.protobuf/.gitignore
+++ b/com.google.eclipse.protobuf/.gitignore
@@ -1,5 +1,6 @@
-/src-gen/com
-/xtend-gen
-/plugin.xml_gen
 /bin
+/model/
+/src-gen/
+/xtend-gen
 /.antlr*.jar
+/plugin.xml_gen
diff --git a/com.google.eclipse.protobuf/META-INF/MANIFEST.MF b/com.google.eclipse.protobuf/META-INF/MANIFEST.MF
index 5e70a27..f55ef48 100644
--- a/com.google.eclipse.protobuf/META-INF/MANIFEST.MF
+++ b/com.google.eclipse.protobuf/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@
 Eclipse-ExtensibleAPI: true

 Bundle-Name: %Bundle-Name

 Bundle-Vendor: %Bundle-Vendor

-Bundle-Version: 2.2.0.qualifier

+Bundle-Version: 2.2.1.qualifier

 Bundle-SymbolicName: com.google.eclipse.protobuf; singleton:=true

 Bundle-ActivationPolicy: lazy

 Require-Bundle: org.antlr.runtime,

diff --git a/com.google.eclipse.protobuf/build.properties b/com.google.eclipse.protobuf/build.properties
index 7ca6bcb..a06b6f0 100644
--- a/com.google.eclipse.protobuf/build.properties
+++ b/com.google.eclipse.protobuf/build.properties
@@ -6,4 +6,5 @@
                OSGI-INF/,\
                descriptor.proto,\
                map_entry.proto,\
-               schema/descriptor-source.exsd
+               schema/descriptor-source.exsd,\
+               model/
diff --git a/com.google.eclipse.protobuf/plugin.xml b/com.google.eclipse.protobuf/plugin.xml
index ded8b9d..7060255 100644
--- a/com.google.eclipse.protobuf/plugin.xml
+++ b/com.google.eclipse.protobuf/plugin.xml
@@ -9,7 +9,7 @@
     <package
       uri="http://www.google.com/eclipse/protobuf/Protobuf"
       class="com.google.eclipse.protobuf.protobuf.ProtobufPackage"
-      genModel="com/google/eclipse/protobuf/Protobuf.genmodel" />
+      genModel="model/generated/Protobuf.genmodel" />
   </extension>
   <extension
         point="org.eclipse.core.contenttype.contentTypes">
diff --git a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/ProtobufGenerator.java b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/ProtobufGenerator.java
index 3cd30a7..a0ec50f 100644
--- a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/ProtobufGenerator.java
+++ b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/ProtobufGenerator.java
@@ -13,6 +13,7 @@
 import org.eclipse.xtext.generator.Generator;
 import org.eclipse.xtext.xtext.ecoreInference.IXtext2EcorePostProcessor;
 
+import com.google.inject.Binder;
 import com.google.inject.Guice;
 import com.google.inject.Injector;
 
@@ -32,14 +33,8 @@
   }
   
   private static class XtextRuntimeModuleExtension extends XtextRuntimeModule {
-	// For the recent XText versions replace the method below with the commented
-	// out one.
-    @Override public Class<? extends IXtext2EcorePostProcessor> bindIXtext2EcorePostProcessor() {
-      return ProtobufEcorePostProcessor.class;
+    @Override public void configureIXtext2EcorePostProcessor(Binder binder) {
+    	binder.bind(IXtext2EcorePostProcessor.class).to(ProtobufEcorePostProcessor.class);
     }
-//    @Override public void configureIXtext2EcorePostProcessor(Binder binder) {
-//    	super.configure(binder);
-//    	binder.bind(IXtext2EcorePostProcessor.class).to(ProtobufEcorePostProcessor.class);
-//    }
   }
 }
diff --git a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/scoping/ProtoDescriptorProvider.java b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/scoping/ProtoDescriptorProvider.java
index af1c4c9..68b8989 100644
--- a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/scoping/ProtoDescriptorProvider.java
+++ b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/scoping/ProtoDescriptorProvider.java
@@ -132,8 +132,7 @@
   }
 
   private Map<String, ProtoDescriptorInfo> loadDescriptorInfos(final IProject project) {
-    Map<String, ProtoDescriptorInfo> descriptorInfos =
-        new LinkedHashMap<String, ProtoDescriptorProvider.ProtoDescriptorInfo>();
+    Map<String, ProtoDescriptorInfo> descriptorInfos = new LinkedHashMap<>();
 
     // Add descriptor.proto from preferences
     GeneralPreferences preferences = new GeneralPreferences(storeAccess, project);
diff --git a/update-site/site.xml b/update-site/site.xml
index 77222b5..3b46369 100644
--- a/update-site/site.xml
+++ b/update-site/site.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <site>
-   <description name="protobuf-dt" url="https://protobuf-dt.googlesource.com/protobuf/+/master/update-site">
+   <description name="protobuf-dt" url="http://protobuf-dt.googlecode.com/git/update-site">
       Update site for protobuf-dt, an Eclipse-based Development Environment for Protocol Buffers.
    </description>
    <feature url="features/com.google.eclipse.protobuf_1.4.1.201306170929.jar" id="com.google.eclipse.protobuf" version="1.4.1.201306170929">