Return-Path: X-Original-To: apmail-commons-commits-archive@minotaur.apache.org Delivered-To: apmail-commons-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 801BC95CA for ; Mon, 18 Mar 2013 13:40:44 +0000 (UTC) Received: (qmail 91199 invoked by uid 500); 18 Mar 2013 13:40:44 -0000 Delivered-To: apmail-commons-commits-archive@commons.apache.org Received: (qmail 91133 invoked by uid 500); 18 Mar 2013 13:40:44 -0000 Mailing-List: contact commits-help@commons.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@commons.apache.org Delivered-To: mailing list commits@commons.apache.org Received: (qmail 91125 invoked by uid 99); 18 Mar 2013 13:40:44 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 18 Mar 2013 13:40:44 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 18 Mar 2013 13:40:39 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 7E8AD23888E7 for ; Mon, 18 Mar 2013 13:40:19 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r854948 [2/4] - in /websites/production/commons/content/proper/commons-daemon: ./ apidocs/ apidocs/org/apache/commons/daemon/ apidocs/org/apache/commons/daemon/class-use/ apidocs/org/apache/commons/daemon/support/ apidocs/org/apache/commons... Date: Mon, 18 Mar 2013 13:40:14 -0000 To: commits@commons.apache.org From: mturk@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20130318134019.7E8AD23888E7@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Modified: websites/production/commons/content/proper/commons-daemon/apidocs/src-html/org/apache/commons/daemon/support/DaemonWrapper.html ============================================================================== --- websites/production/commons/content/proper/commons-daemon/apidocs/src-html/org/apache/commons/daemon/support/DaemonWrapper.html (original) +++ websites/production/commons/content/proper/commons-daemon/apidocs/src-html/org/apache/commons/daemon/support/DaemonWrapper.html Mon Mar 18 13:40:12 2013 @@ -23,256 +23,261 @@ 015 * limitations under the License. 016 */ 017 -018/* @version $Id: DaemonWrapper.java 1204007 2011-11-19 16:10:29Z ggregory $ */ +018/* @version $Id: DaemonWrapper.java 1453245 2013-03-06 09:54:38Z mturk $ */ 019 020package org.apache.commons.daemon.support; 021 022import java.lang.reflect.Method; -023import java.util.ArrayList; -024import java.util.Arrays; -025import org.apache.commons.daemon.Daemon; -026import org.apache.commons.daemon.DaemonContext; -027 -028/** -029 * Implementation of the Daemon that allows running -030 * standard applications as daemons. -031 * The applications must have the mechanism to manage -032 * the application lifecycle. -033 * -034 * @version $Id: DaemonWrapper.java 1204007 2011-11-19 16:10:29Z ggregory $ -035 * @author Mladen Turk -036 */ -037public class DaemonWrapper implements Daemon -038{ -039 -040 private final static String ARGS = "args"; -041 private final static String START_CLASS = "start"; -042 private final static String START_METHOD = "start.method"; -043 private final static String STOP_CLASS = "stop"; -044 private final static String STOP_METHOD = "stop.method"; -045 private final static String STOP_ARGS = "stop.args"; -046 private String configFileName = null; -047 private final DaemonConfiguration config; -048 -049 private final Invoker startup; -050 private final Invoker shutdown; -051 -052 public DaemonWrapper() -053 { -054 super(); -055 config = new DaemonConfiguration(); -056 startup = new Invoker(); -057 shutdown = new Invoker(); -058 } -059 -060 /** -061 * Called from DaemonLoader on init stage. -062 * <p> -063 * Accepts the following configuration arguments: -064 * <ul> -065 * <li>-daemon-properties: - load DaemonConfiguration properties from the specified file to act as defaults</li> -066 * <li>-start: set start class name</li> -067 * <li>-start-method: set start method name</li> -068 * <li>-stop: set stop class name</li> -069 * <li>-stop-method: set stop method name</li> -070 * <li>-stop-argument: set optional argument to stop method</li> -071 * <li>Anything else is treated as a startup argument</li> -072 * </ul> -073 * <p> -074 * The following "-daemon-properties" are recognised: -075 * <ul> -076 * <li>args (startup argument)</li> -077 * <li>start</li> -078 * <li>start.method</li> -079 * <li>stop</li> -080 * <li>stop.method</li> -081 * <li>stop.args</li> -082 * </ul> -083 * These are used to set the corresponding item if it has not already been -084 * set by the command arguments. <b>However, note that args and stop.args are -085 * appended to any existing values.</b> -086 */ -087 public void init(DaemonContext context) -088 throws Exception -089 { -090 String[] args = context.getArguments(); -091 -092 if (args != null) { -093 int i; -094 // Parse our arguments and remove them -095 // from the final argument array we are -096 // passing to our child. -097 for (i = 0; i < args.length; i++) { -098 if (args[i].equals("--")) { -099 // Done with argument processing -100 break; -101 } -102 else if (args[i].equals("-daemon-properties")) { -103 if (++i == args.length) -104 throw new IllegalArgumentException(args[i - 1]); -105 configFileName = args[i]; -106 } -107 else if (args[i].equals("-start")) { -108 if (++i == args.length) -109 throw new IllegalArgumentException(args[i - 1]); -110 startup.setClassName(args[i]); -111 } -112 else if (args[i].equals("-start-method")) { -113 if (++i == args.length) -114 throw new IllegalArgumentException(args[i - 1]); -115 startup.setMethodName(args[i]); -116 } -117 else if (args[i].equals("-stop")) { -118 if (++i == args.length) -119 throw new IllegalArgumentException(args[i - 1]); -120 shutdown.setClassName(args[i]); -121 } -122 else if (args[i].equals("-stop-method")) { -123 if (++i == args.length) -124 throw new IllegalArgumentException(args[i - 1]); -125 shutdown.setMethodName(args[i]); -126 } -127 else if (args[i].equals("-stop-argument")) { -128 if (++i == args.length) -129 throw new IllegalArgumentException(args[i - 1]); -130 String[] aa = new String[1]; -131 aa[0] = args[i]; -132 shutdown.addArguments(aa); -133 } -134 else { -135 // This is not our option. -136 // Everything else will be forwarded to the main -137 break; -138 } -139 } -140 if (args.length > i) { -141 String[] copy = new String[args.length - i]; -142 System.arraycopy(args, i, copy, 0, copy.length); -143 startup.addArguments(copy); -144 } -145 } -146 if (config.load(configFileName)) { -147 // Setup params if not set via cmdline. -148 startup.setClassName(config.getProperty(START_CLASS)); -149 startup.setMethodName(config.getProperty(START_METHOD)); -150 // Merge the config with command line arguments -151 startup.addArguments(config.getPropertyArray(ARGS)); -152 -153 shutdown.setClassName(config.getProperty(STOP_CLASS)); -154 shutdown.setMethodName(config.getProperty(STOP_METHOD)); -155 shutdown.addArguments(config.getPropertyArray(STOP_ARGS)); -156 } -157 startup.validate(); -158 shutdown.validate(); -159 } -160 -161 /** -162 */ -163 public void start() -164 throws Exception -165 { -166 startup.invoke(); -167 } -168 -169 /** -170 */ -171 public void stop() -172 throws Exception -173 { -174 shutdown.invoke(); -175 } -176 -177 /** -178 */ -179 public void destroy() -180 { -181 // Nothing for the moment -182 System.err.println("DaemonWrapper: instance " + this.hashCode() + " destroy"); -183 } -184 -185 // Internal class for wrapping the start/stop methods -186 class Invoker -187 { -188 private String name = null; -189 private String call = null; -190 private String[] args = null; -191 private Method inst = null; -192 private Class main = null; -193 -194 protected Invoker() -195 { -196 } -197 -198 protected void setClassName(String name) -199 { -200 if (this.name == null) -201 this.name = name; -202 } -203 protected void setMethodName(String name) -204 { -205 if (this.call == null) -206 this.call = name; -207 } -208 protected void addArguments(String[] args) -209 { -210 if (args != null) { -211 ArrayList aa = new ArrayList(); -212 if (this.args != null) -213 aa.addAll(Arrays.asList(this.args)); -214 aa.addAll(Arrays.asList(args)); -215 this.args = (String[])aa.toArray(new String[aa.size()]); -216 } -217 } -218 -219 protected void invoke() -220 throws Exception -221 { -222 if (name.equals("System") && call.equals("exit")) { -223 // Just call a System.exit() -224 // The start method was probably installed -225 // a shutdown hook. -226 System.exit(0); -227 } -228 else { -229 Object obj = main.newInstance(); -230 Object arg[] = new Object[1]; -231 -232 arg[0] = args; -233 inst.invoke(obj, arg); -234 } -235 } -236 // Load the class using reflection -237 protected void validate() -238 throws Exception -239 { -240 /* Check the class name */ -241 if (name == null) { -242 name = "System"; -243 call = "exit"; -244 return; -245 } -246 if (args == null) -247 args = new String[0]; -248 if (call == null) -249 call = "main"; -250 -251 // Get the ClassLoader loading this class -252 ClassLoader cl = DaemonWrapper.class.getClassLoader(); -253 if (cl == null) -254 throw new NullPointerException("Cannot retrieve ClassLoader instance"); -255 Class[] ca = new Class[1]; -256 ca[0] = args.getClass(); -257 // Find the required class -258 main = cl.loadClass(name); -259 if (main == null) -260 throw new ClassNotFoundException(name); -261 // Find the required method. -262 // NoSuchMethodException will be thrown if matching method -263 // is not found. -264 inst = main.getMethod(call, ca); -265 } -266 } -267} +023import java.lang.reflect.Modifier; +024import java.util.ArrayList; +025import java.util.Arrays; +026import org.apache.commons.daemon.Daemon; +027import org.apache.commons.daemon.DaemonContext; +028 +029/** +030 * Implementation of the Daemon that allows running +031 * standard applications as daemons. +032 * The applications must have the mechanism to manage +033 * the application lifecycle. +034 * +035 * @version $Id: DaemonWrapper.java 1453245 2013-03-06 09:54:38Z mturk $ +036 * @author Mladen Turk +037 */ +038public class DaemonWrapper implements Daemon +039{ +040 +041 private final static String ARGS = "args"; +042 private final static String START_CLASS = "start"; +043 private final static String START_METHOD = "start.method"; +044 private final static String STOP_CLASS = "stop"; +045 private final static String STOP_METHOD = "stop.method"; +046 private final static String STOP_ARGS = "stop.args"; +047 private String configFileName = null; +048 private final DaemonConfiguration config; +049 +050 private final Invoker startup; +051 private final Invoker shutdown; +052 +053 public DaemonWrapper() +054 { +055 super(); +056 config = new DaemonConfiguration(); +057 startup = new Invoker(); +058 shutdown = new Invoker(); +059 } +060 +061 /** +062 * Called from DaemonLoader on init stage. +063 * <p> +064 * Accepts the following configuration arguments: +065 * <ul> +066 * <li>-daemon-properties: - load DaemonConfiguration properties from the specified file to act as defaults</li> +067 * <li>-start: set start class name</li> +068 * <li>-start-method: set start method name</li> +069 * <li>-stop: set stop class name</li> +070 * <li>-stop-method: set stop method name</li> +071 * <li>-stop-argument: set optional argument to stop method</li> +072 * <li>Anything else is treated as a startup argument</li> +073 * </ul> +074 * <p> +075 * The following "-daemon-properties" are recognised: +076 * <ul> +077 * <li>args (startup argument)</li> +078 * <li>start</li> +079 * <li>start.method</li> +080 * <li>stop</li> +081 * <li>stop.method</li> +082 * <li>stop.args</li> +083 * </ul> +084 * These are used to set the corresponding item if it has not already been +085 * set by the command arguments. <b>However, note that args and stop.args are +086 * appended to any existing values.</b> +087 */ +088 public void init(DaemonContext context) +089 throws Exception +090 { +091 String[] args = context.getArguments(); +092 +093 if (args != null) { +094 int i; +095 // Parse our arguments and remove them +096 // from the final argument array we are +097 // passing to our child. +098 for (i = 0; i < args.length; i++) { +099 if (args[i].equals("--")) { +100 // Done with argument processing +101 break; +102 } +103 else if (args[i].equals("-daemon-properties")) { +104 if (++i == args.length) +105 throw new IllegalArgumentException(args[i - 1]); +106 configFileName = args[i]; +107 } +108 else if (args[i].equals("-start")) { +109 if (++i == args.length) +110 throw new IllegalArgumentException(args[i - 1]); +111 startup.setClassName(args[i]); +112 } +113 else if (args[i].equals("-start-method")) { +114 if (++i == args.length) +115 throw new IllegalArgumentException(args[i - 1]); +116 startup.setMethodName(args[i]); +117 } +118 else if (args[i].equals("-stop")) { +119 if (++i == args.length) +120 throw new IllegalArgumentException(args[i - 1]); +121 shutdown.setClassName(args[i]); +122 } +123 else if (args[i].equals("-stop-method")) { +124 if (++i == args.length) +125 throw new IllegalArgumentException(args[i - 1]); +126 shutdown.setMethodName(args[i]); +127 } +128 else if (args[i].equals("-stop-argument")) { +129 if (++i == args.length) +130 throw new IllegalArgumentException(args[i - 1]); +131 String[] aa = new String[1]; +132 aa[0] = args[i]; +133 shutdown.addArguments(aa); +134 } +135 else { +136 // This is not our option. +137 // Everything else will be forwarded to the main +138 break; +139 } +140 } +141 if (args.length > i) { +142 String[] copy = new String[args.length - i]; +143 System.arraycopy(args, i, copy, 0, copy.length); +144 startup.addArguments(copy); +145 } +146 } +147 if (config.load(configFileName)) { +148 // Setup params if not set via cmdline. +149 startup.setClassName(config.getProperty(START_CLASS)); +150 startup.setMethodName(config.getProperty(START_METHOD)); +151 // Merge the config with command line arguments +152 startup.addArguments(config.getPropertyArray(ARGS)); +153 +154 shutdown.setClassName(config.getProperty(STOP_CLASS)); +155 shutdown.setMethodName(config.getProperty(STOP_METHOD)); +156 shutdown.addArguments(config.getPropertyArray(STOP_ARGS)); +157 } +158 startup.validate(); +159 shutdown.validate(); +160 } +161 +162 /** +163 */ +164 public void start() +165 throws Exception +166 { +167 startup.invoke(); +168 } +169 +170 /** +171 */ +172 public void stop() +173 throws Exception +174 { +175 shutdown.invoke(); +176 } +177 +178 /** +179 */ +180 public void destroy() +181 { +182 // Nothing for the moment +183 System.err.println("DaemonWrapper: instance " + this.hashCode() + " destroy"); +184 } +185 +186 // Internal class for wrapping the start/stop methods +187 class Invoker +188 { +189 private String name = null; +190 private String call = null; +191 private String[] args = null; +192 private Method inst = null; +193 private Class main = null; +194 +195 protected Invoker() +196 { +197 } +198 +199 protected void setClassName(String name) +200 { +201 if (this.name == null) +202 this.name = name; +203 } +204 protected void setMethodName(String name) +205 { +206 if (this.call == null) +207 this.call = name; +208 } +209 protected void addArguments(String[] args) +210 { +211 if (args != null) { +212 ArrayList aa = new ArrayList(); +213 if (this.args != null) +214 aa.addAll(Arrays.asList(this.args)); +215 aa.addAll(Arrays.asList(args)); +216 this.args = (String[])aa.toArray(new String[aa.size()]); +217 } +218 } +219 +220 protected void invoke() +221 throws Exception +222 { +223 if (name.equals("System") && call.equals("exit")) { +224 // Just call a System.exit() +225 // The start method was probably installed +226 // a shutdown hook. +227 System.exit(0); +228 } +229 else { +230 Object obj = null; +231 if ((inst.getModifiers() & Modifier.STATIC) == 0) { +232 // We only need object instance for non-static methods. +233 obj = main.newInstance(); +234 } +235 Object arg[] = new Object[1]; +236 +237 arg[0] = args; +238 inst.invoke(obj, arg); +239 } +240 } +241 // Load the class using reflection +242 protected void validate() +243 throws Exception +244 { +245 /* Check the class name */ +246 if (name == null) { +247 name = "System"; +248 call = "exit"; +249 return; +250 } +251 if (args == null) +252 args = new String[0]; +253 if (call == null) +254 call = "main"; +255 +256 // Get the ClassLoader loading this class +257 ClassLoader cl = DaemonWrapper.class.getClassLoader(); +258 if (cl == null) +259 throw new NullPointerException("Cannot retrieve ClassLoader instance"); +260 Class[] ca = new Class[1]; +261 ca[0] = args.getClass(); +262 // Find the required class +263 main = cl.loadClass(name); +264 if (main == null) +265 throw new ClassNotFoundException(name); +266 // Find the required method. +267 // NoSuchMethodException will be thrown if matching method +268 // is not found. +269 inst = main.getMethod(call, ca); +270 } +271 } +272} Modified: websites/production/commons/content/proper/commons-daemon/binaries.html ============================================================================== --- websites/production/commons/content/proper/commons-daemon/binaries.html (original) +++ websites/production/commons/content/proper/commons-daemon/binaries.html Mon Mar 18 13:40:12 2013 @@ -1,5 +1,5 @@ - + @@ -13,7 +13,7 @@ - + @@ -42,8 +42,8 @@
- Last Published: 06 February 2013 -  | Version: 1.0.13 + Last Published: 15 March 2013 +  | Version: 1.0.14
ApacheCon | @@ -203,7 +203,7 @@ corresponding to your operating system.

How do I get the executable?

procrun

-The Windows archive (e.g. commons-daemon-1.0.13-bin-windows.zip) contains 2 different executables: +The Windows archive (e.g. commons-daemon-1.0.14-bin-windows.zip) contains 2 different executables:

  • prunsrv.exe - service application for running applications as services.
  • prunmgr.exe - the GUI manager application used to monitor and configure installed services.
  • Modified: websites/production/commons/content/proper/commons-daemon/clirr-report.html ============================================================================== --- websites/production/commons/content/proper/commons-daemon/clirr-report.html (original) +++ websites/production/commons/content/proper/commons-daemon/clirr-report.html Mon Mar 18 13:40:12 2013 @@ -1,5 +1,5 @@ - + @@ -11,7 +11,7 @@ @import url("./css/site.css"); - + @@ -40,8 +40,8 @@
    - Last Published: 06 February 2013 -  | Version: 1.0.13 + Last Published: 15 March 2013 +  | Version: 1.0.14
    ApacheCon | @@ -199,7 +199,7 @@
    -

    Clirr Results

    The following document contains the results of Clirr.

    • Current Version: 1.0.13
    • Comparison Version: 1.0.12

    Summary

    SeverityNumber
    Error Error0
    Warning Warning0
    Info Info0

    Details

    No results for the given severities.

    +

    Clirr Results

    The following document contains the results of Clirr.

    • Current Version: 1.0.14
    • Comparison Version: 1.0.13

    Summary

    SeverityNumber
    Error Error0
    Warning Warning0
    Info Info0

    Details

    No results for the given severities.

    Modified: websites/production/commons/content/proper/commons-daemon/dependencies.html ============================================================================== --- websites/production/commons/content/proper/commons-daemon/dependencies.html (original) +++ websites/production/commons/content/proper/commons-daemon/dependencies.html Mon Mar 18 13:40:12 2013 @@ -1,5 +1,5 @@ - + @@ -11,7 +11,7 @@ @import url("./css/site.css"); - + @@ -40,8 +40,8 @@
    - Last Published: 06 February 2013 -  | Version: 1.0.13 + Last Published: 15 March 2013 +  | Version: 1.0.14
    ApacheCon | @@ -228,7 +228,7 @@ } } -

    Dependency Tree

    Licenses

    Common Public License Version 1.0: JUnit

    The Apache Software License, Version 2.0: Commons Daemon

    Dependency File Details

    FilenameSizeEntriesClassesPackagesJDK RevDebug
    junit-3.8.1.jar118.23 kB11910061.1debug
    TotalSizeEntriesClassesPackagesJDK RevDebug
    1118.23 kB11910061.11
    test: 1test: 118.23 kBtest: 119test: 100test: 6-test: 1

    Dependency Repository Locations

    Repo IDUR LReleaseSnapshot
    apache.snapshotshttp://repository.apache.org/snapshots-Yes-
    centralhttp://repo.maven.apache.org/maven2Yes--

    Repository locations for each of the Dependencies.

    Artifactapache.snapshotscentral
    junit:junit:jar:3.8.1-Found at http://repo.maven.apache.org/maven2
    Totalapache.snapshotscentral
    1 (test: 1)01
    +

    Dependency Tree

    Licenses

    Common Public License Version 1.0: JUnit

    The Apache Software License, Version 2.0: Commons Daemon

    Dependency File Details

    FilenameSizeEntriesClassesPackagesJDK RevDebug
    junit-3.8.1.jar118.23 kB11910061.1debug
    TotalSizeEntriesClassesPackagesJDK RevDebug
    1118.23 kB11910061.11
    test: 1test: 118.23 kBtest: 119test: 100test: 6-test: 1

    Dependency Repository Locations

    Repo ID URLReleaseSnapshot
    apache.snapshotshttp://repository.apache.org/snapshots-Yes-
    centralhttp://repo.maven.apache.org/maven2Yes--

    Repository locations for each of the Dependencies.

    Artifactapache.snapshotscentral
    junit:junit:jar:3.8.1-Found at http://repo.maven.apache.org/maven2
    Totalapache.snapshotscentral
    1 (test: 1)01
Modified: websites/production/commons/content/proper/commons-daemon/distribution-management.html ============================================================================== --- websites/production/commons/content/proper/commons-daemon/distribution-management.html (original) +++ websites/production/commons/content/proper/commons-daemon/distribution-management.html Mon Mar 18 13:40:12 2013 @@ -1,5 +1,5 @@ - + @@ -11,7 +11,7 @@ @import url("./css/site.css"); - + @@ -40,8 +40,8 @@
- Last Published: 06 February 2013 -  | Version: 1.0.13 + Last Published: 15 March 2013 +  | Version: 1.0.14
ApacheCon | Modified: websites/production/commons/content/proper/commons-daemon/download_daemon.html ============================================================================== --- websites/production/commons/content/proper/commons-daemon/download_daemon.html (original) +++ websites/production/commons/content/proper/commons-daemon/download_daemon.html Mon Mar 18 13:40:12 2013 @@ -1,5 +1,5 @@ - + @@ -13,7 +13,7 @@ - + @@ -42,8 +42,8 @@
- Last Published: 06 February 2013 -  | Version: 1.0.13 + Last Published: 15 March 2013 +  | Version: 1.0.14
ApacheCon | @@ -261,32 +261,32 @@ limitations under the License. --> + @@ -13,7 +13,7 @@ - + @@ -42,8 +42,8 @@
- Last Published: 06 February 2013 -  | Version: 1.0.13 + Last Published: 15 March 2013 +  | Version: 1.0.14
ApacheCon | Modified: websites/production/commons/content/proper/commons-daemon/index.html ============================================================================== --- websites/production/commons/content/proper/commons-daemon/index.html (original) +++ websites/production/commons/content/proper/commons-daemon/index.html Mon Mar 18 13:40:12 2013 @@ -1,5 +1,5 @@ - + @@ -13,7 +13,7 @@ - + @@ -42,8 +42,8 @@
- Last Published: 06 February 2013 -  | Version: 1.0.13 + Last Published: 15 March 2013 +  | Version: 1.0.14
ApacheCon | Modified: websites/production/commons/content/proper/commons-daemon/integration.html ============================================================================== --- websites/production/commons/content/proper/commons-daemon/integration.html (original) +++ websites/production/commons/content/proper/commons-daemon/integration.html Mon Mar 18 13:40:12 2013 @@ -1,5 +1,5 @@ - + @@ -11,7 +11,7 @@ @import url("./css/site.css"); - + @@ -40,8 +40,8 @@
- Last Published: 06 February 2013 -  | Version: 1.0.13 + Last Published: 15 March 2013 +  | Version: 1.0.14
ApacheCon | Modified: websites/production/commons/content/proper/commons-daemon/issue-tracking.html ============================================================================== --- websites/production/commons/content/proper/commons-daemon/issue-tracking.html (original) +++ websites/production/commons/content/proper/commons-daemon/issue-tracking.html Mon Mar 18 13:40:12 2013 @@ -1,5 +1,5 @@ - + @@ -13,7 +13,7 @@ - + @@ -42,8 +42,8 @@
- Last Published: 06 February 2013 -  | Version: 1.0.13 + Last Published: 15 March 2013 +  | Version: 1.0.14
ApacheCon | Modified: websites/production/commons/content/proper/commons-daemon/jdepend-report.html ============================================================================== --- websites/production/commons/content/proper/commons-daemon/jdepend-report.html (original) +++ websites/production/commons/content/proper/commons-daemon/jdepend-report.html Mon Mar 18 13:40:12 2013 @@ -1,5 +1,5 @@ - + @@ -11,7 +11,7 @@ @import url("./css/site.css"); - + @@ -40,8 +40,8 @@
- Last Published: 06 February 2013 -  | Version: 1.0.13 + Last Published: 15 March 2013 +  | Version: 1.0.14
ApacheCon | Modified: websites/production/commons/content/proper/commons-daemon/jsvc.html ============================================================================== --- websites/production/commons/content/proper/commons-daemon/jsvc.html (original) +++ websites/production/commons/content/proper/commons-daemon/jsvc.html Mon Mar 18 13:40:12 2013 @@ -1,5 +1,5 @@ - + @@ -13,7 +13,7 @@ - + @@ -42,8 +42,8 @@
- Last Published: 06 February 2013 -  | Version: 1.0.13 + Last Published: 15 March 2013 +  | Version: 1.0.14
ApacheCon | Modified: websites/production/commons/content/proper/commons-daemon/license.html ============================================================================== --- websites/production/commons/content/proper/commons-daemon/license.html (original) +++ websites/production/commons/content/proper/commons-daemon/license.html Mon Mar 18 13:40:12 2013 @@ -1,5 +1,5 @@ - + @@ -11,7 +11,7 @@ @import url("./css/site.css"); - + @@ -40,8 +40,8 @@
- Last Published: 06 February 2013 -  | Version: 1.0.13 + Last Published: 15 March 2013 +  | Version: 1.0.14
ApacheCon | Modified: websites/production/commons/content/proper/commons-daemon/mail-lists.html ============================================================================== --- websites/production/commons/content/proper/commons-daemon/mail-lists.html (original) +++ websites/production/commons/content/proper/commons-daemon/mail-lists.html Mon Mar 18 13:40:12 2013 @@ -1,5 +1,5 @@ - + @@ -13,7 +13,7 @@ - + @@ -42,8 +42,8 @@
- Last Published: 06 February 2013 -  | Version: 1.0.13 + Last Published: 15 March 2013 +  | Version: 1.0.14