Author: kwin
Date: Tue May 5 12:24:46 2015
New Revision: 1677798
URL: http://svn.apache.org/r1677798
Log:
SLING-4677 allow to override debug settings of all controlled Sling servers
through 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/LaunchpadEnvironment.java
sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/run/ServerConfiguration.java
sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/run/StartMojo.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=1677798&r1=1677797&r2=1677798&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
Tue May 5 12:24:46 2015
@@ -141,7 +141,7 @@ public class LauncherCallable implements
args.add("java");
add(args, this.configuration.getVmOpts());
- add(args, this.configuration.getVmDebugOpts());
+ add(args,
this.configuration.getVmDebugOpts(this.environment.getDebug()));
args.add("-cp");
args.add("bin");
Modified:
sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/run/LaunchpadEnvironment.java
URL:
http://svn.apache.org/viewvc/sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/run/LaunchpadEnvironment.java?rev=1677798&r1=1677797&r2=1677798&view=diff
==============================================================================
---
sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/run/LaunchpadEnvironment.java
(original)
+++
sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/run/LaunchpadEnvironment.java
Tue May 5 12:24:46 2015
@@ -35,15 +35,18 @@ public class LaunchpadEnvironment {
private final boolean cleanWorkingDirectory;
private final boolean shutdownOnExit;
private final int readyTimeOutSec;
+ private final String debug;
public LaunchpadEnvironment(final File launchpadJar,
final boolean cleanWorkingDirectory,
final boolean shutdownOnExit,
- final int readyTimeOutSec) {
+ final int readyTimeOutSec,
+ final String debug) {
this.launchpadJar = launchpadJar;
this.cleanWorkingDirectory = cleanWorkingDirectory;
this.shutdownOnExit = shutdownOnExit;
this.readyTimeOutSec = readyTimeOutSec;
+ this.debug = debug;
}
public boolean isShutdownOnExit() {
@@ -137,4 +140,13 @@ public class LaunchpadEnvironment {
}
}
}
+
+ /**
+ *
+ * @return the global debug parameter for all Sling instances. Set through
{@link StartMojo#debug}.
+ */
+ public String getDebug() {
+ return debug;
+ }
+
}
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=1677798&r1=1677797&r2=1677798&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
Tue May 5 12:24:46 2015
@@ -110,10 +110,18 @@ public class ServerConfiguration impleme
}
/**
+ * Returns the debugging options derived from the passed globalDebug
parameter and the debug field (where the globalDebug parameter has precedence
over the local field)
+ * @param globalDebug the global debug options (may be {@code null}).
* @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() {
+ public String getVmDebugOpts(String globalDebug) {
+ if (globalDebug != null) {
+ if (Boolean.valueOf(globalDebug).equals(Boolean.TRUE)) {
+ return DEFAULT_VM_DEBUG_OPTS;
+ }
+ return globalDebug;
+ }
if (Boolean.valueOf(debug).equals(Boolean.TRUE)) {
return DEFAULT_VM_DEBUG_OPTS;
}
@@ -186,7 +194,7 @@ public class ServerConfiguration impleme
return "LaunchpadConfiguration [id=" + id + ", runmode=" + runmode
+ ", port=" + port + ", controlPort=" + controlPort
+ ", contextPath=" + contextPath
- + ", vmOpts=" + vmOpts + ", vmDebugOpts=" + getVmDebugOpts() +
", opts=" + opts + ", instances="
+ + ", vmOpts=" + vmOpts + ", vmDebugOpts=" +
getVmDebugOpts(null) + ", opts=" + opts + ", instances="
+ instances + ", folder=" + folder + "]";
}
}
Modified:
sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/run/StartMojo.java
URL:
http://svn.apache.org/viewvc/sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/run/StartMojo.java?rev=1677798&r1=1677797&r2=1677798&view=diff
==============================================================================
---
sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/run/StartMojo.java
(original)
+++
sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/run/StartMojo.java
Tue May 5 12:24:46 2015
@@ -74,6 +74,13 @@ public class StartMojo extends AbstractM
*/
@Parameter
private List<ServerConfiguration> servers;
+
+ /**
+ * Overwrites debug parameter of all server configurations (if set).
+ * Attaches 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 of the servers).
+ */
+ @Parameter(property = "launchpad.debug")
+ protected String debug;
/**
* Ready timeout in seconds. If the launchpad has not been started in this
@@ -189,7 +196,8 @@ public class StartMojo extends AbstractM
final LaunchpadEnvironment env = new
LaunchpadEnvironment(this.findLaunchpadJar(),
this.cleanWorkingDirectory,
!this.keepLaunchpadRunning,
- this.launchpadReadyTimeOutSec);
+ this.launchpadReadyTimeOutSec,
+ this.debug);
// create callables
final Collection<LauncherCallable> tasks = new
LinkedList<LauncherCallable>();