You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by pa...@apache.org on 2010/09/22 17:07:27 UTC

svn commit: r1000024 [3/3] - in /directory/apacheds/branches/apacheds-apacheds-2.0: apacheds-installers/ apacheds-installers/src/main/installers/ installers-plugin/src/main/java/org/apache/directory/daemon/installers/ installers-plugin/src/main/java/or...

Modified: directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/java/org/apache/directory/daemon/installers/solarispkg/SolarisPkgInstallerCommand.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/java/org/apache/directory/daemon/installers/solarispkg/SolarisPkgInstallerCommand.java?rev=1000024&r1=1000023&r2=1000024&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/java/org/apache/directory/daemon/installers/solarispkg/SolarisPkgInstallerCommand.java (original)
+++ directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/java/org/apache/directory/daemon/installers/solarispkg/SolarisPkgInstallerCommand.java Wed Sep 22 15:07:26 2010
@@ -104,139 +104,140 @@ public class SolarisPkgInstallerCommand 
             pkgTranslator = target.getPkgTranslator();
         }
 
-        File baseDirectory = target.getLayout().getInstallationDirectory();
-        File imagesDirectory = baseDirectory.getParentFile();
-
-        log.info( "Creating Solaris PKG Installer..." );
-
-        // Creating the package directory
-        File pkgDirectory = new File( imagesDirectory, target.getId() + "-pkg" );
-        pkgDirectory.mkdirs();
-
-        log.info( "Copying Solaris PKG installer files" );
-
-        // Creating the root directories hierarchy
-        File pkgRootDirectory = new File( pkgDirectory, "root" );
-        pkgRootDirectory.mkdirs();
-
-        // Copying the apacheds files in the '/opt/apacheds/' directory
-        File apacheDsHomeDirectory = new File( pkgRootDirectory, "opt/apacheds" );
-        try
-        {
-            // Copying the generated layout
-            MojoHelperUtils.copyFiles( baseDirectory, apacheDsHomeDirectory );
-
-            // Replacing the apacheds.conf file
-            MojoHelperUtils.copyAsciiFile( mojo, filterProperties, getClass().getResourceAsStream( "apacheds.conf" ),
-                new File( apacheDsHomeDirectory, "conf/apacheds.conf" ), false );
-        }
-        catch ( IOException e )
-        {
-            log.error( e.getMessage() );
-            throw new MojoFailureException( "Failed to copy image (" + target.getLayout().getInstallationDirectory()
-                + ") to the PKG directory (" + apacheDsHomeDirectory + ")" );
-        }
-
-        // Copying the instances in the '/var/opt/apacheds/default' directory
-        File defaultInstanceDirectory = new File( pkgRootDirectory, "var/opt/apacheds" + "/default" );
-        defaultInstanceDirectory.mkdirs();
-        File debDefaultInstanceConfDirectory = new File( defaultInstanceDirectory, "conf" );
-        debDefaultInstanceConfDirectory.mkdirs();
-        new File( defaultInstanceDirectory, "ldif" ).mkdirs();
-        new File( defaultInstanceDirectory, "log" ).mkdirs();
-        new File( defaultInstanceDirectory, "partitions" ).mkdirs();
-        new File( defaultInstanceDirectory, "run" ).mkdirs();
-        File etcInitdDirectory = new File( pkgRootDirectory, "etc/init.d" );
-        etcInitdDirectory.mkdirs();
-        new File( pkgRootDirectory, "/var/run/apacheds" ).mkdirs();
-        try
-        {
-            // Copying the apacheds.conf file in the default instance conf directory
-            MojoHelperUtils.copyAsciiFile( mojo, filterProperties, getClass().getResourceAsStream(
-                "apacheds-default.conf" ), new File( debDefaultInstanceConfDirectory, "apacheds.conf" ), false );
-
-            // Copying the log4j.properties file in the default instance conf directory
-            MojoHelperUtils.copyAsciiFile( mojo, filterProperties, new File( apacheDsHomeDirectory,
-                "conf/log4j.properties" ), new File( debDefaultInstanceConfDirectory, "log4j.properties" ), false );
-
-            // Copying the server.xml file in the default instance conf directory
-            MojoHelperUtils.copyAsciiFile( mojo, filterProperties,
-                new File( apacheDsHomeDirectory, "conf/server.xml" ), new File( debDefaultInstanceConfDirectory,
-                    "server.xml" ), false );
-
-            // Copying the init script in /etc/init.d/
-            MojoHelperUtils.copyAsciiFile( mojo, filterProperties, getClass().getResourceAsStream( "apacheds-init" ),
-                new File( etcInitdDirectory, "apacheds" + "-default" ), true );
-
-            // Removing the redundant server.xml file (see DIRSERVER-1112)
-            new File( apacheDsHomeDirectory, "conf/server.xml" ).delete();
-        }
-        catch ( IOException e )
-        {
-            log.error( e.getMessage() );
-            throw new MojoFailureException( "Failed to copy resources files to the PKG directory ("
-                + defaultInstanceDirectory + ")" );
-        }
-
-        // Copying the 'pkg' files 
-        try
-        {
-            MojoHelperUtils.copyAsciiFile( mojo, filterProperties, getClass().getResourceAsStream( "Prototype" ),
-                new File( pkgDirectory, "Prototype" ), true );
-
-            MojoHelperUtils.copyAsciiFile( mojo, filterProperties, getClass().getResourceAsStream( "pkginfo" ),
-                new File( pkgDirectory, "pkginfo" ), true );
-
-            MojoHelperUtils.copyAsciiFile( mojo, filterProperties, getClass().getResourceAsStream( "preinstall" ),
-                new File( pkgDirectory, "preinstall" ), true );
-
-            MojoHelperUtils.copyAsciiFile( mojo, filterProperties, getClass().getResourceAsStream( "postinstall" ),
-                new File( pkgDirectory, "postinstall" ), true );
-
-            MojoHelperUtils.copyAsciiFile( mojo, filterProperties, getClass().getResourceAsStream( "preremove" ),
-                new File( pkgDirectory, "preremove" ), true );
-
-            MojoHelperUtils.copyAsciiFile( mojo, filterProperties, getClass().getResourceAsStream( "postremove" ),
-                new File( pkgDirectory, "postremove" ), true );
-        }
-        catch ( IOException e )
-        {
-            log.error( e.getMessage() );
-            throw new MojoFailureException( "Failed to copy PKG 'control' file." );
-        }
-
-        // Creating the target folder
-        new File( pkgDirectory, "target" ).mkdir();
-
-        // Generating the PKG
-        log.info( "Generating Solaris PKG Installer" );
-        String finalName = target.getFinalName();
-        if ( !finalName.endsWith( ".pkg" ) )
-        {
-            finalName = finalName + ".pkg";
-        }
-        try
-        {
-            // Generating the PKG
-            Execute executeTask = new Execute();
-            executeTask.setCommandline( new String[]
-                { pkgMaker.getAbsolutePath(), "-o", "-r", "root", "-d", "target", "apacheds" } );
-            executeTask.setSpawn( true );
-            executeTask.setWorkingDirectory( pkgDirectory );
-            executeTask.execute();
-
-            // Packaging it as a single file
-            executeTask.setCommandline( new String[]
-                { pkgTranslator.getAbsolutePath(), "-s", "target", "../../" + finalName, "apacheds" } );
-            executeTask.execute();
-        }
-        catch ( IOException e )
-        {
-            log.error( e.getMessage() );
-            throw new MojoFailureException( "Failed while trying to generate the PKG: " + e.getMessage() );
-        }
-
-        log.info( "Solaris PKG generated at " + new File( imagesDirectory, finalName ) );
+        // TODO FIXME
+        //        File baseDirectory = target.getLayout().getInstallationDirectory();
+        //        File imagesDirectory = baseDirectory.getParentFile();
+        //
+        //        log.info( "Creating Solaris PKG Installer..." );
+        //
+        //        // Creating the package directory
+        //        File pkgDirectory = new File( imagesDirectory, target.getId() + "-pkg" );
+        //        pkgDirectory.mkdirs();
+        //
+        //        log.info( "Copying Solaris PKG installer files" );
+        //
+        //        // Creating the root directories hierarchy
+        //        File pkgRootDirectory = new File( pkgDirectory, "root" );
+        //        pkgRootDirectory.mkdirs();
+        //
+        //        // Copying the apacheds files in the '/opt/apacheds/' directory
+        //        File apacheDsHomeDirectory = new File( pkgRootDirectory, "opt/apacheds" );
+        //        try
+        //        {
+        //            // Copying the generated layout
+        //            MojoHelperUtils.copyFiles( baseDirectory, apacheDsHomeDirectory );
+        //
+        //            // Replacing the apacheds.conf file
+        //            MojoHelperUtils.copyAsciiFile( mojo, filterProperties, getClass().getResourceAsStream( "apacheds.conf" ),
+        //                new File( apacheDsHomeDirectory, "conf/apacheds.conf" ), false );
+        //        }
+        //        catch ( IOException e )
+        //        {
+        //            log.error( e.getMessage() );
+        //            throw new MojoFailureException( "Failed to copy image (" + target.getLayout().getInstallationDirectory()
+        //                + ") to the PKG directory (" + apacheDsHomeDirectory + ")" );
+        //        }
+        //
+        //        // Copying the instances in the '/var/opt/apacheds/default' directory
+        //        File defaultInstanceDirectory = new File( pkgRootDirectory, "var/opt/apacheds" + "/default" );
+        //        defaultInstanceDirectory.mkdirs();
+        //        File debDefaultInstanceConfDirectory = new File( defaultInstanceDirectory, "conf" );
+        //        debDefaultInstanceConfDirectory.mkdirs();
+        //        new File( defaultInstanceDirectory, "ldif" ).mkdirs();
+        //        new File( defaultInstanceDirectory, "log" ).mkdirs();
+        //        new File( defaultInstanceDirectory, "partitions" ).mkdirs();
+        //        new File( defaultInstanceDirectory, "run" ).mkdirs();
+        //        File etcInitdDirectory = new File( pkgRootDirectory, "etc/init.d" );
+        //        etcInitdDirectory.mkdirs();
+        //        new File( pkgRootDirectory, "/var/run/apacheds" ).mkdirs();
+        //        try
+        //        {
+        //            // Copying the apacheds.conf file in the default instance conf directory
+        //            MojoHelperUtils.copyAsciiFile( mojo, filterProperties, getClass().getResourceAsStream(
+        //                "apacheds-default.conf" ), new File( debDefaultInstanceConfDirectory, "apacheds.conf" ), false );
+        //
+        //            // Copying the log4j.properties file in the default instance conf directory
+        //            MojoHelperUtils.copyAsciiFile( mojo, filterProperties, new File( apacheDsHomeDirectory,
+        //                "conf/log4j.properties" ), new File( debDefaultInstanceConfDirectory, "log4j.properties" ), false );
+        //
+        //            // Copying the server.xml file in the default instance conf directory
+        //            MojoHelperUtils.copyAsciiFile( mojo, filterProperties,
+        //                new File( apacheDsHomeDirectory, "conf/server.xml" ), new File( debDefaultInstanceConfDirectory,
+        //                    "server.xml" ), false );
+        //
+        //            // Copying the init script in /etc/init.d/
+        //            MojoHelperUtils.copyAsciiFile( mojo, filterProperties, getClass().getResourceAsStream( "apacheds-init" ),
+        //                new File( etcInitdDirectory, "apacheds" + "-default" ), true );
+        //
+        //            // Removing the redundant server.xml file (see DIRSERVER-1112)
+        //            new File( apacheDsHomeDirectory, "conf/server.xml" ).delete();
+        //        }
+        //        catch ( IOException e )
+        //        {
+        //            log.error( e.getMessage() );
+        //            throw new MojoFailureException( "Failed to copy resources files to the PKG directory ("
+        //                + defaultInstanceDirectory + ")" );
+        //        }
+        //
+        //        // Copying the 'pkg' files 
+        //        try
+        //        {
+        //            MojoHelperUtils.copyAsciiFile( mojo, filterProperties, getClass().getResourceAsStream( "Prototype" ),
+        //                new File( pkgDirectory, "Prototype" ), true );
+        //
+        //            MojoHelperUtils.copyAsciiFile( mojo, filterProperties, getClass().getResourceAsStream( "pkginfo" ),
+        //                new File( pkgDirectory, "pkginfo" ), true );
+        //
+        //            MojoHelperUtils.copyAsciiFile( mojo, filterProperties, getClass().getResourceAsStream( "preinstall" ),
+        //                new File( pkgDirectory, "preinstall" ), true );
+        //
+        //            MojoHelperUtils.copyAsciiFile( mojo, filterProperties, getClass().getResourceAsStream( "postinstall" ),
+        //                new File( pkgDirectory, "postinstall" ), true );
+        //
+        //            MojoHelperUtils.copyAsciiFile( mojo, filterProperties, getClass().getResourceAsStream( "preremove" ),
+        //                new File( pkgDirectory, "preremove" ), true );
+        //
+        //            MojoHelperUtils.copyAsciiFile( mojo, filterProperties, getClass().getResourceAsStream( "postremove" ),
+        //                new File( pkgDirectory, "postremove" ), true );
+        //        }
+        //        catch ( IOException e )
+        //        {
+        //            log.error( e.getMessage() );
+        //            throw new MojoFailureException( "Failed to copy PKG 'control' file." );
+        //        }
+        //
+        //        // Creating the target folder
+        //        new File( pkgDirectory, "target" ).mkdir();
+        //
+        //        // Generating the PKG
+        //        log.info( "Generating Solaris PKG Installer" );
+        //        String finalName = target.getFinalName();
+        //        if ( !finalName.endsWith( ".pkg" ) )
+        //        {
+        //            finalName = finalName + ".pkg";
+        //        }
+        //        try
+        //        {
+        //            // Generating the PKG
+        //            Execute executeTask = new Execute();
+        //            executeTask.setCommandline( new String[]
+        //                { pkgMaker.getAbsolutePath(), "-o", "-r", "root", "-d", "target", "apacheds" } );
+        //            executeTask.setSpawn( true );
+        //            executeTask.setWorkingDirectory( pkgDirectory );
+        //            executeTask.execute();
+        //
+        //            // Packaging it as a single file
+        //            executeTask.setCommandline( new String[]
+        //                { pkgTranslator.getAbsolutePath(), "-s", "target", "../../" + finalName, "apacheds" } );
+        //            executeTask.execute();
+        //        }
+        //        catch ( IOException e )
+        //        {
+        //            log.error( e.getMessage() );
+        //            throw new MojoFailureException( "Failed while trying to generate the PKG: " + e.getMessage() );
+        //        }
+        //
+        //        log.info( "Solaris PKG generated at " + new File( imagesDirectory, finalName ) );
     }
 
 

Added: directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/LICENSE
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/LICENSE?rev=1000024&view=auto
==============================================================================
--- directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/LICENSE (added)
+++ directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/LICENSE Wed Sep 22 15:07:26 2010
@@ -0,0 +1,343 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed 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.
+--------------------------------------------------------------------------------------------------
+ANTLR 2 License
+
+We reserve no legal rights to the ANTLR--it is fully in the public domain. An individual or company
+may do whatever they wish with source code distributed with ANTLR or the code generated by ANTLR,
+including the incorporation of ANTLR, or its output, into commerical software.
+
+We encourage users to develop software with ANTLR. However, we do ask that credit is given to us
+for developing ANTLR. By "credit", we mean that if you use ANTLR or incorporate any source code
+into one of your programs (commercial product, research project, or otherwise) that you acknowledge
+this fact somewhere in the documentation, research report, etc... If you like ANTLR and have developed
+a nice tool with the output, please mention that you developed it using ANTLR. In addition, we ask that
+the headers remain intact in our source code. As long as these guidelines are kept, we expect to
+continue enhancing this system and expect to make other tools available as they are completed.
+
+--------------------------------------------------------------------------------------------------
+/**
+ * JDBM LICENSE v1.00
+ *
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided
+ * that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain copyright
+ *    statements and notices.  Redistributions must also contain a
+ *    copy of this document.
+ *
+ * 2. Redistributions in binary form must reproduce the
+ *    above copyright notice, this list of conditions and the
+ *    following disclaimer in the documentation and/or other
+ *    materials provided with the distribution.
+ *
+ * 3. The name "JDBM" must not be used to endorse or promote
+ *    products derived from this Software without prior written
+ *    permission of Cees de Groot.  For written permission,
+ *    please contact cg@cdegroot.com.
+ *
+ * 4. Products derived from this Software may not be called "JDBM"
+ *    nor may "JDBM" appear in their names without prior written
+ *    permission of Cees de Groot.
+ *
+ * 5. Due credit should be given to the JDBM Project
+ *    (http://jdbm.sourceforge.net/).
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE JDBM PROJECT AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
+ * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
+ * CEES DE GROOT OR ANY CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Copyright 2000 (C) Cees de Groot. All Rights Reserved.
+ * Contributions are Copyright (C) 2000 by their associated contributors.
+ *
+ * $Id: LICENSE.txt,v 1.1 2000/05/05 23:59:52 boisvert Exp $
+ */
+--------------------------------------------------------------------------------------------------
+Copyright (c) 2000-2006 The Legion Of The Bouncy Castle (http://www.bouncycastle.org)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software
+and associated documentation files (the "Software"), to deal in the Software without restriction,
+including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial
+portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
+INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
+--------------------------------------------------------------------------------------------------
+JUG (package org/safehaus/uuid) is licensed under the AL v2.
+--------------------------------------------------------------------------------------------------
+Opensymphony Quartz is licensed under the AL v2.
+--------------------------------------------------------------------------------------------------
+Spring is licensed under the AL v2.
+--------------------------------------------------------------------------------------------------
+slf4j license:
+Copyright (c) 2004-2007 QOS.ch All rights reserved. Permission is hereby granted, free of charge,
+to any person obtaining a copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation the rights to use, copy,
+modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit
+persons to whom the Software is furnished to do so, subject to the following conditions: The above
+copyright notice and this permission notice shall be included in all copies or substantial portions
+of the Software.
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT
+NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+--------------------------------------------------------------------------------------------------
+Copyright (c) 1999, 2004 Tanuki Software
+
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of the Java Service Wrapper and associated
+documentation files (the "Software"), to deal in the Software
+without  restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sub-license,
+and/or sell copies of the Software, and to permit persons to
+whom the Software is furnished to do so, subject to the
+following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+
+Portions of the Software have been derived from source code
+developed by Silver Egg Technology under the following license:
+
+Copyright (c) 2001 Silver Egg Technology
+
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of this software and associated documentation
+files (the "Software"), to deal in the Software without
+restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, sub-license, and/or
+sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.

Added: directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/NOTICE
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/NOTICE?rev=1000024&view=auto
==============================================================================
--- directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/NOTICE (added)
+++ directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/NOTICE Wed Sep 22 15:07:26 2010
@@ -0,0 +1,47 @@
+
+Apache Directory Server
+Copyright 2003-2008 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+
+
+
+Safehaus JUG
+Copyright 2005 Safehaus
+
+This product includes software developed at
+Safehaus (http://docs.safehaus.org/display/HAUS/Home).
+
+OpenSymphony Quartz
+Copyright 2004-2005 OpenSymphony
+
+This product includes software developed at
+OpenSymphony (http://www.opensymphony.com/).
+
+    ======================================================================
+    == NOTICE file corresponding to section 4 d of the Apache License,  ==
+    == Version 2.0, in this case for the Spring Framework distribution. ==
+    ======================================================================
+
+    This product includes software developed by
+    the Apache Software Foundation (http://www.apache.org).
+
+    This product also includes software developed by
+    Clinton Begin (http://www.ibatis.com).
+
+    The end-user documentation included with a redistribution, if any,
+    must include the following acknowledgement:
+
+      "This product includes software developed by the Spring Framework
+       Project (http://www.springframework.org)."
+
+    Alternatively, this acknowledgement may appear in the software itself,
+    if and wherever such third-party acknowledgements normally appear.
+
+    The names "Spring" and "Spring Framework" must not be used to
+    endorse or promote products derived from this software without
+    prior written permission. For written permission, please contact
+    rod.johnson@interface21.com or juergen.hoeller@interface21.com.
+
+

Added: directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/apacheds.init
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/apacheds.init?rev=1000024&view=auto
==============================================================================
--- directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/apacheds.init (added)
+++ directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/apacheds.init Wed Sep 22 15:07:26 2010
@@ -0,0 +1,551 @@
+#! /bin/sh
+#
+#  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.
+#
+
+# Shell script to start/stop ApacheDS
+# If you want to change ApacheDS service settings please modify the wrapper.conf 
+# file for the instance you wish to change.
+# chkconfig: 2345 91 35
+# description: This script starts and stops ApacheDS
+#
+
+INSTANCE="$2"
+
+INSTALLATION_DIRECTORY="@installation.directory@"
+INSTANCES_DIRECTORY="@instances.directory@"
+INSTANCE_DIRECTORY="$INSTANCES_DIRECTORY/$INSTANCE"
+
+# Application
+APP_NAME="apacheds"
+APP_LONG_NAME="ApacheDS - $INSTANCE"
+
+# Wrapper
+WRAPPER_CMD="$INSTALLATION_DIRECTORY/bin/wrapper"
+WRAPPER_CONF="$INSTANCE_DIRECTORY/conf/wrapper.conf"
+
+# Priority at which to run the wrapper.  See "man nice" for valid priorities.
+#  nice is only used if a priority is specified.
+PRIORITY=
+
+# Location of the pid file.
+PIDDIR=$INSTANCE_DIRECTORY/run
+
+# If uncommented, causes the Wrapper to be shutdown using an anchor file.
+#  When launched with the 'start' command, it will also ignore all INT and
+#  TERM signals.
+#IGNORE_SIGNALS=true
+
+# If specified, the Wrapper will be run as the specified user.
+# IMPORTANT - Make sure that the user has the required privileges to write
+#  the PID file and wrapper.log files.  Failure to be able to write the log
+#  file will cause the Wrapper to exit without any way to write out an error
+#  message.
+# NOTE - This will set the user which is used to run the Wrapper as well as
+#  the JVM and is not useful in situations where a privileged resource or
+#  port needs to be allocated prior to the user being changed.
+RUN_AS_USER="@user@"
+
+# Do not modify anything beyond this point
+#-----------------------------------------------------------------------------
+
+# Get the fully qualified path to the script
+case $0 in 
+    /*) 
+        SCRIPT="$0" 
+        ;; 
+   ./*) 
+        SCRIPT="`pwd`/`echo $0 | sed -e 's/^[ ]*\.\///'`" 
+        ;; 
+     *) 
+        SCRIPT="`pwd`/`echo $0 | sed -e 's/^[ ]*//'`" 
+        ;; 
+esac 
+
+# Resolve the true real path without any sym links.
+CHANGED=true
+while [ "X$CHANGED" != "X" ]
+do
+    # Change spaces to ":" so the tokens can be parsed.
+    SAFESCRIPT=`echo $SCRIPT | sed -e 's; ;:;g'`
+    # Get the real path to this script, resolving any symbolic links
+    TOKENS=`echo $SAFESCRIPT | sed -e 's;/; ;g'`
+    REALPATH=
+    for C in $TOKENS; do
+        # Change any ":" in the token back to a space.
+        C=`echo $C | sed -e 's;:; ;g'`
+        REALPATH="$REALPATH/$C"
+        # If REALPATH is a sym link, resolve it.  Loop for nested links.
+        while [ -h "$REALPATH" ] ; do
+            LS="`ls -ld "$REALPATH"`"
+            LINK="`expr "$LS" : '.*-> \(.*\)$'`"
+            if expr "$LINK" : '/.*' > /dev/null; then
+                # LINK is absolute.
+                REALPATH="$LINK"
+            else
+                # LINK is relative.
+                REALPATH="`dirname "$REALPATH"`""/$LINK"
+            fi
+        done
+    done
+
+    if [ "$REALPATH" = "$SCRIPT" ]
+    then
+        CHANGED=""
+    else
+        SCRIPT="$REALPATH"
+    fi
+done
+
+# Change the current directory to the location of the script
+cd "`dirname "$REALPATH"`"
+REALDIR=`pwd`
+
+# If the PIDDIR is relative, set its value relative to the full REALPATH to avoid problems if
+#  the working directory is later changed.
+FIRST_CHAR=`echo $PIDDIR | cut -c1,1`
+if [ "$FIRST_CHAR" != "/" ]
+then
+    PIDDIR=$REALDIR/$PIDDIR
+fi
+# Same test for WRAPPER_CMD
+FIRST_CHAR=`echo $WRAPPER_CMD | cut -c1,1`
+if [ "$FIRST_CHAR" != "/" ]
+then
+    WRAPPER_CMD=$REALDIR/$WRAPPER_CMD
+fi
+# Same test for WRAPPER_CONF
+FIRST_CHAR=`echo $WRAPPER_CONF | cut -c1,1`
+if [ "$FIRST_CHAR" != "/" ]
+then
+    WRAPPER_CONF=$REALDIR/$WRAPPER_CONF
+fi
+
+# Process ID
+ANCHORFILE="$PIDDIR/$INSTANCE.anchor"
+PIDFILE="$PIDDIR/$APP_NAME-$INSTANCE.pid"
+LOCKDIR="/var/lock/subsys"
+LOCKFILE="$LOCKDIR/$INSTANCE"
+pid=""
+
+# Resolve the location of the 'ps' command
+PSEXE="/usr/bin/ps"
+if [ ! -x "$PSEXE" ]
+then
+    PSEXE="/bin/ps"
+    if [ ! -x "$PSEXE" ]
+    then
+        echo "Unable to locate 'ps'."
+        echo "Please report this message along with the location of the command on your system."
+        exit 1
+    fi
+fi
+
+# Resolve the os
+DIST_OS=`uname -s | tr [:upper:] [:lower:] | tr -d [:blank:]`
+case "$DIST_OS" in
+    'sunos')
+        DIST_OS="solaris"
+        ;;
+    'hp-ux' | 'hp-ux64')
+        DIST_OS="hpux"
+        ;;
+    'darwin')
+        DIST_OS="macosx"
+        ;;
+    'unix_sv')
+        DIST_OS="unixware"
+        ;;
+esac
+
+# Resolve the architecture
+DIST_ARCH=`uname -p | tr [:upper:] [:lower:] | tr -d [:blank:]`
+if [ "$DIST_ARCH" = "unknown" ]
+then
+    DIST_ARCH=`uname -m | tr [:upper:] [:lower:] | tr -d [:blank:]`
+fi
+case "$DIST_ARCH" in
+    'amd64' | 'athlon' | 'ia32' | 'ia64' | 'i386' | 'i486' | 'i586' | 'i686' | 'x86_64')
+        DIST_ARCH="x86"
+        ;;
+    'ip27')
+        DIST_ARCH="mips"
+        ;;
+    'power' | 'powerpc' | 'power_pc' | 'ppc64')
+        DIST_ARCH="ppc"
+        ;;
+    'pa_risc' | 'pa-risc')
+        DIST_ARCH="parisc"
+        ;;
+    'sun4u' | 'sparcv9')
+        DIST_ARCH="sparc"
+        ;;
+    '9000/800')
+        DIST_ARCH="parisc"
+        ;;
+esac
+
+outputFile() {
+    if [ -f "$1" ]
+    then
+        echo "  $1 (Found but not executable.)";
+    else
+        echo "  $1"
+    fi
+}
+
+# Build the nice clause
+if [ "X$PRIORITY" = "X" ]
+then
+    CMDNICE=""
+else
+    CMDNICE="nice -$PRIORITY"
+fi
+
+# Build the anchor file clause.
+if [ "X$IGNORE_SIGNALS" = "X" ]
+then
+   ANCHORPROP=
+   IGNOREPROP=
+else
+   ANCHORPROP=wrapper.anchorfile=\"$ANCHORFILE\"
+   IGNOREPROP=wrapper.ignore_signals=TRUE
+fi
+
+# Build the lock file clause.  Only create a lock file if the lock directory exists on this platform.
+LOCKPROP=
+if [ -d $LOCKDIR ]
+then
+    if [ -w $LOCKDIR ]
+    then
+        LOCKPROP=wrapper.lockfile=\"$LOCKFILE\"
+    fi
+fi
+
+checkUser() {
+    # $1 touchLock flag
+    # $2 command
+    # $3 instance
+
+    # Check the configured user.  If necessary rerun this script as the desired user.
+    if [ "X$RUN_AS_USER" != "X" ]
+    then
+        # Resolve the location of the 'id' command
+        IDEXE="/usr/xpg4/bin/id"
+        if [ ! -x "$IDEXE" ]
+        then
+            IDEXE="/usr/bin/id"
+            if [ ! -x "$IDEXE" ]
+            then
+                IDEXE="/bin/id"
+                if [ ! -x "$IDEXE" ]
+                then
+                    echo "Unable to locate 'id'."
+                    echo "Please report this message along with the location of the command on your system."
+                    exit 1
+                fi
+            fi
+        fi
+
+        if [ "`$IDEXE -u -n`" = "$RUN_AS_USER" ]
+        then
+            # Already running as the configured user.  Avoid password prompts by not calling su.
+            RUN_AS_USER=""
+        fi
+    fi
+    if [ "X$RUN_AS_USER" != "X" ]
+    then
+        # If LOCKPROP and $RUN_AS_USER are defined then the new user will most likely not be
+        # able to create the lock file.  The Wrapper will be able to update this file once it
+        # is created but will not be able to delete it on shutdown.  If $2 is defined then
+        # the lock file should be created for the current command
+        if [ "X$LOCKPROP" != "X" ]
+        then
+            if [ "X$1" != "X" ]
+            then
+                # Resolve the primary group 
+                RUN_AS_GROUP=`groups $RUN_AS_USER | awk '{print $3}' | tail -1`
+                if [ "X$RUN_AS_GROUP" = "X" ]
+                then
+                    RUN_AS_GROUP=$RUN_AS_USER
+                fi
+                touch $LOCKFILE
+                chown $RUN_AS_USER:$RUN_AS_GROUP $LOCKFILE
+            fi
+        fi
+
+        # Still want to change users, recurse.  This means that the user will only be
+        #  prompted for a password once. Variables shifted by 1
+        su -m $RUN_AS_USER -c "\"$REALPATH\" $2 $3"
+
+        # Now that we are the original user again, we may need to clean up the lock file.
+        if [ "X$LOCKPROP" != "X" ]
+        then
+            getpid
+            if [ "X$pid" = "X" ]
+            then
+                # Wrapper is not running so make sure the lock file is deleted.
+                if [ -f "$LOCKFILE" ]
+                then
+                    rm "$LOCKFILE"
+                fi
+            fi
+        fi
+
+        exit 0
+    fi
+}
+
+getpid() {
+    if [ -f "$PIDFILE" ]
+    then
+        if [ -r "$PIDFILE" ]
+        then
+            pid=`cat "$PIDFILE"`
+            #if [ "X$pid" != "X" ]
+            #then
+            #    # It is possible that 'a' process with the pid exists but that it is not the
+            #    #  correct process.  This can happen in a number of cases, but the most
+            #    #  common is during system startup after an unclean shutdown.
+            #    # The ps statement below looks for the specific wrapper command running as
+            #    #  the pid.  If it is not found then the pid file is considered to be stale.
+            #    pidtest=`$PSEXE -p $pid -o args | grep "$WRAPPER_CMD" | tail -1`
+            #    if [ "X$pidtest" = "X" ]
+            #    then
+            #        # This is a stale pid file.
+            #        rm -f "$PIDFILE"
+            #        echo "Removed stale pid file: $PIDFILE"
+            #        pid=""
+            #    fi
+            #fi
+        else
+            echo "Cannot read $PIDFILE."
+            exit 1
+        fi
+    fi
+}
+
+testpid() {
+    pid=`$PSEXE -p $pid | grep $pid | grep -v grep | awk '{print $1}' | tail -1`
+    if [ "X$pid" = "X" ]
+    then
+        # Process is gone so remove the pid file.
+        rm -f "$PIDFILE"
+        pid=""
+    fi
+}
+
+usage() {
+    echo "Please enter an instance name..."
+    echo "Usage: $0 <command> <instance name>"
+    echo "  Available Commands: "
+    echo "      console     - Run in interactive mode with log output to the console."
+    echo "                    Press CTRL-C to stop."
+    echo "      start       - Run the instance in the background"
+    echo "      stop        - Stop the running instance"
+    echo "      restart     - Restart the instance if it is already running,"
+    echo "                    or start if it wasn't already running"
+    echo "      status      - Display the status of the instance (running or stopped)"
+    echo "      dump        - Request a JVM dump of the running process"
+}
+
+console() {
+    echo "Running $APP_LONG_NAME..."
+    getpid
+    if [ "X$pid" = "X" ]
+    then
+        # The string passed to eval must handles spaces in paths correctly.
+        COMMAND_LINE="$CMDNICE \"$WRAPPER_CMD\" \"$WRAPPER_CONF\" set.INSTANCE_DIRECTORY=\"$INSTANCE_DIRECTORY\" set.INSTANCE=\"$INSTANCE\" wrapper.syslog.ident=\"$APP_NAME\" wrapper.pidfile=\"$PIDFILE\" $ANCHORPROP $LOCKPROP wrapper.debug=true"
+        eval $COMMAND_LINE
+    else
+        echo "$APP_LONG_NAME is already running."
+        exit 1
+    fi
+}
+ 
+start() {
+    echo "Starting $APP_LONG_NAME..."
+    getpid
+     if [ "X$pid" = "X" ]
+     then
+         # The string passed to eval must handles spaces in paths correctly.
+         COMMAND_LINE="$CMDNICE \"$WRAPPER_CMD\" \"$WRAPPER_CONF\" set.INSTANCE_DIRECTORY=\"$INSTANCE_DIRECTORY\" set.INSTANCE=\"$INSTANCE\" wrapper.syslog.ident=\"$APP_NAME\" wrapper.pidfile=\"$PIDFILE\" wrapper.daemonize=TRUE $ANCHORPROP $IGNOREPROP $LOCKPROP"
+         eval $COMMAND_LINE
+     else
+         echo "$APP_LONG_NAME is already running."
+         exit 1
+     fi
+
+
+}
+ 
+stopit() {
+    echo "Stopping $APP_LONG_NAME..."
+    getpid
+    if [ "X$pid" = "X" ]
+    then
+        echo "$APP_LONG_NAME was not running."
+    else
+        if [ "X$IGNORE_SIGNALS" = "X" ]
+        then
+            # Running so try to stop it.
+            kill $pid
+            if [ $? -ne 0 ]
+            then
+                # An explanation for the failure should have been given
+                echo "Unable to stop $APP_LONG_NAME."
+                exit 1
+            fi
+        else
+            rm -f "$ANCHORFILE"
+            if [ -f "$ANCHORFILE" ]
+            then
+                # An explanation for the failure should have been given
+                echo "Unable to stop $APP_LONG_NAME."
+                exit 1
+            fi
+        fi
+
+        # We can not predict how long it will take for the wrapper to
+        #  actually stop as it depends on settings in apacheds.conf.
+        #  Loop until it does.
+        savepid=$pid
+        CNT=0
+        TOTCNT=0
+        while [ "X$pid" != "X" ]
+        do
+            # Show a waiting message every 5 seconds.
+            if [ "$CNT" -lt "5" ]
+            then
+                CNT=`expr $CNT + 1`
+            else
+                echo "Waiting for $APP_LONG_NAME to exit..."
+                CNT=0
+            fi
+            TOTCNT=`expr $TOTCNT + 1`
+
+            sleep 1
+
+            testpid
+        done
+
+        pid=$savepid
+        testpid
+        if [ "X$pid" != "X" ]
+        then
+            echo "Failed to stop $APP_LONG_NAME."
+            exit 1
+        else
+            echo "Stopped $APP_LONG_NAME."
+        fi
+    fi
+}
+
+status() {
+    getpid
+    if [ "X$pid" = "X" ]
+    then
+        echo "$APP_LONG_NAME is not running."
+        exit 1
+    else
+        echo "$APP_LONG_NAME is running ($pid)."
+        exit 0
+    fi
+}
+
+dump() {
+    echo "Dumping $APP_LONG_NAME..."
+    getpid
+    if [ "X$pid" = "X" ]
+    then
+        echo "$APP_LONG_NAME was not running."
+
+    else
+        kill -3 $pid
+
+        if [ $? -ne 0 ]
+        then
+            echo "Failed to dump $APP_LONG_NAME."
+            exit 1
+        else
+            echo "Dumped $APP_LONG_NAME."
+        fi
+    fi
+}
+
+list() {
+  echo "Available instances..."
+  for instance in $INSTANCE_HOME/* ; do
+	echo "	" `basename $instance`;
+  done
+}
+
+# Make sure they entered an instance name
+if [[ ( $2 == "" ) && ( $1 == "start" || $1 == "stop" || $1 == "status" || $1 == "dump" ) ]]
+then
+	usage
+	echo
+	echo "Please enter an instance name to $1..."
+	echo
+	list
+	exit 1
+fi
+
+case "$1" in
+
+    'console')
+        checkUser touchlock $1 $INSTANCE
+        console
+        ;;
+
+    'start')
+        checkUser touchlock $1 $INSTANCE
+        start
+        ;;
+
+    'stop')
+        checkUser "" $1 $INSTANCE
+        stopit
+        ;;
+
+    'restart')
+        checkUser touchlock $1 $INSTANCE
+        stopit
+        start
+        ;;
+
+    'status')
+        checkUser "" $1 $INSTANCE
+        status
+        ;;
+
+    'dump')
+        checkUser "" $1 $INSTANCE
+        dump
+        ;;
+    'list')
+        list
+        ;;
+
+    *)
+        echo "Usage: $0 { console | start | stop | restart | status | dump } <instance name>"
+        exit 1
+        ;;
+esac
+
+exit 0

Added: directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/log4j.properties
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/log4j.properties?rev=1000024&view=auto
==============================================================================
--- directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/log4j.properties (added)
+++ directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/log4j.properties Wed Sep 22 15:07:26 2010
@@ -0,0 +1,39 @@
+#############################################################################
+#    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.
+#############################################################################
+log4j.rootCategory=WARN, R, stdout
+
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+
+log4j.appender.R=org.apache.log4j.RollingFileAppender
+log4j.appender.R.File=${apacheds.log.dir}/apacheds.log
+
+log4j.appender.R.MaxFileSize=1024KB
+# Keep some backup files
+log4j.appender.R.MaxBackupIndex=5
+
+log4j.appender.R.layout=org.apache.log4j.PatternLayout
+log4j.appender.R.layout.ConversionPattern=[%d{HH:mm:ss}] %p [%c] - %m%n
+
+log4j.appender.stdout.layout.ConversionPattern=[%d{HH:mm:ss}] %p [%c] - %m%n
+
+# with these we'll not get innundated when switching to DEBUG
+log4j.logger.org.apache.directory.shared.ldap.name=WARN
+log4j.logger.org.springframework=WARN
+log4j.logger.org.apache.directory.shared.codec=WARN
+log4j.logger.org.apache.directory.shared.asn1=WARN
+

Modified: directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/macosxpkg/apacheds-usr-bin.sh
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/macosxpkg/apacheds-usr-bin.sh?rev=1000024&r1=1000023&r2=1000024&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/macosxpkg/apacheds-usr-bin.sh (original)
+++ directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/macosxpkg/apacheds-usr-bin.sh Wed Sep 22 15:07:26 2010
@@ -17,4 +17,4 @@
 #  specific language governing permissions and limitations
 #  under the License.
 #
-/usr/local/${app.name}-${app.version}/bin/${app.name}.init $*
\ No newline at end of file
+/usr/local/apacheds-${version}/bin/apacheds $*
\ No newline at end of file

Modified: directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/macosxpkg/org.apache.directory.server.plist
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/macosxpkg/org.apache.directory.server.plist?rev=1000024&r1=1000023&r2=1000024&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/macosxpkg/org.apache.directory.server.plist (original)
+++ directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/macosxpkg/org.apache.directory.server.plist Wed Sep 22 15:07:26 2010
@@ -31,13 +31,9 @@
 
         <key>ProgramArguments</key>
         <array>
-            <string>/usr/local/${app.name}-${app.version}/bin/${app.name}</string>
-            <string>/usr/local/${app.name}-${app.version}/conf/apacheds.conf</string>
-            <string>set.INSTANCE_HOME=/usr/local/${app.name}-${app.version}/instances</string>
-            <string>set.INSTANCE=default</string>
-            <string>wrapper.syslog.ident=${app.name}</string>
-            <string>wrapper.pidfile=/usr/local/${app.name}-${app.version}/instances/default/default.pid</string>
-            <string>wrapper.daemonize=FALSE</string>
+            <string>/usr/local/apacheds-${version}/bin/apacheds</string>
+            <string>console</string>
+            <string>default</string>
         </array>
                 
         <key>RunAtLoad</key>

Modified: directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/macosxpkg/postflight
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/macosxpkg/postflight?rev=1000024&r1=1000023&r2=1000024&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/macosxpkg/postflight (original)
+++ directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/macosxpkg/postflight Wed Sep 22 15:07:26 2010
@@ -20,7 +20,6 @@
 #
 
 # Setting the correct permission on the org.apache.directory.server.plist file
-#
 chmod 644 /Library/LaunchDaemons/org.apache.directory.server.plist
 
 #

Added: directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/wrapper-installation.conf
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/wrapper-installation.conf?rev=1000024&view=auto
==============================================================================
--- directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/wrapper-installation.conf (added)
+++ directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/wrapper-installation.conf Wed Sep 22 15:07:26 2010
@@ -0,0 +1,76 @@
+#
+#  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.
+#
+
+wrapper.java.mainclass=org.apache.directory.server.ApacheDsTanukiWrapper
+wrapper.max_failed_invocations=1
+
+wrapper.java.classpath.1=../lib/*.jar
+
+# Java Library Path (location of Wrapper.DLL or libwrapper.so)
+wrapper.java.library.path.1=../lib
+
+# Java Additional Parameters
+wrapper.java.additional.1=-Dlog4j.configuration=file:///%INSTANCE_DIRECTORY%/conf/log4j.properties
+wrapper.java.additional.2=-Dapacheds.var.dir=%INSTANCE_DIRECTORY%
+wrapper.java.additional.3=-Dapacheds.log.dir=%INSTANCE_DIRECTORY%/log
+wrapper.java.additional.4=-Dapacheds.run.dir=%INSTANCE_DIRECTORY%/run
+wrapper.java.additional.5=-Dapacheds.instance=%INSTANCE%
+
+# Initial Java Heap Size (in MB)
+#wrapper.java.initmemory=384
+
+# Maximum Java Heap Size (in MB)
+#wrapper.java.maxmemory=384
+
+# Application parameters.  Add parameters as needed starting from 1
+wrapper.app.parameter.1=%INSTANCE_DIRECTORY%
+
+#********************************************************************
+# Wrapper Logging Properties
+#********************************************************************
+# Format of output for the console.  (See docs for formats)
+wrapper.console.format=PM
+
+# Log Level for console output.  (See docs for log levels)
+wrapper.console.loglevel=INFO
+
+# Log file to use for wrapper output logging.
+wrapper.logfile=%INSTANCE_DIRECTORY%/log/wrapper.log
+
+# Format of output for the log file.  (See docs for formats)
+wrapper.logfile.format=LPTM
+
+# Log Level for log file output.  (See docs for log levels)
+wrapper.logfile.loglevel=INFO
+
+# Maximum size that the log file will be allowed to grow to before
+#  the log is rolled. Size is specified in bytes.  The default value
+#  of 0, disables log rolling.  May abbreviate with the 'k' (kb) or
+#  'm' (mb) suffix.  For example: 10m = 10 megabytes.
+wrapper.logfile.maxsize=1m
+
+# Maximum number of rolled log files which will be allowed before old
+#  files are deleted.  The default value of 0 implies no limit.
+wrapper.logfile.maxfiles=5
+
+# Log Level for sys/event log output.  (See docs for log levels)
+wrapper.syslog.loglevel=NONE
+
+# Increasing the ping time out in order to let the server start
+wrapper.ping.timeout=240
\ No newline at end of file

Added: directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/wrapper-instance.conf
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/wrapper-instance.conf?rev=1000024&view=auto
==============================================================================
--- directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/wrapper-instance.conf (added)
+++ directory/apacheds/branches/apacheds-apacheds-2.0/installers-plugin/src/main/resources/org/apache/directory/daemon/installers/wrapper-instance.conf Wed Sep 22 15:07:26 2010
@@ -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.
+#
+  
+#
+# In this file you can override parameters specified in the default
+# Apache Directory Server config file which is usually at
+# @installation.directory@/conf/wrapper.conf
+#
+# See also http://wrapper.tanukisoftware.org/doc/english/properties.html
+# For a list of properties that can be set.
+#
+# Common overrides shown commented below
+
+
+#include @installation.directory@/conf/wrapper.conf
+
+# Override the JRE used
+# wrapper.java.command=%JAVA_HOME%/bin/java
+
+# Override the JVM memory settings
+# Initial Java Heap Size (in MB)
+# wrapper.java.initmemory=384
+
+# Maximum Java Heap Size (in MB)
+# wrapper.java.maxmemory=384
+
+# apacheds.instance.start=auto
\ No newline at end of file

Modified: directory/apacheds/branches/apacheds-apacheds-2.0/service/src/main/java/org/apache/directory/server/ApacheDsService.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-apacheds-2.0/service/src/main/java/org/apache/directory/server/ApacheDsService.java?rev=1000024&r1=1000023&r2=1000024&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-apacheds-2.0/service/src/main/java/org/apache/directory/server/ApacheDsService.java (original)
+++ directory/apacheds/branches/apacheds-apacheds-2.0/service/src/main/java/org/apache/directory/server/ApacheDsService.java Wed Sep 22 15:07:26 2010
@@ -122,7 +122,7 @@ public class ApacheDsService
     private boolean isSchemaPartitionFirstExtraction = false;
 
 
-    public void init( InstallationLayout layout, InstanceLayout instanceLayout ) throws Exception
+    public void init( InstanceLayout instanceLayout ) throws Exception
     {
         File partitionsDir = instanceLayout.getPartitionsDirectory();
         if ( !partitionsDir.exists() )
@@ -138,10 +138,10 @@ public class ApacheDsService
         cpReader = new ConfigPartitionReader( configPartition );
 
         // Initialize the LDAP server
-        initLdap( layout, instanceLayout );
+        initLdap( instanceLayout );
 
         // Initialize the NTP server
-        initNtp( layout );
+        initNtp();
 
         // Initialize the DNS server (Not ready yet)
         // initDns( layout );
@@ -150,10 +150,10 @@ public class ApacheDsService
         // initDhcp( layout );
 
         // Initialize the ChangePwd server (Not ready yet)
-        initChangePwd( layout );
+        initChangePwd();
 
         // Initialize the Kerberos server
-        initKerberos( layout );
+        initKerberos();
 
         // initialize the jetty http server
         initHttpServer();
@@ -238,7 +238,7 @@ public class ApacheDsService
     /**
      * Initialize the LDAP server
      */
-    private void initLdap( InstallationLayout layout, InstanceLayout instanceLayout ) throws Exception
+    private void initLdap( InstanceLayout instanceLayout ) throws Exception
     {
         LOG.info( "Starting the LDAP server" );
 
@@ -307,7 +307,7 @@ public class ApacheDsService
     /**
      * Initialize the NTP server
      */
-    private void initNtp( InstallationLayout layout ) throws Exception
+    private void initNtp() throws Exception
     {
         ntpServer = cpReader.createNtpServer();
         if ( ntpServer == null )
@@ -374,7 +374,7 @@ public class ApacheDsService
     /**
      * Initialize the KERBEROS server
      */
-    private void initKerberos( InstallationLayout layout ) throws Exception
+    private void initKerberos( ) throws Exception
     {
         kdcServer = cpReader.createKdcServer();
         if ( kdcServer == null )
@@ -407,7 +407,7 @@ public class ApacheDsService
     /**
      * Initialize the Change Password server
      */
-    private void initChangePwd( InstallationLayout layout ) throws Exception
+    private void initChangePwd( ) throws Exception
     {
 
         changePwdServer = cpReader.createChangePwdServer();

Modified: directory/apacheds/branches/apacheds-apacheds-2.0/service/src/main/java/org/apache/directory/server/UberjarMain.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-apacheds-2.0/service/src/main/java/org/apache/directory/server/UberjarMain.java?rev=1000024&r1=1000023&r2=1000024&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-apacheds-2.0/service/src/main/java/org/apache/directory/server/UberjarMain.java (original)
+++ directory/apacheds/branches/apacheds-apacheds-2.0/service/src/main/java/org/apache/directory/server/UberjarMain.java Wed Sep 22 15:07:26 2010
@@ -44,19 +44,18 @@ public class UberjarMain
      */
     public static void main( String[] args ) throws Exception
     {
-        if ( ( args != null ) && ( args.length == 2 ) )
+        if ( ( args != null ) && ( args.length == 1 ) )
         {
             // Creating ApacheDS service
             ApacheDsService service = new ApacheDsService();
 
-            // Creating installation and instance layouts from the arguments
-            InstallationLayout installationLayout = new InstallationLayout( args[0] );
-            InstanceLayout instanceLayout = new InstanceLayout( args[1] );
+            // Creating instance layouts from the argument
+            InstanceLayout instanceLayout = new InstanceLayout( args[0] );
 
             // Initializing the service
             try
             {
-                service.init( installationLayout, instanceLayout );
+                service.init( instanceLayout );
             }
             catch ( Exception e )
             {
@@ -70,8 +69,7 @@ public class UberjarMain
         else
         {
             throw new IllegalArgumentException(
-                "Program must be launched with 2 arguements (path the the installation directory "
-                    + "and path to the instance directory." );
+                "Program must be launched with 1 arguement, the path to the instance directory." );
         }
     }
 }

Modified: directory/apacheds/branches/apacheds-apacheds-2.0/wrapper/src/main/java/org/apache/directory/server/ApacheDsTanukiWrapper.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-apacheds-2.0/wrapper/src/main/java/org/apache/directory/server/ApacheDsTanukiWrapper.java?rev=1000024&r1=1000023&r2=1000024&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-apacheds-2.0/wrapper/src/main/java/org/apache/directory/server/ApacheDsTanukiWrapper.java (original)
+++ directory/apacheds/branches/apacheds-apacheds-2.0/wrapper/src/main/java/org/apache/directory/server/ApacheDsTanukiWrapper.java Wed Sep 22 15:07:26 2010
@@ -55,20 +55,19 @@ public class ApacheDsTanukiWrapper imple
     public Integer start( String[] args )
     {
         log.info( "Starting the service..." );
-        
-        if ( ( args != null ) && ( args.length == 2 ) )
+
+        if ( ( args != null ) && ( args.length == 1 ) )
         {
             // Creating ApacheDS service
             service = new ApacheDsService();
 
-            // Creating installation and instance layouts from the arguments
-            InstallationLayout installationLayout = new InstallationLayout( args[0] );
-            InstanceLayout instanceLayout = new InstanceLayout( args[1] );
+            // Creating instance layouts from the argument
+            InstanceLayout instanceLayout = new InstanceLayout( args[0] );
 
             // Initializing the service
             try
             {
-                service.init( installationLayout, instanceLayout );
+                service.init( instanceLayout );
             }
             catch ( Exception e )
             {
@@ -82,8 +81,7 @@ public class ApacheDsTanukiWrapper imple
         else
         {
             throw new IllegalArgumentException(
-                "Program must be launched with 2 arguements (path the the installation directory "
-                    + "and path to the instance directory." );
+                "Program must be launched with 1 arguement, the path to the instance directory." );
         }
 
         return null;