You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2015/08/11 16:13:37 UTC
tomee git commit: TOMEE-1626 supporting port placeholder for build
mojo command
Repository: tomee
Updated Branches:
refs/heads/master 9c7f827c1 -> 5e3670aa4
TOMEE-1626 supporting port placeholder for build mojo command
Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/5e3670aa
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/5e3670aa
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/5e3670aa
Branch: refs/heads/master
Commit: 5e3670aa439283c61c9898706a9e9482fd3e54f7
Parents: 9c7f827
Author: Romain Manni-Bucau <rm...@gmail.com>
Authored: Tue Aug 11 07:13:29 2015 -0700
Committer: Romain Manni-Bucau <rm...@gmail.com>
Committed: Tue Aug 11 07:13:29 2015 -0700
----------------------------------------------------------------------
.../maven/plugin/AbstractAddressMojo.java | 2 +-
.../maven/plugin/AbstractCommandMojo.java | 2 +-
.../openejb/maven/plugin/AbstractTomEEMojo.java | 44 +++++++-------------
.../maven/plugin/TomEEMavenPluginRule.java | 33 +++++++++++++--
.../maven/plugin/test/PortPlaceholderTest.java | 43 +++++++++++++++++++
.../openejb/server/httpd/OpenEJBHttpServer.java | 4 +-
6 files changed, 93 insertions(+), 35 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tomee/blob/5e3670aa/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractAddressMojo.java
----------------------------------------------------------------------
diff --git a/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractAddressMojo.java b/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractAddressMojo.java
index 1339b28..eede86a 100644
--- a/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractAddressMojo.java
+++ b/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractAddressMojo.java
@@ -22,7 +22,7 @@ import org.apache.maven.plugins.annotations.Parameter;
public abstract class AbstractAddressMojo extends AbstractMojo {
@Parameter(property = "tomee-plugin.http")
- protected Integer tomeeHttpPort;
+ protected String tomeeHttpPort;
@Parameter(property = "tomee-plugin.host")
protected String tomeeHost;
http://git-wip-us.apache.org/repos/asf/tomee/blob/5e3670aa/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractCommandMojo.java
----------------------------------------------------------------------
diff --git a/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractCommandMojo.java b/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractCommandMojo.java
index eecc1ae..6aa3489 100644
--- a/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractCommandMojo.java
+++ b/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractCommandMojo.java
@@ -24,7 +24,7 @@ import java.util.Properties;
public abstract class AbstractCommandMojo extends AbstractAddressMojo {
protected Object lookup(final String name) {
if (tomeeHttpPort == null) {
- tomeeHttpPort = 8080;
+ tomeeHttpPort = "8080";
}
if (tomeeHost == null) {
tomeeHost = "localhost";
http://git-wip-us.apache.org/repos/asf/tomee/blob/5e3670aa/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractTomEEMojo.java
----------------------------------------------------------------------
diff --git a/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractTomEEMojo.java b/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractTomEEMojo.java
index 53d4a3e..9c4ce56 100644
--- a/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractTomEEMojo.java
+++ b/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractTomEEMojo.java
@@ -142,7 +142,7 @@ public abstract class AbstractTomEEMojo extends AbstractAddressMojo {
protected String tomeeClassifier;
@Parameter(property = "tomee-plugin.shutdown")
- protected Integer tomeeShutdownPort;
+ protected String tomeeShutdownPort;
@Parameter(property = "tomee-plugin.shutdown.attempts", defaultValue = "60")
protected int tomeeShutdownAttempts;
@@ -151,10 +151,10 @@ public abstract class AbstractTomEEMojo extends AbstractAddressMojo {
protected String tomeeShutdownCommand;
@Parameter(property = "tomee-plugin.ajp")
- protected Integer tomeeAjpPort;
+ protected String tomeeAjpPort;
@Parameter(property = "tomee-plugin.https")
- protected Integer tomeeHttpsPort;
+ protected String tomeeHttpsPort;
@Parameter(property = "tomee-plugin.args")
protected String args;
@@ -503,22 +503,10 @@ public abstract class AbstractTomEEMojo extends AbstractAddressMojo {
final File sXml = new File(catalinaBase, "conf/server.xml");
if (sXml.isFile()) {
final QuickServerXmlParser quickServerXmlParser = QuickServerXmlParser.parse(sXml, false);
- final String http = quickServerXmlParser.value("HTTP", null);
- if (http != null) {
- tomeeHttpPort = Integer.parseInt(http);
- }
- final String https = quickServerXmlParser.value("HTTPS", null);
- if (https != null) {
- tomeeHttpsPort = Integer.parseInt(https);
- }
- final String ajp = quickServerXmlParser.value("AJP", null);
- if (ajp != null) {
- tomeeAjpPort = Integer.parseInt(ajp);
- }
- final String stop = quickServerXmlParser.value("STOP", null);
- if (stop != null) {
- tomeeShutdownPort = Integer.parseInt(stop);
- }
+ tomeeHttpPort = quickServerXmlParser.value("HTTP", null);
+ tomeeHttpsPort = quickServerXmlParser.value("HTTPS", null);
+ tomeeAjpPort = quickServerXmlParser.value("AJP", null);
+ tomeeShutdownPort = quickServerXmlParser.value("STOP", null);
final String host = quickServerXmlParser.value("host", null);
if (host != null) {
tomeeHost = host;
@@ -559,8 +547,8 @@ public abstract class AbstractTomEEMojo extends AbstractAddressMojo {
tomeeArtifactId = "openejb-standalone";
tomeeClassifier = null;
tomeeShutdownCommand = "Q";
- if (8005 == tomeeShutdownPort) { // default admin port
- tomeeShutdownPort = 4200;
+ if ("8005".equals(tomeeShutdownPort)) { // default admin port
+ tomeeShutdownPort = "4200";
}
if (tomeeVersion.startsWith("2.")) {
tomeeVersion = OpenEjbVersion.get().getVersion();
@@ -872,7 +860,7 @@ public abstract class AbstractTomEEMojo extends AbstractAddressMojo {
final String original = read(serverXml);
String value = original;
- if (tomeeHttpsPort != null && tomeeHttpsPort > 0 && parser.value("HTTPS", null) == null) {
+ if (tomeeHttpsPort != null && tomeeHttpsPort.length() > 0 && parser.value("HTTPS", null) == null) {
String keystorePath = keystore != null ? keystore : parser.keystore();
if (keystorePath == null) {
final File conf = new File(catalinaBase, "conf");
@@ -903,16 +891,16 @@ public abstract class AbstractTomEEMojo extends AbstractAddressMojo {
}
if (tomeeHttpPort != null) {
- value = value.replace("\"" + parser.http() + '"', '"' + Integer.toString(tomeeHttpPort) + '"');
+ value = value.replace("\"" + parser.http() + '"', '"' + tomeeHttpPort + '"');
}
if (tomeeHttpsPort != null) {
- value = value.replace("\"" + parser.https() + '"', '"' + Integer.toString(tomeeHttpsPort) + '"');
+ value = value.replace("\"" + parser.https() + '"', '"' + tomeeHttpsPort + '"');
}
if (tomeeAjpPort != null) {
- value = value.replace("\"" + parser.ajp() + '"', '"' + Integer.toString(tomeeAjpPort) + '"');
+ value = value.replace("\"" + parser.ajp() + '"', '"' + tomeeAjpPort + '"');
}
if (tomeeShutdownPort != null) {
- value = value.replace("\"" + parser.stop() + '"', '"' + Integer.toString(tomeeShutdownPort) + '"');
+ value = value.replace("\"" + parser.stop() + '"', '"' + tomeeShutdownPort + '"');
}
if (webappDir != null) {
value = value.replace("\"" + parser.value("app-base", "webapps") + '"', '"' + webappDir + '"');
@@ -1012,7 +1000,7 @@ public abstract class AbstractTomEEMojo extends AbstractAddressMojo {
System.setProperty("openejb.server.debug", "true");
System.setProperty("server.debug.port", Integer.toString(debugPort));
}
- System.setProperty("server.shutdown.port", Integer.toString(tomeeShutdownPort));
+ System.setProperty("server.shutdown.port", tomeeShutdownPort);
System.setProperty("server.shutdown.command", tomeeShutdownCommand);
server = new RemoteServer(getConnectAttempts(), debug);
@@ -1022,7 +1010,7 @@ public abstract class AbstractTomEEMojo extends AbstractAddressMojo {
if (TOM_EE.equals(container)) {
- server.setPortStartup(tomeeHttpPort == null ? tomeeHttpsPort : tomeeHttpPort);
+ server.setPortStartup(Integer.parseInt(tomeeHttpPort == null ? tomeeHttpsPort : tomeeHttpPort));
getLog().info("Running '" + getClass().getName().replace("TomEEMojo", "").toLowerCase(Locale.ENGLISH)
+ "'. Configured TomEE in plugin is " + tomeeHost + ":" + server.getPortStartup()
http://git-wip-us.apache.org/repos/asf/tomee/blob/5e3670aa/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/TomEEMavenPluginRule.java
----------------------------------------------------------------------
diff --git a/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/TomEEMavenPluginRule.java b/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/TomEEMavenPluginRule.java
index dead8a1..689ccee 100644
--- a/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/TomEEMavenPluginRule.java
+++ b/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/TomEEMavenPluginRule.java
@@ -72,6 +72,13 @@ assertThat(IO.slurp(new URL(url + "/docs")), containsString("Apache Tomcat"));
* @Config specifies you want to configure the backend mojo with the value specifies on the test instance
*/
public class TomEEMavenPluginRule implements MethodRule {
+ private boolean run = true;
+
+ public TomEEMavenPluginRule noRun() {
+ run = false;
+ return this;
+ }
+
@Override
public Statement apply(final Statement base, final FrameworkMethod ignored, final Object target) {
return new RunTest(target, base);
@@ -101,7 +108,12 @@ public class TomEEMavenPluginRule implements MethodRule {
} else if (f.getAnnotation(Config.class) != null) {
f.setAccessible(true);
- final Field mojoField = AbstractTomEEMojo.class.getDeclaredField(f.getName());
+ Field mojoField;
+ try {
+ mojoField = AbstractTomEEMojo.class.getDeclaredField(f.getName());
+ } catch (final Exception e) {
+ mojoField = AbstractAddressMojo.class.getDeclaredField(f.getName());
+ }
mojoField.setAccessible(true);
mojoField.set(testMojo, f.get(testInstance));
}
@@ -116,6 +128,19 @@ public class TomEEMavenPluginRule implements MethodRule {
protected void asserts() throws Throwable {
next.evaluate();
}
+
+ @Override
+ protected void run() {
+ if (run) {
+ super.run();
+ } else {
+ try {
+ next.evaluate();
+ } catch (Throwable throwable) {
+ throw new RuntimeException(throwable);
+ }
+ }
+ }
});
}
}
@@ -201,9 +226,9 @@ public class TomEEMavenPluginRule implements MethodRule {
tomEEMojo.config = new File(tomEEMojo.catalinaBase.getPath() + "-conf");
tomEEMojo.lib = new File(tomEEMojo.catalinaBase.getPath() + "-lib");
- tomEEMojo.tomeeHttpPort = NetworkUtil.getNextAvailablePort();
- tomEEMojo.tomeeAjpPort = NetworkUtil.getNextAvailablePort();
- tomEEMojo.tomeeShutdownPort = NetworkUtil.getNextAvailablePort();
+ tomEEMojo.tomeeHttpPort = Integer.toString(NetworkUtil.getNextAvailablePort());
+ tomEEMojo.tomeeAjpPort = Integer.toString(NetworkUtil.getNextAvailablePort());
+ tomEEMojo.tomeeShutdownPort = Integer.toString(NetworkUtil.getNextAvailablePort());
tomEEMojo.tomeeShutdownCommand = "SHUTDOWN";
tomEEMojo.tomeeHost = "localhost";
http://git-wip-us.apache.org/repos/asf/tomee/blob/5e3670aa/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/test/PortPlaceholderTest.java
----------------------------------------------------------------------
diff --git a/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/test/PortPlaceholderTest.java b/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/test/PortPlaceholderTest.java
new file mode 100644
index 0000000..e3156d1
--- /dev/null
+++ b/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/test/PortPlaceholderTest.java
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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 org.apache.openejb.maven.plugin.test;
+
+import org.apache.openejb.loader.IO;
+import org.apache.openejb.maven.plugin.Config;
+import org.apache.openejb.maven.plugin.TomEEMavenPluginRule;
+import org.junit.Rule;
+import org.junit.Test;
+
+import java.io.File;
+
+import static org.junit.Assert.assertTrue;
+
+public class PortPlaceholderTest {
+ @Rule
+ public final TomEEMavenPluginRule TMPRule = new TomEEMavenPluginRule().noRun();
+
+ @Config
+ private final String tomeeHttpPort = "${http.port}";
+
+ @Config
+ private final File catalinaBase = new File("target/tomee-placeholder");
+
+ @Test
+ public void run() throws Exception {
+ assertTrue(IO.slurp(new File(catalinaBase, "conf/server.xml")).contains("<Connector port=\"" + tomeeHttpPort + "\""));
+ }
+}
http://git-wip-us.apache.org/repos/asf/tomee/blob/5e3670aa/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/OpenEJBHttpServer.java
----------------------------------------------------------------------
diff --git a/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/OpenEJBHttpServer.java b/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/OpenEJBHttpServer.java
index 16277fb..2290884 100644
--- a/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/OpenEJBHttpServer.java
+++ b/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/OpenEJBHttpServer.java
@@ -159,7 +159,9 @@ public class OpenEJBHttpServer implements HttpServer {
final Options options = new Options(props);
options.setLogger(new OptionsLog(log));
print = options.getAll("print", OpenEJBHttpServer.Output.class);
- indent = print.size() > 0 && options.get("indent.xml", false);
+ indent = print.size() > 0 && options.get("" +
+ "" +
+ ".xml", false);
}