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
+
+
+
+
+ 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