[546798] Adding Java 12 support

Change-Id: Id6f5950a504e4b0fe578f47253062e127a8f3f80
Signed-off-by: Leon Keuroglian <lkeuroglian@hotmail.com>
diff --git a/features/org.eclipse.jst.common.fproj.enablement.jdt.feature/feature.xml b/features/org.eclipse.jst.common.fproj.enablement.jdt.feature/feature.xml
index 0dca4ef..57c06d9 100644
--- a/features/org.eclipse.jst.common.fproj.enablement.jdt.feature/feature.xml
+++ b/features/org.eclipse.jst.common.fproj.enablement.jdt.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.jst.common.fproj.enablement.jdt"
       label="%featureName"
-      version="3.11.0.qualifier"
+      version="3.12.0.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.jst.common.project.facet.core"
       license-feature="org.eclipse.license"
diff --git a/features/org.eclipse.jst.common.fproj.enablement.jdt.feature/pom.xml b/features/org.eclipse.jst.common.fproj.enablement.jdt.feature/pom.xml
index edb351d..ac3d32b 100644
--- a/features/org.eclipse.jst.common.fproj.enablement.jdt.feature/pom.xml
+++ b/features/org.eclipse.jst.common.fproj.enablement.jdt.feature/pom.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>

 <!--

-  Copyright (c) 2012, 2013 Eclipse Foundation and others.

+  Copyright (c) 2012, 2019 Eclipse Foundation and others.

   All rights reserved. This program and the accompanying materials

   are made available under the terms of the Eclipse Distribution License v1.0

   which accompanies this distribution, and is available at

@@ -21,6 +21,6 @@
 

   <groupId>org.eclipse.webtools.common</groupId>

   <artifactId>org.eclipse.jst.common.fproj.enablement.jdt</artifactId>

-  <version>3.11.0-SNAPSHOT</version>

+  <version>3.12.0-SNAPSHOT</version>

   <packaging>eclipse-feature</packaging>

 </project>
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.common.project.facet.core/META-INF/MANIFEST.MF
index 3c9acbf..a3b2f63 100644
--- a/plugins/org.eclipse.jst.common.project.facet.core/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.jst.common.project.facet.core/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@
 Bundle-Vendor: %providerName
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.jst.common.project.facet.core; singleton:=true
-Bundle-Version: 1.7.0.qualifier
+Bundle-Version: 1.8.0.qualifier
 Bundle-ClassPath: .
 Bundle-Localization: plugin
 Export-Package: org.eclipse.jst.common.project.facet.core,
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/plugin.xml b/plugins/org.eclipse.jst.common.project.facet.core/plugin.xml
index 0b80710..0a0ede7 100644
--- a/plugins/org.eclipse.jst.common.project.facet.core/plugin.xml
+++ b/plugins/org.eclipse.jst.common.project.facet.core/plugin.xml
@@ -29,6 +29,7 @@
     <runtime-component-version type="standard.jre" version="9"/>
     <runtime-component-version type="standard.jre" version="10"/>
     <runtime-component-version type="standard.jre" version="11"/>
+    <runtime-component-version type="standard.jre" version="12"/>
 
     <supported>
       <facet id="java" version="1.3"/>
@@ -74,6 +75,11 @@
       <facet id="java" version="11"/>
       <runtime-component id="standard.jre" version="[11"/>
     </supported>
+    
+    <supported>
+      <facet id="java" version="12"/>
+      <runtime-component id="standard.jre" version="[12"/>
+    </supported>
 
     <adapter>
       <runtime-component id="standard.jre"/>
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/pom.xml b/plugins/org.eclipse.jst.common.project.facet.core/pom.xml
index bb20c3c..f89cdf9 100644
--- a/plugins/org.eclipse.jst.common.project.facet.core/pom.xml
+++ b/plugins/org.eclipse.jst.common.project.facet.core/pom.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>

 <!--

-  Copyright (c) 2012, 2018 Eclipse Foundation and others.

+  Copyright (c) 2012, 2019 Eclipse Foundation and others.

   All rights reserved. This program and the accompanying materials

   are made available under the terms of the Eclipse Distribution License v1.0

   which accompanies this distribution, and is available at

@@ -21,6 +21,6 @@
 

   <groupId>org.eclipse.webtools.common</groupId>

   <artifactId>org.eclipse.jst.common.project.facet.core</artifactId>

-  <version>1.7.0-SNAPSHOT</version>

+  <version>1.8.0-SNAPSHOT</version>

   <packaging>eclipse-plugin</packaging>

 </project>
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/JavaFacet.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/JavaFacet.java
index 12e5cac..fe6fb88 100644
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/JavaFacet.java
+++ b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/JavaFacet.java
@@ -1,5 +1,5 @@
 /******************************************************************************
- * Copyright (c) 2010, 2018 Oracle
+ * Copyright (c) 2010, 2019 Oracle
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v2.0
  * which accompanies this distribution, and is available at
@@ -9,6 +9,7 @@
  *    Konstantin Komissarchik - initial implementation and ongoing maintenance
  *    Carl Anderson - Java 9 support
  *    John Collier - Java 10 and 11 support
+ *    Leon Keuroglian - Java 12 support
  ******************************************************************************/
 
 package org.eclipse.jst.common.project.facet.core;
@@ -39,6 +40,7 @@
     public static final IProjectFacetVersion VERSION_9 = FACET.getVersion( "9" ); //$NON-NLS-1$
     public static final IProjectFacetVersion VERSION_10 = FACET.getVersion( "10" ); //$NON-NLS-1$
     public static final IProjectFacetVersion VERSION_11 = FACET.getVersion( "11" ); //$NON-NLS-1$
+    public static final IProjectFacetVersion VERSION_12 = FACET.getVersion( "12" ); //$NON-NLS-1$
 
     @Deprecated
     public static final IProjectFacetVersion JAVA_13 = VERSION_1_3;
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/StandardJreRuntimeComponent.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/StandardJreRuntimeComponent.java
index bc0feea..f4c9199 100644
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/StandardJreRuntimeComponent.java
+++ b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/StandardJreRuntimeComponent.java
@@ -1,5 +1,5 @@
 /******************************************************************************
- * Copyright (c) 2010, 2018 Oracle
+ * Copyright (c) 2010, 2019 Oracle
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v2.0
  * which accompanies this distribution, and is available at
@@ -9,6 +9,7 @@
  *    Konstantin Komissarchik - initial implementation and ongoing maintenance
  *    Carl Anderson - Java 9 support
  *    John Collier - Java 10 and 11 support
+ *    Leon Keuroglian - Java 12 support
  ******************************************************************************/
 
 package org.eclipse.jst.common.project.facet.core;
@@ -40,6 +41,7 @@
     public static final IRuntimeComponentVersion VERSION_9 = TYPE.getVersion( "9" ); //$NON-NLS-1$
     public static final IRuntimeComponentVersion VERSION_10 = TYPE.getVersion( "10" ); //$NON-NLS-1$
     public static final IRuntimeComponentVersion VERSION_11 = TYPE.getVersion( "11" ); //$NON-NLS-1$
+    public static final IRuntimeComponentVersion VERSION_12 = TYPE.getVersion( "12" ); //$NON-NLS-1$
 
     @Deprecated
     public static final IRuntimeComponentVersion VERSION_5_0 = VERSION_1_5;
@@ -100,12 +102,16 @@
         }
         else if( jvmver.startsWith( "11" ) ) //$NON-NLS-1$
         {
-        	rcv = StandardJreRuntimeComponent.VERSION_11;
-        }
-        else 
-        {
             rcv = StandardJreRuntimeComponent.VERSION_11;
         }
+        else if( jvmver.startsWith( "12" ) ) //$NON-NLS-1$
+        {
+            rcv = StandardJreRuntimeComponent.VERSION_12;
+        }
+        else
+        {
+            rcv = StandardJreRuntimeComponent.VERSION_12;
+        }
         
         final Map<String,String> properties = new HashMap<String,String>();
         
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetUtil.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetUtil.java
index 146db1d..6f6047c 100644
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetUtil.java
+++ b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetUtil.java
@@ -1,5 +1,5 @@
 /******************************************************************************
- * Copyright (c) 2010, 2018 Oracle
+ * Copyright (c) 2010, 2019 Oracle
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v2.0
  * which accompanies this distribution, and is available at
@@ -9,6 +9,7 @@
  *    Konstantin Komissarchik - initial implementation and ongoing maintenance
  *    Carl Anderson - Java 9 support
  *    John Collier - Java 10 and 11 support
+ *    Leon Keuroglian - Java 12 support
  ******************************************************************************/
 
 package org.eclipse.jst.common.project.facet.core.internal;
@@ -66,6 +67,7 @@
         FACET_VER_TO_EXEC_ENV.put( JavaFacet.VERSION_9, "JavaSE-9" ); //$NON-NLS-1$
         FACET_VER_TO_EXEC_ENV.put( JavaFacet.VERSION_10, "JavaSE-10" ); //$NON-NLS-1$
         FACET_VER_TO_EXEC_ENV.put( JavaFacet.VERSION_11, "JavaSE-11" ); //$NON-NLS-1$
+        FACET_VER_TO_EXEC_ENV.put( JavaFacet.VERSION_12, "JavaSE-12" ); //$NON-NLS-1$
     }
     
     public static String getCompilerLevel()