From e2db8baae5a004e83ab550b5a92190992723336f Mon Sep 17 00:00:00 2001 From: monai Date: Tue, 12 Apr 2016 10:36:04 +0300 Subject: [PATCH 01/13] Bump version to snapshot --- pom-jar.xml | 2 +- pom-war.xml | 2 +- pom.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pom-jar.xml b/pom-jar.xml index 67151a5..dca10b0 100644 --- a/pom-jar.xml +++ b/pom-jar.xml @@ -10,7 +10,7 @@ com.github.monai cc-web-runner-parent - 1.0.5 + 1.0-SNAPSHOT pom.xml diff --git a/pom-war.xml b/pom-war.xml index 5aafafe..da874df 100644 --- a/pom-war.xml +++ b/pom-war.xml @@ -10,7 +10,7 @@ com.github.monai cc-web-runner-parent - 1.0.5 + 1.0-SNAPSHOT pom.xml diff --git a/pom.xml b/pom.xml index 8edf4cc..565179a 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ com.github.monai cc-web-runner-parent pom - 1.0.5 + 1.0-SNAPSHOT 1.8 From 4e8c84d4cc753ee45fd153a227fc078081726467 Mon Sep 17 00:00:00 2001 From: monai Date: Tue, 12 Apr 2016 17:46:52 +0300 Subject: [PATCH 02/13] Update Closure Compiler version to v20160315 --- pom.xml | 2 +- src/main/java/com/github/monai/DefaultExterns.java | 8 ++------ src/main/java/com/github/monai/resource/WebRunner.java | 5 +++-- 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/pom.xml b/pom.xml index 565179a..cb442fc 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,7 @@ 9.3.7.v20160115 2.22.2 1.3 - v20160208 + v20160315 1.4.0 3.5.1 com.github.monai.Application diff --git a/src/main/java/com/github/monai/DefaultExterns.java b/src/main/java/com/github/monai/DefaultExterns.java index 1194075..d2c5a8e 100644 --- a/src/main/java/com/github/monai/DefaultExterns.java +++ b/src/main/java/com/github/monai/DefaultExterns.java @@ -11,15 +11,11 @@ public final class DefaultExterns { public final HashMap> externs; - - public DefaultExterns() throws IOException { + DefaultExterns() throws IOException { this.externs = new HashMap<>(); for (CompilerOptions.Environment env : CompilerOptions.Environment.values()) { - CompilerOptions options = new CompilerOptions(); - options.setEnvironment(env); - - List externs = CommandLineRunner.getBuiltinExterns(options); + List externs = CommandLineRunner.getBuiltinExterns(env); this.externs.put(env, externs); } } diff --git a/src/main/java/com/github/monai/resource/WebRunner.java b/src/main/java/com/github/monai/resource/WebRunner.java index cb3202d..cf77da6 100644 --- a/src/main/java/com/github/monai/resource/WebRunner.java +++ b/src/main/java/com/github/monai/resource/WebRunner.java @@ -42,7 +42,8 @@ public HashMap status(@QueryParam("level") CompilationLevel leve public HashMap externs() throws IOException { HashMap out = new HashMap<>(); - out.put("externs", CommandLineRunner.getBuiltinExterns(new CompilerOptions())); + CompilerOptions.Environment environment = new CompilerOptions().getEnvironment(); + out.put("externs", CommandLineRunner.getBuiltinExterns(environment)); return out; } @@ -84,7 +85,7 @@ private void applyOptimizations(Optimizations optim, CompilerOptions options) { } } - class VoidErrorManager extends BasicErrorManager { + private class VoidErrorManager extends BasicErrorManager { @Override public void println(CheckLevel level, JSError error) {} From 0007ca66b7447d599c05acae16a1b98e756487e9 Mon Sep 17 00:00:00 2001 From: monai Date: Sun, 8 May 2016 12:19:56 +0300 Subject: [PATCH 03/13] Refactor default options to separate endpoint --- .../com/github/monai/resource/WebRunner.java | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/github/monai/resource/WebRunner.java b/src/main/java/com/github/monai/resource/WebRunner.java index cf77da6..b7a1fb5 100644 --- a/src/main/java/com/github/monai/resource/WebRunner.java +++ b/src/main/java/com/github/monai/resource/WebRunner.java @@ -19,22 +19,27 @@ public class WebRunner { @GET @Path("/status") - public HashMap status(@QueryParam("level") CompilationLevel level, + public HashMap status() { + HashMap out = new HashMap<>(); + + out.put("compilerVersion", Compiler.getReleaseVersion()); + + return out; + } + + @GET + @Path("/options") + public CompilerOptions options(@QueryParam("level") CompilationLevel level, @QueryParam("debug") @DefaultValue("false") boolean debug, @QueryParam("typeBased") @DefaultValue("false") boolean typeBased, @QueryParam("wrappedOutput") @DefaultValue("false") boolean wrappedOutput) throws IOException { - HashMap out = new HashMap<>(); - CompilerOptions options = new CompilerOptions(); if (null != level) { Optimizations optim = new Optimizations(level, debug, typeBased, wrappedOutput); applyOptimizations(optim, options); } - out.put("options", options); - out.put("compilerVersion", Compiler.getReleaseVersion()); - - return out; + return options; } @GET From 2a2be92c2891a55cd80345df4ea3e3803bcf9452 Mon Sep 17 00:00:00 2001 From: monai Date: Sun, 8 May 2016 12:20:23 +0300 Subject: [PATCH 04/13] Add cc-web-runner version to /status endpoint --- pom.xml | 21 +++++++++++++++++++ .../com/github/monai/resource/WebRunner.java | 1 + 2 files changed, 22 insertions(+) diff --git a/pom.xml b/pom.xml index cb442fc..a06ec61 100644 --- a/pom.xml +++ b/pom.xml @@ -16,6 +16,7 @@ v20160315 1.4.0 3.5.1 + 1.0.0 com.github.monai.Application UTF-8 @@ -52,6 +53,26 @@ ${main.class} + + org.codehaus.mojo + properties-maven-plugin + ${plugin.properties.version} + + + + set-system-properties + + + + + cc-web-runner.version + ${project.version} + + + + + + diff --git a/src/main/java/com/github/monai/resource/WebRunner.java b/src/main/java/com/github/monai/resource/WebRunner.java index b7a1fb5..c1f3c8d 100644 --- a/src/main/java/com/github/monai/resource/WebRunner.java +++ b/src/main/java/com/github/monai/resource/WebRunner.java @@ -22,6 +22,7 @@ public class WebRunner { public HashMap status() { HashMap out = new HashMap<>(); + out.put("version", System.getProperty("cc-web-runner.version")); out.put("compilerVersion", Compiler.getReleaseVersion()); return out; From 72df15f7a83206939ff7c485696fce01df34f1b0 Mon Sep 17 00:00:00 2001 From: monai Date: Mon, 9 May 2016 18:17:19 +0300 Subject: [PATCH 05/13] Add tinylog logger --- pom.xml | 6 ++++++ src/main/resources/tinylog.properties | 2 ++ 2 files changed, 8 insertions(+) create mode 100644 src/main/resources/tinylog.properties diff --git a/pom.xml b/pom.xml index a06ec61..f272322 100644 --- a/pom.xml +++ b/pom.xml @@ -14,6 +14,7 @@ 2.22.2 1.3 v20160315 + 1.1 1.4.0 3.5.1 1.0.0 @@ -126,5 +127,10 @@ closure-compiler ${closure-compiler.version} + + org.tinylog + slf4j-binding + ${tinylog.version} + diff --git a/src/main/resources/tinylog.properties b/src/main/resources/tinylog.properties new file mode 100644 index 0000000..ae78fe2 --- /dev/null +++ b/src/main/resources/tinylog.properties @@ -0,0 +1,2 @@ +tinylog.level=info +tinylog.format={level}: {date:yyyy-MM-dd HH:mm:ss} [{thread}] {message} From c3a8386b90f45cb83aa89c3986a3249917701fad Mon Sep 17 00:00:00 2001 From: monai Date: Mon, 9 May 2016 18:28:53 +0300 Subject: [PATCH 06/13] Automatically exit on start error --- src/main/java/com/github/monai/Application.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/github/monai/Application.java b/src/main/java/com/github/monai/Application.java index a75e497..0496c0f 100644 --- a/src/main/java/com/github/monai/Application.java +++ b/src/main/java/com/github/monai/Application.java @@ -11,6 +11,7 @@ import org.eclipse.jetty.servlet.ServletHolder; import org.glassfish.jersey.server.ResourceConfig; import org.glassfish.jersey.servlet.ServletContainer; +import org.pmw.tinylog.Logger; import javax.ws.rs.ApplicationPath; import java.io.IOException; @@ -65,7 +66,12 @@ public static void main(String[] args) throws Exception { server.start(); server.join(); } finally { - server.destroy(); + try { + server.destroy(); + } catch (Throwable error) { + Logger.error(error); + System.exit(1); + } } } } From 98b16cb1d3ac28222036fc4cda0189862aa40248 Mon Sep 17 00:00:00 2001 From: monai Date: Tue, 10 May 2016 12:07:56 +0300 Subject: [PATCH 07/13] Add access log --- src/main/java/com/github/monai/AccessLog.java | 13 +++++++++++++ src/main/java/com/github/monai/Application.java | 2 ++ 2 files changed, 15 insertions(+) create mode 100644 src/main/java/com/github/monai/AccessLog.java diff --git a/src/main/java/com/github/monai/AccessLog.java b/src/main/java/com/github/monai/AccessLog.java new file mode 100644 index 0000000..97ab094 --- /dev/null +++ b/src/main/java/com/github/monai/AccessLog.java @@ -0,0 +1,13 @@ +package com.github.monai; + +import org.eclipse.jetty.server.Request; +import org.eclipse.jetty.server.RequestLog; +import org.eclipse.jetty.server.Response; +import org.pmw.tinylog.Logger; + +public class AccessLog implements RequestLog { + @Override + public void log(Request request, Response response) { + Logger.info(request); + } +} diff --git a/src/main/java/com/github/monai/Application.java b/src/main/java/com/github/monai/Application.java index 0496c0f..9633b56 100644 --- a/src/main/java/com/github/monai/Application.java +++ b/src/main/java/com/github/monai/Application.java @@ -49,10 +49,12 @@ public static void main(String[] args) throws Exception { Server server = new Server(port); Application app = new Application(); + AccessLog accessLog = new AccessLog(); ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS); context.setContextPath("/"); server.setHandler(context); + server.setRequestLog(accessLog); ServletContainer servletContainer = new ServletContainer(app); ServletHolder servlet = new ServletHolder(servletContainer); From 173e80931f6c05d1d44610a9176a3507d0ac4072 Mon Sep 17 00:00:00 2001 From: monai Date: Tue, 10 May 2016 14:30:11 +0300 Subject: [PATCH 08/13] Pretty format Response object on info level --- src/main/java/com/github/monai/AccessLog.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/main/java/com/github/monai/AccessLog.java b/src/main/java/com/github/monai/AccessLog.java index 97ab094..8ea18dc 100644 --- a/src/main/java/com/github/monai/AccessLog.java +++ b/src/main/java/com/github/monai/AccessLog.java @@ -3,11 +3,27 @@ import org.eclipse.jetty.server.Request; import org.eclipse.jetty.server.RequestLog; import org.eclipse.jetty.server.Response; +import org.pmw.tinylog.Level; import org.pmw.tinylog.Logger; public class AccessLog implements RequestLog { @Override public void log(Request request, Response response) { Logger.info(request); + + if (Logger.getLevel().compareTo(Level.DEBUG) == 1) { + Logger.info(formatResponse(response)); + } else { + Logger.debug(response.toString()); + } + } + + private String formatResponse(Response response) { + return String.format("%s[%s %d %s]@%x", + response.getClass().getSimpleName(), + response.getHttpChannel().getRequest().getHttpVersion(), + response.getStatus(), + response.getReason(), + response.hashCode()); } } From 23b487f4b145e23a5ccd357135f5ed0c0ee35427 Mon Sep 17 00:00:00 2001 From: monai Date: Tue, 10 May 2016 14:38:06 +0300 Subject: [PATCH 09/13] Respond options as object member --- src/main/java/com/github/monai/resource/WebRunner.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/github/monai/resource/WebRunner.java b/src/main/java/com/github/monai/resource/WebRunner.java index c1f3c8d..7252861 100644 --- a/src/main/java/com/github/monai/resource/WebRunner.java +++ b/src/main/java/com/github/monai/resource/WebRunner.java @@ -30,17 +30,21 @@ public HashMap status() { @GET @Path("/options") - public CompilerOptions options(@QueryParam("level") CompilationLevel level, + public HashMap options(@QueryParam("level") CompilationLevel level, @QueryParam("debug") @DefaultValue("false") boolean debug, @QueryParam("typeBased") @DefaultValue("false") boolean typeBased, @QueryParam("wrappedOutput") @DefaultValue("false") boolean wrappedOutput) throws IOException { + HashMap out = new HashMap<>(); + CompilerOptions options = new CompilerOptions(); if (null != level) { Optimizations optim = new Optimizations(level, debug, typeBased, wrappedOutput); applyOptimizations(optim, options); } - return options; + out.put("options", options); + + return out; } @GET From d16f96743140ddc7466860253651a2d47208fd98 Mon Sep 17 00:00:00 2001 From: monai Date: Tue, 10 May 2016 14:38:21 +0300 Subject: [PATCH 10/13] Update README.md --- README.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 463dce2..2bfd6d3 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,16 @@ Request and response content types are `application/json`. ### GET /status -Returns default options with given optimizations and Closure Compiler version. +Returns cc-web-runner and Closure Compiler versions. + +Response: + +- `version` String - cc-web-runner version +- `compilerVersions` String - Closure Compiler version + +### GET /options + +Returns default options with given optimizations. Query parameters: @@ -56,7 +65,6 @@ Query parameters: Response: - `options` Object - is of type [CompilerOptions](https://github.com/google/closure-compiler/blob/v20160208/src/com/google/javascript/jscomp/CompilerOptions.java), compiler options -- `compilerVersions` String - Closure Compiler version ### GET /externs From 3e09c94941867a588bb064c3b3b8b8fbbf2bdba7 Mon Sep 17 00:00:00 2001 From: monai Date: Tue, 10 May 2016 14:41:30 +0300 Subject: [PATCH 11/13] Bump version --- pom-jar.xml | 2 +- pom-war.xml | 2 +- pom.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pom-jar.xml b/pom-jar.xml index dca10b0..f94d29a 100644 --- a/pom-jar.xml +++ b/pom-jar.xml @@ -10,7 +10,7 @@ com.github.monai cc-web-runner-parent - 1.0-SNAPSHOT + 1.0.6 pom.xml diff --git a/pom-war.xml b/pom-war.xml index da874df..551288f 100644 --- a/pom-war.xml +++ b/pom-war.xml @@ -10,7 +10,7 @@ com.github.monai cc-web-runner-parent - 1.0-SNAPSHOT + 1.0.6 pom.xml diff --git a/pom.xml b/pom.xml index f272322..5c8bc89 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ com.github.monai cc-web-runner-parent pom - 1.0-SNAPSHOT + 1.0.6 1.8 From 31b580c96ddefdd5e9174201dbad9d7f4db64be9 Mon Sep 17 00:00:00 2001 From: monai Date: Tue, 10 May 2016 15:09:57 +0300 Subject: [PATCH 12/13] Remove version property from /status --- README.md | 3 +-- pom.xml | 21 ------------------- .../com/github/monai/resource/WebRunner.java | 1 - 3 files changed, 1 insertion(+), 24 deletions(-) diff --git a/README.md b/README.md index 2bfd6d3..c8c9119 100644 --- a/README.md +++ b/README.md @@ -44,11 +44,10 @@ Request and response content types are `application/json`. ### GET /status -Returns cc-web-runner and Closure Compiler versions. +Returns Closure Compiler versions. Response: -- `version` String - cc-web-runner version - `compilerVersions` String - Closure Compiler version ### GET /options diff --git a/pom.xml b/pom.xml index 5c8bc89..9b594a6 100644 --- a/pom.xml +++ b/pom.xml @@ -17,7 +17,6 @@ 1.1 1.4.0 3.5.1 - 1.0.0 com.github.monai.Application UTF-8 @@ -54,26 +53,6 @@ ${main.class} - - org.codehaus.mojo - properties-maven-plugin - ${plugin.properties.version} - - - - set-system-properties - - - - - cc-web-runner.version - ${project.version} - - - - - - diff --git a/src/main/java/com/github/monai/resource/WebRunner.java b/src/main/java/com/github/monai/resource/WebRunner.java index 7252861..76f4942 100644 --- a/src/main/java/com/github/monai/resource/WebRunner.java +++ b/src/main/java/com/github/monai/resource/WebRunner.java @@ -22,7 +22,6 @@ public class WebRunner { public HashMap status() { HashMap out = new HashMap<>(); - out.put("version", System.getProperty("cc-web-runner.version")); out.put("compilerVersion", Compiler.getReleaseVersion()); return out; From 058670e29d0a9de1fe9905f3c3799dfbdcbc7a88 Mon Sep 17 00:00:00 2001 From: monai Date: Tue, 10 May 2016 15:34:19 +0300 Subject: [PATCH 13/13] Update jetty version --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 9b594a6..1fe3152 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ 1.8 - 9.3.7.v20160115 + 9.3.8.v20160314 2.22.2 1.3 v20160315