Upgrade minimum java version for GWT to 1.7. GWT 2.7 is declared as the last Java 6 compatible release and we are already started using Java 7 specific APIs. Change-Id: I6d85c8d845292ff4baee0743c6bfc6c54fd1305a
diff --git a/common.ant.xml b/common.ant.xml index 7bdf6ee..3cbf7c6 100755 --- a/common.ant.xml +++ b/common.ant.xml
@@ -56,8 +56,8 @@ <property name="javac.debug" value="true"/> <property name="javac.debuglevel" value="lines,vars,source"/> <property name="javac.encoding" value="utf-8"/> - <property name="javac.source" value="1.6"/> - <property name="javac.target" value="1.6"/> + <property name="javac.source" value="1.7"/> + <property name="javac.target" value="1.7"/> <property name="javac.nowarn" value="true"/> <property name="junit.out" location="${project.build}/test"/> <property name="emma.dir" value="${gwt.tools.redist}/emma"/>
diff --git a/dev/BUILD b/dev/BUILD index abab9ca..f0ec39a 100644 --- a/dev/BUILD +++ b/dev/BUILD
@@ -131,11 +131,6 @@ ["core/src/**/*.java"], exclude = ["**/package-info.java"], ), - # Temporary workaround to ensure Java 6 compatible class files after Java - # 7 upgrade. - # TODO: only the requestfactory client should be required to be Android - # compatible. - constraints = ["android"], deps = [ ":compiler.standalone.super", "//third_party/java_src/gwt/svn/tools:dev_deps",
diff --git a/dev/core/src/com/google/gwt/dev/javac/JdtCompiler.java b/dev/core/src/com/google/gwt/dev/javac/JdtCompiler.java index fb78490..55f4719 100644 --- a/dev/core/src/com/google/gwt/dev/javac/JdtCompiler.java +++ b/dev/core/src/com/google/gwt/dev/javac/JdtCompiler.java
@@ -757,7 +757,6 @@ */ private static final Map<SourceLevel, Long> jdtLevelByGwtLevel = ImmutableMap.<SourceLevel, Long>of( - SourceLevel.JAVA6, ClassFileConstants.JDK1_6, SourceLevel.JAVA7, ClassFileConstants.JDK1_7, SourceLevel.JAVA8, ClassFileConstants.JDK1_8);
diff --git a/dev/core/src/com/google/gwt/dev/util/arg/SourceLevel.java b/dev/core/src/com/google/gwt/dev/util/arg/SourceLevel.java index ca3a955..14d2188 100644 --- a/dev/core/src/com/google/gwt/dev/util/arg/SourceLevel.java +++ b/dev/core/src/com/google/gwt/dev/util/arg/SourceLevel.java
@@ -26,7 +26,6 @@ */ public enum SourceLevel { // Source levels must appear in ascending order for the default setting logic to work. - JAVA6("1.6", "6"), JAVA7("1.7", "7"), JAVA8("1.8", "8");
diff --git a/dev/core/test/com/google/gwt/dev/CompilerTest.java b/dev/core/test/com/google/gwt/dev/CompilerTest.java index 6ce54ac..dafa666 100644 --- a/dev/core/test/com/google/gwt/dev/CompilerTest.java +++ b/dev/core/test/com/google/gwt/dev/CompilerTest.java
@@ -811,13 +811,11 @@ } public void testSourceLevelSelection() { - // We are not able to compile to less that Java 6 so, we might as well do Java7 on - // these cases. assertEquals(SourceLevel.JAVA7, SourceLevel.getBestMatchingVersion("1.4")); assertEquals(SourceLevel.JAVA7, SourceLevel.getBestMatchingVersion("1.5")); + assertEquals(SourceLevel.JAVA7, SourceLevel.getBestMatchingVersion("1.6")); + assertEquals(SourceLevel.JAVA7, SourceLevel.getBestMatchingVersion("1.6_26")); - assertEquals(SourceLevel.JAVA6, SourceLevel.getBestMatchingVersion("1.6")); - assertEquals(SourceLevel.JAVA6, SourceLevel.getBestMatchingVersion("1.6_26")); assertEquals(SourceLevel.JAVA7, SourceLevel.getBestMatchingVersion("1.7")); assertEquals(SourceLevel.JAVA8, SourceLevel.getBestMatchingVersion("1.8")); assertEquals(SourceLevel.JAVA8, SourceLevel.getBestMatchingVersion("1.9"));
diff --git a/tools/api-checker/config/gwt27_28userApi.conf b/tools/api-checker/config/gwt27_28userApi.conf index b27ed0e..196b577 100644 --- a/tools/api-checker/config/gwt27_28userApi.conf +++ b/tools/api-checker/config/gwt27_28userApi.conf
@@ -91,7 +91,6 @@ :**/server/**\ :**/tools/**\ :**/vm/**\ -:user/src/com/google/gwt/core/client/impl/JavaScriptExceptionBase.java\ :user/src/com/google/gwt/core/client/impl/WeakMapping.java\ :user/src/com/google/gwt/core/shared/impl/ThrowableTypeResolver.java\ :user/src/com/google/gwt/i18n/**/impl/cldr/**\
diff --git a/user/BUILD b/user/BUILD index b4ff116..72025a7 100644 --- a/user/BUILD +++ b/user/BUILD
@@ -288,7 +288,6 @@ "src/com/google/gwt/core/client/JsDate.java", "src/com/google/gwt/core/client/Duration.java", "src/com/google/gwt/core/client/Scheduler.java", - "src/com/google/gwt/core/client/impl/JavaScriptExceptionBase.java", "src/com/google/gwt/user/client/Window.java", "src/com/google/gwt/user/client/Window*.java", "src/com/google/gwt/user/client/BaseListenerWrapper.java",
diff --git a/user/src/com/google/gwt/core/client/JavaScriptException.java b/user/src/com/google/gwt/core/client/JavaScriptException.java index 1350037..1395541 100644 --- a/user/src/com/google/gwt/core/client/JavaScriptException.java +++ b/user/src/com/google/gwt/core/client/JavaScriptException.java
@@ -15,8 +15,6 @@ */ package com.google.gwt.core.client; -import com.google.gwt.core.client.impl.JavaScriptExceptionBase; - /** * Any JavaScript exceptions occurring within JSNI methods are wrapped as this * class when caught in Java code. The wrapping does not occur until the @@ -43,7 +41,7 @@ * } * </pre> */ -public final class JavaScriptException extends JavaScriptExceptionBase { +public final class JavaScriptException extends RuntimeException { private static final Object NOT_SET = new Object(); @@ -110,6 +108,9 @@ * trace */ public JavaScriptException(Object e, String description) { + // Stack trace is writeable for outside just for classic devmode but otherwise it is not and we + // don't want unnecessary fillInStackTrace calls from super constructor as well. + super(null, null, true, !GWT.isScript()); this.e = e; this.description = description; }
diff --git a/user/src/com/google/gwt/core/client/impl/JavaScriptExceptionBase.java b/user/src/com/google/gwt/core/client/impl/JavaScriptExceptionBase.java deleted file mode 100644 index 11362f1..0000000 --- a/user/src/com/google/gwt/core/client/impl/JavaScriptExceptionBase.java +++ /dev/null
@@ -1,30 +0,0 @@ -/* - * Copyright 2014 Google Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not - * use this file except in compliance with the License. You may obtain a copy of - * the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations under - * the License. - */ -package com.google.gwt.core.client.impl; - -/** - * A helper to super-source just the parent constructor call that doesn't exist in Java6. - */ -public class JavaScriptExceptionBase extends RuntimeException { - - public JavaScriptExceptionBase() { - super(null, null); - } - - public JavaScriptExceptionBase(String message) { - super(message); - } -}
diff --git a/user/src/com/google/gwt/uibinder/rebind/model/ImplicitCssResource.java b/user/src/com/google/gwt/uibinder/rebind/model/ImplicitCssResource.java index 894e01a..eb3f08c 100644 --- a/user/src/com/google/gwt/uibinder/rebind/model/ImplicitCssResource.java +++ b/user/src/com/google/gwt/uibinder/rebind/model/ImplicitCssResource.java
@@ -52,22 +52,17 @@ */ public class ImplicitCssResource { - /** - * Class wrapping code using GSS in order to keep Java6 compatibility if GSS is not used. - */ - private static class GssWrapper { - private static Set<String> getCssClassNames(String fileName, String cssSource, - Set<JClassType> imports, TreeLogger logger) throws UnableToCompleteException { - SourceCode sourceCode = new SourceCode(fileName, cssSource); - CssTree tree; - try { - tree = new GssParser(sourceCode).parse(); - } catch (GssParserException e) { - logger.log(TreeLogger.ERROR, "Unable to parse CSS", e); - throw new UnableToCompleteException(); - } - return new ClassNamesCollector().getClassNames(tree, imports); + private static Set<String> getCssClassNames(String fileName, String cssSource, + Set<JClassType> imports, TreeLogger logger) throws UnableToCompleteException { + SourceCode sourceCode = new SourceCode(fileName, cssSource); + CssTree tree; + try { + tree = new GssParser(sourceCode).parse(); + } catch (GssParserException e) { + logger.log(TreeLogger.ERROR, "Unable to parse CSS", e); + throw new UnableToCompleteException(); } + return new ClassNamesCollector().getClassNames(tree, imports); } private static final CssNameConverter nameConverter = new CssNameConverter(); @@ -132,8 +127,7 @@ assert urls.size() > 0; if (gss) { - return GssWrapper.getCssClassNames(bodyFile.getName(), body, imports, - logger.getTreeLogger()); + return getCssClassNames(bodyFile.getName(), body, imports, logger.getTreeLogger()); } else { CssStylesheet sheet = GenerateCssAst.exec(logger.getTreeLogger(), urls.toArray(new URL[urls.size()]));
diff --git a/user/super/com/google/gwt/core/translatable/com/google/gwt/core/client/impl/JavaScriptExceptionBase.java b/user/super/com/google/gwt/core/translatable/com/google/gwt/core/client/impl/JavaScriptExceptionBase.java deleted file mode 100644 index 18fb8dd..0000000 --- a/user/super/com/google/gwt/core/translatable/com/google/gwt/core/client/impl/JavaScriptExceptionBase.java +++ /dev/null
@@ -1,36 +0,0 @@ -/* - * Copyright 2014 Google Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not - * use this file except in compliance with the License. You may obtain a copy of - * the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations under - * the License. - */ -package com.google.gwt.core.client.impl; - -import com.google.gwt.core.client.GwtScriptOnly; - -/** - * A super-source version of JavaScriptExceptionBase so that we can call super constructor that - * disables #fillInStackTrace without breaking Java6 compatibility. - */ -@GwtScriptOnly -public class JavaScriptExceptionBase extends RuntimeException { - - public JavaScriptExceptionBase() { - // Stack trace is not-writeable from outside and we don't want unnecessary fillInStackTrace - // calls from super constructor as well. - super(null, null, true, false); - } - - public JavaScriptExceptionBase(String message) { - super(message); - } -}