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);
- }
-}