bazelbuild/rules_appengine

unable to upgrade to 1.9.36, can't run DevServer

pmbethe09 opened this issue · 1 comments

Attempting to update to 1.9.36 causes crashes.

diff --git a/appengine/appengine.bzl b/appengine/appengine.bzl
index 9931317..1d7706b 100644
--- a/appengine/appengine.bzl
+++ b/appengine/appengine.bzl
@@ -243,24 +243,24 @@ java_import(

 java_import(
     name = "api",
-    jars = ["appengine-java-sdk-1.9.34/lib/impl/appengine-api.jar"],
+    jars = ["appengine-java-sdk-1.9.36/lib/impl/appengine-api.jar"],
     visibility = ["//visibility:public"],
     neverlink = 1,
 )

 filegroup(
     name = "sdk",
-    srcs = glob(["appengine-java-sdk-1.9.34/**"]),
+    srcs = glob(["appengine-java-sdk-1.9.36/**"]),
     visibility = ["//visibility:public"],
-    path = "appengine-java-sdk-1.9.34",
+    path = "appengine-java-sdk-1.9.36",
 )
 """

 def appengine_repositories():
   native.new_http_archive(
       name = "com_google_appengine_java",
-      url = "http://central.maven.org/maven2/com/google/appengine/appengine-java-sdk/1.9.34/appengine-java-sdk-1.9.34.zip",
-      sha256 = "34e828bf64b48c7dc212b6cb82d67c32d42b75c988d793b97bae5fda849ce486",
+      url = "http://central.maven.org/maven2/com/google/appengine/appengine-java-sdk/1.9.36/appengine-java-sdk-1.9.36.zip",
+      sha256 = "a4694a48c3ecc7c8dc9952cfc8f94b76739ddb0d954a7a14007dcc901a38df9b",
       build_file_content = APPENGINE_BUILD_FILE,
   )

leads to
java.lang.RuntimeException: Unable to create a DevAppServer
at com.google.appengine.tools.development.DevAppServerFactory.doCreateDevAppServer(DevAppServerFactory.java:282)
at com.google.appengine.tools.development.DevAppServerFactory.access$000(DevAppServerFactory.java:36)
at com.google.appengine.tools.development.DevAppServerFactory$1.run(DevAppServerFactory.java:236)
at com.google.appengine.tools.development.DevAppServerFactory$1.run(DevAppServerFactory.java:234)
at java.security.AccessController.doPrivileged(Native Method)
at com.google.appengine.tools.development.DevAppServerFactory.createDevAppServer(DevAppServerFactory.java:234)
at com.google.appengine.tools.development.DevAppServerFactory.createDevAppServer(DevAppServerFactory.java:104)
at com.google.appengine.tools.development.DevAppServerMain$StartAction.apply(DevAppServerMain.java:265)
at com.google.appengine.tools.util.Parser$ParseResult.applyArgs(Parser.java:48)
at com.google.appengine.tools.development.DevAppServerMain.run(DevAppServerMain.java:225)
at com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMain.java:216)
Caused by: java.lang.NoSuchMethodError: com.google.apphosting.utils.config.XmlUtils.getChildren(Lorg/w3c/dom/Element;)Ljava/util/List;
at com.google.apphosting.utils.config.WebXmlReader.parseWebXml(WebXmlReader.java:96)
at com.google.apphosting.utils.config.WebXmlReader.processXml(WebXmlReader.java:79)
at com.google.apphosting.utils.config.WebXmlReader.processXml(WebXmlReader.java:20)
at com.google.apphosting.utils.config.AbstractConfigXmlReader.readConfigXml(AbstractConfigXmlReader.java:91)
at com.google.apphosting.utils.config.WebXmlReader.readWebXml(WebXmlReader.java:72)
at com.google.apphosting.utils.config.EarHelper.readWebModule(EarHelper.java:175)
at com.google.appengine.tools.development.ApplicationConfigurationManager$WarModuleConfigurationHandle.readConfiguration(ApplicationConfigurationManager.java:414)
at com.google.appengine.tools.development.ApplicationConfigurationManager.(ApplicationConfigurationManager.java:159)
at com.google.appengine.tools.development.ApplicationConfigurationManager.newWarConfigurationManager(ApplicationConfigurationManager.java:101)
at com.google.appengine.tools.development.ApplicationConfigurationManager.newWarConfigurationManager(ApplicationConfigurationManager.java:87)
at com.google.appengine.tools.development.DevAppServerImpl.(DevAppServerImpl.java:139)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.google.appengine.tools.development.DevAppServerFactory.doCreateDevAppServer(DevAppServerFactory.java:274)
... 10 more

The problem here is that appengine-java-sdk-1.9.36 and higher have old precompiled .jars with an incompatible version of XmlUtils: jetty93-base/lib/gae/appengine-managed-runtime-1.9.31.jar and friends.

Trying to remove some jars from the "jars" target in appengine.bzl