diff --git a/features/org.eclipse.emf.codegen.ecore-feature/feature.xml b/features/org.eclipse.emf.codegen.ecore-feature/feature.xml
index e5b317f..d15bd05 100644
--- a/features/org.eclipse.emf.codegen.ecore-feature/feature.xml
+++ b/features/org.eclipse.emf.codegen.ecore-feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.emf.codegen.ecore"
       label="%featureName"
-      version="2.26.0.qualifier"
+      version="2.27.0.qualifier"
       provider-name="%providerName"
       license-feature="org.eclipse.emf.license"
       license-feature-version="2.11.0">
diff --git a/features/org.eclipse.emf.codegen.ecore-feature/pom.xml b/features/org.eclipse.emf.codegen.ecore-feature/pom.xml
index b502eaa..c413b6e 100644
--- a/features/org.eclipse.emf.codegen.ecore-feature/pom.xml
+++ b/features/org.eclipse.emf.codegen.ecore-feature/pom.xml
@@ -12,7 +12,7 @@
 
   <groupId>org.eclipse.emf.features</groupId>
   <artifactId>org.eclipse.emf.codegen.ecore</artifactId>
-  <version>2.26.0-SNAPSHOT</version>
+  <version>2.27.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 
 </project>
diff --git a/features/org.eclipse.emf.codegen.ecore.ui-feature/feature.xml b/features/org.eclipse.emf.codegen.ecore.ui-feature/feature.xml
index ca2f5ea..5e2328c 100644
--- a/features/org.eclipse.emf.codegen.ecore.ui-feature/feature.xml
+++ b/features/org.eclipse.emf.codegen.ecore.ui-feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.emf.codegen.ecore.ui"
       label="%featureName"
-      version="2.26.0.qualifier"
+      version="2.27.0.qualifier"
       provider-name="%providerName"
       license-feature="org.eclipse.emf.license"
       license-feature-version="2.11.0">
diff --git a/features/org.eclipse.emf.codegen.ecore.ui-feature/pom.xml b/features/org.eclipse.emf.codegen.ecore.ui-feature/pom.xml
index d9b159f..a1ba7b2 100644
--- a/features/org.eclipse.emf.codegen.ecore.ui-feature/pom.xml
+++ b/features/org.eclipse.emf.codegen.ecore.ui-feature/pom.xml
@@ -12,7 +12,7 @@
 
   <groupId>org.eclipse.emf.features</groupId>
   <artifactId>org.eclipse.emf.codegen.ecore.ui</artifactId>
-  <version>2.26.0-SNAPSHOT</version>
+  <version>2.27.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 
 </project>
diff --git a/plugins/org.eclipse.emf.codegen.ecore.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.codegen.ecore.ui/META-INF/MANIFEST.MF
index 5792bc9..a0778e4 100644
--- a/plugins/org.eclipse.emf.codegen.ecore.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.codegen.ecore.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.codegen.ecore.ui; singleton:=true
-Bundle-Version: 2.26.0.qualifier
+Bundle-Version: 2.27.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emf.codegen.ecore.genmodel.provider.GenModelEditPlugin$Implementation
 Bundle-Vendor: %providerName
@@ -17,7 +17,7 @@
  org.eclipse.core.resources;bundle-version="[3.6.0,4.0.0)",
  org.eclipse.jdt.core;bundle-version="[3.6.0,4.0.0)",
  org.eclipse.ui.ide;bundle-version="[3.6.0,4.0.0)";visibility:=reexport,
- org.eclipse.emf.codegen.ecore;bundle-version="[2.26.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.codegen.ecore;bundle-version="[2.27.0,3.0.0)";visibility:=reexport,
  org.eclipse.emf.edit.ui;bundle-version="[2.20.0,3.0.0)";visibility:=reexport,
  org.eclipse.emf.ecore.edit;bundle-version="[2.13.0,3.0.0)";visibility:=reexport,
  org.eclipse.jface.text;bundle-version="[3.6.0,4.0.0)"
diff --git a/plugins/org.eclipse.emf.codegen.ecore.ui/plugin.properties b/plugins/org.eclipse.emf.codegen.ecore.ui/plugin.properties
index 305b8be..6b0be0d 100644
--- a/plugins/org.eclipse.emf.codegen.ecore.ui/plugin.properties
+++ b/plugins/org.eclipse.emf.codegen.ecore.ui/plugin.properties
@@ -339,6 +339,7 @@
 _UI_GenJDKLevel_JDK150_literal = 15.0
 _UI_GenJDKLevel_JDK160_literal = 16.0
 _UI_GenJDKLevel_JDK170_literal = 17.0
+_UI_GenJDKLevel_JDK180_literal = 18.0
 
 _UI_GenTypeParameter_type = Gen Type Parameter
 _UI_GenTypeParameter_ecoreTypeParameter_feature = Ecore Type Parameter
@@ -415,6 +416,7 @@
 _UI_GenRuntimeVersion_EMF224_literal = 2.24
 _UI_GenRuntimeVersion_EMF225_literal = 2.25
 _UI_GenRuntimeVersion_EMF226_literal = 2.26
+_UI_GenRuntimeVersion_EMF227_literal = 2.27
 
 _UI_GenPackage_contentTypeIdentifier_feature = Content Type Identifier
 _UI_GenPackage_contentTypeIdentifier_description = A content type identifier against which to register this model's resource factory
@@ -501,6 +503,7 @@
 _UI_GenEclipsePlatformVersion_Eclipse_2020_12_literal = 2020-12 - 4.18
 _UI_GenEclipsePlatformVersion_Eclipse_2021_03_literal = 2021-03 - 4.19
 _UI_GenEclipsePlatformVersion_Eclipse_2021_06_literal = 2021-06 - 4.20
+_UI_GenEclipsePlatformVersion_Eclipse_2021_09_literal = 2021-09 - 4.21
 
 _UI_GenModel_modelDocumentation_feature = Model Documentation
 _UI_GenModel_modelDocumentation_description = The Javadoc documentation to generate for the model-level artifacts such as plug-in classes, including any @since or @deprecated tags
@@ -557,4 +560,4 @@
 _UI_GenCodeStyle_UnnecessaryElse_literal = UnnecessaryElse
 _UI_GenCodeStyle_SwitchMissingDefaultCase_literal = SwitchMissingDefaultCase
 _UI_GenCodeStyle_UnnecessaryAssignmentBeforeReturn_literal = UnnecessaryAssignmentBeforeReturn
-_UI_GenCodeStyle_UnnecessaryDeprecatedMethod_literal = UnnecessaryDeprecatedMethod
+_UI_GenCodeStyle_UnnecessaryDeprecatedMethod_literal = UnnecessaryDeprecatedMethod
\ No newline at end of file
diff --git a/plugins/org.eclipse.emf.codegen.ecore.ui/pom.xml b/plugins/org.eclipse.emf.codegen.ecore.ui/pom.xml
index f1c0118..f60097b 100644
--- a/plugins/org.eclipse.emf.codegen.ecore.ui/pom.xml
+++ b/plugins/org.eclipse.emf.codegen.ecore.ui/pom.xml
@@ -12,7 +12,7 @@
 
   <groupId>org.eclipse.emf</groupId>
   <artifactId>org.eclipse.emf.codegen.ecore.ui</artifactId>
-  <version>2.26.0-SNAPSHOT</version>
+  <version>2.27.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 
 </project>
diff --git a/plugins/org.eclipse.emf.codegen.ecore/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.codegen.ecore/META-INF/MANIFEST.MF
index cc8d64c..6fccea2 100644
--- a/plugins/org.eclipse.emf.codegen.ecore/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.codegen.ecore/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.codegen.ecore; singleton:=true
-Bundle-Version: 2.26.0.qualifier
+Bundle-Version: 2.27.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emf.codegen.ecore.CodeGenEcorePlugin$Implementation
 Bundle-Vendor: %providerName
@@ -23,7 +23,7 @@
  org.eclipse.core.resources;bundle-version="[3.6.0,4.0.0)",
  org.eclipse.jdt.core;bundle-version="[3.6.0,4.0.0)",
  org.eclipse.jdt.launching;bundle-version="[3.5.0,4.0.0)",
- org.eclipse.emf.ecore;bundle-version="[2.24.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore;bundle-version="[2.25.0,3.0.0)";visibility:=reexport,
  org.eclipse.emf.codegen;bundle-version="[2.22.0,3.0.0)";visibility:=reexport,
  org.eclipse.emf.ecore.xmi;bundle-version="[2.16.0,3.0.0)",
  org.eclipse.text;bundle-version="[3.5.0,4.0.0)"
diff --git a/plugins/org.eclipse.emf.codegen.ecore/model/GenModel.ecore b/plugins/org.eclipse.emf.codegen.ecore/model/GenModel.ecore
index 35261ad..f2f676d 100644
--- a/plugins/org.eclipse.emf.codegen.ecore/model/GenModel.ecore
+++ b/plugins/org.eclipse.emf.codegen.ecore/model/GenModel.ecore
@@ -549,6 +549,11 @@
         <details key="documentation" value="@since 2.25"/>
       </eAnnotations>
     </eLiterals>
+    <eLiterals name="JDK180" value="14" literal="18.0">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="@since 2.27"/>
+      </eAnnotations>
+    </eLiterals>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="GenTypeParameter" eSuperTypes="#//GenBase">
     <eStructuralFeatures xsi:type="ecore:EReference" name="ecoreTypeParameter" lowerBound="1"
@@ -640,6 +645,11 @@
         <details key="documentation" value="@since 2.26"/>
       </eAnnotations>
     </eLiterals>
+    <eLiterals name="EMF227" value="25" literal="2.27">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="@since 2.27"/>
+      </eAnnotations>
+    </eLiterals>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EEnum" name="GenRuntimePlatform">
     <eLiterals name="IDE"/>
@@ -723,6 +733,11 @@
         <details key="documentation" value="@since 2.26"/>
       </eAnnotations>
     </eLiterals>
+    <eLiterals name="Eclipse_2021_09" value="19" literal="2021-09">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="@since 2.27"/>
+      </eAnnotations>
+    </eLiterals>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EDataType" name="Path" instanceClassName="java.lang.String">
     <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
diff --git a/plugins/org.eclipse.emf.codegen.ecore/model/GenModel.genmodel b/plugins/org.eclipse.emf.codegen.ecore/model/GenModel.genmodel
index 724da99..a91c49e 100644
--- a/plugins/org.eclipse.emf.codegen.ecore/model/GenModel.genmodel
+++ b/plugins/org.eclipse.emf.codegen.ecore/model/GenModel.genmodel
@@ -50,6 +50,7 @@
       <genEnumLiterals ecoreEnumLiteral="GenModel.ecore#//GenJDKLevel/JDK150"/>
       <genEnumLiterals ecoreEnumLiteral="GenModel.ecore#//GenJDKLevel/JDK160"/>
       <genEnumLiterals ecoreEnumLiteral="GenModel.ecore#//GenJDKLevel/JDK170"/>
+      <genEnumLiterals ecoreEnumLiteral="GenModel.ecore#//GenJDKLevel/JDK180"/>
     </genEnums>
     <genEnums typeSafeEnumCompatible="false" ecoreEnum="GenModel.ecore#//GenRuntimeVersion">
       <genEnumLiterals ecoreEnumLiteral="GenModel.ecore#//GenRuntimeVersion/EMF22"/>
@@ -77,6 +78,7 @@
       <genEnumLiterals ecoreEnumLiteral="GenModel.ecore#//GenRuntimeVersion/EMF224"/>
       <genEnumLiterals ecoreEnumLiteral="GenModel.ecore#//GenRuntimeVersion/EMF225"/>
       <genEnumLiterals ecoreEnumLiteral="GenModel.ecore#//GenRuntimeVersion/EMF226"/>
+      <genEnumLiterals ecoreEnumLiteral="GenModel.ecore#//GenRuntimeVersion/EMF227"/>
     </genEnums>
     <genEnums typeSafeEnumCompatible="false" ecoreEnum="GenModel.ecore#//GenRuntimePlatform">
       <genEnumLiterals ecoreEnumLiteral="GenModel.ecore#//GenRuntimePlatform/IDE"/>
@@ -109,6 +111,7 @@
       <genEnumLiterals ecoreEnumLiteral="GenModel.ecore#//GenEclipsePlatformVersion/Eclipse_2020_12"/>
       <genEnumLiterals ecoreEnumLiteral="GenModel.ecore#//GenEclipsePlatformVersion/Eclipse_2021_03"/>
       <genEnumLiterals ecoreEnumLiteral="GenModel.ecore#//GenEclipsePlatformVersion/Eclipse_2021_06"/>
+      <genEnumLiterals ecoreEnumLiteral="GenModel.ecore#//GenEclipsePlatformVersion/Eclipse_2021_09"/>
     </genEnums>
     <genEnums typeSafeEnumCompatible="false" ecoreEnum="GenModel.ecore#//GenCodeStyle">
       <genEnumLiterals ecoreEnumLiteral="GenModel.ecore#//GenCodeStyle/UnnecessaryElse"/>
diff --git a/plugins/org.eclipse.emf.codegen.ecore/pom.xml b/plugins/org.eclipse.emf.codegen.ecore/pom.xml
index 3962874..eb21ef9 100644
--- a/plugins/org.eclipse.emf.codegen.ecore/pom.xml
+++ b/plugins/org.eclipse.emf.codegen.ecore/pom.xml
@@ -12,7 +12,7 @@
 
   <groupId>org.eclipse.emf</groupId>
   <artifactId>org.eclipse.emf.codegen.ecore</artifactId>
-  <version>2.26.0-SNAPSHOT</version>
+  <version>2.27.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 
 </project>
diff --git a/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/generator/Generator.java b/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/generator/Generator.java
index 8b557e1..5b1dac6 100644
--- a/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/generator/Generator.java
+++ b/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/generator/Generator.java
@@ -403,6 +403,11 @@
               facadeHelper.setCompilerCompliance("17"); 
               break;
             }
+            case JDK180_LITERAL:
+            {
+              facadeHelper.setCompilerCompliance("18"); 
+              break;
+            }
           }
 
           if (genModel.isCodeFormatting())
diff --git a/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/GenEclipsePlatformVersion.java b/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/GenEclipsePlatformVersion.java
index 53d5209..37c5a44 100644
--- a/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/GenEclipsePlatformVersion.java
+++ b/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/GenEclipsePlatformVersion.java
@@ -246,7 +246,20 @@
    * @generated
    * @ordered
    */
-  ECLIPSE_2021_06(18, "Eclipse_2021_06", "2021-06");
+  ECLIPSE_2021_06(18, "Eclipse_2021_06", "2021-06"),
+
+  /**
+   * The '<em><b>Eclipse 2021 09</b></em>' literal object.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * <!-- begin-model-doc -->
+   * @since 2.27
+   * <!-- end-model-doc -->
+   * @see #ECLIPSE_2021_09_VALUE
+   * @generated
+   * @ordered
+   */
+  ECLIPSE_2021_09(19, "Eclipse_2021_09", "2021-09");
 
   /**
    * The '<em><b>Juno</b></em>' literal value.
@@ -494,6 +507,20 @@
   public static final int ECLIPSE_2021_06_VALUE = 18;
 
   /**
+   * The '<em><b>Eclipse 2021 09</b></em>' literal value.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * <!-- begin-model-doc -->
+   * @since 2.27
+   * <!-- end-model-doc -->
+   * @see #ECLIPSE_2021_09
+   * @model name="Eclipse_2021_09" literal="2021-09"
+   * @generated
+   * @ordered
+   */
+  public static final int ECLIPSE_2021_09_VALUE = 19;
+
+  /**
    * An array of all the '<em><b>Gen Eclipse Platform Version</b></em>' enumerators.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
@@ -521,6 +548,7 @@
       ECLIPSE_2020_12,
       ECLIPSE_2021_03,
       ECLIPSE_2021_06,
+      ECLIPSE_2021_09,
     };
 
   /**
@@ -604,6 +632,7 @@
       case ECLIPSE_2020_12_VALUE: return ECLIPSE_2020_12;
       case ECLIPSE_2021_03_VALUE: return ECLIPSE_2021_03;
       case ECLIPSE_2021_06_VALUE: return ECLIPSE_2021_06;
+      case ECLIPSE_2021_09_VALUE: return ECLIPSE_2021_09;
     }
     return null;
   }
diff --git a/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/GenJDKLevel.java b/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/GenJDKLevel.java
index 7e481db..d53deab 100644
--- a/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/GenJDKLevel.java
+++ b/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/GenJDKLevel.java
@@ -192,7 +192,20 @@
    * @generated
    * @ordered
    */
-  JDK170_LITERAL(13, "JDK170", "17.0");
+  JDK170_LITERAL(13, "JDK170", "17.0"),
+
+  /**
+   * The '<em><b>JDK180</b></em>' literal object.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * <!-- begin-model-doc -->
+   * @since 2.27
+   * <!-- end-model-doc -->
+   * @see #JDK180
+   * @generated
+   * @ordered
+   */
+  JDK180_LITERAL(14, "JDK180", "18.0");
 
   /**
    * The '<em><b>JDK14</b></em>' literal value.
@@ -381,6 +394,20 @@
   public static final int JDK170 = 13;
 
   /**
+   * The '<em><b>JDK180</b></em>' literal value.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * <!-- begin-model-doc -->
+   * @since 2.27
+   * <!-- end-model-doc -->
+   * @see #JDK180_LITERAL
+   * @model literal="18.0"
+   * @generated
+   * @ordered
+   */
+  public static final int JDK180 = 14;
+
+  /**
    * An array of all the '<em><b>Gen JDK Level</b></em>' enumerators.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
@@ -403,6 +430,7 @@
       JDK150_LITERAL,
       JDK160_LITERAL,
       JDK170_LITERAL,
+      JDK180_LITERAL,
     };
 
   /**
@@ -481,6 +509,7 @@
       case JDK150: return JDK150_LITERAL;
       case JDK160: return JDK160_LITERAL;
       case JDK170: return JDK170_LITERAL;
+      case JDK180: return JDK180_LITERAL;
     }
     return null;
   }
diff --git a/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/GenRuntimeVersion.java b/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/GenRuntimeVersion.java
index ff98d43..d9b5da4 100644
--- a/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/GenRuntimeVersion.java
+++ b/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/GenRuntimeVersion.java
@@ -315,7 +315,20 @@
    * @generated
    * @ordered
    */
-  EMF226(24, "EMF226", "2.26");
+  EMF226(24, "EMF226", "2.26"),
+
+  /**
+   * The '<em><b>EMF227</b></em>' literal object.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * <!-- begin-model-doc -->
+   * @since 2.27
+   * <!-- end-model-doc -->
+   * @see #EMF227_VALUE
+   * @generated
+   * @ordered
+   */
+  EMF227(25, "EMF227", "2.27");
 
   /**
    * The '<em><b>EMF22</b></em>' literal value.
@@ -646,6 +659,20 @@
   public static final int EMF226_VALUE = 24;
 
   /**
+   * The '<em><b>EMF227</b></em>' literal value.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * <!-- begin-model-doc -->
+   * @since 2.27
+   * <!-- end-model-doc -->
+   * @see #EMF227
+   * @model literal="2.27"
+   * @generated
+   * @ordered
+   */
+  public static final int EMF227_VALUE = 25;
+
+  /**
    * An array of all the '<em><b>Gen Runtime Version</b></em>' enumerators.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
@@ -679,6 +706,7 @@
       EMF224,
       EMF225,
       EMF226,
+      EMF227,
     };
 
   /**
@@ -768,6 +796,7 @@
       case EMF224_VALUE: return EMF224;
       case EMF225_VALUE: return EMF225;
       case EMF226_VALUE: return EMF226;
+      case EMF227_VALUE: return EMF227;
     }
     return null;
   }
diff --git a/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/impl/GenModelPackageImpl.java b/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/impl/GenModelPackageImpl.java
index 228c4f9..e8e6edc 100644
--- a/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/impl/GenModelPackageImpl.java
+++ b/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/impl/GenModelPackageImpl.java
@@ -2976,6 +2976,7 @@
     addEEnumLiteral(genJDKLevelEEnum, GenJDKLevel.JDK150_LITERAL);
     addEEnumLiteral(genJDKLevelEEnum, GenJDKLevel.JDK160_LITERAL);
     addEEnumLiteral(genJDKLevelEEnum, GenJDKLevel.JDK170_LITERAL);
+    addEEnumLiteral(genJDKLevelEEnum, GenJDKLevel.JDK180_LITERAL);
 
     initEEnum(genRuntimeVersionEEnum, GenRuntimeVersion.class, "GenRuntimeVersion");
     addEEnumLiteral(genRuntimeVersionEEnum, GenRuntimeVersion.EMF22);
@@ -3003,6 +3004,7 @@
     addEEnumLiteral(genRuntimeVersionEEnum, GenRuntimeVersion.EMF224);
     addEEnumLiteral(genRuntimeVersionEEnum, GenRuntimeVersion.EMF225);
     addEEnumLiteral(genRuntimeVersionEEnum, GenRuntimeVersion.EMF226);
+    addEEnumLiteral(genRuntimeVersionEEnum, GenRuntimeVersion.EMF227);
 
     initEEnum(genRuntimePlatformEEnum, GenRuntimePlatform.class, "GenRuntimePlatform");
     addEEnumLiteral(genRuntimePlatformEEnum, GenRuntimePlatform.IDE);
@@ -3035,6 +3037,7 @@
     addEEnumLiteral(genEclipsePlatformVersionEEnum, GenEclipsePlatformVersion.ECLIPSE_2020_12);
     addEEnumLiteral(genEclipsePlatformVersionEEnum, GenEclipsePlatformVersion.ECLIPSE_2021_03);
     addEEnumLiteral(genEclipsePlatformVersionEEnum, GenEclipsePlatformVersion.ECLIPSE_2021_06);
+    addEEnumLiteral(genEclipsePlatformVersionEEnum, GenEclipsePlatformVersion.ECLIPSE_2021_09);
 
     initEEnum(genCodeStyleEEnum, GenCodeStyle.class, "GenCodeStyle");
     addEEnumLiteral(genCodeStyleEEnum, GenCodeStyle.UNNECESSARY_ELSE);
