diff --git a/VERSION.txt b/VERSION.txt index bf992933391..3831d565d2e 100644 --- a/VERSION.txt +++ b/VERSION.txt @@ -18,7 +18,7 @@ jetty-9.4.9.v20180320 - 20 March 2018 + 1956 Store and report build information of Jetty + 1966 HttpMethod case sensitive + 1970 ManagedSelector can lose selector thread under high concurrent load - + 1973 Implement minimum response data rate + + 1973 Implement minimum response data rate + 1983 Improve warning for incompatible ALPN processor + 1986 ServletContextHandler.Context addListener() methods support session listeners @@ -342,34 +342,6 @@ jetty-9.3.21.v20170918 - 18 September 2017 + 475546 ClosedChannelException when connection to HTTPS over HTTP proxy with CONNECT -jetty-9.4.6.v20170531 - 31 May 2017 - + 523 TLS close behaviour breaking session resumption - + 1108 Please improve logging in SslContextFactory when there are no approved - cipher suites - + 1505 Adding jetty.base.uri and jetty.home.uri - + 1514 websocket dump badly formatted - + 1516 Delay starting of WebSocketClient until an attempt to connect is made - + 1520 PropertyUserStore should extract packed config file - + 1526 MongoSessionDataStore old session scavenging is broken due to the - missing $ sign in "and" operation - + 1527 Jetty BOM should not depend on jetty-parent - + 1528 Internal HttpClient usages should have common configurable technique - + 1536 Jetty BOM should include more artifacts - + 1538 NPE in Response.putHeaders - + 1539 JarFileResource mishandles paths with spaces - + 1544 Disabling JSR-356 doesn't indicate context it was disabled for - + 1546 Improve handling of quotes in cookies - + 1553 X509.isCertSign() can throw ArrayIndexOutOfBoundsException on - non-standard implementations - + 1556 A timing channel in Password.java - + 1558 When creating WebAppContext without session-config and with NO_SESSIONS - throws NPE - + 1567 XmlConfiguration will start the same object multiple times - + 1568 ServletUpgradeRequest mangles query strings containing percent-escapes - by re-escaping them - + 1569 Allow setting of maxBinaryMessageSize to 0 in WebSocketPolicy - + 1579 NPE in Quoted Quality CSV - jetty-9.4.5.v20170502 - 02 May 2017 + 304 Review dead code - StringUtil.sidBytesToString + 1235 DNS lookup in newSSLEngine(InetSocketAddress address) diff --git a/jetty-bom/pom.xml b/jetty-bom/pom.xml index a04d3a5dbb0..5705f5c417b 100644 --- a/jetty-bom/pom.xml +++ b/jetty-bom/pom.xml @@ -454,7 +454,7 @@ joakim.erdfelt@gmail.com Webtide, LLC https://webtide.com - -7 + -6 sbordet diff --git a/jetty-jspc-maven-plugin/pom.xml b/jetty-jspc-maven-plugin/pom.xml index b12ca89b4e9..9bb1d1ba3a4 100644 --- a/jetty-jspc-maven-plugin/pom.xml +++ b/jetty-jspc-maven-plugin/pom.xml @@ -50,31 +50,17 @@ jetty-util ${project.version} - - org.apache.maven - maven-project - 2.0.3 - - - junit - junit - - - org.apache.maven maven-plugin-api - 2.0.3 org.apache.maven maven-artifact - 2.0.3 org.apache.maven.plugin-tools maven-plugin-tools-api - 3.1 junit @@ -103,6 +89,24 @@ ${project.version} test + + org.eclipse.jetty + jetty-client + ${project.version} + test + + + org.eclipse.jetty + jetty-proxy + ${project.version} + test + + + org.eclipse.jetty.http2 + http2-client + ${project.version} + test + @@ -139,6 +143,7 @@ integration-test + install integration-test verify diff --git a/jetty-maven-plugin/pom.xml b/jetty-maven-plugin/pom.xml index 2569110be79..a650e9841a3 100644 --- a/jetty-maven-plugin/pom.xml +++ b/jetty-maven-plugin/pom.xml @@ -10,8 +10,6 @@ Jetty :: Jetty Maven Plugin Jetty maven plugins - 3.5.0 - 3.5 ${project.groupId}.maven.plugin false FREEBEER @@ -51,33 +49,22 @@ org.apache.maven maven-plugin-api - ${mavenVersion} org.apache.maven maven-artifact - ${mavenVersion} org.apache.maven maven-core - ${mavenVersion} org.apache.maven.plugin-tools maven-plugin-tools-api - ${pluginToolsVersion} - - - junit - junit - - org.apache.maven.plugin-tools maven-plugin-annotations - ${pluginToolsVersion} provided @@ -179,6 +166,13 @@ ${project.version} test + + org.eclipse.jetty + jetty-home + ${project.version} + test + zip + diff --git a/jetty-maven-plugin/src/it/jetty-deploy-war-mojo-it/invoker.properties b/jetty-maven-plugin/src/it/jetty-deploy-war-mojo-it/invoker.properties new file mode 100644 index 00000000000..816c3f38def --- /dev/null +++ b/jetty-maven-plugin/src/it/jetty-deploy-war-mojo-it/invoker.properties @@ -0,0 +1,2 @@ +invoker.goals = verify -V -e +#test-compile failsafe:integration-test \ No newline at end of file diff --git a/jetty-maven-plugin/src/it/jetty-deploy-war-mojo-it/pom.xml b/jetty-maven-plugin/src/it/jetty-deploy-war-mojo-it/pom.xml new file mode 100644 index 00000000000..d654bf0a736 --- /dev/null +++ b/jetty-maven-plugin/src/it/jetty-deploy-war-mojo-it/pom.xml @@ -0,0 +1,140 @@ + + + 4.0.0 + + org.eclipse.jetty.its.jetty-deploy-war-mojo-it + jetty-simple-project + 0.0.1-SNAPSHOT + + Jetty :: Simple deploy war mojo test + + + @project.version@ + ${project.build.directory}/jetty-run-war-port.txt + + + + + org.eclipse.jetty + jetty-client + @project.version@ + test + + + + junit + junit + 4.12 + test + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.5.1 + + 1.8 + 1.8 + + + + org.apache.maven.plugins + maven-surefire-plugin + @surefireVersion@ + + true + + ${jetty.port.file} + + + + + org.apache.maven.plugins + maven-failsafe-plugin + @surefireVersion@ + + + ${jetty.port.file} + + + **/*TestHelloServlet* + + + + + integration-test + + integration-test + + + + verify + + verify + + + + + + org.eclipse.jetty + jetty-maven-plugin + @project.version@ + + + start-jetty + test-compile + + deploy-war + + + ${project.build.directory}/bean-validation-webapp-2.25.1.war + true + + + jetty.port.file + ${jetty.port.file} + + + ${basedir}/src/config/jetty.xml + + + + + + + + org.apache.maven.plugins + maven-dependency-plugin + 3.0.2 + + + load-war + generate-resources + + copy + + + + + org.glassfish.jersey.examples + bean-validation-webapp + 2.25.1 + war + true + ** + ${project.build.directory} + + + + + + + + + + + diff --git a/jetty-maven-plugin/src/it/jetty-deploy-war-mojo-it/src/config/jetty.xml b/jetty-maven-plugin/src/it/jetty-deploy-war-mojo-it/src/config/jetty.xml new file mode 100644 index 00000000000..c38bcced0e1 --- /dev/null +++ b/jetty-maven-plugin/src/it/jetty-deploy-war-mojo-it/src/config/jetty.xml @@ -0,0 +1,40 @@ + + + + + + https + + 32768 + 8192 + 8192 + 512 + + + + + + + + + + + + + + + + + + + + + + + + 0 + 30000 + + + + diff --git a/jetty-maven-plugin/src/it/jetty-deploy-war-mojo-it/src/test/java/org/eclipse/jetty/its/jetty_run_war_mojo_it/TestGetContent.java b/jetty-maven-plugin/src/it/jetty-deploy-war-mojo-it/src/test/java/org/eclipse/jetty/its/jetty_run_war_mojo_it/TestGetContent.java new file mode 100644 index 00000000000..bc20fef11b7 --- /dev/null +++ b/jetty-maven-plugin/src/it/jetty-deploy-war-mojo-it/src/test/java/org/eclipse/jetty/its/jetty_run_war_mojo_it/TestGetContent.java @@ -0,0 +1,93 @@ +// +// ======================================================================== +// Copyright (c) 1995-2018 Mort Bay Consulting Pty. Ltd. +// ------------------------------------------------------------------------ +// All rights reserved. This program and the accompanying materials +// are made available under the terms of the Eclipse Public License v1.0 +// and Apache License v2.0 which accompanies this distribution. +// +// The Eclipse Public License is available at +// http://www.eclipse.org/legal/epl-v10.html +// +// The Apache License v2.0 is available at +// http://www.opensource.org/licenses/apache2.0.php +// +// You may elect to redistribute this code under either of these licenses. +// ======================================================================== +// + + +package org.eclipse.jetty.its.jetty_run_war_mojo_it; + +import java.io.File; +import java.io.FileReader; +import java.io.LineNumberReader; + +import org.eclipse.jetty.client.HttpClient; +import org.junit.Assert; +import org.junit.Test; + +/** + * + */ +public class TestGetContent +{ + @Test + public void get_content() + throws Exception + { + int port = getPort(); + Assert.assertTrue(port > 0); + HttpClient httpClient = new HttpClient(); + try + { + httpClient.start(); + + String response = httpClient.GET( "http://localhost:" + port ).getContentAsString(); + + Assert.assertTrue(response.trim().contains("Bean Validation Webapp example") ); + + response = httpClient.GET( "http://localhost:" + port ).getContentAsString(); + + Assert.assertTrue(response.trim().contains("Bean Validation Webapp example") ); + } + finally + { + httpClient.stop(); + } + } + + public int getPort() + throws Exception + { + int attempts = 20; + int port = -1; + String s = System.getProperty("jetty.port.file"); + Assert.assertNotNull(s); + File f = new File(s); + while (true) + { + if (f.exists()) + { + try (FileReader r = new FileReader(f); + LineNumberReader lnr = new LineNumberReader(r); + ) + { + s = lnr.readLine(); + Assert.assertNotNull(s); + port = Integer.parseInt(s.trim()); + } + break; + } + else + { + if (--attempts < 0) + break; + else + Thread.currentThread().sleep(100); + } + } + return port; + } + +} diff --git a/jetty-maven-plugin/src/it/jetty-run-distro-mojo-it/jetty-simple-webapp/src/test/java/org/eclipse/jetty/its/jetty_run_distro_mojo_it/TestHelloServlet.java b/jetty-maven-plugin/src/it/jetty-run-distro-mojo-it/jetty-simple-webapp/src/test/java/org/eclipse/jetty/its/jetty_run_distro_mojo_it/TestGetContent.java similarity index 97% rename from jetty-maven-plugin/src/it/jetty-run-distro-mojo-it/jetty-simple-webapp/src/test/java/org/eclipse/jetty/its/jetty_run_distro_mojo_it/TestHelloServlet.java rename to jetty-maven-plugin/src/it/jetty-run-distro-mojo-it/jetty-simple-webapp/src/test/java/org/eclipse/jetty/its/jetty_run_distro_mojo_it/TestGetContent.java index 5c9873dd9f6..09cf12de869 100644 --- a/jetty-maven-plugin/src/it/jetty-run-distro-mojo-it/jetty-simple-webapp/src/test/java/org/eclipse/jetty/its/jetty_run_distro_mojo_it/TestHelloServlet.java +++ b/jetty-maven-plugin/src/it/jetty-run-distro-mojo-it/jetty-simple-webapp/src/test/java/org/eclipse/jetty/its/jetty_run_distro_mojo_it/TestGetContent.java @@ -29,11 +29,11 @@ import org.junit.Test; /** * */ -public class TestHelloServlet +public class TestGetContent { @Test - public void hello_servlet() + public void get_ping_response() throws Exception { int port = getPort(); diff --git a/jetty-maven-plugin/src/it/jetty-run-forked-mojo-it/jetty-simple-webapp/src/test/java/org/eclipse/jetty/its/jetty_run_forked_mojo_it/TestHelloServlet.java b/jetty-maven-plugin/src/it/jetty-run-forked-mojo-it/jetty-simple-webapp/src/test/java/org/eclipse/jetty/its/jetty_run_forked_mojo_it/TestGetContent.java similarity index 97% rename from jetty-maven-plugin/src/it/jetty-run-forked-mojo-it/jetty-simple-webapp/src/test/java/org/eclipse/jetty/its/jetty_run_forked_mojo_it/TestHelloServlet.java rename to jetty-maven-plugin/src/it/jetty-run-forked-mojo-it/jetty-simple-webapp/src/test/java/org/eclipse/jetty/its/jetty_run_forked_mojo_it/TestGetContent.java index 54529685394..a0da6ee489c 100644 --- a/jetty-maven-plugin/src/it/jetty-run-forked-mojo-it/jetty-simple-webapp/src/test/java/org/eclipse/jetty/its/jetty_run_forked_mojo_it/TestHelloServlet.java +++ b/jetty-maven-plugin/src/it/jetty-run-forked-mojo-it/jetty-simple-webapp/src/test/java/org/eclipse/jetty/its/jetty_run_forked_mojo_it/TestGetContent.java @@ -29,10 +29,11 @@ import org.junit.Test; /** * */ -public class TestHelloServlet +public class TestGetContent + { @Test - public void hello_servlet() + public void get_ping_response() throws Exception { diff --git a/jetty-maven-plugin/src/it/jetty-run-war-mojo-it/jetty-simple-webapp/src/test/java/org/eclipse/jetty/its/jetty_run_war_mojo_it/TestHelloServlet.java b/jetty-maven-plugin/src/it/jetty-run-mojo-it/jetty-simple-webapp/src/test/java/org/eclipse/jetty/its/jetty_run_mojo_it/TestGetContent.java similarity index 94% rename from jetty-maven-plugin/src/it/jetty-run-war-mojo-it/jetty-simple-webapp/src/test/java/org/eclipse/jetty/its/jetty_run_war_mojo_it/TestHelloServlet.java rename to jetty-maven-plugin/src/it/jetty-run-mojo-it/jetty-simple-webapp/src/test/java/org/eclipse/jetty/its/jetty_run_mojo_it/TestGetContent.java index 2a967dc81f0..a0da6ee489c 100644 --- a/jetty-maven-plugin/src/it/jetty-run-war-mojo-it/jetty-simple-webapp/src/test/java/org/eclipse/jetty/its/jetty_run_war_mojo_it/TestHelloServlet.java +++ b/jetty-maven-plugin/src/it/jetty-run-mojo-it/jetty-simple-webapp/src/test/java/org/eclipse/jetty/its/jetty_run_mojo_it/TestGetContent.java @@ -16,8 +16,7 @@ // ======================================================================== // - -package org.eclipse.jetty.its.jetty_run_war_mojo_it; +package org.eclipse.jetty.its.jetty_run_forked_mojo_it; import java.io.File; import java.io.FileReader; @@ -30,12 +29,14 @@ import org.junit.Test; /** * */ -public class TestHelloServlet +public class TestGetContent + { @Test - public void hello_servlet() + public void get_ping_response() throws Exception { + int port = getPort(); Assert.assertTrue(port > 0); HttpClient httpClient = new HttpClient(); @@ -57,6 +58,7 @@ public class TestHelloServlet } } + public int getPort() throws Exception { @@ -86,8 +88,7 @@ public class TestHelloServlet else Thread.currentThread().sleep(100); } - } + } return port; } - } diff --git a/jetty-maven-plugin/src/it/jetty-run-mojo-it/jetty-simple-webapp/src/test/java/org/eclipse/jetty/its/jetty_run_mojo_it/TestHelloServlet.java b/jetty-maven-plugin/src/it/jetty-run-mojo-it/jetty-simple-webapp/src/test/java/org/eclipse/jetty/its/jetty_run_mojo_it/TestHelloServlet.java deleted file mode 100644 index d6ffda24671..00000000000 --- a/jetty-maven-plugin/src/it/jetty-run-mojo-it/jetty-simple-webapp/src/test/java/org/eclipse/jetty/its/jetty_run_mojo_it/TestHelloServlet.java +++ /dev/null @@ -1,91 +0,0 @@ -// -// ======================================================================== -// Copyright (c) 1995-2018 Mort Bay Consulting Pty. Ltd. -// ------------------------------------------------------------------------ -// All rights reserved. This program and the accompanying materials -// are made available under the terms of the Eclipse Public License v1.0 -// and Apache License v2.0 which accompanies this distribution. -// -// The Eclipse Public License is available at -// http://www.eclipse.org/legal/epl-v10.html -// -// The Apache License v2.0 is available at -// http://www.opensource.org/licenses/apache2.0.php -// -// You may elect to redistribute this code under either of these licenses. -// ======================================================================== -// - - -package org.eclipse.jetty.its.jetty_run_mojo_it; - -import java.io.File; -import java.io.FileReader; -import java.io.LineNumberReader; - -import org.eclipse.jetty.client.HttpClient; -import org.junit.Assert; -import org.junit.Test; - -/** - * - */ -public class TestHelloServlet -{ - @Test - public void hello_servlet() - throws Exception - { - int port = getPort(); - HttpClient httpClient = new HttpClient(); - try - { - httpClient.start(); - - String response = httpClient.GET( "http://localhost:" + port + "/hello?name=beer" ).getContentAsString(); - - Assert.assertEquals( "hello beer", response.trim() ); - - response = httpClient.GET( "http://localhost:" + port + "/ping?name=beer" ).getContentAsString(); - - Assert.assertEquals( "pong beer", response.trim() ); - } - finally - { - httpClient.stop(); - } - } - - public int getPort() - throws Exception - { - int attempts = 20; - int port = -1; - String s = System.getProperty("jetty.port.file"); - Assert.assertNotNull(s); - File f = new File(s); - while (true) - { - if (f.exists()) - { - try (FileReader r = new FileReader(f); - LineNumberReader lnr = new LineNumberReader(r); - ) - { - s = lnr.readLine(); - Assert.assertNotNull(s); - port = Integer.parseInt(s.trim()); - } - break; - } - else - { - if (--attempts < 0) - break; - else - Thread.currentThread().sleep(100); - } - } - return port; - } -} diff --git a/jetty-maven-plugin/src/it/jetty-run-war-exploded-mojo-it/jetty-simple-webapp/src/test/java/org/eclipse/jetty/its/jetty_run_war_exploded_mojo_it/TestHelloServlet.java b/jetty-maven-plugin/src/it/jetty-run-war-exploded-mojo-it/jetty-simple-webapp/src/test/java/org/eclipse/jetty/its/jetty_run_war_exploded_mojo_it/TestGetContent.java similarity index 94% rename from jetty-maven-plugin/src/it/jetty-run-war-exploded-mojo-it/jetty-simple-webapp/src/test/java/org/eclipse/jetty/its/jetty_run_war_exploded_mojo_it/TestHelloServlet.java rename to jetty-maven-plugin/src/it/jetty-run-war-exploded-mojo-it/jetty-simple-webapp/src/test/java/org/eclipse/jetty/its/jetty_run_war_exploded_mojo_it/TestGetContent.java index 16426c494ab..a0da6ee489c 100644 --- a/jetty-maven-plugin/src/it/jetty-run-war-exploded-mojo-it/jetty-simple-webapp/src/test/java/org/eclipse/jetty/its/jetty_run_war_exploded_mojo_it/TestHelloServlet.java +++ b/jetty-maven-plugin/src/it/jetty-run-war-exploded-mojo-it/jetty-simple-webapp/src/test/java/org/eclipse/jetty/its/jetty_run_war_exploded_mojo_it/TestGetContent.java @@ -16,8 +16,7 @@ // ======================================================================== // - -package org.eclipse.jetty.its.jetty_run_war_exploded_mojo_it; +package org.eclipse.jetty.its.jetty_run_forked_mojo_it; import java.io.File; import java.io.FileReader; @@ -30,12 +29,14 @@ import org.junit.Test; /** * */ -public class TestHelloServlet +public class TestGetContent + { @Test - public void hello_servlet() + public void get_ping_response() throws Exception { + int port = getPort(); Assert.assertTrue(port > 0); HttpClient httpClient = new HttpClient(); @@ -57,6 +58,7 @@ public class TestHelloServlet } } + public int getPort() throws Exception { @@ -86,8 +88,7 @@ public class TestHelloServlet else Thread.currentThread().sleep(100); } - } + } return port; } - } diff --git a/jetty-maven-plugin/src/it/jetty-run-war-mojo-it/jetty-simple-webapp/src/test/java/org/eclipse/jetty/its/jetty_run_war_mojo_it/TestGetContent.java b/jetty-maven-plugin/src/it/jetty-run-war-mojo-it/jetty-simple-webapp/src/test/java/org/eclipse/jetty/its/jetty_run_war_mojo_it/TestGetContent.java new file mode 100644 index 00000000000..a0da6ee489c --- /dev/null +++ b/jetty-maven-plugin/src/it/jetty-run-war-mojo-it/jetty-simple-webapp/src/test/java/org/eclipse/jetty/its/jetty_run_war_mojo_it/TestGetContent.java @@ -0,0 +1,94 @@ +// +// ======================================================================== +// Copyright (c) 1995-2018 Mort Bay Consulting Pty. Ltd. +// ------------------------------------------------------------------------ +// All rights reserved. This program and the accompanying materials +// are made available under the terms of the Eclipse Public License v1.0 +// and Apache License v2.0 which accompanies this distribution. +// +// The Eclipse Public License is available at +// http://www.eclipse.org/legal/epl-v10.html +// +// The Apache License v2.0 is available at +// http://www.opensource.org/licenses/apache2.0.php +// +// You may elect to redistribute this code under either of these licenses. +// ======================================================================== +// + +package org.eclipse.jetty.its.jetty_run_forked_mojo_it; + +import java.io.File; +import java.io.FileReader; +import java.io.LineNumberReader; + +import org.eclipse.jetty.client.HttpClient; +import org.junit.Assert; +import org.junit.Test; + +/** + * + */ +public class TestGetContent + +{ + @Test + public void get_ping_response() + throws Exception + { + + int port = getPort(); + Assert.assertTrue(port > 0); + HttpClient httpClient = new HttpClient(); + try + { + httpClient.start(); + + String response = httpClient.GET( "http://localhost:" + port + "/hello?name=beer" ).getContentAsString(); + + Assert.assertEquals( "hello beer", response.trim() ); + + response = httpClient.GET( "http://localhost:" + port + "/ping?name=beer" ).getContentAsString(); + + Assert.assertEquals( "pong beer", response.trim() ); + } + finally + { + httpClient.stop(); + } + } + + + public int getPort() + throws Exception + { + int attempts = 20; + int port = -1; + String s = System.getProperty("jetty.port.file"); + Assert.assertNotNull(s); + File f = new File(s); + while (true) + { + if (f.exists()) + { + try (FileReader r = new FileReader(f); + LineNumberReader lnr = new LineNumberReader(r); + ) + { + s = lnr.readLine(); + Assert.assertNotNull(s); + port = Integer.parseInt(s.trim()); + } + break; + } + else + { + if (--attempts < 0) + break; + else + Thread.currentThread().sleep(100); + } + } + return port; + } +} diff --git a/jetty-maven-plugin/src/it/jetty-start-mojo-it/jetty-simple-webapp/src/test/java/org/eclipse/jetty/its/jetty_start_mojo_it/TestGetContent.java b/jetty-maven-plugin/src/it/jetty-start-mojo-it/jetty-simple-webapp/src/test/java/org/eclipse/jetty/its/jetty_start_mojo_it/TestGetContent.java new file mode 100644 index 00000000000..a0da6ee489c --- /dev/null +++ b/jetty-maven-plugin/src/it/jetty-start-mojo-it/jetty-simple-webapp/src/test/java/org/eclipse/jetty/its/jetty_start_mojo_it/TestGetContent.java @@ -0,0 +1,94 @@ +// +// ======================================================================== +// Copyright (c) 1995-2018 Mort Bay Consulting Pty. Ltd. +// ------------------------------------------------------------------------ +// All rights reserved. This program and the accompanying materials +// are made available under the terms of the Eclipse Public License v1.0 +// and Apache License v2.0 which accompanies this distribution. +// +// The Eclipse Public License is available at +// http://www.eclipse.org/legal/epl-v10.html +// +// The Apache License v2.0 is available at +// http://www.opensource.org/licenses/apache2.0.php +// +// You may elect to redistribute this code under either of these licenses. +// ======================================================================== +// + +package org.eclipse.jetty.its.jetty_run_forked_mojo_it; + +import java.io.File; +import java.io.FileReader; +import java.io.LineNumberReader; + +import org.eclipse.jetty.client.HttpClient; +import org.junit.Assert; +import org.junit.Test; + +/** + * + */ +public class TestGetContent + +{ + @Test + public void get_ping_response() + throws Exception + { + + int port = getPort(); + Assert.assertTrue(port > 0); + HttpClient httpClient = new HttpClient(); + try + { + httpClient.start(); + + String response = httpClient.GET( "http://localhost:" + port + "/hello?name=beer" ).getContentAsString(); + + Assert.assertEquals( "hello beer", response.trim() ); + + response = httpClient.GET( "http://localhost:" + port + "/ping?name=beer" ).getContentAsString(); + + Assert.assertEquals( "pong beer", response.trim() ); + } + finally + { + httpClient.stop(); + } + } + + + public int getPort() + throws Exception + { + int attempts = 20; + int port = -1; + String s = System.getProperty("jetty.port.file"); + Assert.assertNotNull(s); + File f = new File(s); + while (true) + { + if (f.exists()) + { + try (FileReader r = new FileReader(f); + LineNumberReader lnr = new LineNumberReader(r); + ) + { + s = lnr.readLine(); + Assert.assertNotNull(s); + port = Integer.parseInt(s.trim()); + } + break; + } + else + { + if (--attempts < 0) + break; + else + Thread.currentThread().sleep(100); + } + } + return port; + } +} diff --git a/jetty-maven-plugin/src/it/jetty-start-mojo-it/jetty-simple-webapp/src/test/java/org/eclipse/jetty/its/jetty_start_mojo_it/TestHelloServlet.java b/jetty-maven-plugin/src/it/jetty-start-mojo-it/jetty-simple-webapp/src/test/java/org/eclipse/jetty/its/jetty_start_mojo_it/TestHelloServlet.java deleted file mode 100644 index c02bf727000..00000000000 --- a/jetty-maven-plugin/src/it/jetty-start-mojo-it/jetty-simple-webapp/src/test/java/org/eclipse/jetty/its/jetty_start_mojo_it/TestHelloServlet.java +++ /dev/null @@ -1,93 +0,0 @@ -// -// ======================================================================== -// Copyright (c) 1995-2018 Mort Bay Consulting Pty. Ltd. -// ------------------------------------------------------------------------ -// All rights reserved. This program and the accompanying materials -// are made available under the terms of the Eclipse Public License v1.0 -// and Apache License v2.0 which accompanies this distribution. -// -// The Eclipse Public License is available at -// http://www.eclipse.org/legal/epl-v10.html -// -// The Apache License v2.0 is available at -// http://www.opensource.org/licenses/apache2.0.php -// -// You may elect to redistribute this code under either of these licenses. -// ======================================================================== -// - - -package org.eclipse.jetty.its.jetty_start_mojo_it; - - -import java.io.File; -import java.io.FileReader; -import java.io.LineNumberReader; - -import org.eclipse.jetty.client.HttpClient; -import org.junit.Assert; -import org.junit.Test; - -/** - * - */ -public class TestHelloServlet -{ - @Test - public void hello_servlet() - throws Exception - { - int port = getPort(); - Assert.assertTrue(port > 0); - HttpClient httpClient = new HttpClient(); - try - { - httpClient.start(); - - String response = httpClient.GET( "http://localhost:" + port + "/hello?name=beer" ).getContentAsString(); - - Assert.assertEquals( "hello beer", response.trim() ); - - response = httpClient.GET( "http://localhost:" + port + "/ping?name=beer" ).getContentAsString(); - - Assert.assertEquals( "pong beer", response.trim() ); - } - finally - { - httpClient.stop(); - } - } - public int getPort() - throws Exception - { - int attempts = 20; - int port = -1; - String s = System.getProperty("jetty.port.file"); - Assert.assertNotNull(s); - File f = new File(s); - while (true) - { - if (f.exists()) - { - try (FileReader r = new FileReader(f); - LineNumberReader lnr = new LineNumberReader(r); - ) - { - s = lnr.readLine(); - Assert.assertNotNull(s); - port = Integer.parseInt(s.trim()); - } - break; - } - else - { - if (--attempts < 0) - break; - else - Thread.currentThread().sleep(100); - } - } - return port; - } - -} diff --git a/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/ServerConnectorListener.java b/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/ServerConnectorListener.java index dc67466f5d7..10bd2603a61 100644 --- a/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/ServerConnectorListener.java +++ b/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/ServerConnectorListener.java @@ -40,7 +40,7 @@ public class ServerConnectorListener extends AbstractLifeCycleListener private String _fileName; private String _sysPropertyName; - + /** * @see org.eclipse.jetty.util.component.AbstractLifeCycle.AbstractLifeCycleListener#lifeCycleStarted(org.eclipse.jetty.util.component.LifeCycle) @@ -91,7 +91,7 @@ public class ServerConnectorListener extends AbstractLifeCycleListener */ public void setFileName(String name) { - + _fileName = name; } diff --git a/jetty-xml/src/main/java/org/eclipse/jetty/xml/XmlConfiguration.java b/jetty-xml/src/main/java/org/eclipse/jetty/xml/XmlConfiguration.java index 7e3320b529d..d3d3ff015ed 100644 --- a/jetty-xml/src/main/java/org/eclipse/jetty/xml/XmlConfiguration.java +++ b/jetty-xml/src/main/java/org/eclipse/jetty/xml/XmlConfiguration.java @@ -32,10 +32,8 @@ import java.net.MalformedURLException; import java.net.URL; import java.net.UnknownHostException; import java.security.AccessController; -import java.security.PrivilegedAction; import java.security.PrivilegedExceptionAction; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collection; import java.util.HashMap; import java.util.HashSet; @@ -47,7 +45,6 @@ import java.util.Properties; import java.util.Queue; import java.util.ServiceLoader; import java.util.Set; -import java.util.concurrent.atomic.AtomicReference; import org.eclipse.jetty.util.LazyList; import org.eclipse.jetty.util.Loader; @@ -1515,22 +1512,6 @@ public class XmlConfiguration { Properties properties = null; - // Look for properties from start.jar - try - { - Class config = XmlConfiguration.class.getClassLoader().loadClass("org.eclipse.jetty.start.Config"); - properties = (Properties)config.getMethod("getProperties").invoke(null); - LOG.debug("org.eclipse.jetty.start.Config properties = {}",properties); - } - catch (NoClassDefFoundError | ClassNotFoundException e) - { - LOG.ignore(e); - } - catch (Exception e) - { - LOG.warn(e); - } - // If no start.config properties, use clean slate if (properties == null) { @@ -1570,7 +1551,7 @@ public class XmlConfiguration } configuration.getProperties().putAll(props); } - + Object obj = configuration.configure(); if (obj!=null && !objects.contains(obj)) objects.add(obj); @@ -1580,7 +1561,7 @@ public class XmlConfiguration // For all objects created by XmlConfigurations, start them if they are lifecycles. for (Object obj : objects) - { + { if (obj instanceof LifeCycle) { LifeCycle lc = (LifeCycle)obj; diff --git a/pom.xml b/pom.xml index c48de9db7c4..07e6f1f543b 100644 --- a/pom.xml +++ b/pom.xml @@ -28,6 +28,9 @@ 1.20 benchmarks 2.21.0 + + 3.5 + 3.5.0 @@ -956,12 +959,34 @@ 1.2 provided - + org.apache.maven - maven-plugin-tools-api - 2.0 + maven-plugin-api + ${mavenVersion} + + org.apache.maven + maven-artifact + ${mavenVersion} + + + org.apache.maven + maven-core + ${mavenVersion} + + + org.apache.maven.plugin-tools + maven-plugin-tools-api + ${mavenPluginToolsVersion} + + + org.apache.maven.plugin-tools + maven-plugin-annotations + ${mavenPluginToolsVersion} + provided + + org.eclipse.jetty.toolchain jetty-test-helper