You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by kw...@apache.org on 2015/04/29 19:55:45 UTC
svn commit: r1676805 - in
/sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/run:
LauncherCallable.java ServerConfiguration.java
Author: kwin
Date: Wed Apr 29 17:55:45 2015
New Revision: 1676805
URL: http://svn.apache.org/r1676805
Log:
SLING-4677 allow to start Sling in debug mode with a simple mojo parameter
Modified:
sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/run/LauncherCallable.java
sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/run/ServerConfiguration.java
Modified: sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/run/LauncherCallable.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/run/LauncherCallable.java?rev=1676805&r1=1676804&r2=1676805&view=diff
==============================================================================
--- sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/run/LauncherCallable.java (original)
+++ sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/run/LauncherCallable.java Wed Apr 29 17:55:45 2015
@@ -141,6 +141,7 @@ public class LauncherCallable implements
args.add("java");
add(args, this.configuration.getVmOpts());
+ add(args, this.configuration.getVmDebugOpts());
args.add("-cp");
args.add("bin");
Modified: sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/run/ServerConfiguration.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/run/ServerConfiguration.java?rev=1676805&r1=1676804&r2=1676805&view=diff
==============================================================================
--- sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/run/ServerConfiguration.java (original)
+++ sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/run/ServerConfiguration.java Wed Apr 29 17:55:45 2015
@@ -28,6 +28,9 @@ public class ServerConfiguration impleme
private static final String DEFAULT_VM_OPTS = "-Xmx1024m -XX:MaxPermSize=256m -Djava.awt.headless=true";
+ // http://docs.oracle.com/javase/7/docs/technotes/guides/jpda/conninv.html#Invocation
+ private static final String DEFAULT_VM_DEBUG_OPTS = "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000";
+
/** The unique id. */
private String id;
@@ -46,6 +49,9 @@ public class ServerConfiguration impleme
/** The vm options. */
private String vmOpts = DEFAULT_VM_OPTS;
+ /** Attach a debugger to the forked JVM. If set to "true", the process will allow a debugger to attach on port 8000. If set to some other string, that string will be appended to the vmOpts, allowing you to configure arbitrary debuggability options (without overwriting the other options specified through the vmOpts parameter).*/
+ private String debug;
+
/** Additional application options. */
private String opts;
@@ -103,6 +109,21 @@ public class ServerConfiguration impleme
this.vmOpts = vmOpts;
}
+ /**
+ * @return the debugging options to use or {@code null}. Should be appended to the ones being returned by {@link #getVmOpts()}.
+ * @see <a href="http://docs.oracle.com/javase/7/docs/technotes/guides/jpda/conninv.html#Invocation">JPDA Sun VM Invocation Options</a>
+ */
+ public String getVmDebugOpts() {
+ if (Boolean.valueOf(debug).equals(Boolean.TRUE)) {
+ return DEFAULT_VM_DEBUG_OPTS;
+ }
+ return debug;
+ }
+
+ public void setDebug(final String debug) {
+ this.debug = debug;
+ }
+
public String getOpts() {
return opts;
}
@@ -151,6 +172,7 @@ public class ServerConfiguration impleme
copy.setPort(this.getPort());
copy.setContextPath(this.getContextPath());
copy.setVmOpts(this.getVmOpts());
+ copy.setDebug(this.debug);
copy.setOpts(this.getOpts());
copy.setInstances(1);
copy.setFolder(this.getFolder());
@@ -164,7 +186,7 @@ public class ServerConfiguration impleme
return "LaunchpadConfiguration [id=" + id + ", runmode=" + runmode
+ ", port=" + port + ", controlPort=" + controlPort
+ ", contextPath=" + contextPath
- + ", vmOpts=" + vmOpts + ", opts=" + opts + ", instances="
+ + ", vmOpts=" + vmOpts + ", vmDebugOpts=" + getVmDebugOpts() + ", opts=" + opts + ", instances="
+ instances + ", folder=" + folder + "]";
}
}