diff --git a/managed_vms/analytics/pom.xml b/managed_vms/analytics/pom.xml
index 168757d6ba7..c31a230164e 100644
--- a/managed_vms/analytics/pom.xml
+++ b/managed_vms/analytics/pom.xml
@@ -24,6 +24,14 @@
${project.build.directory}/${project.build.finalName}/WEB-INF/classes
+
+ com.google.appengine
+ gcloud-maven-plugin
+ 2.0.9.92.v20160118
+
+ true
+
+
org.apache.maven.plugins
maven-war-plugin
@@ -37,16 +45,8 @@
3.3
maven-compiler-plugin
-
- 1.7
-
-
-
- com.google.appengine
- gcloud-maven-plugin
- 2.0.9.90.v20151210
-
- true
+
+ 1.8
@@ -63,6 +63,11 @@
check
+
+ org.eclipse.jetty
+ jetty-maven-plugin
+ 9.3.7.v20160115
+
diff --git a/managed_vms/analytics/src/main/appengine/app.yaml b/managed_vms/analytics/src/main/appengine/app.yaml
new file mode 100644
index 00000000000..ee76377f0d6
--- /dev/null
+++ b/managed_vms/analytics/src/main/appengine/app.yaml
@@ -0,0 +1,7 @@
+runtime: java
+vm: true
+
+# [START env_variables]
+env_variables:
+ GA_TRACKING_ID: YOUR-GA-TRACKING-ID
+# [END env_variables]
diff --git a/managed_vms/analytics/src/main/java/com/example/managedvms/analytics/AnalyticsServlet.java b/managed_vms/analytics/src/main/java/com/example/managedvms/analytics/AnalyticsServlet.java
index 40e19e06590..d7c5ed5e620 100644
--- a/managed_vms/analytics/src/main/java/com/example/managedvms/analytics/AnalyticsServlet.java
+++ b/managed_vms/analytics/src/main/java/com/example/managedvms/analytics/AnalyticsServlet.java
@@ -33,7 +33,7 @@
// [START example]
@SuppressWarnings("serial")
-@WebServlet(name = "analytics", value = "/*")
+@WebServlet(name = "analytics", value = "")
public class AnalyticsServlet extends HttpServlet {
@Override
diff --git a/managed_vms/analytics/src/main/webapp/WEB-INF/appengine-web.xml b/managed_vms/analytics/src/main/webapp/WEB-INF/appengine-web.xml
deleted file mode 100644
index 97f782ee54c..00000000000
--- a/managed_vms/analytics/src/main/webapp/WEB-INF/appengine-web.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
- true
- true
-
-
-
-
-
-
-
-
diff --git a/managed_vms/cloudsql/pom.xml b/managed_vms/cloudsql/pom.xml
index 3d7202f7f10..4579dde28c2 100644
--- a/managed_vms/cloudsql/pom.xml
+++ b/managed_vms/cloudsql/pom.xml
@@ -26,6 +26,14 @@
${project.build.directory}/${project.build.finalName}/WEB-INF/classes
+
+ com.google.appengine
+ gcloud-maven-plugin
+ 2.0.9.92.v20160118
+
+ true
+
+
org.apache.maven.plugins
maven-war-plugin
@@ -39,16 +47,8 @@
maven-compiler-plugin
3.3
-
- 1.7
-
-
-
- com.google.appengine
- gcloud-maven-plugin
- 2.0.9.90.v20151210
-
- true
+
+ 1.8
@@ -65,6 +65,11 @@
check
+
+ org.eclipse.jetty
+ jetty-maven-plugin
+ 9.3.7.v20160115
+
diff --git a/managed_vms/cloudsql/src/main/appengine/app.yaml b/managed_vms/cloudsql/src/main/appengine/app.yaml
new file mode 100644
index 00000000000..d2df8a031f5
--- /dev/null
+++ b/managed_vms/cloudsql/src/main/appengine/app.yaml
@@ -0,0 +1,7 @@
+runtime: java
+vm: true
+
+# [START env_variables]
+env_variables:
+ SQL_DATABASE_URL: jdbc:mysql://HOST-IP:3306/YOUR-DB-NAME?user=USERNAME&password=PASSWORD
+# [END env_variables]
diff --git a/managed_vms/cloudsql/src/main/java/com/example/managedvms/cloudsql/CloudSqlServlet.java b/managed_vms/cloudsql/src/main/java/com/example/managedvms/cloudsql/CloudSqlServlet.java
index 08971343dd7..c4bdd569f4d 100644
--- a/managed_vms/cloudsql/src/main/java/com/example/managedvms/cloudsql/CloudSqlServlet.java
+++ b/managed_vms/cloudsql/src/main/java/com/example/managedvms/cloudsql/CloudSqlServlet.java
@@ -34,7 +34,7 @@
// [START example]
@SuppressWarnings("serial")
-@WebServlet(name = "cloudsql", value = "/*")
+@WebServlet(name = "cloudsql", value = "")
public class CloudSqlServlet extends HttpServlet {
@Override
diff --git a/managed_vms/cloudsql/src/main/webapp/WEB-INF/appengine-web.xml b/managed_vms/cloudsql/src/main/webapp/WEB-INF/appengine-web.xml
deleted file mode 100644
index fe4ae8c5ea1..00000000000
--- a/managed_vms/cloudsql/src/main/webapp/WEB-INF/appengine-web.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
- true
- true
-
-
-
-
-
-
-
-
diff --git a/managed_vms/cloudstorage/pom.xml b/managed_vms/cloudstorage/pom.xml
index 51d8398a1f0..a710fdb6d1c 100644
--- a/managed_vms/cloudstorage/pom.xml
+++ b/managed_vms/cloudstorage/pom.xml
@@ -18,7 +18,7 @@
com.google.gcloud
gcloud-java-storage
- 0.1.1
+ 0.1.3
@@ -26,6 +26,14 @@
${project.build.directory}/${project.build.finalName}/WEB-INF/classes
+
+ com.google.appengine
+ gcloud-maven-plugin
+ 2.0.9.92.v20160118
+
+ true
+
+
org.apache.maven.plugins
maven-war-plugin
@@ -39,16 +47,8 @@
maven-compiler-plugin
3.3
-
- 1.7
-
-
-
- com.google.appengine
- gcloud-maven-plugin
- 2.0.9.90.v20151210
-
- true
+
+ 1.8
@@ -65,6 +65,11 @@
check
+
+ org.eclipse.jetty
+ jetty-maven-plugin
+ 9.3.7.v20160115
+
diff --git a/managed_vms/cloudstorage/src/main/appengine/app.yaml b/managed_vms/cloudstorage/src/main/appengine/app.yaml
new file mode 100644
index 00000000000..9ad19faac35
--- /dev/null
+++ b/managed_vms/cloudstorage/src/main/appengine/app.yaml
@@ -0,0 +1,7 @@
+runtime: java
+vm: true
+
+# [START env_variables]
+env_variables:
+ BUCKET_NAME: YOUR-BUCKET-NAME
+# [END env_variables]
diff --git a/managed_vms/cloudstorage/src/main/java/com/example/managedvms/cloudstorage/UploadServlet.java b/managed_vms/cloudstorage/src/main/java/com/example/managedvms/cloudstorage/UploadServlet.java
index 6150f2e78dc..e1f522e9ec4 100644
--- a/managed_vms/cloudstorage/src/main/java/com/example/managedvms/cloudstorage/UploadServlet.java
+++ b/managed_vms/cloudstorage/src/main/java/com/example/managedvms/cloudstorage/UploadServlet.java
@@ -16,15 +16,14 @@
package com.example.managedvms.cloudstorage;
-import com.google.common.io.ByteStreams;
+import com.google.gcloud.storage.Acl;
import com.google.gcloud.storage.BlobInfo;
-import com.google.gcloud.storage.BlobWriteChannel;
import com.google.gcloud.storage.Storage;
import com.google.gcloud.storage.StorageOptions;
import java.io.IOException;
-import java.io.InputStream;
-import java.nio.channels.Channels;
+import java.util.ArrayList;
+import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
@@ -53,11 +52,13 @@ public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOEx
ServletException {
final Part filePart = req.getPart("file");
final String fileName = filePart.getSubmittedFileName();
- BlobInfo blobInfo = BlobInfo.builder(BUCKET_NAME, fileName).build();
- InputStream filecontent = filePart.getInputStream();
- BlobWriteChannel blobWriter = storage.writer(blobInfo);
- ByteStreams.copy(filecontent, Channels.newOutputStream(blobWriter));
- blobWriter.close();
+ List acls = new ArrayList<>();
+ acls.add(Acl.of(Acl.User.ofAllUsers(), Acl.Role.READER));
+ // the inputstream is closed by default, so we don't need to close it here
+ BlobInfo blobInfo =
+ storage.create(
+ BlobInfo.builder(BUCKET_NAME, fileName).acl(acls).build(),
+ filePart.getInputStream());
blobInfo = storage.get(BUCKET_NAME, fileName);
resp.getWriter().print(blobInfo.mediaLink());
}
diff --git a/managed_vms/cloudstorage/src/main/webapp/WEB-INF/appengine-web.xml b/managed_vms/cloudstorage/src/main/webapp/WEB-INF/appengine-web.xml
deleted file mode 100644
index e1ca376557f..00000000000
--- a/managed_vms/cloudstorage/src/main/webapp/WEB-INF/appengine-web.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
- true
- true
-
-
-
-
-
-
-
-
diff --git a/managed_vms/datastore/pom.xml b/managed_vms/datastore/pom.xml
index 80357f8179c..e61205dd7d4 100644
--- a/managed_vms/datastore/pom.xml
+++ b/managed_vms/datastore/pom.xml
@@ -17,13 +17,21 @@
com.google.gcloud
gcloud-java-datastore
- 0.1.1
+ 0.1.3
${project.build.directory}/${project.build.finalName}/WEB-INF/classes
+
+ com.google.appengine
+ gcloud-maven-plugin
+ 2.0.9.92.v20160118
+
+ true
+
+
org.apache.maven.plugins
maven-war-plugin
@@ -37,16 +45,8 @@
maven-compiler-plugin
3.3
-
- 1.7
-
-
-
- com.google.appengine
- gcloud-maven-plugin
- 2.0.9.90.v20151210
-
- true
+
+ 1.8
@@ -63,6 +63,11 @@
check
+
+ org.eclipse.jetty
+ jetty-maven-plugin
+ 9.3.7.v20160115
+
diff --git a/managed_vms/datastore/src/main/appengine/app.yaml b/managed_vms/datastore/src/main/appengine/app.yaml
new file mode 100644
index 00000000000..f64db2903de
--- /dev/null
+++ b/managed_vms/datastore/src/main/appengine/app.yaml
@@ -0,0 +1,3 @@
+runtime: java
+vm: true
+
diff --git a/managed_vms/datastore/src/main/java/com/example/managedvms/datastore/DatastoreServlet.java b/managed_vms/datastore/src/main/java/com/example/managedvms/datastore/DatastoreServlet.java
index c5043d95ac1..bc1955395ce 100644
--- a/managed_vms/datastore/src/main/java/com/example/managedvms/datastore/DatastoreServlet.java
+++ b/managed_vms/datastore/src/main/java/com/example/managedvms/datastore/DatastoreServlet.java
@@ -38,17 +38,13 @@
// [START example]
@SuppressWarnings("serial")
-@WebServlet(name = "datastore", value = "/*")
+@WebServlet(name = "datastore", value = "")
public class DatastoreServlet extends HttpServlet {
@Override
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException,
ServletException {
- Datastore datastore = DatastoreOptions
- .builder()
- .projectId(System.getenv("PROJECT_ID"))
- .build()
- .service();
+ Datastore datastore = DatastoreOptions.defaultInstance().service();
KeyFactory keyFactory = datastore.newKeyFactory().kind("visit");
IncompleteKey key = keyFactory.kind("visit").newKey();
// Record a visit to the datastore, storing the IP and timestamp.
diff --git a/managed_vms/datastore/src/main/webapp/WEB-INF/appengine-web.xml b/managed_vms/datastore/src/main/webapp/WEB-INF/appengine-web.xml
deleted file mode 100644
index 181a7408d5b..00000000000
--- a/managed_vms/datastore/src/main/webapp/WEB-INF/appengine-web.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
- true
- true
-
-
-
-
-
-
-
-
diff --git a/managed_vms/disk/pom.xml b/managed_vms/disk/pom.xml
index 503180f6aff..4a62d9d6489 100644
--- a/managed_vms/disk/pom.xml
+++ b/managed_vms/disk/pom.xml
@@ -19,6 +19,11 @@
${project.build.directory}/${project.build.finalName}/WEB-INF/classes
+
+ com.google.appengine
+ gcloud-maven-plugin
+ 2.0.9.92.v20160118
+
org.apache.maven.plugins
maven-war-plugin
@@ -32,15 +37,10 @@
3.3
maven-compiler-plugin
-
- 1.7
+
+ 1.8
-
- com.google.appengine
- gcloud-maven-plugin
- 2.0.9.90.v20151210
-
org.apache.maven.plugins
maven-checkstyle-plugin
@@ -55,6 +55,11 @@
check
+
+ org.eclipse.jetty
+ jetty-maven-plugin
+ 9.3.7.v20160115
+
diff --git a/managed_vms/disk/src/main/appengine/app.yaml b/managed_vms/disk/src/main/appengine/app.yaml
new file mode 100644
index 00000000000..f64db2903de
--- /dev/null
+++ b/managed_vms/disk/src/main/appengine/app.yaml
@@ -0,0 +1,3 @@
+runtime: java
+vm: true
+
diff --git a/managed_vms/disk/src/main/java/com/example/managedvms/disk/DiskServlet.java b/managed_vms/disk/src/main/java/com/example/managedvms/disk/DiskServlet.java
index cdca638c98a..dccbf36aa95 100644
--- a/managed_vms/disk/src/main/java/com/example/managedvms/disk/DiskServlet.java
+++ b/managed_vms/disk/src/main/java/com/example/managedvms/disk/DiskServlet.java
@@ -32,7 +32,7 @@
// [START example]
@SuppressWarnings("serial")
-@WebServlet(name = "disk", value = "/*")
+@WebServlet(name = "disk", value = "")
public class DiskServlet extends HttpServlet {
@Override
diff --git a/managed_vms/disk/src/main/webapp/WEB-INF/appengine-web.xml b/managed_vms/disk/src/main/webapp/WEB-INF/appengine-web.xml
deleted file mode 100644
index dba606c1666..00000000000
--- a/managed_vms/disk/src/main/webapp/WEB-INF/appengine-web.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
- true
- true
-
-
-
-
-
diff --git a/managed_vms/extending-runtime/pom.xml b/managed_vms/extending-runtime/pom.xml
index 2bf737f6bb0..dbfbb6dff77 100644
--- a/managed_vms/extending-runtime/pom.xml
+++ b/managed_vms/extending-runtime/pom.xml
@@ -6,10 +6,6 @@
1.0-SNAPSHOT
com.example.managedvms
appengine-extendingruntime
-
-
-
-
javax.servlet
@@ -23,6 +19,11 @@
${project.build.directory}/${project.build.finalName}/WEB-INF/classes
+
+ com.google.appengine
+ gcloud-maven-plugin
+ 2.0.9.92.v20160118
+
org.apache.maven.plugins
maven-war-plugin
@@ -36,26 +37,8 @@
3.3
maven-compiler-plugin
-
- 1.7
-
-
-
- com.google.appengine
- gcloud-maven-plugin
- 2.0.9.90.v20151210
-
-
- java
- -Dgcloud.java.application=${project.build.directory}/${project.build.finalName}
- -Dcom.google.apphosting.vmruntime.VmRuntimeFileLogHandler.pattern=${writeable.directory}/log.%g
- -Djetty.home=${gcloud.sdk.directory}/google-cloud-sdk/platform/google_appengine/google/appengine/tools/java/lib/java-managed-vm/appengine-java-vmruntime
- -Djetty.base=${gcloud.sdk.directory}/google-cloud-sdk/platform/google_appengine/google/appengine/tools/java/lib/jetty-base-sdk
- -jar
- ${gcloud.sdk.directory}/google-cloud-sdk/platform/google_appengine/google/appengine/tools/java/lib/java-managed-vm/appengine-java-vmruntime/start.jar
- -module=http
- jetty.port={port}
-
+
+ 1.8
@@ -72,6 +55,11 @@
check
+
+ org.eclipse.jetty
+ jetty-maven-plugin
+ 9.3.7.v20160115
+
diff --git a/managed_vms/extending-runtime/src/main/appengine/Dockerfile b/managed_vms/extending-runtime/src/main/appengine/Dockerfile
new file mode 100644
index 00000000000..bffb4be2115
--- /dev/null
+++ b/managed_vms/extending-runtime/src/main/appengine/Dockerfile
@@ -0,0 +1,4 @@
+FROM gcr.io/google_appengine/jetty9
+
+RUN apt-get update && apt-get install -y fortunes
+ADD appengine-extendingruntime-1.0-SNAPSHOT.war $JETTY_BASE/webapps/root.war
diff --git a/managed_vms/extending-runtime/src/main/appengine/app.yaml b/managed_vms/extending-runtime/src/main/appengine/app.yaml
new file mode 100644
index 00000000000..958d215c4ba
--- /dev/null
+++ b/managed_vms/extending-runtime/src/main/appengine/app.yaml
@@ -0,0 +1,3 @@
+runtime: custom
+vm: true
+
diff --git a/managed_vms/extending-runtime/src/main/java/com/example/managedvms/extendingruntime/FortuneServlet.java b/managed_vms/extending-runtime/src/main/java/com/example/managedvms/extendingruntime/FortuneServlet.java
index 7c6a5115b21..8176049ec2f 100644
--- a/managed_vms/extending-runtime/src/main/java/com/example/managedvms/extendingruntime/FortuneServlet.java
+++ b/managed_vms/extending-runtime/src/main/java/com/example/managedvms/extendingruntime/FortuneServlet.java
@@ -29,7 +29,7 @@
// [START example]
@SuppressWarnings("serial")
-@WebServlet(name = "fortune", value = "/*")
+@WebServlet(name = "fortune", value = "")
public class FortuneServlet extends HttpServlet {
@Override
diff --git a/managed_vms/extending-runtime/src/main/webapp/Dockerfile b/managed_vms/extending-runtime/src/main/webapp/Dockerfile
deleted file mode 100644
index 3ac0a7eb2c3..00000000000
--- a/managed_vms/extending-runtime/src/main/webapp/Dockerfile
+++ /dev/null
@@ -1,4 +0,0 @@
-FROM gcr.io/google_appengine/jetty9-compat
-RUN apt-get update && apt-get install -y fortunes
-
-ADD . /app
diff --git a/managed_vms/extending-runtime/src/main/webapp/WEB-INF/appengine-web.xml b/managed_vms/extending-runtime/src/main/webapp/WEB-INF/appengine-web.xml
deleted file mode 100644
index dba606c1666..00000000000
--- a/managed_vms/extending-runtime/src/main/webapp/WEB-INF/appengine-web.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
- true
- true
-
-
-
-
-
diff --git a/managed_vms/helloworld/pom.xml b/managed_vms/helloworld/pom.xml
index ee2d44ba23b..410688cfa22 100644
--- a/managed_vms/helloworld/pom.xml
+++ b/managed_vms/helloworld/pom.xml
@@ -22,13 +22,11 @@
${project.build.directory}/${project.build.finalName}/WEB-INF/classes
-
- org.eclipse.jetty
- jetty-maven-plugin
- 9.3.7.v20160115
+ com.google.appengine
+ gcloud-maven-plugin
+ 2.0.9.92.v20160118
-
org.apache.maven.plugins
maven-war-plugin
@@ -37,7 +35,6 @@
false
-
org.apache.maven.plugins
3.3
@@ -47,13 +44,6 @@
1.8
-
-
- com.google.appengine
- gcloud-maven-plugin
- 2.0.9.92.v20160118
-
-
org.apache.maven.plugins
maven-checkstyle-plugin
@@ -68,7 +58,11 @@
check
-
+
+ org.eclipse.jetty
+ jetty-maven-plugin
+ 9.3.7.v20160115
+
diff --git a/managed_vms/helloworld/src/main/appengine/app.yaml b/managed_vms/helloworld/src/main/appengine/app.yaml
index 33aa147fe92..f64db2903de 100644
--- a/managed_vms/helloworld/src/main/appengine/app.yaml
+++ b/managed_vms/helloworld/src/main/appengine/app.yaml
@@ -1,2 +1,3 @@
-vm: true
runtime: java
+vm: true
+
diff --git a/managed_vms/helloworld/src/main/java/com/example/managedvms/helloworld/HelloServlet.java b/managed_vms/helloworld/src/main/java/com/example/managedvms/helloworld/HelloServlet.java
index 78b2dc9b91d..7f08b47e2b0 100644
--- a/managed_vms/helloworld/src/main/java/com/example/managedvms/helloworld/HelloServlet.java
+++ b/managed_vms/helloworld/src/main/java/com/example/managedvms/helloworld/HelloServlet.java
@@ -25,8 +25,8 @@
import javax.servlet.http.HttpServletResponse;
// [START example]
+@WebServlet(name = "helloworld", value = "")
@SuppressWarnings("serial")
-@WebServlet(name = "helloworld", value = "/*")
public class HelloServlet extends HttpServlet {
@Override
diff --git a/managed_vms/mailgun/pom.xml b/managed_vms/mailgun/pom.xml
index 9f5b98a1098..dcef1fafbd1 100644
--- a/managed_vms/mailgun/pom.xml
+++ b/managed_vms/mailgun/pom.xml
@@ -36,6 +36,11 @@
${project.build.directory}/${project.build.finalName}/WEB-INF/classes
+
+ com.google.appengine
+ gcloud-maven-plugin
+ 2.0.9.92.v20160118
+
org.apache.maven.plugins
maven-war-plugin
@@ -49,15 +54,10 @@
3.3
maven-compiler-plugin
-
- 1.7
+
+ 1.8
-
- com.google.appengine
- gcloud-maven-plugin
- 2.0.9.90.v20151210
-
org.apache.maven.plugins
maven-checkstyle-plugin
@@ -72,6 +72,11 @@
check
+
+ org.eclipse.jetty
+ jetty-maven-plugin
+ 9.3.7.v20160115
+
diff --git a/managed_vms/mailgun/src/main/appengine/app.yaml b/managed_vms/mailgun/src/main/appengine/app.yaml
new file mode 100644
index 00000000000..ed9923f1832
--- /dev/null
+++ b/managed_vms/mailgun/src/main/appengine/app.yaml
@@ -0,0 +1,9 @@
+runtime: java
+vm: true
+
+# [START env_variables]
+env_variables:
+ MAILGUN_DOMAIN_NAME: YOUR-MAILGUN-DOMAIN-NAME
+ MAILGUN_API_KEY: YOUR-MAILGUN-API-KEY
+# [END env_variables]
+
diff --git a/managed_vms/mailgun/src/main/webapp/WEB-INF/appengine-web.xml b/managed_vms/mailgun/src/main/webapp/WEB-INF/appengine-web.xml
deleted file mode 100644
index f05d489f646..00000000000
--- a/managed_vms/mailgun/src/main/webapp/WEB-INF/appengine-web.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
- true
- true
-
-
-
-
-
-
-
-
-
diff --git a/managed_vms/memcache/pom.xml b/managed_vms/memcache/pom.xml
index 7f4a4133d17..c1ab9548131 100644
--- a/managed_vms/memcache/pom.xml
+++ b/managed_vms/memcache/pom.xml
@@ -26,6 +26,11 @@
${project.build.directory}/${project.build.finalName}/WEB-INF/classes
+
+ com.google.appengine
+ gcloud-maven-plugin
+ 2.0.9.92.v20160118
+
org.apache.maven.plugins
maven-war-plugin
@@ -39,15 +44,10 @@
maven-compiler-plugin
3.3
-
- 1.7
+
+ 1.8
-
- com.google.appengine
- gcloud-maven-plugin
- 2.0.9.90.v20151210
-
org.apache.maven.plugins
maven-checkstyle-plugin
@@ -62,6 +62,11 @@
check
+
+ org.eclipse.jetty
+ jetty-maven-plugin
+ 9.3.7.v20160115
+
diff --git a/managed_vms/memcache/src/main/appengine/app.yaml b/managed_vms/memcache/src/main/appengine/app.yaml
new file mode 100644
index 00000000000..c26744baf00
--- /dev/null
+++ b/managed_vms/memcache/src/main/appengine/app.yaml
@@ -0,0 +1,8 @@
+runtime: java
+vm: true
+
+# [START config]
+beta_settings:
+ use_memcache_proxy: true
+# [END config]
+
diff --git a/managed_vms/memcache/src/main/java/com/example/managedvms/memcache/MemcacheServlet.java b/managed_vms/memcache/src/main/java/com/example/managedvms/memcache/MemcacheServlet.java
index c2f7444f9a8..966051f14a8 100644
--- a/managed_vms/memcache/src/main/java/com/example/managedvms/memcache/MemcacheServlet.java
+++ b/managed_vms/memcache/src/main/java/com/example/managedvms/memcache/MemcacheServlet.java
@@ -33,7 +33,7 @@
// [START example]
@SuppressWarnings("serial")
-@WebServlet(name = "memcache", value = "/*")
+@WebServlet(name = "memcache", value = "")
public class MemcacheServlet extends HttpServlet {
@Override
diff --git a/managed_vms/memcache/src/main/webapp/WEB-INF/appengine-web.xml b/managed_vms/memcache/src/main/webapp/WEB-INF/appengine-web.xml
deleted file mode 100644
index 110b55c8db3..00000000000
--- a/managed_vms/memcache/src/main/webapp/WEB-INF/appengine-web.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
- true
- true
-
-
-
-
-
-
diff --git a/managed_vms/sendgrid/pom.xml b/managed_vms/sendgrid/pom.xml
index a0410dfdb65..adc732d2493 100644
--- a/managed_vms/sendgrid/pom.xml
+++ b/managed_vms/sendgrid/pom.xml
@@ -26,6 +26,11 @@
${project.build.directory}/${project.build.finalName}/WEB-INF/classes
+
+ com.google.appengine
+ gcloud-maven-plugin
+ 2.0.9.92.v20160118
+
org.apache.maven.plugins
maven-war-plugin
@@ -39,15 +44,10 @@
3.3
maven-compiler-plugin
-
- 1.7
+
+ 1.8
-
- com.google.appengine
- gcloud-maven-plugin
- 2.0.9.90.v20151210
-
+
+ org.eclipse.jetty
+ jetty-maven-plugin
+ 9.3.7.v20160115
+
diff --git a/managed_vms/sendgrid/src/main/appengine/app.yaml b/managed_vms/sendgrid/src/main/appengine/app.yaml
new file mode 100644
index 00000000000..a6fa7aef523
--- /dev/null
+++ b/managed_vms/sendgrid/src/main/appengine/app.yaml
@@ -0,0 +1,9 @@
+runtime: java
+vm: true
+
+# [START env_variables]
+env_variables:
+ SENDGRID_API_KEY: YOUR-SENDGRID-API-KEY
+ SENDGRID_SENDER: YOUR-SENDGRID-SENDER
+# [END env_variables]
+
diff --git a/managed_vms/sendgrid/src/main/java/com/example/managedvms/sendgrid/SendEmailServlet.java b/managed_vms/sendgrid/src/main/java/com/example/managedvms/sendgrid/SendEmailServlet.java
index 31b71bfdec0..d8efbd75edf 100644
--- a/managed_vms/sendgrid/src/main/java/com/example/managedvms/sendgrid/SendEmailServlet.java
+++ b/managed_vms/sendgrid/src/main/java/com/example/managedvms/sendgrid/SendEmailServlet.java
@@ -37,7 +37,7 @@ public void service(HttpServletRequest req, HttpServletResponse resp) throws IOE
ServletException {
final String SENDGRID_API_KEY = System.getenv("SENDGRID_API_KEY");
final String SENDGRID_SENDER = System.getenv("SENDGRID_SENDER");
- final String TO_EMAIL = (String) req.getParameter("to");
+ final String TO_EMAIL = req.getParameter("to");
if (TO_EMAIL == null) {
resp.getWriter().print("Please provide an email address in the \"to\" query string"
+ " parameter.");
diff --git a/managed_vms/sendgrid/src/main/webapp/WEB-INF/appengine-web.xml b/managed_vms/sendgrid/src/main/webapp/WEB-INF/appengine-web.xml
deleted file mode 100644
index 00c515b1b87..00000000000
--- a/managed_vms/sendgrid/src/main/webapp/WEB-INF/appengine-web.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
- true
- true
-
-
-
-
-
-
-
-
-
diff --git a/managed_vms/static-files/pom.xml b/managed_vms/static-files/pom.xml
index 1e48928c20d..821775128b2 100644
--- a/managed_vms/static-files/pom.xml
+++ b/managed_vms/static-files/pom.xml
@@ -19,6 +19,11 @@
${project.build.directory}/${project.build.finalName}/WEB-INF/classes
+
+ com.google.appengine
+ gcloud-maven-plugin
+ 2.0.9.92.v20160118
+
org.apache.maven.plugins
maven-war-plugin
@@ -32,15 +37,10 @@
3.3
maven-compiler-plugin
-
- 1.7
+
+ 1.8
-
- com.google.appengine
- gcloud-maven-plugin
- 2.0.9.90.v20151210
-
org.apache.maven.plugins
maven-checkstyle-plugin
@@ -55,6 +55,11 @@
check
+
+ org.eclipse.jetty
+ jetty-maven-plugin
+ 9.3.7.v20160115
+
diff --git a/managed_vms/static-files/src/main/appengine/app.yaml b/managed_vms/static-files/src/main/appengine/app.yaml
new file mode 100644
index 00000000000..f64db2903de
--- /dev/null
+++ b/managed_vms/static-files/src/main/appengine/app.yaml
@@ -0,0 +1,3 @@
+runtime: java
+vm: true
+
diff --git a/managed_vms/static-files/src/main/webapp/WEB-INF/appengine-web.xml b/managed_vms/static-files/src/main/webapp/WEB-INF/appengine-web.xml
deleted file mode 100644
index dba606c1666..00000000000
--- a/managed_vms/static-files/src/main/webapp/WEB-INF/appengine-web.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
- true
- true
-
-
-
-
-
diff --git a/managed_vms/twilio/pom.xml b/managed_vms/twilio/pom.xml
index f2d44aabd34..14482908730 100644
--- a/managed_vms/twilio/pom.xml
+++ b/managed_vms/twilio/pom.xml
@@ -11,8 +11,7 @@
com.twilio.sdk
twilio-java-sdk
- 5.8.0
- compile
+ 6.3.0
@@ -27,6 +26,11 @@
${project.build.directory}/${project.build.finalName}/WEB-INF/classes
+
+ com.google.appengine
+ gcloud-maven-plugin
+ 2.0.9.92.v20160118
+
org.apache.maven.plugins
maven-war-plugin
@@ -40,15 +44,10 @@
3.3
maven-compiler-plugin
-
- 1.7
+
+ 1.8
-
- com.google.appengine
- gcloud-maven-plugin
- 2.0.9.90.v20151210
-
+
+ org.eclipse.jetty
+ jetty-maven-plugin
+ 9.3.7.v20160115
+
diff --git a/managed_vms/twilio/src/main/appengine/app.yaml b/managed_vms/twilio/src/main/appengine/app.yaml
new file mode 100644
index 00000000000..8776574b395
--- /dev/null
+++ b/managed_vms/twilio/src/main/appengine/app.yaml
@@ -0,0 +1,10 @@
+runtime: java
+vm: true
+
+# [START env_variables]
+env_variables:
+ TWILIO_ACCOUNT_SID: YOUR-TWILIO-ACCOUNT-SID
+ TWILIO_AUTH_TOKEN: YOUR-TWILIO-AUTH-TOKEN
+ TWILIO_NUMBER: YOUR-TWILIO-NUMBER
+# [END env_variables]
+
diff --git a/managed_vms/twilio/src/main/webapp/WEB-INF/appengine-web.xml b/managed_vms/twilio/src/main/webapp/WEB-INF/appengine-web.xml
deleted file mode 100644
index b3eae3585d5..00000000000
--- a/managed_vms/twilio/src/main/webapp/WEB-INF/appengine-web.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
- true
- true
-
-
-
-
-
-
-
-
-
-
diff --git a/managed_vms/websockets/README.md b/managed_vms/websockets/README.md
deleted file mode 100644
index 79e308727b9..00000000000
--- a/managed_vms/websockets/README.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Java websockets sample for Google Managed VMs
-This sample demonstrates how to use websockets on Google Managed VMs
-## Setup
-Before you can run or deploy the sample, you will need to create a new firewall rule to allow traffic on port 65080. This port will be used for websocket connections. You can do this with the [Google Cloud SDK](https://cloud.google.com/sdk) with the following command:
- $ gcloud compute firewall-rules create default-allow-websockets \
- --allow tcp:65080 \
- --target-tags websocket \
- --description "Allow websocket traffic on port 65080"
diff --git a/managed_vms/websockets/pom.xml b/managed_vms/websockets/pom.xml
deleted file mode 100644
index eccc3d64c11..00000000000
--- a/managed_vms/websockets/pom.xml
+++ /dev/null
@@ -1,90 +0,0 @@
-
-
- 4.0.0
- war
- 1.0-SNAPSHOT
- com.example.managedvms
- appengine-websockets
-
-
- javax.servlet
- javax.servlet-api
- 3.1.0
- jar
- provided
-
-
- javax.websocket
- javax.websocket-api
- 1.1
-
-
- org.glassfish.tyrus
- tyrus-server
- 1.12
-
-
- org.glassfish.tyrus
- tyrus-container-grizzly-server
- 1.12
-
-
- jstl
- jstl
- 1.2
-
-
- taglibs
- standard
- 1.1.2
-
-
- com.google.guava
- guava
- 18.0
-
-
-
-
- ${project.build.directory}/${project.build.finalName}/WEB-INF/classes
-
-
- org.apache.maven.plugins
- maven-war-plugin
- 2.6
-
- false
-
-
-
- org.apache.maven.plugins
- 3.3
- maven-compiler-plugin
-
-
- 1.7
-
-
-
- com.google.appengine
- gcloud-maven-plugin
- 2.0.9.90.v20151210
-
-
- org.apache.maven.plugins
- maven-checkstyle-plugin
- 2.17
-
- ../../google-checks.xml
- true
- true
- true
-
-
- check
-
-
-
-
-
diff --git a/managed_vms/websockets/src/main/java/com/example/managedvms/websockets/EchoEndpoint.java b/managed_vms/websockets/src/main/java/com/example/managedvms/websockets/EchoEndpoint.java
deleted file mode 100644
index 44744e0e3f7..00000000000
--- a/managed_vms/websockets/src/main/java/com/example/managedvms/websockets/EchoEndpoint.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * Copyright 2015 Google Inc. All Rights Reserved.
- *
- * 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.example.managedvms.websockets;
-
-import javax.websocket.OnMessage;
-import javax.websocket.Session;
-import javax.websocket.server.ServerEndpoint;
-
-// [START example]
-@ServerEndpoint(value = "/echo")
-public class EchoEndpoint {
-
- @OnMessage
- public String echo(String text, Session session) {
- return text;
- }
-}
-// [END example]
diff --git a/managed_vms/websockets/src/main/java/com/example/managedvms/websockets/WebsocketServlet.java b/managed_vms/websockets/src/main/java/com/example/managedvms/websockets/WebsocketServlet.java
deleted file mode 100644
index d9487b731a2..00000000000
--- a/managed_vms/websockets/src/main/java/com/example/managedvms/websockets/WebsocketServlet.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/**
- * Copyright 2015 Google Inc. All Rights Reserved.
- *
- * 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.example.managedvms.websockets;
-
-import com.google.common.io.CharStreams;
-
-import org.glassfish.tyrus.server.Server;
-
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.net.HttpURLConnection;
-import java.net.URL;
-
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.websocket.DeploymentException;
-
-// [START example]
-@SuppressWarnings("serial")
-public class WebsocketServlet extends HttpServlet {
-
- private static String METADATA_NETWORK_INTERFACE_URL =
- "http://metadata/computeMetadata/v1/instance/network-interfaces/0/access-configs/0/external-ip";
- private static String EXTERNAL_IP = "localhost";
-
- @Override
- public void init() throws ServletException {
- EXTERNAL_IP = getExternalIp();
- Server server = new Server(EXTERNAL_IP, 65080, "/", null, EchoEndpoint.class);
- try {
- server.start();
- } catch (DeploymentException e) {
- throw new ServletException("Deployment error", e);
- }
- }
-
- @Override
- public void service(HttpServletRequest req, HttpServletResponse resp) throws IOException,
- ServletException {
- req.getSession().getServletContext().setAttribute("external_ip", EXTERNAL_IP);
- req.getRequestDispatcher("/index.jsp").forward(req, resp);
- }
-
- /**
- * Returns the static IP address of the compute node this servlet is running on.
- */
- public static String getExternalIp() {
- try {
- URL url = new URL(METADATA_NETWORK_INTERFACE_URL);
- HttpURLConnection con = (HttpURLConnection) url.openConnection();
- con.setRequestMethod("GET");
- con.setRequestProperty("Metadata-Flavor", "Google");
- try (InputStreamReader in = new InputStreamReader(con.getInputStream(), "UTF-8")) {
- return CharStreams.toString(in);
- }
- } catch (IOException e) {
- return "localhost";
- }
- }
-}
-// [END example]
diff --git a/managed_vms/websockets/src/main/webapp/WEB-INF/appengine-web.xml b/managed_vms/websockets/src/main/webapp/WEB-INF/appengine-web.xml
deleted file mode 100644
index 27ed6b4e59c..00000000000
--- a/managed_vms/websockets/src/main/webapp/WEB-INF/appengine-web.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
- true
- true
- true
-
-
-
-
-
- 65080
- websocket
-
-
diff --git a/managed_vms/websockets/src/main/webapp/WEB-INF/web.xml b/managed_vms/websockets/src/main/webapp/WEB-INF/web.xml
deleted file mode 100644
index b8a448b7e1b..00000000000
--- a/managed_vms/websockets/src/main/webapp/WEB-INF/web.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
- websockets
- com.example.managedvms.websockets.WebsocketServlet
-
-
- websockets
- /
-
-
diff --git a/managed_vms/websockets/src/main/webapp/index.jsp b/managed_vms/websockets/src/main/webapp/index.jsp
deleted file mode 100644
index 52962632660..00000000000
--- a/managed_vms/websockets/src/main/webapp/index.jsp
+++ /dev/null
@@ -1,65 +0,0 @@
-<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
-
-
-
- Google Managed VMs - Java Websockets Echo
-
-
-
-
- Echo demo
-
-
-
-
-
-
-
-
diff --git a/pom.xml b/pom.xml
index 3324ade6b37..d951bccee4b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -37,7 +37,6 @@
managed_vms/sendgrid
managed_vms/static-files
managed_vms/twilio
- managed_vms/websockets
managedvms/sparkjava
bigquery
logging